How charges are generated
Overview
In Cargoflow nobody enters operational charges by hand. Every time something billable happens —a receipt is confirmed, a shipment leaves the warehouse, a special job is completed, someone records an accessorial— the system creates a charge at the right rate and puts it in the Services to Invoice pool (menu Commercial › Billing). Invoices come from there.
Each charge stores the quantity, unit, rate, amount, currency, client, date and the document it came from. The amount is a snapshot of the moment it was created: if you change the rate later, the charge does not move. So when the client asks “where did this charge come from?”, the answer is one click away.
To follow each origin all the way to the invoice, read Where each charge comes from.
Before you start
- Billing module enabled in the warehouse. Without it no charge is ever created: operations continue the same, but nothing is billed. Storage also needs the Inventory module; accessorials, the Accessorials module.
- Service catalog with base prices (Admin › Configuration › Services). See Service catalog.
- The client’s rate card with what they contracted (Pricing tab of their record). See Rate card and prices.
- Products with their packaging (pieces per carton and per pallet) and their weight, if you bill per pallet, carton or weight. See Products and units.
- Permissions to see the pool: View Billing (Super Admin, Admin and Accounting by default). Charges are created on their own: nobody needs a permission to generate them.
When each charge is created
| What happens in operations | Which charge is created | Condition |
|---|---|---|
| A receipt is confirmed | Receiving handling, plus the client’s services set to bill at receipt | Receiving handling must be on the client’s rate card. If the receipt is the inbound leg of a cross-dock, no handling is billed. |
| A shipment is marked shipped | Shipping handling (or cross-dock handling), storage of what left (if the client bills storage at shipment), services set to bill at shipment and the accessorials waiting for the departure | Handling requires being on the client’s rate card. On a shipment with goods from several clients, each client pays their own. |
| A special job is completed | One charge per service line of the job | If the job is completed again, the price is updated without duplicating. |
| An accessorial is captured | The extra service’s charge | If it belongs to a shipment that hasn’t left, it waits for it (see below). |
| Every night (2:00) | That day’s storage, only for clients on daily accrual | A day is never billed twice even if the process runs again. |
| Someone adds a charge on an invoice | A manually entered line | It doesn’t go through the pool: it goes straight onto that invoice. |
Handling details are in Handling charges; services billed at receipt or shipment, in Services charged automatically; accessorials, in Accessorials and extra charges.
Handling is only billed if contracted
The warehouse service catalog does not bill handling on its own. For a receipt or shipment to generate its handling charge, the client must have that service on the Pricing tab of their record (even without their own rate: a row with the auto-charge option chosen is enough to bill at the base price). Without that row, the receipt is confirmed normally and handling is simply not billed.
Services billed automatically at receipt or shipment follow the same rule: only for clients who have them on their rate card.
Storage and accessorials work the other way: if the client has no rate of their own, they are billed at the catalog base price.
Storage, in short
There are two ways to bill storage, and a client uses one or the other, never both:
- At shipment (the normal way): when the shipment leaves, you bill the calendar days each pallet stayed, from its actual arrival to the actual ship-out date, minus the free days.
- Daily accrual: every night the client’s pallets that have used up their free days are billed.
The mode is chosen per client on their rate card or, if the client says nothing, by the catalog. Pieces are converted to pallets using each product’s packaging; if a product has no pallet level, each piece counts as a pallet. Full detail, with examples: Storage in detail.
Where the price comes from
- The client’s own rate — if their Pricing tab has a rate for that service in effect on the charge date, it wins. If two are in effect, the one with the latest start wins.
- Catalog base price — if the client’s row has no amount (or 0), the service’s base price is used. Same for the minimum, maximum and free days the client left empty.
- No price anywhere — the charge is recorded without a rate (the pool marks it “No rate”) and you set it on the invoice.
The charge’s currency follows the same path: the client rate’s or, if there is none, the catalog service’s. See Currencies.
What date each charge carries
The date decides which invoice and which month the charge lands in, so it matters:
- Receiving handling and at-receipt services — the receipt’s Actual arrival date (it can be backdated when confirming).
- Shipping handling, storage at shipment and at-shipment services — the Actual ship-out date entered when closing the shipment.
- Accessorials — the moment they were captured.
- Special jobs — the moment the job was completed.
- Daily storage — the day being billed.
Minimums and maximums
If a service’s total on an invoice falls below the minimum charge, the system adds a visible line “Minimum charge — service” for the difference. If it goes over the maximum, it adds a negative line “Maximum charge cap — service”. The client sees exactly how the total was reached.
The Services to Invoice pool already shows the adjusted amount, with the Minimum or Cap mark, so what you review before the cutoff is what will be billed.
Example: handling by weight at 0.05 per pound, minimum 15.00 and maximum 150.00. A 200-pound receipt gives 10.00 and the invoice adds 5.00 of minimum charge; a 4,000-pound one gives 200.00 and the invoice subtracts a 50.00 cap.
Charges that wait for the shipment to ship
An accessorial captured while a shipment is being loaded does not appear yet in Services to Invoice. It waits and enters the pool when the shipment is marked as shipped, so it travels on the same invoice as its handling. If several shipments go on the same truck, the truck’s charges wait for the last one.
If the shipment is cancelled, its accessorials are never billed: the capture is kept as a record but creates no charge, and the system tells you how many were left out.
What happens to the charge next
- Services to Invoice pool — the charge appears as Pending, linked to the document it came from. See Generate invoices.
- Invoice — the Generate invoices button or the 2:30 process groups it into an invoice according to the client’s payment terms. See The overnight billing processes.
- Settled shipment — when shipping handling is invoiced, the shipment is marked settled on the releases report.
- Reports — the Daily Transactions Report and the Invoice Report (Reports, Read Billing Reports permission) read the invoices. See WMS reports.
- KPIs — “Storage revenue” adds up storage charges; “Total revenue” and “Outstanding AR”, the invoices. See Reading the KPI panel.
- The client doesn’t see charges in their portal: they see their operations, not collections. They receive the invoice by email when someone sends it.
Corrections and cancellations in operations
- Editing a confirmed receipt recalculates its handling charge while it is not invoiced.
- Changing the client of a confirmed receipt moves the pending charge to the new client. If it is already invoiced, the system blocks it: “This receipt is already billed; the client cannot be changed. Handle it as a billing adjustment.”
- Cancelling a receipt deletes its uninvoiced charges. If any is invoiced: “This receipt already has invoiced charges. Cancel or remove the invoice first.”
- Cancelling a shipment before shipping leaves its waiting accessorials out. A shipment already shipped cannot be reverted.
- Deleting an accessorial removes its pending charge; if it was already invoiced, remove the line on the invoice.
The new billing version
Some warehouses run a new version of the billing engine (enabled per warehouse; ask support). Pricing rules are the same, with three noticeable differences:
- The client’s Pricing tab becomes the Rate card, shows only what is contracted, and each line says When is it charged?, with a Do not charge (excluded) option for any service.
- An accessorial or special-job service with no price anywhere stays “No rate” and goes on no invoice until resolved. To resolve it, price the service (in the catalog or on the client’s rate card) and save the accessorial capture again (or complete the job again): the charge takes the price and leaves the queue.
- Services to Invoice shows the invoices already assembled by group, each with its Pass to invoice button.
View a charge’s detail
In the Services to Invoice list, the arrow at the end of each row opens the Charge detail: the summary (quantity, rate, amount, date it occurred and date it was invoiced), the source document with the Open document button, the applied pricing rule (amount, minimum, validity) with the Manage client pricing link, and a technical detail with everything the system stored when creating the charge. For storage it also shows the period.
The screen warns that the amount is a snapshot of when the charge was created, and if the rule that generated it no longer exists, it says so.
Example: one client’s week
Southern Logistics has receiving and shipping handling at 15.00 per pallet on their rate card, storage at shipment at 0.75 per pallet per day with 3 free days, and shrink wrap at 5.00 per pallet (base price).
- Monday 1 — an 8-pallet receipt is confirmed: a 120.00 receiving handling charge dated Monday.
- Wednesday 3 — shrink wrap on 2 pallets is captured while loading a shipment: it waits.
- Thursday 4 — the 5-pallet shipment is closed with Thursday as the actual ship-out date: shipping handling (75.00) is created, storage (5 pallets × 3 days − 3 free = 0 days: no charge), and the shrink wrap (10.00) enters.
- Friday night — the 2:30 process builds two invoices: the receipt’s (120.00) and the shipment’s (85.00).
Best practices
- When setting up a client, check their Pricing tab before their first receipt: without handling on the rate card it is not billed.
- Enter the negotiated free days before the first arrival.
- Mark shipments as shipped with the actual ship-out date: storage is calculated with it.
- Make sure products have their pallet packaging and catalog weight if the client is billed per pallet or weight.
- Link every accessorial to a priced service.
- Review Services to Invoice before each cutoff: fixing things there is cheaper than on an issued invoice.
Troubleshooting
A receipt was confirmed and no handling charge appeared.
- The client doesn’t have receiving handling on their rate card. Add it on their Pricing tab. Earlier receipts are not re-billed on their own: add the charge by hand on the invoice (or edit the receipt so it is recalculated).
- If the receipt is a cross-dock’s inbound leg, that is correct: handling is billed when the outbound closes.
- The warehouse doesn’t have the Billing module.
I captured an accessorial and it doesn’t show in Services to Invoice.
- It belongs to a shipment not yet marked as shipped. It will show when it ships.
- If the shipment was cancelled, it is not billed.
Storage came out huge.
- Some product has no pallet level and every piece counted as a pallet. See Storage in detail.
The amount is not quantity × rate.
- A minimum or maximum was applied. Look for the Minimum or Cap mark on the row and the adjustment line on the invoice.
A charge says “No rate”.
- Neither the client nor the catalog has a price for that service. Price it in the catalog and fix the line on the invoice.
The charge used the catalog price instead of the negotiated one.
- The client’s row is empty, at 0, or its validity doesn’t cover the charge date.
FAQ
If I change a rate, are existing charges recalculated?
No. Each charge keeps the price of the moment it was created. The new rate applies to charges created afterwards. If a pending charge kept the old price, fix it on the invoice.
How do I stop billing storage to a client?
On their Pricing tab, on the storage row, pick the do not charge storage option in the Auto charge column and save (in the new version, Do not charge (excluded)). Deleting the row doesn’t work: without a row, storage is billed at the catalog base price.
Does a cross-dock bill handling twice?
No. A cross-dock’s inbound receipt bills no handling; the move is billed once when the outbound shipment closes, with the cross-dock handling rate if the client has it or, otherwise, the shipping handling rate. See How a cross-dock is done.
Can I set a 0 rate to not bill?
No. A 0 rate is read as “use the catalog base price”. To not bill storage use the do-not-charge option; to not bill handling, don’t have it on the client’s rate card.
What if the warehouse doesn’t have the Billing module?
Operations work the same, but no charge is created. If it is enabled later, earlier receipts and shipments are not billed retroactively.
Need help?
If something did not work as expected, our support team can help you.
Was this article helpful?