> For the complete documentation index, see [llms.txt](https://docs.xorosoft.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.xorosoft.com/other-products/xoro3pl/3pl-guide.md).

# 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

| Stage                          | What happens                                                                                                                                           | Result                                                                   |
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
| 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

| User area                                                                               | Covered in               |
| --------------------------------------------------------------------------------------- | ------------------------ |
| 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

| Term                 | End-user meaning                                                                                                                                        |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 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:

| Role                             | Typical responsibility                                                                                |
| -------------------------------- | ----------------------------------------------------------------------------------------------------- |
| 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

1. Create the 3PL Account.
2. 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.
3. For each operational customer, set **3PL Customer Type** to **3PL Account Customer** and choose the owning **3PL Account**.
4. Build the contract for the 3PL Account.
5. 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

| Setting     | Meaning and use                                                                                                |
| ----------- | -------------------------------------------------------------------------------------------------------------- |
| 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

| Setting                                       | Meaning and use                                                                                                       |
| --------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| 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:

| Choice          | Intended billing point                 |
| --------------- | -------------------------------------- |
| 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.

| Customer type        | When to use it                                                            | Required relationship                                             |
| -------------------- | ------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| 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:

1. Complete or cancel open operational documents.
2. Review uninvoiced eligible charges.
3. Generate or intentionally defer the final invoice.
4. Resolve outstanding storage billing.
5. Confirm portal and connected-system access should end.
6. 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

| Setting                     | Meaning and guidance                                                                                                 |
| --------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| 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:

1. **Storage** — the storage method and its rates.
2. **Item Service Charges** — per-Unit or per-Carton charges for Shipping, Receiving, Return, or Storage.
3. **Miscellaneous Charges** — flat, quantity-based, percentage-based, suggested, conditional, predefined, work-order, storage-support, and minimum lines.
4. **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 unit
* `SHP-CARTON` — shipping per carton
* `REC-PALLET` — receiving pallet-related charge
* `RET-UNIT` — return per unit
* `STO-UNIT-30` — storage age tier
* `WO-LABEL` — label application work order
* `MIN-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:

1. Export or record the current configuration if it must be retained.
2. Confirm no uninvoiced storage calculation depends on the old setup.
3. Create a new effective-dated contract when the change is commercial rather than corrective.
4. Review and rebuild the required supporting lines.
5. Preview the next invoice before generation.

## Part 3 — Storage Billing

### 16. Choose the storage method

The available active storage methods are:

| Storage method | Best fit                                                               | Billing basis                        | Required supporting charge                                       |
| -------------- | ---------------------------------------------------------------------- | ------------------------------------ | ---------------------------------------------------------------- |
| 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

| Setting               | Meaning                                                                                            |
| --------------------- | -------------------------------------------------------------------------------------------------- |
| 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

| Setting         | Meaning                                                |
| --------------- | ------------------------------------------------------ |
| 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

| Code      | Condition               | UOM    |  Rate |
| --------- | ----------------------- | ------ | ----: |
| 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:

| Code      | Age condition                            | Rate per Unit | Purpose                     |
| --------- | ---------------------------------------- | ------------: | --------------------------- |
| 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:

1. Identifies eligible on-hand inventory for the account.
2. Uses the active contract for the applicable snapshot date.
3. Applies account, item, category, quality, UOM, and age rules.
4. Selects the applicable Storage Item Service Charge.
5. Records quantity, rate, and total.

For Location storage, the system:

1. Identifies locations with eligible account inventory.
2. Counts occupied locations.
3. Applies the Location Based Storage rate.
4. 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.

| Type shown to users | Operational purpose       | Typical trigger                                  |
| ------------------- | ------------------------- | ------------------------------------------------ |
| 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

| Setting         | Required behavior                                                       |
| --------------- | ----------------------------------------------------------------------- |
| 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:

1. Create the most specific conditional rules.
2. Make their conditions mutually exclusive.
3. Add an unconditional fallback for each required Type and UOM strategy.
4. Test an item from every category and exception group.

### 28. Item-service examples

#### Shipping: cartons plus units for broken cases

| Code     | Type     | Condition              | UOM    |  Rate |
| -------- | -------- | ---------------------- | ------ | ----: |
| 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

| Code     | Type      | Condition              | UOM    |  Rate |
| -------- | --------- | ---------------------- | ------ | ----: |
| 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

| Code     | Type   | Condition | UOM  |  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

| Setting                   | Meaning                                                                                                                       |
| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| 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

| Type                   | Purpose                                                                                       |
| ---------------------- | --------------------------------------------------------------------------------------------- |
| 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:

| Against               | Meaning                                                |
| --------------------- | ------------------------------------------------------ |
| 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:

| Behavior          | Outcome                                                                                     |
| ----------------- | ------------------------------------------------------------------------------------------- |
| 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:

| Condition subject       | Typical use                                                                      |
| ----------------------- | -------------------------------------------------------------------------------- |
| 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:

| Charge type | Initial operational source | Final document                 | Normal charge-creation point                             |
| ----------- | -------------------------- | ------------------------------ | -------------------------------------------------------- |
| 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:

1. Handling Item Service Charges are calculated from packed or picked detail.
2. Always Apply miscellaneous charges are created.
3. Conditional charges are created when all conditions match.
4. Suggested charges are offered for review.
5. The Shipping minimum is calculated from the Handling Item Service subtotal.
6. 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:

1. Complete or identify open activity before changing contract versions.
2. Create the new contract with a non-overlapping Effective Date.
3. Review uninvoiced entries that crossed the date boundary.
4. Use Preview and, where justified, Recalculate or Delete & Create.
5. 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.

| Setting                     | Meaning                                                                                             |
| --------------------------- | --------------------------------------------------------------------------------------------------- |
| 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.

1. Choose the charge Code or Description.
2. Review **Charge Type**, **Charge Code**, **Description**, **G/L Category**, **Tax Code**, **Unit Amount**, **Charge Against**, **Qty**, **Display UOM**, and **Charge**.
3. Change allowed values only when the line permits editing and the user has access.
4. Add a Memo or supporting reference for exceptions.
5. 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:

1. Select Doc Type **Work Order**.
2. Select Account and Brand as applicable.
3. Enter Order Ref #, Date, and Memo.
4. Save the header if tasks will be used.
5. Add available Work Order charges.
6. Enter allowed quantity or amount information.
7. Add and complete Tasks if operational tracking is required.
8. 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:

1. Removes the eligible uninvoiced non-storage operational charge entries in scope.
2. Re-evaluates the source operational documents.
3. Creates new contract-derived charge entries.
4. 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

| Situation                                                                     | Recommended 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

| Control         | Purpose                                                                                                                                         |
| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| 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:

1. The active contract at End Date is validated.
2. The applicable Area, Unit, or Location amount is calculated.
3. For Unit or Location, the applicable snapshot result is selected using the period's configured storage cutoff.
4. The results are grouped into one generated Storage Work Order for the range.
5. 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:

1. Creates the 3PL invoice.
2. Creates the summarized invoice lines.
3. Links every included charge line to the invoice.
4. Marks the included charges as no longer eligible for another invoice.
5. Creates the billing log record.
6. 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:

1. The invoice is voided through the permitted Invoice Centre action.
2. The generated Storage Work Order for that billing range is removed when applicable.
3. Charge lines are unlinked from the invoice.
4. Non-storage charges return to invoice-eligible status when still valid.
5. 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:

1. **Future work only:** create a new effective-dated contract. Do not recalculate prior entries.
2. **Uninvoiced entry with correct structure:** use Recalculate.
3. **Uninvoiced entry needing a clean rebuild:** use Delete & Create.
4. **Invoiced entry:** follow the invoice void or approved financial correction process first.
5. **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

1. Who is the billable 3PL Account, and which operational customers and vendors belong to it?
2. Which Store, Brand, Quality, and Currency apply?
3. What is the Effective Date, and is there an existing contract period?
4. What are the payment Terms, Payable To name, contact, and mailing address?
5. What is the billing frequency and invoice date convention?

#### Storage

6. Is storage priced by Area, Unit/Carton, or occupied Location?
7. What date or dates should storage be measured?
8. Which inventory qualities, categories, or locations qualify?
9. Are there age tiers based on Received In (Days)?
10. Is there a general fallback storage rate?
11. For Area, what are allocated area, actual-use method, standard rate, and overage rate?
12. For Location, what defines an occupied billable location?

#### Shipping, Receiving, and Return

13. Which services are charged per Unit and which per Carton?
14. Which item, category, case, order, customer, or shipment conditions change the rate?
15. Which charges always apply?
16. Which charges require staff confirmation and should be Suggested?
17. Which values depend on final freight or shipment information?
18. Are there Shipping, Receiving, or Return item-service minimums?

#### Work and billing exceptions

19. Which independent value-added services need Work Order charges?
20. Can any Flat Rate be edited, and what evidence is required?
21. Are there credits or negative rates?
22. Is there an Invoice Minimum, and who calculates and adds its Work Order adjustment?
23. Which taxes and Income Categories apply to each service?
24. 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

| Question                                                      | If yes            | If no                                      |
| ------------------------------------------------------------- | ----------------- | ------------------------------------------ |
| 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

| Commercial promise                                                          | Recommended method                 |
| --------------------------------------------------------------------------- | ---------------------------------- |
| 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

| Section              | Code      | Setup                                           |
| -------------------- | --------- | ----------------------------------------------- |
| 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

| Section       | Code        | Setup                                                                                 |
| ------------- | ----------- | ------------------------------------------------------------------------------------- |
| 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

| Code        | Charge Type   | Against               | Conditions                                      | Final recalculation |
| ----------- | ------------- | --------------------- | ----------------------------------------------- | ------------------- |
| 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

| Section       | Code       | Setup                                                                                    |
| ------------- | ---------- | ---------------------------------------------------------------------------------------- |
| 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

| Code    | Type    | Condition                                | UOM  |  Rate |
| ------- | ------- | ---------------------------------------- | ---- | ----: |
| 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:

1. One standard Shipping order.
2. Every Shipping exception condition.
3. One standard Receiving activity.
4. Every Receiving exception condition.
5. One Return activity.
6. A Suggested Charge applied and left unapplied.
7. An editable manual charge where permitted.
8. Each operational minimum below and above its threshold.
9. Every Work Order charge.
10. Storage with representative Account, Store, Quality, Category, item, and age data.
11. Final freight recalculation.
12. 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:

| Layer             | Control question                                                                    |
| ----------------- | ----------------------------------------------------------------------------------- |
| 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:

1. Identify the Account, operational document, date, and desired business outcome.
2. Ask for missing commercial facts that materially change the configuration.
3. Explain the recommendation using visible XoroERP labels.
4. Separate Item Service, Miscellaneous, Minimum, Storage, and Work Order lines.
5. State the trigger, eligibility point, calculation, conditions, tax, and Income Category for every proposed charge.
6. Identify whether the charge is Always Apply, Suggested, conditional, or manual.
7. Include a fallback service rule when needed.
8. Warn about contract dates, invoice state, storage duplication, or recalculation consequences.
9. Provide a test example with expected quantity and amount.
10. 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:

| Detail                  | Recommendation                                                                             |
| ----------------------- | ------------------------------------------------------------------------------------------ |
| 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

| Charge category            | Created by                            | Human action needed                    | Normal eligible point                      | Can ordinary Recalculate update it?   |
| -------------------------- | ------------------------------------- | -------------------------------------- | ------------------------------------------ | ------------------------------------- |
| 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

| Business activity   | 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

* [ ] 3PL mode and user access are enabled.
* [ ] Billing customer is a 3PL Account customer identity.
* [ ] Operational customers are set as 3PL Account Customer and linked correctly.
* [ ] Vendors use 3PL Account Vendor where applicable.
* [ ] Items, Store, Brand, Quality, Category, Unit, and Carton setup are verified.
* [ ] Account is Active and its Storage Charge Date Selection is correct.
* [ ] Contract dates are non-overlapping.
* [ ] Contact, mailing address, Currency, Terms, and Payable To are correct.
* [ ] Storage method and all required supporting lines are complete.
* [ ] Every operational item has a matching service rule or deliberate fallback.
* [ ] Miscellaneous calculations and conditions are tested.
* [ ] Suggested and editable behavior is intentional.
* [ ] Every positive operational minimum has one matching Minimum line.
* [ ] Invoice Minimum ownership and process are documented.
* [ ] Taxes and Income Categories are approved.
* [ ] Operational triggers and final eligibility were tested.
* [ ] Storage Snapshot results were reconciled.
* [ ] Recalculate and Delete & Create behavior was tested on uninvoiced samples.
* [ ] Invoice Preview reconciles to the expected amount.
* [ ] Invoice grouping and negative-charge behavior are understood.
* [ ] Invoice Logs and the permitted Void workflow were reviewed.
* [ ] Portal users and Account Tokens are secured.

### 134. Key principles

1. The 3PL Account is the billing owner; operational customers and vendors point to it.
2. A Contract is a dated rulebook. Avoid overlapping periods and preserve history with new versions.
3. Operations create charges, but final operational documents normally make them invoice-eligible.
4. All conditions on one line use AND logic.
5. Item Service minimums exclude Miscellaneous Charges.
6. Suggested Charges do not bill until applied.
7. Area, Unit, and Location storage require different supporting setup.
8. Invoice lines summarize operational detail; Charge Entry retains the calculation detail.
9. Recalculate and Delete & Create affect eligible uninvoiced operational charges, not invoiced, Work Order, or storage history.
10. Preview, reconcile, then Generate.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.xorosoft.com/other-products/xoro3pl/3pl-guide.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
