3PL Guide
XoroERP 3PL Contract and Billing Guide
Purpose
This guide explains the complete 3PL billing lifecycle—from enabling a billable 3PL account and designing a contract through operational charge creation, storage billing, invoice generation, invoice review, and invoice reversal.
It is written for billing administrators, warehouse operations teams, customer-service teams, finance users, implementation teams, and AI assistants that help users design or maintain 3PL contracts.
The guide uses the labels users see in XoroERP. Availability can depend on company configuration, enabled features, user access, and the product version in use.
All names, codes, dates, quantities, and rates in examples are illustrative. They show supported patterns and are not customer-specific prices or agreements.
What this guide covers
3PL mode and access
3PL Account setup and maintenance
Customer, Vendor, Item, Brand, Store, Quality, and unit-of-measure relationships
3PL Contract Centre and the complete contract page
Area-, Unit-, and Location-based storage
Shipping, Receiving, Return, and Storage item service charges
Miscellaneous, minimum, invoice-minimum, predefined, and work-order charges
Charge conditions and calculation rules
Automatic and manual 3PL Charge Entry creation
Operational triggers such as Ready to Ship, Close ASN, shipment, receiving, and return completion
Charge Entry Centre, editing, deletion, and recalculation
Generate 3PL Invoice, preview, charge rebuilding, storage inclusion, invoice grouping, and logs
Invoice restrictions, negative billing, and invoice voiding
3PL Account Portal and connected-system capabilities
Contract design examples, decision guidance, checklists, and troubleshooting
The 3PL billing lifecycle at a glance
1. Enable and organize
3PL mode, access, stores, brands, qualities, items, customers, and vendors are prepared.
Transactions can be assigned to the correct billable account.
2. Create the billable account
A 3PL Account is created and linked to its billing customer, operational customers, vendors, brands, stores, and items.
XoroERP knows who owns the activity and who receives the invoice.
3. Build the contract
Effective dates, payment terms, storage method, service charges, miscellaneous charges, conditions, and minimums are defined.
The account has a dated pricing rulebook.
4. Perform operations
Orders are picked and made Ready to Ship; receiving and return appointments are closed; final shipping, receiving, and return documents are completed.
Applicable charge entries are calculated and connected to the operation.
5. Review charges
Users review automatic, suggested, manual, minimum, storage, and work-order charges.
Eligible and accurate charges are ready for billing.
6. Generate the invoice
A date range and account are selected; optional storage is calculated; charges are previewed and then generated.
Eligible charge lines are summarized into a 3PL invoice.
7. Correct when necessary
Uninvoiced charges can be recalculated or rebuilt. A generated 3PL invoice can be voided using the permitted workflow.
Charge eligibility and links are restored appropriately.
Screen and workflow index
3PL Account and 3PL Account Centre
Sections 3–4
Customer, Vendor, and Item setup
Sections 5–8
3PL Contract and 3PL Contract Centre
Sections 10–15 and 24–47
3PL Storage Inventory Snapshot
Sections 16–23
3PL Charge Entry and 3PL Charge Entry Centre
Sections 48–66
Ready to Ship, Close PO ASN, Close RMA ASN, Packing Slip, Item Receipt, and Credit Memo
Sections 48–53 and 82–87
Generate 3PL Invoice and 3PL Invoice Logs
Sections 67–81
Invoice Centre and Invoice
Sections 79–80
3PL Account Portal profile, users, billing, orders, items, and inventory
Sections 88–90
3PL Connections and account-scoped connected applications
Sections 90A–95
Contract examples, troubleshooting, and controls
Sections 96–134
Core terms
3PL Account
The billable owner of inventory and activity. The contract and 3PL invoice belong to this account.
3PL Account Customer
An operational customer whose sales activity belongs to a billable 3PL Account.
3PL Account Vendor
A vendor whose purchasing or receiving activity belongs to a 3PL Account.
Contract
The dated set of storage, handling, receiving, return, miscellaneous, and minimum billing rules for one 3PL Account.
Charge Entry
A billing record holding one or more item-service and miscellaneous charge lines. It may be tied to an order or exist as an independent Work Order.
Item Service Charge
A per-Unit or per-Carton service rate applied to Shipping, Receiving, Return, or Storage activity.
Miscellaneous Charge
A flat, quantity-based, or percentage-based charge applied to a document or Work Order.
Suggested Charge
A charge offered to the user but excluded from billing until the user applies it.
Automatic Charge
A contract charge created without the user manually selecting it.
Minimum Charge
An adjustment that brings the item-service subtotal for Shipping, Receiving, or Return up to a contracted minimum.
Invoice Minimum
A contract-defined Work Order charge used when a billing-period minimum must be added.
Storage Snapshot
A dated record of eligible inventory quantity or occupied locations used to support storage billing.
Eligible Charge
A completed, non-suggested, uninvoiced charge that can be selected by Generate 3PL Invoice.
Final document
The completed operational record that establishes billing completion: Packing Slip for Shipping, Item Receipt for Receiving, or Credit Memo for Return.
Before configuring 3PL billing
Confirm the following:
3PL mode is enabled for the company.
Each user has access to the required 3PL pages and related operational centres.
A billing customer exists for each 3PL Account.
Operational customers and vendors are assigned to the correct 3PL Account.
Stores, brands, qualities, and items are assigned consistently.
Item units, carton or case setup, categories, and UPC information are accurate.
Income categories, tax codes, payment terms, and the 3PL service item used for invoices are configured.
A default store is available for billing when a charge does not carry its own store.
Contract effective dates do not overlap.
Teams agree on the event that creates each charge and the event that makes it invoice-ready.
Access and responsibilities
Typical responsibilities are separated as follows:
3PL administrator
Creates accounts and contracts, maintains portal access, and generates account tokens.
Billing administrator
Reviews charge entries, runs recalculation, previews invoices, generates invoices, and handles voids.
Warehouse operations
Completes picking, Ready to Ship, appointments, shipment, receiving, returns, and work-order tasks.
Finance
Maintains payment terms, income categories and tax settings, and reviews final invoices.
Customer-service or account team
Confirms customer references, brands, contract dates, and exceptional charges.
Portal administrator
Enables portal login and manages account portal users.
Access can affect whether a user can edit charge values, change tax choices, delete charges, view finance details, or perform invoice actions.
Part 1 — 3PL Account and Related Setup
1. Enable 3PL operation
3PL pages and 3PL-specific options are available only when the company operates in 3PL mode. After enablement, grant access to the pages needed by each role, including:
3PL Account Centre and 3PL Account
3PL Contract Centre and 3PL Contract
3PL Charge Entry Centre and 3PL Charge Entry
Generate 3PL Invoice and 3PL Invoice Logs
3PL Storage Inventory Snapshot
The related Customer, Vendor, Item, Sales Order, Purchase Order, RMA, Packing Slip, Item Receipt, Credit Memo, Invoice, and task pages
2. Understand the two customer roles
The two customer types serve different purposes:
3PL Account
Use 3PL Account for the customer identity that owns the contract and receives 3PL invoices. A 3PL Account record is connected to this billing customer.
3PL Account Customer
Use 3PL Account Customer for an operational customer whose orders belong to the billable 3PL Account. This lets multiple operational customers roll up to the same contract and billing relationship.
Recommended relationship
Create the 3PL Account.
Create or identify the bill-to customer, set 3PL Customer Type to 3PL Account, and choose the corresponding account relationship shown on the Customer page.
For each operational customer, set 3PL Customer Type to 3PL Account Customer and choose the owning 3PL Account.
Build the contract for the 3PL Account.
Operational activity creates charges for that account; Generate 3PL Invoice bills its billing customer.
Do not interchange the billable account customer and its operational customers. Doing so can place orders, charges, or invoices under the wrong billing relationship.
3. Create a 3PL Account
Open the 3PL Account page and complete the following sections.
The page is organized into Primary and Settings tabs.
Primary information
Active
Controls whether the account can be used for new 3PL activity. Keep selected while the relationship is active.
Name
The recognizable account name displayed throughout 3PL pages.
Code
A short account identifier used in lists and searches. Use a stable, unique convention.
Description
Optional business context for the account.
UPC Prefix
The prefix used when the account has assigned UPC numbering rules.
Logo
Account logo used where account branding is supported. A saved account is required before upload or removal.
Name and Account Code are required. Account Code must be unique; an existing code cannot be created again.
Account settings
Store
One or more operational store assignments. This helps scope inventory, documents, charges, and billing.
Brand(s)
One or more brands associated with the account. Brand selection helps filter items and activity.
Quality(ies)
Inventory qualities allowed for the account.
Default Quality
The quality selected by default for applicable account activity. It should be one of the account's allowed qualities.
Storage Charge Date Selection
The account's scheduled storage date: First Day, 15th, Last Day, or Weekly (Monday).
Send Unique Shipment
Enables the account's unique-shipment behavior where supported.
Enable FIFO
Enables first-in, first-out inventory behavior for the account where applicable.
Is 3PL Portal Active? / Activate Portal Login
Allows authorized users for this account to use the 3PL Account Portal. The wording can vary by page or version.
Save the account before uploading a logo, generating an account token, or completing dependent setup.
The page also provides Save, Save & New, Delete, and Generate 3PL Account Token according to user access. The bill-to relationship is completed from Customer setup rather than entered in the account's Primary or Settings tabs.
Storage Charge Date Selection
The selected date tells the scheduled storage process when this account is intended to be evaluated:
First Day
Beginning of the month
15th
Middle of the month
Last Day
End of the month
Weekly (Monday)
Weekly Monday schedule where supported
The initial choice can be Last Day unless a page default changes it. Manual storage generation can be used by an authorized user. Duplicate snapshots for the same allowed billing occurrence are prevented. Where a version provides a multi-date storage selector, only the selected dates are included; otherwise the configured account date and selected invoice period determine the storage run.
Account token
An account token allows an approved connected system to work within that account's scope. It can be generated from the saved account or the Account Centre and copied for secure delivery.
Treat the token as a password.
Give it only to the approved integration owner.
Do not place it in user documentation, tickets, examples, or screenshots.
Regenerate it if exposure is suspected.
4. Use the 3PL Account Centre
The centre provides account-level search, review, maintenance, and batch actions.
Common columns
Account Code
Name
Description
UPC Prefix
Store
Quality
Storage Date
Default Quality
Brand
Send Unique Shipment
FIFO
Active
Portal Active
Available tools
Open an account for review or editing.
Create a new account.
Search by visible account information.
Use Advance Search with up to ten criteria.
Save and reuse Custom Queries.
Choose displayed columns.
Refresh, page, sort, and export the result list.
Delete selected accounts when they are not protected by related activity.
Generate Storage Charges for selected accounts.
Generate and copy an Account Token.
Filter directly by Account Code or Name.
Open an account with Edit in new window.
Always confirm the selected rows before a batch action.
5. Customer setup
On the Customer page, use 3PL Customer Type to identify the customer's role.
3PL Account
The customer is the bill-to owner of a 3PL contract and invoices.
Connect the 3PL Account to this customer as its billing customer.
3PL Account Customer
The customer creates operational activity under another billable account.
Select the owning 3PL Account.
Before changing a billable relationship, complete or correct open operational activity. The billing customer relationship cannot be changed while related Sales Orders remain unshipped.
When an account is inactive, warnings appear on related records and the account is unavailable for new activity.
6. Vendor setup
Vendor types include:
General Vendor — a vendor outside the account-specific 3PL receiving relationship.
3PL Account Vendor — a vendor whose purchasing and receiving activity belongs to a selected 3PL Account.
Choose the 3PL Account only when the vendor is a 3PL Account Vendor. A General Vendor cannot be assigned as an account vendor.
The linked vendor account cannot be changed while related Purchase Orders remain incomplete. Complete the receiving lifecycle or resolve the open documents first.
7. Item setup
For account-owned products, enable Is 3PL Account Item? and choose the correct 3PL Account. Review these related values carefully:
Brand
Category
Inventory unit of measure
Carton or case quantity
UPC information
Default and allowed quality
Store availability
Product status
The selected account can limit the Brand choices. Item Category may be used as a charge condition. Unit and carton setup directly affects service quantities, and incorrect case setup produces incorrect carton charges.
8. Store, Brand, and Quality alignment
These values connect operational ownership to billing:
Store scopes activity and supplies a billing store when applicable.
Brand can separate multiple product lines within one account and appears on charge entries.
Quality determines which inventory is eligible for account activity and storage evaluation.
Default Quality supplies the normal choice but does not replace transaction-specific quality.
Use a consistent combination on the account, items, and operational documents. Inconsistent values can make inventory or activity appear missing from the expected account.
9. Deactivating an account
An inactive 3PL Account is not available for new contracts, charges, Sales Orders, Purchase Orders, or RMAs and is removed from applicable centre selections. Existing history remains available for review according to access.
Before deactivation:
Complete or cancel open operational documents.
Review uninvoiced eligible charges.
Generate or intentionally defer the final invoice.
Resolve outstanding storage billing.
Confirm portal and connected-system access should end.
Record the business reason and effective date outside the account if required by company policy.
Part 2 — Building and Maintaining a 3PL Contract
10. Open the 3PL Contract Centre
The centre is the main list of account contracts. Common columns include:
Account
Contract #
Currency
Terms
Payable To
Contact and mailing details
Effective Date
Renewal Date
End Date
Shipping, Receiving, and Return minimum amounts
Active
Created At and Created By
Updated At and Updated By
From the centre, users can create or open a contract, search, use Advance Search with up to ten criteria, save Custom Queries, choose columns, sort, page, refresh, export, delete selected records when permitted, and open the related invoice workflow.
The toolbar provides a direct Contract# search. Row actions include Delete and Edit in new window when permitted.
11. Contract identity and dates
Header settings
Account
The billable 3PL Account. It controls the available billing relationship and account context.
Contract #
The contract identifier displayed after saving.
Effective Date
The first date the pricing rules apply.
Renewal Date
A tracking date for commercial review or renewal. It does not by itself switch pricing.
End Date
The last effective date, maintained in relation to the account's contract history.
Active
Determines whether the contract can be used.
Contact Info
The account contact name, company, phone, email, and address used for the contract.
Terms
The payment terms used for generated 3PL invoices. Contract terms take precedence over the customer's default terms.
Payable To
The organization or party to which payment is owed.
Currency
The contract and invoice currency.
Mailing Address
The billing mailing address used for the contract.
Created/Updated information
Audit information showing when and by whom the contract was created or last changed.
Selecting an Account can populate the account's contact, mailing, currency, and payment information. Review the populated values rather than assuming they are current.
Effective-date rules
One account cannot have overlapping active contract periods.
A new contract version should begin when the old pricing ends.
The preceding contract's End Date is maintained so the periods remain continuous and non-overlapping.
The active contract on the operational or billing date determines the applicable configuration.
Renewal Date is informational; create a properly dated new version when prices or rules change.
At least one active Item Service Charge or Miscellaneous Charge is required before the contract can be used meaningfully.
Recommended versioning practice
Do not rewrite historical rates after related work has occurred. Create a new contract version with the new Effective Date. Then recalculate only the allowed uninvoiced activity that should use the new version.
12. Contact Info and Mailing Address
The contact and mailing editors support the visible identity and address details needed for the commercial relationship, such as:
Contact name
Company name
Email
Phone
Address lines
City
Province or state
Postal or ZIP code
Country
The two sections can represent different purposes: an operating contact may differ from the invoice mailing destination. Verify both before generating the first invoice.
13. Save, Save & New, Duplicate, and Delete
Save validates and stores the contract.
Save & New stores the contract and opens a new contract page.
Create Duplicate copies the configuration so it can be adapted for another effective period or account. Always recheck Account, dates, codes, and rates.
Delete permanently removes an allowed contract after confirmation. Deletion may be blocked when the contract is already referenced by charge or billing activity.
Where keyboard shortcuts are enabled, Alt+S saves and Alt+N starts a new record.
Saving is not merely a formality. XoroERP checks date overlap, unique charge codes, required fields, minimum-charge support, compatible storage setup, and duplicate special charges.
14. Contract sections
A contract can contain four coordinated areas:
Storage — the storage method and its rates.
Item Service Charges — per-Unit or per-Carton charges for Shipping, Receiving, Return, or Storage.
Miscellaneous Charges — flat, quantity-based, percentage-based, suggested, conditional, predefined, work-order, storage-support, and minimum lines.
Minimums — required minimum item-service subtotals for Shipping, Receiving, and Return.
The same charge code cannot be reused across active Item Service and Miscellaneous lines. Use a naming convention that tells users what the charge means without relying on its description alone.
Example convention:
SHP-UNIT— shipping per unitSHP-CARTON— shipping per cartonREC-PALLET— receiving pallet-related chargeRET-UNIT— return per unitSTO-UNIT-30— storage age tierWO-LABEL— label application work orderMIN-SHP— shipping minimum adjustment
15. Changing the storage type
Storage types are different billing models, not interchangeable display choices. Changing away from Unit or Location can remove incompatible storage lines after confirmation. Before changing the type:
Export or record the current configuration if it must be retained.
Confirm no uninvoiced storage calculation depends on the old setup.
Create a new effective-dated contract when the change is commercial rather than corrective.
Review and rebuild the required supporting lines.
Preview the next invoice before generation.
Part 3 — Storage Billing
16. Choose the storage method
The available active storage methods are:
Area
Dedicated floor space with an included allocation and optional overage
Square feet
One Work Order miscellaneous line for Area Based Storage
Unit
Inventory quantity, cartons, or age-based tiers
Units or Cartons
One or more Storage Item Service Charge lines
Location
Occupied warehouse locations
Count of occupied eligible locations
One Work Order miscellaneous line for Location Based Storage
Volume can appear in historical or inactive choices but is not a selectable active storage method. Do not design a new contract around it unless it becomes available in the user's environment.
17. Area-based storage
Area storage charges for committed warehouse area and, when applicable, area used above the commitment.
Area settings
Allocated Area
The included or committed square footage.
Charge / Sq Ft
The rate for the allocated area.
Area Used This Period
Actual square footage used for the billing period. If zero, the allocated area is treated as used.
Overage / Sq Ft
The rate for area above the allocation.
Calculation
The charge is:
Allocated portion × Charge / Sq Ft + Overage portion × Overage / Sq Ft
Where:
Allocated portion is the lower of Area Used This Period and Allocated Area.
Overage portion is any Area Used This Period above Allocated Area.
If Area Used This Period is zero, XoroERP uses the full Allocated Area at the normal rate.
Example: no overage
Allocated Area: 5,000 sq ft
Area Used This Period: 4,600 sq ft
Charge / Sq Ft: $1.20
Overage / Sq Ft: $1.75
Charge: 4,600 × $1.20 = $5,520
Example: with overage
Allocated Area: 5,000 sq ft
Area Used This Period: 5,600 sq ft
Charge / Sq Ft: $1.20
Overage / Sq Ft: $1.75
Charge: (5,000 × $1.20) + (600 × $1.75) = $7,050
Required contract line
Create exactly one Miscellaneous Charge with:
Document Type: Work Order
Type: Area Based Storage
A unique Code, Description, Income Category, and Tax selection
The Storage section supplies the calculated amount. The supporting line supplies its billing identity and financial treatment. Do not add multiple Area Based Storage lines to one contract.
18. Unit-based storage
Unit storage evaluates eligible on-hand account inventory at a point in time and prices it using Storage Item Service Charges.
Storage line settings
Type
Storage
Description
User-facing explanation of the storage rate or tier.
Code
Unique invoice and charge identifier.
Display UOM
Unit or Carton.
Charge
Rate per Unit or Carton.
Income Category
Financial category used by the generated invoice line.
Tax
Tax treatment for the charge.
Conditions
Optional inventory selection or age rule.
Quantity basis
Unit uses eligible on-hand units.
Carton uses the item's carton or case setup to express the inventory as cartons.
Review fractional-carton expectations with the contract owner. If the agreement requires rounding, confirm the item's carton setup and product behavior produce the intended quantity before billing.
Unconditional and conditional rates
An unconditional Storage line is a fallback for inventory that does not meet a more specific condition. Conditional lines can select inventory by values such as Category or Received In (Days).
When multiple non-age conditional lines match the same item, the matching line with the higher rate takes priority. If no conditional line matches, the unconditional fallback is used. To prevent surprising results, make conditions mutually exclusive wherever possible.
Category example
STO-CHILL
Category Equals Chilled
Carton
$0.45
STO-FROZ
Category Equals Frozen
Carton
$0.62
STO-GEN
No condition
Carton
$0.30
Frozen cartons use STO-FROZ, chilled cartons use STO-CHILL, and other eligible cartons use STO-GEN.
Received In (Days) age tiers
Received In (Days) supports inventory-age pricing. Use only these comparisons:
Less Than
Less Than or Equal
Greater Than
Greater Than or Equal
Enter a whole numeric day value. Do not use text or Empty/Not Empty for this condition.
Age-tier rules allocate on-hand inventory across the configured brackets. The final open-ended tier takes the remaining quantity. The contract prevents overlapping duplicate thresholds in the same direction, but the designer must still make the complete tier set logical.
Example:
STO-0-30
Received In (Days) Less Than or Equal 30
$0.08
Recently received inventory
STO-31-60
Received In (Days) Less Than or Equal 60
$0.12
Middle-age inventory
STO-61P
Received In (Days) Greater Than 60
$0.20
Long-dwell inventory
If 1,000 units are on hand and their received quantities span the tiers, each age bracket is charged at its own rate; inventory is not charged repeatedly by every tier.
Required fallback decision
Decide explicitly whether unmatched inventory should:
use a general unconditional rate, or
remain uncharged because the contract intentionally covers only selected inventory.
For most contracts, a documented fallback rate is safer.
19. Location-based storage
Location storage counts occupied, eligible warehouse locations for the account. A location is billed as occupied when qualifying account inventory is present there at the snapshot point.
Required contract line
Create exactly one Miscellaneous Charge with:
Document Type: Work Order
Type: Location Based Storage
A unique Code, Description, Income Category, and Tax selection
Enter the rate per occupied location in the Storage section's Charge / Location setting. The supporting line supplies the billing identity and financial treatment; it is not the source of the location count.
Calculation example
Occupied eligible locations: 42
Rate per location: $18.00
Charge: 42 × $18.00 = $756.00
The snapshot is a summarized location count rather than an individual item charge. Do not interpret its summarized item information as a per-product storage result.
20. Storage inventory snapshots
The 3PL Storage Inventory Snapshot records the evidence used for Unit or Location storage. Common columns include:
Date
Account
Description
Charge Code
UOM
Total
Unit
Qty
Contract
Item
UPC
Item Description
Category
Quality
Use the snapshot to answer:
Which account and contract supplied the rate?
What date was inventory measured?
Which item, category, and quality were counted for Unit storage?
Which charge code and UOM were selected?
What quantity, rate, and total were calculated?
Area storage is based on the contract's area settings and does not rely on item-level inventory snapshots.
In the result list, Unit is the applied rate, Qty is the measured quantity, and Total is the calculated amount. Users can filter directly by 3PL Account, use Advance Search and Custom Queries, choose columns, sort, page, refresh, export, and open available detail.
21. Creating storage snapshots
Snapshots can be created by the scheduled storage process or manually from the 3PL Account Centre. The account's Storage Charge Date Selection controls the intended schedule.
For Unit storage, the system:
Identifies eligible on-hand inventory for the account.
Uses the active contract for the applicable snapshot date.
Applies account, item, category, quality, UOM, and age rules.
Selects the applicable Storage Item Service Charge.
Records quantity, rate, and total.
For Location storage, the system:
Identifies locations with eligible account inventory.
Counts occupied locations.
Applies the Location Based Storage rate.
Records a summarized snapshot.
If a snapshot for the same allowed billing occurrence already exists, another one is not created. When repeated storage charges are commercially required, verify that the account schedule and available multi-date options support the intended occurrences before approving the contract.
22. Turning snapshots into billable storage
When Include Storage is selected during invoice generation, XoroERP uses the applicable snapshot on or before the storage cutoff for the selected invoice period. Company configuration can use the beginning or end of the selected range as that cutoff. The selected snapshot results are grouped by contract storage charge and compiled into a Storage Work Order dated at the end of the invoice period.
Only one generated storage Work Order is permitted for the same account and billing range. If one already exists, invoice generation stops until the existing storage Work Order is reviewed and, when appropriate, voided.
The storage Work Order becomes part of the invoice charge set. Keep the snapshot, Work Order, and invoice linked through the normal process rather than recreating the amount manually.
23. Storage contract checklist
Confirm Area, Unit, or Location is the commercial basis.
Confirm the account's storage charge date.
For Area, enter allocation, standard rate, actual use, and overage rate and add one Area Based Storage Work Order line.
For Unit, create complete Storage service rates, correct UOMs, and a fallback or explicit no-charge rule.
For age pricing, create non-overlapping Received In (Days) tiers.
For Location, add one Location Based Storage Work Order line and validate which locations count as occupied.
Confirm Income Category and Tax on every storage charge.
Run a sample snapshot and reconcile inventory or occupied-location counts.
Preview an invoice with Include Storage before the first live generation.
Part 4 — Item Service Charges
24. Item Service Charge types
Item Service Charges apply a rate to operational item quantity.
Handling
Shipping handling
Ready to Ship, then finalized on shipment
Receiving
Inbound receiving
Close PO ASN, then finalized on Item Receipt
Return
Returned-product handling
Close RMA ASN, then finalized on Credit Memo
Storage
Inventory storage
Storage snapshot and invoice storage compilation
Shipping can be described as Handling in parts of the contract and minimum setup. It is the item-service component of outbound Shipping billing.
25. Item Service Charge fields
Type
Choose Handling, Receiving, Return, or Storage.
Description
Explain the service in invoice-friendly language.
Code
Use a unique code across both service and miscellaneous contract lines.
Display UOM
Choose Unit or Carton.
Charge
Enter the per-UOM rate.
Income Category
Select the financial category for the invoice.
Tax
Select the applicable contract tax treatment.
Conditions
Optionally limit the line to matching activity.
Active
Keep active only while the rule should be considered.
26. Item-service quantities
The quantity comes from completed operational detail:
Handling uses picked or shipped item quantity.
Receiving uses received item quantity.
Return uses returned item quantity.
Storage uses eligible on-hand inventory quantity.
Unit charges use the unit quantity.
Carton charges use the distinct case, carton, or license-plate groupings represented by the operation and item setup.
Operational teams must use carton and case identifiers consistently. A contract cannot correct incomplete packing or receiving data after the fact.
27. Matching and priority
All conditions on one service line must be true for that line to match. If several conditional service lines match the same detail, the higher-rate match takes priority. If none matches, an unconditional line for that Type is the fallback.
Every eligible operational item line is expected to resolve to a contract service line. If an item has no matching line and no fallback, charge creation can stop with a contract-configuration error.
Recommended pattern:
Create the most specific conditional rules.
Make their conditions mutually exclusive.
Add an unconditional fallback for each required Type and UOM strategy.
Test an item from every category and exception group.
28. Item-service examples
Shipping: cartons plus units for broken cases
SHP-CASE
Handling
Sealed Case Equals Yes
Carton
$1.10
SHP-EACH
Handling
Sealed Case Equals No
Unit
$0.18
Use this pattern when sealed cases and broken-case picking have different labor costs.
Receiving by category
REC-FROZ
Receiving
Category Equals Frozen
Carton
$0.85
REC-GEN
Receiving
No condition
Carton
$0.55
The unconditional line covers categories not explicitly priced.
Return with a single universal rate
RET-UNIT
Return
None
Unit
$0.35
Use this when all returned units have the same base handling rate. Add separate Miscellaneous Charges for inspection, relabeling, disposal, or other exceptional work.
Part 5 — Miscellaneous Charges
29. Miscellaneous Charge fields
Document Type
Shipping, Receiving, Return, or Work Order.
Type
Custom, Predefined, Minimum, Invoice Minimum, Area Based Storage, or Location Based Storage, as applicable.
Code
Unique charge identifier.
Description
User-facing description used in charge review and billing.
UOM
Descriptive billing unit.
Charge Type
Flat Rate, Percentage, or Dollar Value of Document.
Against
Quantity or monetary basis used by the calculation.
Always Apply
Creates the charge automatically whenever the document type is evaluated.
Show in suggested charges
Offers the charge for user acceptance rather than immediate billing. This guide also shortens the label to Show in Suggested.
Show in Work Order
Makes the charge available on Work Order charge entries. Required for Work Order lines.
Allow Charge Editing
Lets an authorized user change the amount where supported.
Use Freight Tax
Uses the shipment's freight tax treatment instead of the contract line's tax.
Recalculate on Shipping
Recomputes the charge using final shipment information.
Charge Value
Flat amount, quantity rate, or percentage.
Income Category
Financial category used on the invoice line.
Tax
Contract tax treatment unless freight tax is used.
Conditions
Optional rules that determine when the charge applies.
30. Document Types
Shipping
Connected to outbound Sales Order and Packing Slip activity. Shipping conditions and freight-related bases are available where the operational information exists.
Receiving
Connected to Purchase Order and Item Receipt activity. Use for appointment, unloading, pallet, carton, compliance, and related inbound fees.
Return
Connected to RMA and Credit Memo activity. Use for return authorization, inspection, restocking, disposal, repacking, and similar fees.
Work Order
An independent charge entry that does not require an operational order number. Use it for value-added services, projects, recurring manual fees, invoice minimums, or the storage support lines required by Area and Location storage.
Work Order lines are shown in Work Order selection and use Flat Rate behavior. Conditions are not evaluated as part of an independent Work Order, so the user chooses the appropriate charge and quantity.
31. Miscellaneous charge Types
Custom
A contract-specific operational or Work Order charge.
Predefined
A product-defined charge such as Cancel Order, available for its intended workflow.
Minimum
An automatically calculated adjustment supporting the Shipping, Receiving, or Return minimum.
Invoice Minimum
A Work Order line used to add a billing-period minimum when required.
Area Based Storage
The required Work Order line for Area storage. Only one should exist per contract.
Location Based Storage
The required Work Order line for Location storage. Only one should exist per contract.
32. Charge Type calculations
Flat Rate
The amount is the configured Charge Value, normally with quantity 1.
Example: a document preparation fee of $7.50 produces a $7.50 charge.
Dollar Value of Document
Despite its label, this choice acts as a rate multiplied by the selected Against quantity or basis.
Example: Charge Value $0.25 × Units 120 = $30.00.
Recommended uses include per Unit, Carton, Line, Order, or other supported quantity bases. Always test the selected Against value because the label alone does not define the quantity.
Percentage
The Charge Value is divided by 100 and multiplied by the selected basis. It is best paired with a monetary Against value.
Example: 3% × Freight $200 = $6.00.
Recommended monetary bases are Handling Charge, Freight, or Freight Including Tax. Avoid pairing Percentage with a count such as Units unless the resulting formula is intentionally part of the agreement.
Zero results
If a calculation produces zero, the charge is omitted. This commonly occurs when the selected basis is zero or is not yet available at the stage when the charge is evaluated.
33. Against choices
The available basis depends on Document Type and Charge Type. Common choices are:
Units
Total applicable unit quantity.
Cartons
Applicable carton or case count.
Lines
Applicable document-line count.
Orders
Order count, normally one for a single charge entry.
Value of Order
Applicable document value.
Handling Charge
Calculated item-service handling subtotal.
Freight
Shipment carrier or freight amount before freight tax.
Freight Including Tax
Freight amount including its applicable tax.
Use final-shipment recalculation for a basis that is not reliably known at the initial Ready to Ship stage.
34. Always Apply, Suggested, and Conditional behavior
These choices define how a miscellaneous charge enters the workflow:
Always Apply
The charge is created automatically when the document is evaluated.
Show in Suggested
The line appears in Suggested Charges and does not become billable until a user applies it.
Conditions
The line is created only when every condition on it is true.
Manual only
The line is available for an authorized user to add from the contract.
Always Apply and Show in Suggested are mutually exclusive. Selecting either makes conditions unnecessary for that line. A line intended to use conditions should not be configured as always-applied or suggested.
35. Suggested Charges
Suggested Charges support fees that need human confirmation, such as special handling noticed during operations.
A suggested line is visible in the Suggested Charges section.
It is excluded from invoice generation until Apply is selected and the charge entry is saved.
Once applied, it appears with the active charge lines.
If an applied suggested line is removed before invoicing, it returns to Suggested Charges so it can be selected again.
Do not use Suggested for a fee that must always bill without human action.
36. Editable charges
Allow Charge Editing is supported for Flat Rate charges. It lets an authorized user replace the default amount for a specific charge entry.
Use this only when the agreement explicitly allows a variable amount, such as pass-through material, outside labor, or a quoted special project. Preserve supporting details in Memo, Order Ref #, tasks, or the company's evidence process.
Item Service, minimum-offset, and automatically calculated quantity or percentage lines should not be treated as freely editable.
37. Freight behavior
Shipping charges based on Freight or Freight Including Tax are recomputed when final shipping data becomes available.
Recalculate on Shipping tells XoroERP to use final shipment information.
Choosing a freight basis requires final-shipment recalculation.
Use Freight Tax uses the shipment's freight tax treatment and replaces the contract line's normal tax choice for that calculation.
Example: a 5% fuel surcharge against final Freight of $240 produces $12.00. If the line uses Freight Including Tax and the total is $268.80, the same percentage produces $13.44.
38. Negative miscellaneous charges
Negative contract values are supported and can represent credits, rebates, waived-service offsets, or other contractually permitted reductions. They can contribute to a negative 3PL invoice.
Use a clearly named code and description, such as SLA-CREDIT — Monthly service-level credit, and confirm the Income Category and tax treatment with Finance.
39. Miscellaneous charge examples
Shipping appointment fee
Document Type: Shipping
Type: Custom
Charge Type: Flat Rate
Always Apply: Yes
Charge Value: $15.00
Residential delivery percentage
Document Type: Shipping
Type: Custom
Charge Type: Percentage
Against: Freight
Condition: Ship To Country Equals the contracted destination and Carrier Type matches the parcel service
Recalculate on Shipping: Yes
Charge Value: 4%
Receiving pallet fee
Document Type: Receiving
Type: Custom
Charge Type: Dollar Value of Document
Against: Cartons or a supported pallet-related basis, depending on the agreed operational capture
Condition: Pallet Count Greater Than 0 when available for the process
Charge Value: contracted rate
Return inspection suggestion
Document Type: Return
Type: Custom
Charge Type: Flat Rate
Show in Suggested: Yes
Charge Value: $8.00
The user applies it only when inspection work was actually performed.
Value-added labeling Work Order
Document Type: Work Order
Type: Custom
Charge Type: Flat Rate
Show in Work Order: Yes
Allow Charge Editing: Yes only if the agreed project amount can vary
Part 6 — Charge Conditions
40. How conditions work
Conditions select a contract line based on information from the operation, item, shipment, inventory, customer, or document. Every condition on the same charge line must be true. This is AND logic.
Example:
Carrier Type Equals Parcel
Ship To Country Equals CA
Order Priority Equals Rush
The charge applies only when all three statements are true.
To express OR logic, create separate charge lines with the same commercial amount and distinct codes or descriptions, then test for duplicate outcomes.
41. Operators
The compatible list depends on the selected condition. Common operators include:
Equals
Not Equal To
Contains
Does Not Contain
Greater Than
Greater Than or Equal
Less Than
Less Than or Equal
Is Empty
Is Not Empty
Is Empty and Is Not Empty do not require a Value. Numeric comparisons require a valid number. Use text comparisons only with consistent operational values.
42. Available condition subjects
The condition list can vary by charge type, document type, and enabled features. Common subjects include:
Carrier Name
Carrier-specific shipping charge.
Carrier Type
Parcel, freight, or another carrier grouping.
Ship Service Name
Service-specific rule, such as a particular ground, express, or freight service.
Carton Break Rule
Different handling for full-case versus broken-case work.
Category
Category-specific item service or storage rate.
Container Type Code
Container-dependent shipping work.
Customer Name
Customer-specific exception within an account.
Is VAS?
Value-added-service order handling.
Mixed Case
Charge for cartons containing mixed items.
Order Priority
Rush, standard, or another priority fee.
Order Type
Different commercial rules for order classifications.
Pallet Count
Pallet-related handling.
Received In (Days)
Unit-storage inventory age tiers.
Sealed Case
Full sealed-case handling.
Ship Package Type
Package-dependent shipping charge.
Ship To Country
Domestic, cross-border, or country-specific handling.
Shipping Account Number
Account-number-specific freight behavior.
Single Sku Case
Single-item case handling.
Unschedule Delivery
Exception handling for unscheduled delivery activity.
Wave Template
Shipping workflow or service-level distinction where available.
Not every subject is populated for every operational stage. A shipping-only subject will not normally provide a meaningful value for Receiving or Return. Choose conditions that the selected document type reliably captures.
43. Condition design rules
Use a condition only when the source value is consistently maintained.
Match text spelling and naming conventions used by operations.
Keep conditions mutually exclusive when different rates could otherwise match.
Remember that all conditions on one line are ANDed.
Create a fallback service line when every operational item must be billable.
Use Received In (Days) only for Storage and only with numeric comparison operators.
Test Empty and Not Empty rules with genuinely blank and populated examples.
Avoid using a higher price merely as a hidden tie-breaker; make intent explicit through conditions.
Retest conditions whenever operational dropdown values or naming conventions change.
Part 7 — Minimums
44. Shipping, Receiving, and Return minimums
The contract can define positive minimum amounts for:
Shipping / Handling
Receiving
Return
These minimums compare only to the applicable Item Service Charge subtotal. Miscellaneous charges do not reduce the minimum adjustment.
Example:
Shipping minimum: $25.00
Handling Item Service subtotal: $18.40
Miscellaneous shipping charges: $12.00
Minimum adjustment: $25.00 - $18.40 = $6.60.
The total shipping-related charge entry would include $18.40 + $6.60 + $12.00, plus tax as applicable.
45. Required Minimum lines
For every positive document minimum, create one matching Miscellaneous Charge:
Document Type matching Shipping, Receiving, or Return
Type: Minimum
A unique Code and Description
Appropriate Income Category and Tax
Do not create more than one Minimum line for the same Document Type. XoroERP uses the line to carry the calculated difference, not the line's normal manual value.
Minimum adjustment lines cannot be edited or deleted individually from a charge entry. Correct the underlying item-service configuration or recalculate the eligible charge entry.
If the charge-entry total is negative, a minimum adjustment is not added.
46. Invoice Minimum
Invoice Minimum is different from an operational minimum. It represents a minimum for a billing period rather than a single Shipping, Receiving, or Return activity.
Configure it as:
Document Type: Work Order
Type: Invoice Minimum
Show in Work Order: Yes
A clear Code, Description, Income Category, Tax, and agreed value
When the period requires an invoice-minimum adjustment, create and save the Work Order charge so it is eligible within the invoice date range. Generate 3PL Invoice does not independently compare the complete billing-period total to the contract's Invoice Minimum line. The billing reviewer must perform that comparison and add the Work Order adjustment when needed.
Example:
Contracted monthly invoice minimum: $2,500
Reviewed eligible charges before the adjustment: $2,180
Work Order Invoice Minimum adjustment: $320
Document the review so the adjustment is not added twice.
47. Minimum checklist
Confirm whether each minimum applies per operation or per billing period.
Enter positive Shipping, Receiving, and Return minimum values only where contracted.
Add exactly one matching Minimum line for every positive operational minimum.
Ensure the minimum line has correct Income Category and Tax.
Remember that operational minimums compare against item-service charges only.
For Invoice Minimum, calculate the period shortfall and add it through a Work Order.
Recheck negative-charge periods with Finance.
Part 8 — Charge Creation Through Warehouse Operations
48. Charge-entry relationships
Operational charges begin with a source document and move to the final document as the work is completed:
Shipping
Sales Order
Packing Slip
Ready to Ship; finalized or recalculated during shipment
Receiving
Purchase Order
Item Receipt
Close PO ASN; finalized during receiving completion
Return
RMA
Credit Memo
Close RMA ASN; finalized during return completion
Work Order
Independent reference
Work Order remains independent
User creates and saves the Work Order charge entry
Storage
Storage snapshot
Generated Storage Work Order
Generate 3PL Invoice with Include Storage
The reference connection is retained as the charge advances. This lets users trace billed activity back to the Sales Order and Packing Slip, Purchase Order and Item Receipt, or RMA and Credit Memo.
49. Shipping trigger: Ready to Ship
After picking, staging, and packing are complete, Ready to Ship evaluates the Shipping contract:
Handling Item Service Charges are calculated from packed or picked detail.
Always Apply miscellaneous charges are created.
Conditional charges are created when all conditions match.
Suggested charges are offered for review.
The Shipping minimum is calculated from the Handling Item Service subtotal.
A charge entry is associated with the Sales Order.
If Auto Mark Order Ready to Ship After Complete Packing is enabled, finishing packing can invoke this event automatically.
At final shipment, the charge entry moves to the Packing Slip relationship, its transaction date is aligned to the final shipment, and charges marked for shipping recalculation use final freight and shipment values.
Undo Ready to Ship
Undoing Ready to Ship revalidates the charge state. Contract-derived charges may be removed and rebuilt when Ready to Ship is performed again. Applicable user-added miscellaneous charges are preserved where the workflow supports them.
Use the normal undo and reapply workflow instead of manually trying to mimic a shipment-status correction.
50. Receiving trigger: Close PO ASN
Closing a Purchase Order ASN evaluates the Receiving contract and creates the receiving charge entry:
Receiving Item Service Charges use received quantities or cartons.
Always Apply and matching conditional miscellaneous charges are added.
Suggested charges wait for user acceptance.
The Receiving minimum compares against the Receiving Item Service subtotal.
The entry initially relates to the Purchase Order.
When receiving is completed, the reference moves to the Item Receipt and becomes invoice-eligible according to the final workflow state.
Before closing the ASN, correct expected item quantities, carton or pallet information, account, vendor, brand, and appointment details used by contract conditions.
51. Return trigger: Close RMA ASN
Closing an RMA ASN evaluates the Return contract:
Return Item Service Charges use returned quantity or cartons.
Always Apply and matching conditional miscellaneous charges are added.
Suggested charges await confirmation.
The Return minimum compares against the Return Item Service subtotal.
The entry initially relates to the RMA.
When the return is completed, the reference moves to the Credit Memo and becomes invoice-eligible according to the final workflow state.
52. Eligibility versus existence
A charge entry can exist before it is eligible for invoicing. This distinction prevents billing an operation that has not reached its final business state.
A Shipping entry may exist after Ready to Ship but become eligible only after the final shipment creates or updates the Packing Slip.
A Receiving entry may exist after the ASN closes but become eligible after the Item Receipt is finalized.
A Return entry may exist after the ASN closes but become eligible after the Credit Memo is finalized.
A saved independent Work Order is normally eligible immediately.
A suggested line remains excluded until it is applied and saved.
A line already linked to an invoice is not eligible for another invoice.
When a charge appears in Charge Entry but not in invoice preview, check completion and eligibility before changing the contract.
53. Contract date used by operations
The active contract applicable to the operation's billing event supplies the rules. Because the workflow spans initial and final events, an operation near a contract change deserves special review.
Recommended month-end process:
Complete or identify open activity before changing contract versions.
Create the new contract with a non-overlapping Effective Date.
Review uninvoiced entries that crossed the date boundary.
Use Preview and, where justified, Recalculate or Delete & Create.
Retain the original business evidence for manual changes.
Part 9 — 3PL Charge Entry
54. Charge Entry header
The 3PL Charge Entry page contains the following header information:
The page is organized into Main, Custom Fields, and Task tabs. Task becomes useful after an independent Work Order is saved.
Doc Type
Shipping, Receiving, Return, or Work Order.
Order #
The validated Sales Order, Purchase Order, or RMA for operational entries. Disabled for Work Order.
Account
The owning 3PL Account.
Order Ref #
Customer, vendor, or business reference carried from the operation.
Date
Charge-entry date used for review and invoice-range eligibility.
Brand
Brand associated with the activity.
Memo
Explanation, evidence reference, or billing note.
Custom Fields
Company-defined information required by the charge-entry process.
Tasks
Available for saved Work Orders to record or manage value-added work.
Created/Updated information
Shows who created or last changed the charge entry and when.
Selecting the Doc Type determines which source document can be entered. The Order # must be validated before an operational charge entry can be saved. Work Order disables Order # and allows an independent reference.
Account, Brand, and Doc Type are restricted after the source is selected or the record is saved to protect the charge relationship. If the wrong ownership was chosen, correct the source operation or recreate the uninvoiced charge through the permitted process.
55. Suggested Charges section
Suggested lines show:
Description
Apply selection
Select Apply for work that occurred, save the entry, and confirm the line appears in active charges. Unapplied suggestions are not included in invoice generation.
56. Miscellaneous Charges section
Common columns include:
Type
Code
Description
UOM
Qty
Charge
Income Category
Against
Unit
Tax
Auto
Action
The Type and calculation information help explain why a line exists. Auto distinguishes contract-generated behavior from a user-added charge. Action is available only when the line and user access permit editing or deletion.
57. Item Charges section
Common columns include:
Type
Code
Description
UOM
Qty
Charge
Auto
Tax
These lines come from the matched Item Service Charges. Change the contract or operational quantity and use the appropriate recalculation workflow rather than directly overriding a service calculation.
58. Charge summary
The summary shows:
Qty
Subtotal
Tax totals, separated by tax name where applicable
Total
Currency
Review the quantity and subtotal separately. A line's displayed Charge can be a rate, calculated amount, or user-approved amount depending on its Charge Type. Tax is then added according to the charge's treatment.
59. Add Charge
Add Charge opens a selection of compatible contract Miscellaneous Charges for the entry's Account and Doc Type.
Choose the charge Code or Description.
Review Charge Type, Charge Code, Description, G/L Category, Tax Code, Unit Amount, Charge Against, Qty, Display UOM, and Charge.
Change allowed values only when the line permits editing and the user has access.
Add a Memo or supporting reference for exceptions.
Save the charge entry.
The available list is filtered by contract, document type, active status, and applicable charge type. A Work Order displays lines configured for Work Order use.
Qty must not be negative. A credit is represented by an approved negative Charge value, not by a negative operational quantity.
60. Work Order charge entries
Use Work Order for billable work independent of Shipping, Receiving, or Return, including:
Labeling, kitting, repacking, or assembly
Inventory projects or cycle-count labor
Special reporting or administrative work
Materials or pass-through costs
Invoice Minimum adjustments
Area or Location storage generated by the billing workflow
To create a normal Work Order:
Select Doc Type Work Order.
Select Account and Brand as applicable.
Enter Order Ref #, Date, and Memo.
Save the header if tasks will be used.
Add available Work Order charges.
Enter allowed quantity or amount information.
Add and complete Tasks if operational tracking is required.
Save and review the Total.
A user-created Work Order is independent. A generated storage Work Order should be managed through the storage and invoice workflow.
61. Saving a charge entry
Before saving, XoroERP validates that:
Required custom fields are complete.
The source Order # is valid for Shipping, Receiving, or Return.
A Work Order has the required independent information.
At least one active charge line exists.
Date is present.
The validated source Order # was not changed afterward.
The operation has not changed to an incompatible state in another session.
Unsaved changes trigger a warning when leaving the page. Resolve the warning intentionally; do not assume a line visible on screen has been stored.
62. Editing and deleting charge lines
User-added Flat Rate lines can be editable when allowed by the contract and user access.
Applied Suggested Charges can be removed; they return to the Suggested list.
Minimum adjustment lines cannot be edited or removed individually.
Contract-derived service quantities should be corrected through the source operation and recalculation.
Invoiced lines are protected from ordinary editing and recalculation.
Deleting a complete eligible charge entry can remove it from the next invoice; confirm the source and billing intent first.
63. 3PL Charge Entry Centre
The centre has Header and Detail views.
Header view columns
Account
Ref #
Doc Type
Date
Order Ref #
Created and Updated information
Memo
Invoice #
Task #
Brand
Detail view columns
Account
Code
Description
Charge Type
Entry Type
Doc Type
Amount
Against
Qty
UOM
Invoice
Ref #
Memo
Order Ref #
Income Category
Date
Tasks
Brand
Entry Type identifies the line's billing role. Values can include Suggested Charge, Misc Charge, Item Charge, and the applicable storage classification such as Storage (Area Based). Charge Type identifies the calculation style, such as Flat Rate, Percentage, or Dollar Value of Document.
Filters and tools
Store
Ref#
Doc Type
Search By
Advance Search with up to ten criteria
Custom Queries
Column chooser
Sorting, paging, refresh, and export
Open or create a charge entry
Batch Delete in Header view
Batch Recalculate in Header view
Batch Delete and Batch Recalculate require selected records. Batch Delete is not available in Detail view because the rows are individual lines rather than complete charge-entry headers.
Part 10 — Recalculation and Corrections
64. Standard Recalculate
Use Recalculate when the source operation remains valid and contract-derived amounts need to be refreshed. It can update applicable:
Item Service Charges
Automatic miscellaneous charges
Conditional charges
Minimum adjustments
Freight-related charges using available final values
User-added miscellaneous lines are preserved where applicable. Review them after recalculation to confirm they are still justified.
Standard Recalculate is not permitted for already invoiced charge lines. Work Orders and generated storage Work Orders are excluded from ordinary operational recalculation.
65. Delete & Create
Use Delete & Create when eligible uninvoiced operational charges need a complete clean rebuild from the current source and applicable contract.
The process:
Removes the eligible uninvoiced non-storage operational charge entries in scope.
Re-evaluates the source operational documents.
Creates new contract-derived charge entries.
Restores the proper relationship to the final Packing Slip, Item Receipt, or Credit Memo.
It does not rebuild invoiced charges, independent Work Orders, or generated storage Work Orders.
When to choose which action
Final freight changed but the charge entry is otherwise correct
Recalculate
Item quantity or a contract-derived line changed and manual lines must remain
Recalculate, then review
Entry is structurally wrong or tied to stale operational charge logic
Delete & Create
Charge is already invoiced
Review invoice correction or void workflow; do not recalculate
Independent Work Order amount is wrong
Edit the permitted Work Order line or recreate the Work Order
Generated storage Work Order is wrong
Review the snapshot and invoice range; void the related invoice/storage result before regeneration
66. Correction controls
Before recalculating or rebuilding:
Confirm the intended contract version.
Confirm the operation is complete and contains correct quantities and attributes.
Identify manual charges and retain supporting evidence.
Ensure no selected line is already invoiced.
Use Preview to compare the resulting invoice total.
Record why a material billing amount changed.
Part 11 — Generate 3PL Invoice
67. Invoice-generation fields and actions
Account
Selects the billable 3PL Account.
Start Date
First eligible charge-entry date to include.
End Date
Last eligible charge-entry date to include and the date used to select the applicable storage contract.
Invoice Date
Transaction date of the generated invoice.
Include Storage
Calculates and includes supported storage for the selected period. It is normally selected initially, although the page default can control it.
Preview
Calculates the expected result and then discards temporary billing changes.
Recalculate
Refreshes eligible contract-derived operational charges before preview or generation.
Delete & Create
Fully rebuilds eligible uninvoiced operational charges before billing.
Generate
Creates the invoice, links included charges, and records the billing result.
The visible action labels are Preview Invoice, Recalculate Charges, Delete & Create Charges, and Generate Invoice.
68. Charges included in an invoice
A line must meet all of these conditions:
It belongs to the selected Account.
Its charge-entry Date is within the selected range.
It has reached an invoice-eligible state.
It is not an unapplied Suggested Charge.
It is not already linked to another invoice.
It has not been removed or invalidated.
Work Orders are included when saved, eligible, uninvoiced, and dated within the range. Storage is included only when requested and successfully compiled for the period.
69. Earlier uninvoiced charges
If eligible uninvoiced charges exist before the selected Start Date, XoroERP warns that they would be missed and offers the earliest relevant date. Move Start Date back unless the exclusion is deliberate and documented.
This control helps prevent stranded charges but does not decide whether an old charge is commercially valid. Review the charge before including it.
70. Pre-generation validations
Generation stops when, for example:
The Account is inactive.
Required Account or dates are missing.
Start Date is after End Date.
No eligible charges are found.
All matching charges were already invoiced.
Include Storage is selected but no active contract applies at End Date.
A generated storage Work Order already exists for the account and range.
Required billing customer, service item, store, currency, payment term, income, or tax setup is missing.
Correct the setup or source state, then Preview again.
71. Storage during invoice generation
When Include Storage is selected:
The active contract at End Date is validated.
The applicable Area, Unit, or Location amount is calculated.
For Unit or Location, the applicable snapshot result is selected using the period's configured storage cutoff.
The results are grouped into one generated Storage Work Order for the range.
The Work Order becomes an eligible charge in the invoice set.
If a multi-date storage selector is available, confirm every intended snapshot date is selected. If the page uses a single period calculation, confirm the account Storage Charge Date Selection and billing range encompass the intended snapshot.
72. Preview
Preview runs the full invoice calculation, including selected storage and recalculation choices, and then discards temporary invoice changes. Use it to inspect totals without consuming charge eligibility.
Recommended preview review:
Account and billing customer
Date range and Invoice Date
Currency and payment terms
Included operational and Work Order activity
Storage amount and period
Charge descriptions and grouped totals
Tax totals
Negative lines or credits
Missing earlier charges warning
Comparison to the billing control total
Because Preview discards temporary changes, it is safe to correct the setup and run again. It does not replace evidence review.
73. Recalculate and Delete & Create on the invoice page
These actions apply to eligible uninvoiced operational charges in the selected Account and range:
Recalculate refreshes contract-derived amounts while retaining appropriate manual miscellaneous charges.
Delete & Create removes and regenerates qualifying Shipping, Receiving, and Return charge entries from their source operations.
They exclude already invoiced charges, independent Work Orders, and generated storage Work Orders. Run them only after deciding that current source information and the applicable contract should replace the existing calculation.
74. Invoice line grouping
The invoice summarizes compatible charge lines by:
Charge Code
Tax treatment
Income Category
Document Type
The summarized invoice line displays quantity 1 and a unit price equal to the summed charge amount for that group. This is intentional: invoice quantity is not the warehouse unit count. Detailed operational quantities remain in Charge Entry and related activity.
Example:
Five eligible Shipping charge entries contain code SHP-UNIT with amounts $12, $18, $9, $21, and $15 using the same tax and Income Category. The invoice can show one summarized line:
Qty: 1
Unit Price: $75
Amount: $75
If the same code uses a different tax, Income Category, or Document Type, it appears in a separate group.
75. Invoice values and account defaults
The generated invoice uses:
The account's billing customer and address context
Contract Currency
Contract Terms, which override the customer's default terms
The configured 3PL service item
The charge's Income Category and Tax
The charge's Store, or the default billing Store when no charge Store is present
Validate these before the first invoice and after any account, finance, or contract change.
76. Negative 3PL invoices
3PL billing allows a negative invoice when the sum of eligible credits exceeds positive charges. This supports legitimate credit-only periods without forcing artificial positive lines.
Before generating a negative invoice:
Confirm every negative charge is authorized.
Confirm tax and Income Category treatment.
Confirm an invoice, rather than another finance document, is the approved business process.
Retain supporting evidence and approval.
77. What Generate does
Generate:
Creates the 3PL invoice.
Creates the summarized invoice lines.
Links every included charge line to the invoice.
Marks the included charges as no longer eligible for another invoice.
Creates the billing log record.
Preserves the source-to-charge-to-invoice trace.
Do not close the workflow until the success result and Invoice # are confirmed.
78. 3PL Invoice Logs
The log provides billing-run traceability. Common columns include:
3PL Invoice #
Account Name
Start Date
End Date
Amount
Currency
Created At
Created By
Users can filter by Account, search with Advance Search, use Custom Queries, choose columns, sort, page, refresh, export, and open the Invoice link.
The page also provides navigation to Generate 3PL Invoice for the next billing run.
The log answers who generated an invoice, for which account and period, and for what amount. Use Charge Entry detail for the operational calculation behind the total.
79. Permitted actions on a 3PL invoice
3PL invoices use a controlled action set.
From Invoice Centre, the intended special actions are:
Void
Add To Email Queue
Within the Invoice page, the intended actions are:
Print
Show Transactions
Edit in New Window
Other ordinary invoice actions can be unavailable because 3PL charge links must remain consistent. Use the 3PL workflow for corrections.
80. Voiding a 3PL invoice
Voiding reverses the 3PL billing relationship:
The invoice is voided through the permitted Invoice Centre action.
The generated Storage Work Order for that billing range is removed when applicable.
Charge lines are unlinked from the invoice.
Non-storage charges return to invoice-eligible status when still valid.
Invoice references in Charge Entry are refreshed.
After voiding, review the charges before regenerating. Do not assume the same range should be billed unchanged, especially if the void addressed contract, quantity, tax, or account setup.
81. Billing-run checklist
Before Preview
Confirm account is Active.
Confirm the intended Start Date, End Date, and Invoice Date.
Complete all operational documents intended for the period.
Review open Suggested Charges.
Review Work Orders and Invoice Minimum requirements.
Review uninvoiced earlier charges.
Confirm whether Include Storage is required.
Confirm contract, terms, currency, service item, store, income, and tax setup.
Before Generate
Reconcile Preview to the expected total.
Review grouped charge codes and taxes.
Confirm storage is present once, not omitted or duplicated.
Confirm credits and negative total are authorized.
Confirm recalculation choice and any manual charge evidence.
Record approval according to company policy.
After Generate
Record the Invoice #.
Confirm the invoice appears in 3PL Invoice Logs.
Confirm charges show the invoice link and are no longer eligible.
Review print output and customer delivery method.
Use Add To Email Queue when appropriate.
Retain the preview or reconciliation evidence required by policy.
Part 12 — Related Centres and Operational Review
82. Sales Order and Packing Slip review
Use Sales Order and Packing Slip information to verify Shipping charges:
3PL Account and operational customer
Store and Brand
Order Type and Priority
Order Ref #
Item, Category, Unit, Carton, and packed quantity
Case characteristics such as Sealed Case, Mixed Case, and Single Sku Case
Carrier, Carrier Type, Shipping Account Number, package, container, destination, and freight
Ready to Ship status and final shipment date
Packing Slip link to Charge Entry and Invoice
When contract logic or final freight changed, use the supported charge recalculation or rebuilding action while the charge remains uninvoiced.
83. Purchase Order and Item Receipt review
Use Purchase Order and Item Receipt information to verify Receiving charges:
3PL Account Vendor and Account
Store and Brand
PO and vendor references
ASN and appointment status
Item, Category, Unit, Carton, pallet, and received quantity
Close ASN event
Item Receipt completion date
Charge Entry and Invoice references
If a receiving charge is missing, verify that the ASN was closed and the Item Receipt reached the required final state.
84. RMA and Credit Memo review
Use RMA and Credit Memo information to verify Return charges:
3PL Account and operational customer
Store and Brand
RMA and customer references
ASN and appointment status
Item, Category, Unit, Carton, and returned quantity
Close ASN event
Credit Memo completion date
Charge Entry and Invoice references
Return inspection or exception fees are often best configured as Suggested Charges or Work Orders when they require human confirmation.
85. Item List and inventory review
Item and inventory information supports Item Service and Storage calculations. Review:
Is 3PL Account Item?
Assigned 3PL Account
Brand and Category
Unit and carton conversion
UPC
Quality
Store and location
On-hand quantity
Received date or age
When an Item Service or storage charge is unexpected, trace these business values before changing the rate.
86. Creating and deleting charges from related pages
Depending on access and the operational state, related centres can expose a link or action to open, create, review, recalculate, or delete the associated 3PL Charge Entry. The same protections still apply:
The operation must belong to a valid active account and contract.
Invoiced charges cannot be treated as ordinary uninvoiced entries.
Deleting a charge does not change the warehouse work that occurred.
Recreating a charge uses current source information and the applicable contract.
Final document references must remain connected after regeneration.
Use Charge Entry Centre as the control point when correcting several entries, and use the operational page when investigating one source document.
87. Contract changes and existing charges
Changing a contract does not automatically rewrite all existing charges. Use this decision sequence:
Future work only: create a new effective-dated contract. Do not recalculate prior entries.
Uninvoiced entry with correct structure: use Recalculate.
Uninvoiced entry needing a clean rebuild: use Delete & Create.
Invoiced entry: follow the invoice void or approved financial correction process first.
Storage already generated: resolve the generated invoice/storage Work Order before running the period again.
This protects historical auditability while allowing legitimate correction.
Part 13 — 3PL Account Portal
88. Activate portal access
Select Activate Portal Login on the 3PL Account, save the account, and manage authorized users from the portal-user area. Portal administrators can enable, disable, or delete portal users according to company policy.
Deactivating an account or a portal user should be coordinated with outstanding operational and billing needs.
89. Portal areas
Depending on access and enabled features, an account user can access:
Dashboards
My Profile
Users
Billing > Invoices
Orders > Sales Orders
Orders > Purchase Orders
Orders > Returns
Orders > Packing Slips
Orders > RMAs
Orders > Item Receipts
Items
Inventory
My Profile can show account and contact information, Outstanding Invoices, Sales Orders, and a Pay Balance link where payment functionality is available.
The Balance Summary can show Outstanding Invoices, Available Credits, Deposits, and Net Balance. The Order Summary can show Estimates and Sales Orders. Customer Info can include Name, E-Mail, Phone, Payment Method, Billing Method, Payment Terms, Credit Limit, available addresses, Account Number, Account Email, and Account Status.
The Users page supports Advance Search, saved queries, list tools, and Send Portal Invitation. The invitation accepts one or more User Email values. For an existing user, authorized actions include Disable User, Enable User, and Delete User.
An authorized portal user can also select, preview, crop, and upload a profile picture from the profile-picture editor.
The Items page can be searched by Item#, Description, Base Part, Title, and Alternate Item#, with Show Active Only. The Inventory page can be searched by Item#, Description, BasePart#, Effective Date, Search by, and Show Active Only. Available columns, filters, and detail depend on portal access and account information.
Invoices and order centres support their available list filters, Advance Search, paging, sorting, column selection, export, and permitted record opening while remaining account-scoped.
90. Portal search and data scope
Portal results are restricted to the signed-in user's 3PL Account. Global search follows the same account scope. Item results can open Item Centre; other result types can open their permitted report or record view.
Portal access does not grant visibility into another 3PL Account. If a user cannot find expected information, verify the document's account ownership and the user's portal account before broadening access.
Part 14 — Connected-System Capabilities
90A. Manage 3PL Connections
The 3PL Connections page lists available account-related applications in two tabs:
Connected 3PL Connection — applications already installed.
Add 3PL Connection — applications available to install.
Select an application name or logo to open its setup. Choose Install for an available connection. For an installed connection, the Options menu provides Delete; XoroERP requests confirmation and refreshes the page after a successful removal.
Installing or deleting a connection can change an external operational workflow. Confirm the application owner, account scope, credentials, and cutover plan before acting. Deleting a connection does not by itself delete the Sales Orders, Purchase Orders, RMAs, items, inventory, charges, or invoices previously created through it.
91. Secure account connection
An approved connected application can use the Account Token generated for a saved 3PL Account. The token keeps the application within its authorized account scope.
Connected applications can support both information retrieval and operational record creation. Their permission and validation rules must be treated with the same care as work performed in the user interface.
92. Information that can be retrieved
Approved connected applications can retrieve account-scoped information for:
Sales Orders
RMAs
Credit Memos
Purchase Orders
Packing Slips
Bills
Products
Items
Inventory by Item
Inventory by Location
Inventory by Quality
Inventory adjustments
Item Receipts
Inventory results can include on-hand and location or quality information appropriate to the request.
93. Records that can be created or updated
Approved connected applications can create or update supported:
Sales Orders
Purchase Orders
RMAs
Products
Items
All normal account, customer, vendor, item, store, quantity, status, and validation rules still apply. A connected application should not bypass the operational completion events that create or finalize 3PL charges.
94. Common retrieval choices
Available choices vary by record type but can include:
Record ID or document number
Status
Created-date range
Updated-date range
Records after a previously retrieved ID
Customer or Vendor
Store
Account or external references
Third-party source
Tags
Processing options
Page and page size
Exclude already processed results
Item, location, quality, and on-hand filters for inventory
Connected-system owners should use incremental filters and paging to prevent duplicate processing. External references should be stable and unique enough to support reconciliation.
95. Connected-system billing considerations
Assign the correct 3PL Account Customer or 3PL Account Vendor before creating operations.
Supply Store, Brand, Item, Unit, and references consistently.
Preserve carton, package, carrier, freight, and status information required by charge conditions.
Do not consider record creation equivalent to Ready to Ship, Close ASN, shipment, receipt, or return completion.
Reconcile connected-system status transitions to the expected Charge Entry trigger.
Protect Account Tokens and regenerate them after suspected disclosure.
Test contract changes in a controlled operational example before applying them to high-volume connected activity.
Part 15 — Designing a Contract from Business Requirements
96. Contract-design interview
An administrator or AI assistant should collect these answers before proposing lines.
Account and timing
Who is the billable 3PL Account, and which operational customers and vendors belong to it?
Which Store, Brand, Quality, and Currency apply?
What is the Effective Date, and is there an existing contract period?
What are the payment Terms, Payable To name, contact, and mailing address?
What is the billing frequency and invoice date convention?
Storage
Is storage priced by Area, Unit/Carton, or occupied Location?
What date or dates should storage be measured?
Which inventory qualities, categories, or locations qualify?
Are there age tiers based on Received In (Days)?
Is there a general fallback storage rate?
For Area, what are allocated area, actual-use method, standard rate, and overage rate?
For Location, what defines an occupied billable location?
Shipping, Receiving, and Return
Which services are charged per Unit and which per Carton?
Which item, category, case, order, customer, or shipment conditions change the rate?
Which charges always apply?
Which charges require staff confirmation and should be Suggested?
Which values depend on final freight or shipment information?
Are there Shipping, Receiving, or Return item-service minimums?
Work and billing exceptions
Which independent value-added services need Work Order charges?
Can any Flat Rate be edited, and what evidence is required?
Are there credits or negative rates?
Is there an Invoice Minimum, and who calculates and adds its Work Order adjustment?
Which taxes and Income Categories apply to each service?
What reconciliation and approval are required before Generate?
97. Convert an agreement into contract lines
For each commercial clause, write a plain-language rule first:
When [event/document] meets [all conditions], charge [flat/rate/percentage] against [basis], using [tax and income category], and [apply automatically/suggest for approval/make available manually].
Then map it to one contract line. If the clause contains an OR, separate it into independent lines. If every operational item must have a service charge, add the necessary fallback.
Example rule:
When a Shipping order uses a parcel carrier and is marked Rush, charge 6% of final Freight automatically and recalculate at shipment.
Suggested setup:
Document Type: Shipping
Type: Custom
Charge Type: Percentage
Against: Freight
Charge Value: 6
Conditions: Carrier Type Equals Parcel AND Order Priority Equals Rush
Recalculate on Shipping: Yes
Always Apply: No, because conditions decide applicability
98. Choose automatic, suggested, or manual
Must the fee apply to every operation of this type?
Always Apply
Continue
Can reliable recorded values fully decide whether it applies?
Conditions
Continue
Must a person confirm that work occurred?
Show in Suggested
Continue
Is the work independent of an order or requested separately?
Work Order
Manual Add Charge on the operational entry
Do not combine Always Apply and Suggested. Do not use a condition when the required value is not reliably captured.
99. Choose Unit or Carton
Use Unit when labor or storage varies by each sellable or inventory unit. Use Carton when the commercial effort is driven by cases, cartons, or license-plate groups.
Ask:
Are partial cases common?
Is a sealed case handled once while each-picked units require extra labor?
Are carton identifiers consistently recorded?
Does the item have a correct case quantity?
Should mixed or single-SKU cartons have different pricing?
If both methods occur, use mutually exclusive conditions such as Sealed Case or Carton Break Rule.
100. Choose a storage model
Customer reserves a dedicated footprint and pays overage above it
Area
Customer pays for actual pieces or cartons on hand
Unit
Customer pays for each bin, pallet position, or warehouse location occupied
Location
Customer pays more as inventory ages
Unit with Received In (Days) tiers
If the agreement combines two storage ideas, confirm whether it truly requires two billable components. The contract selects one primary storage method; additional legitimate fixed services may need a carefully controlled Work Order rather than an unsupported hybrid snapshot.
Part 16 — Complete Contract Examples
101. Example A: straightforward fulfillment account
Business terms
Monthly billing in USD
Storage by Unit on the Last Day
Shipping $0.22 per Unit
Receiving $0.16 per Unit
Return $0.40 per Unit
$4.50 order-processing fee on every shipment
Shipping item-service minimum $12
Contract structure
Storage Item Service
STO-UNIT
Storage, Unit, $0.05, no condition
Item Service
SHP-UNIT
Handling, Unit, $0.22, no condition
Item Service
REC-UNIT
Receiving, Unit, $0.16, no condition
Item Service
RET-UNIT
Return, Unit, $0.40, no condition
Miscellaneous
SHP-ORDER
Shipping, Custom, Flat Rate $4.50, Always Apply
Miscellaneous
MIN-SHP
Shipping, Minimum
Minimum
Shipping
$12.00
The minimum compares with SHP-UNIT only. SHP-ORDER remains additional.
102. Example B: carton handling with exception work
Business terms
Ship sealed cartons at $1.10 per carton.
Ship broken-case units at $0.20 per unit.
Suggest an $8 relabel fee when staff confirms it.
Bill special kitting independently at the quoted Flat Rate.
Contract structure
Item Service
SHP-SEALED
Handling, Carton, Sealed Case Equals Yes, $1.10
Item Service
SHP-EACH
Handling, Unit, Sealed Case Equals No, $0.20
Miscellaneous
SHP-RELABEL
Shipping, Flat Rate $8, Show in Suggested
Miscellaneous
WO-KIT
Work Order, Custom, Flat Rate, Show in Work Order, Allow Charge Editing when approved
Test both a fully sealed shipment and a broken-case shipment. Ensure each detail matches exactly one service rule.
103. Example C: freight-based Shipping surcharges
Business terms
4% fuel surcharge on final Freight.
2% cross-border administration fee on Freight Including Tax for non-domestic destinations.
$25 Rush fee when Order Priority is Rush.
Contract structure
SHP-FUEL
Percentage 4%
Freight
None or contracted carrier conditions
Yes
SHP-XBORDER
Percentage 2%
Freight Including Tax
Ship To Country Does Not Equal domestic country
Yes
SHP-RUSH
Flat Rate $25
Not applicable
Order Priority Equals Rush
As needed
Decide whether freight tax should come from the shipment for each line and select Use Freight Tax accordingly.
104. Example D: receiving by category with a minimum
Business terms
Frozen cartons: $0.85 each.
Other cartons: $0.55 each.
Minimum receiving item-service charge: $40 per receiving activity.
Pallet breakdown fee: $6 per applicable pallet, based on reliably captured pallet information.
Contract structure
Item Service
REC-FROZ
Receiving, Carton, Category Equals Frozen, $0.85
Item Service
REC-GEN
Receiving, Carton, no condition, $0.55
Miscellaneous
REC-PALLET
Receiving, quantity-based rate using the available pallet basis and applicable condition
Miscellaneous
MIN-REC
Receiving, Minimum
Minimum
Receiving
$40.00
If the frozen and fallback lines can both match, the higher conditional rate wins; the unconditional line protects all other items.
105. Example E: inventory age storage
Business terms
First 30 days: $0.08 per Unit.
Days 31–60: $0.12 per Unit.
Over 60 days: $0.20 per Unit.
Storage measured at month end.
Contract structure
STO-030
Storage
Received In (Days) Less Than or Equal 30
Unit
$0.08
STO-060
Storage
Received In (Days) Less Than or Equal 60
Unit
$0.12
STO-061
Storage
Received In (Days) Greater Than 60
Unit
$0.20
Use a controlled sample with inventory received on several dates. Reconcile the bracket quantities in Storage Inventory Snapshot before billing.
106. Example F: dedicated area with overage
Business terms
10,000 sq ft committed at $1.00 per sq ft.
Overage at $1.50 per sq ft.
Actual use entered each period.
Contract structure
Storage Type: Area
Allocated Area: 10,000
Charge / Sq Ft: $1.00
Area Used This Period: update for the period
Overage / Sq Ft: $1.50
One Work Order line: Area Based Storage
At 11,200 sq ft used, the amount is $10,000 + $1,800 = $11,800.
107. Example G: occupied-location storage
Business terms
$14 per occupied location at the scheduled snapshot.
Only account-owned eligible inventory should count.
Contract structure
Storage Type: Location
One Work Order line: Location Based Storage
Charge Value: $14
Correct account, store, quality, and item ownership
At 65 occupied eligible locations, storage is $910.
108. Example H: invoice minimum with service credit
Business terms
Monthly invoice minimum: $3,000.
Approved monthly service-level credit: -$150.
Other eligible charges total $2,700 before the credit.
Review
If the agreement defines the minimum after credits, reviewed charges are $2,700 - $150 = $2,550, requiring a $450 Invoice Minimum Work Order. If it defines the minimum before credits, the adjustment may instead be $300 and the invoice total $2,850 after credit.
The contract setup alone cannot decide this commercial interpretation. Record the agreed sequence, create the correct Invoice Minimum Work Order, add the negative service-credit Work Order or charge, and obtain approval before Generate.
Part 17 — Troubleshooting
109. Contract cannot be saved
Check for:
Missing Account, Effective Date, Currency, Terms, or required contact information
Overlapping active contract dates
No active Item Service or Miscellaneous line
Duplicate Code across active charge lines
Positive minimum without a matching Minimum line
More than one Minimum for the same Document Type
Missing required Area or Location storage Work Order line
More than one Area Based Storage or Location Based Storage line
A Storage Item Service line used with Location-based storage
Invalid Received In (Days) value or overlapping age thresholds
Missing Description, UOM, Charge, Income Category, or Tax where required
Mutually incompatible Always Apply, Suggested, condition, edit, freight, or Work Order choices
110. Account is not available
Check that:
3PL mode is enabled.
The 3PL Account is Active.
The billing customer is the correct 3PL customer type.
The operational customer or vendor is linked to the account.
Store, Brand, Quality, and user access include the account.
The account is not hidden by the current centre filter.
111. Charge Entry was not created
Check that:
The operational document belongs to a valid 3PL Account.
An active contract covers the relevant date.
Ready to Ship or the applicable Close ASN event occurred.
The source status permits charge creation.
Every item has a matching service line or fallback.
Conditional values match exact operational values.
Quantities, cartons, categories, and account ownership are valid.
112. Charge exists but is not in invoice preview
Check that:
The final Packing Slip, Item Receipt, or Credit Memo is complete.
The charge is marked eligible by the completed workflow.
Date falls within Start Date and End Date.
The charge belongs to the selected Account.
It is not still Suggested and unapplied.
It is not already invoiced.
It was not removed, invalidated, or left in a pending operational state.
A Work Order was saved and dated in range.
113. Unexpected item-service rate
Check:
Service Type and UOM
Category and case characteristics
All conditions on the line
Whether another conditional line also matched
Higher-rate priority among matching conditional lines
The unconditional fallback
Contract version and applicable date
Source item and quantity information
114. Unexpected carton quantity
Check:
Item case or carton quantity
Packed, received, or returned carton identifiers
Sealed versus broken-case status
Mixed Case and Single Sku Case values
Whether the contract should use Unit instead
115. Freight-based charge is zero or wrong
Check:
Freight exists on the final shipment.
Against is Freight or Freight Including Tax as intended.
Charge Type is Percentage for a percentage-of-freight agreement.
Recalculate on Shipping is selected.
Use Freight Tax matches the agreement.
The final shipment recalculation occurred.
Carrier and shipping-account conditions match.
116. Minimum is wrong
Remember:
Operational minimums compare against the matching Item Service subtotal only.
Miscellaneous charges do not reduce the minimum difference.
The corresponding Minimum line must exist.
Minimum offsets are calculated, not manually edited.
Negative charge entries do not receive the normal minimum adjustment.
Invoice Minimum requires a reviewed Work Order adjustment.
117. Storage is missing
Check:
Include Storage was selected.
An active contract exists at End Date.
Storage Type is Area, Unit, or Location.
The required Storage Item Service or storage Work Order line exists.
The account's storage date and selected invoice range align.
A required Unit or Location snapshot exists and has eligible inventory.
Items belong to the account and have allowed Store, Quality, Category, and UOM setup.
A storage Work Order for the same range does not already exist.
118. Storage amount is unexpected
For Area, verify allocation, actual use, normal rate, and overage rate.
For Unit, verify:
Snapshot date
On-hand quantity
Item ownership, Category, and Quality
Unit versus Carton
Received In (Days) brackets
Conditional-line priority and fallback
For Location, verify:
Which locations had eligible on-hand inventory
Whether inventory ownership and Quality were correct
Rate per occupied location
Snapshot and period selected
119. Invoice says storage already exists
A generated Storage Work Order already covers the selected account and range. Find its related invoice or Charge Entry. If it belongs to a valid invoice, do not regenerate it. If the invoice must be corrected, use the permitted void process, review restored charges and snapshots, and then run Preview again.
120. Invoice has fewer lines than Charge Entry
Invoice lines are summarized by Code, Tax, Income Category, and Document Type. Multiple charge-entry details can legitimately appear as one invoice line with Qty 1 and a Unit Price equal to their summed amount.
Use Charge Entry Detail view for operational detail and 3PL Invoice Logs for billing-run history.
121. Recalculate is unavailable or does nothing
Check whether the entry is:
Already invoiced
A Work Order
A generated Storage Work Order
Outside the selected account or date range
Not in an eligible operational status
Use the appropriate Work Order edit, invoice void, storage, or operational correction workflow instead.
122. Cannot change customer or vendor account
The relationship is protected by open activity:
Complete or resolve unshipped Sales Orders before changing the related customer account.
Complete or resolve open Purchase Orders before changing the related vendor account.
Do not move open operations between accounts merely to make the dropdown available; correct ownership with an approved transition plan.
Part 18 — Controls, Audit, and Quality Assurance
123. Recommended controls
Use unique, readable charge codes.
Keep descriptions suitable for customer invoices.
Version contracts with Effective Dates rather than overwriting history.
Separate duties for contract maintenance and invoice approval where practical.
Require evidence for editable, manual, negative, and invoice-minimum charges.
Preview every billing run.
Reconcile invoice totals to Charge Entry details and Storage Snapshots.
Review earlier uninvoiced charges.
Protect Account Tokens.
Export and retain billing support according to company policy.
The contract and charge pages label the financial selection G/L Category. In this guide, references to the charge's income category mean that same user-selected G/L Category.
124. Contract acceptance test
Before using a new or revised contract, test at least:
One standard Shipping order.
Every Shipping exception condition.
One standard Receiving activity.
Every Receiving exception condition.
One Return activity.
A Suggested Charge applied and left unapplied.
An editable manual charge where permitted.
Each operational minimum below and above its threshold.
Every Work Order charge.
Storage with representative Account, Store, Quality, Category, item, and age data.
Final freight recalculation.
Preview, Generate, log review, and a controlled void test where policy allows.
Expected results should state charge code, quantity, rate, amount, tax, eligibility point, invoice grouping, and source-to-final-document link.
125. Monthly billing reconciliation
Reconcile these layers:
Operations
Were all intended shipments, receipts, and returns completed?
Charge Entry
Were all automatic and manual charges created, and were Suggested Charges resolved?
Minimums
Were operation minimums calculated and the Invoice Minimum reviewed?
Storage
Was the intended snapshot or area basis used exactly once?
Eligibility
Are completed charges eligible and incomplete charges excluded?
Invoice Preview
Do grouped totals, tax, terms, currency, credits, and period agree to expectations?
Generated Invoice
Are charges linked once and recorded in 3PL Invoice Logs?
126. Contract-change checklist
Record the commercial change and approval.
Choose the new Effective Date.
Duplicate the prior contract if useful.
Recheck account, address, currency, Terms, and Payable To.
Update only intended rates, conditions, minimums, and storage choices.
Confirm charge-code continuity or intentional code change.
Test open activity around the date boundary.
Decide whether any uninvoiced entries need Recalculate or Delete & Create.
Do not alter already invoiced history through charge recalculation.
Preview the first invoice under the new version.
Part 19 — Guidance for AI Assistants
127. How to answer a 3PL contract question
An AI assistant should:
Identify the Account, operational document, date, and desired business outcome.
Ask for missing commercial facts that materially change the configuration.
Explain the recommendation using visible XoroERP labels.
Separate Item Service, Miscellaneous, Minimum, Storage, and Work Order lines.
State the trigger, eligibility point, calculation, conditions, tax, and Income Category for every proposed charge.
Identify whether the charge is Always Apply, Suggested, conditional, or manual.
Include a fallback service rule when needed.
Warn about contract dates, invoice state, storage duplication, or recalculation consequences.
Provide a test example with expected quantity and amount.
Never invent a rate, tax rule, Income Category, or commercial interpretation. Mark illustrative values clearly.
128. Recommended answer format for a proposed charge
Use this structure:
Business rule
Plain-language statement of when and why the fee applies
Contract section
Storage, Item Service, Miscellaneous, Minimum, or Work Order
Document Type
Shipping, Receiving, Return, Work Order, or Storage
Type
Visible charge Type
Code
Proposed unique code
Description
Customer-readable description
UOM
Unit, Carton, or appropriate descriptive UOM
Charge Type
Flat Rate, Percentage, or Dollar Value of Document
Against
Units, Cartons, Lines, Orders, Handling, Freight, or other supported basis
Conditions
Every required condition, explicitly joined by AND
Behavior
Always Apply, Suggested, conditional, or manual
Final recalculation
Whether final shipment recalculation is required
Edit permission
Whether the Flat Rate can be changed and why
Tax and Income Category
Values that the user must confirm
Trigger
Ready to Ship, Close ASN, Work Order save, or invoice storage generation
Invoice eligibility
Packing Slip, Item Receipt, Credit Memo, saved Work Order, or generated storage Work Order
Test
Example source values and expected calculation
129. Questions the AI must not guess
Which customer is the legal bill-to party
Which operational customers or vendors belong to the Account
Effective Date when another contract exists
Currency, payment Terms, Income Category, or Tax
Whether a price is per Unit, Carton, document, location, square foot, or percentage
Whether minimums apply before or after credits
Whether storage is based on Area, Unit, Location, or inventory age
Which operational value reliably proves a condition
Whether a fee is automatic, suggested, or manual
Whether existing uninvoiced charges should be recalculated
Whether a generated invoice should be voided
130. Safety rules for AI-assisted maintenance
Present proposed changes for user approval before changing a contract.
Prefer a new effective-dated contract for commercial changes.
Explain which uninvoiced charges would be affected by recalculation.
Never recommend ordinary charge edits for already invoiced activity.
Never reveal Account Tokens or private connection credentials.
Never use one account's example as evidence of another account's agreed rate.
Treat every example value in this guide as illustrative.
Require Preview and reconciliation before Generate.
Part 20 — Quick Reference
131. Charge behavior matrix
Item Service
Contract evaluation
No, unless source correction is needed
Final operational document
Yes, while uninvoiced
Always Apply Miscellaneous
Contract evaluation
No
Final operational document
Yes, while uninvoiced
Conditional Miscellaneous
Contract evaluation
No, if source values are complete
Final operational document
Yes, while uninvoiced
Suggested
Contract evaluation
Apply and save
After application and final workflow state
Re-evaluated while uninvoiced
Manual Miscellaneous
User
Add and save
Final workflow state or saved Work Order
Preserved where applicable
Operational Minimum
Contract calculation
No
With related final operational charge
Yes, while uninvoiced
Invoice Minimum
Billing reviewer
Calculate, add Work Order, and save
Saved Work Order
No ordinary operational recalculation
Area/Location Storage
Invoice storage process
Select Include Storage
Generated Storage Work Order
No ordinary operational recalculation
Unit Storage
Snapshot plus invoice storage process
Confirm snapshot and Include Storage
Generated Storage Work Order
No ordinary operational recalculation
132. Source-to-invoice trace
Shipping
Sales Order → Ready to Ship Charge Entry → Packing Slip → 3PL Invoice
Receiving
Purchase Order → Close ASN Charge Entry → Item Receipt → 3PL Invoice
Return
RMA → Close ASN Charge Entry → Credit Memo → 3PL Invoice
Independent service
Work Order Charge Entry → 3PL Invoice
Storage
Account schedule → Storage Snapshot or Area calculation → Storage Work Order → 3PL Invoice
133. Final go-live checklist
134. Key principles
The 3PL Account is the billing owner; operational customers and vendors point to it.
A Contract is a dated rulebook. Avoid overlapping periods and preserve history with new versions.
Operations create charges, but final operational documents normally make them invoice-eligible.
All conditions on one line use AND logic.
Item Service minimums exclude Miscellaneous Charges.
Suggested Charges do not bill until applied.
Area, Unit, and Location storage require different supporting setup.
Invoice lines summarize operational detail; Charge Entry retains the calculation detail.
Recalculate and Delete & Create affect eligible uninvoiced operational charges, not invoiced, Work Order, or storage history.
Preview, reconcile, then Generate.
Was this helpful?