3PL billing: from rate card and WMS to an invoice that adds up
How a logistics service provider bills its clients, charge by charge, where the monthly invoice quietly drifts from the contract, and how a system prepares the invoice lines from the WMS for a person to approve.
3PL billing looks simple from the outside. You store goods, you pack orders and at the end of the month you send an invoice. From the inside it is a sum with dozens of rates per client, each with its own unit, and a WMS that counts things slightly differently from how the contract names them. I run my own transport company and know that month end from both sides: as the one who bills and as the one who checks someone else’s invoice.
How does billing work at a 3PL?
A 3PL bills per activity: every job in the warehouse has a unit and a price in the contract, and the invoice is the sum of what happened in the period, times the rate. Those agreements sit in the rate card, the rate schedule attached to the contract. The quantities come from the WMS: how many pallets were stored, how many orders left, how many order lines were picked.
Then there are charges the WMS does not see, or sees only in part. Think of transport you recharge, extra work on request and fixed monthly fees. Those are exactly the charges where the invoice most often drifts away from the work.
If you work under the Dutch Logistics Services Conditions (LSV) of FENEX and TLN, invoicing itself counts as one of the logistics activities (article 1). Payment follows the term you agree. If the contract says nothing, those conditions set it at fourteen days after the invoice date (article 12).
Which charges are on a 3PL rate card?
A 3PL rate card usually covers storage, inbound and outbound handling, order picking, value-added services, recharged transport and a minimum. The units differ per client, and that is where most of the arithmetic sits.
Storage: per pallet place, per m3, per week
Billing storage looks like the easy part, but the question is what you count and when. A rate per pallet place per week can be based on the stock on a fixed count day, on the average across the days or on the highest level that week. With a rate per m3 the WMS needs the right dimensions for every item or pallet. For shelf storage a fulfilment provider often charges per location or per bin.
If the counting method is not in the contract, someone in the office picks one. That is not necessarily the method your client had in mind when they signed. And once the season peaks, the gap grows.
Inbound and outbound: the handling fee
The handling fee is the price for unloading, checking and putting away goods, and for shipping them out on the other side. It is often set per pallet, per carton or per container, sometimes with its own rate for loose-loaded cargo. A container of loose cartons takes far more hours than a container of stacked pallets. With a single rate per container, you pay for that difference yourself.
Order picking per order and per order line
In e-commerce fulfilment picking is usually split: a fixed amount per order and an amount per order line or per item. An order with one line and an order with eight lines then each cost what they cost. The WMS knows exactly how many lines were picked, so this part rarely goes wrong. It goes wrong when an order is split, when a backorder ships later, or when a cancelled order was already half picked.
Value-added services
Billing value-added services covers the work next to the standard process: labelling, repacking, building kits, quality checks, grading returns. This is where most of the leakage happens, because the request often comes in by email or phone and the work has no code of its own in the WMS. How to find it is in unbilled work. For returns, where one parcel can carry several jobs, see automating returns processing.
Recharging transport
If you ship on behalf of your client, you recharge the freight, often with a mark-up or a fixed handling price per shipment. The carrier’s invoice arrives after your own month end, with surcharges you did not know in advance. Recharge on an expected price and you sometimes bill too little. Wait for the carrier and you bill a month late.
Minimums and fixed fees
Many contracts have a monthly minimum invoice, a minimum number of pallet places or a fixed fee for account management and system costs. Those charges sit on a line of their own and are forgotten surprisingly often, because they do not come from a transaction. A minimum per order belongs in this group too.
How do you adjust rates with indexation?
You adjust rates the way the indexation clause in the contract prescribes: which index, which base year and on which date. Statistics Netherlands (CBS) itself notes that many contracts between businesses base such adjustments on its price indices. In logistics you also see clauses on labour costs and fuel next to the consumer price index.
The arithmetic usually works. It goes wrong when the rate is applied. Then the new rate goes to the client in an email, but not into the file the office bills from. Or it does, but on a different date per client. A year later a client is still paying the old price, and nobody knows since when.
Where does 3PL billing go wrong?
3PL billing goes wrong between three sources that do not talk to each other: the contract, the WMS and the file the invoice is made from. These are the usual errors:
- Rates per client in a separate Excel file, with formulas someone built years ago that only that person still understands.
- Counting by hand. Someone runs a WMS report, pastes it into the sheet and adjusts whatever looks off. That correction leaves no trace.
- Contract changes that never reach the rate card. A new repacking rate, agreed in a meeting, sits in the minutes and nowhere else.
- Units that do not match. The contract charges per carton and the WMS counts items. The conversion lives in someone’s head.
- Recharges that lag behind, because the carrier invoice arrives after month end.
None of these errors is big on its own. They do stack up, per client and per month. And a client who cannot check an invoice will call about it.
What has to be on a 3PL invoice?
A 3PL invoice carries at least what the Dutch Tax Administration asks of every invoice, plus enough detail to check every line. According to the Tax Administration you state, among other things, which services you supplied and their extent, the date of supply, the amount excluding VAT, the VAT rate and the VAT amount.
For a client, a line saying ‘handling October’ with one amount cannot be checked. Put the quantity, the unit and the rate on the invoice for each charge. Attach a specification from the WMS as well: which orders, which receipts, which daily storage counts. Then the conversation is about the content, not about trust.
How does an AI system prepare the invoice lines?
An AI system reads the transactions from the WMS and the rates from the contract, works out the invoice lines per client and prepares them for a person to approve. The system never sends an invoice itself.
- The contract and the rate schedule become a table: per activity a unit, a price, a minimum and the date the rate takes effect. The language model helps with that reading, because every schedule is laid out differently. A person checks the table once, and again at every change.
- Every day the system pulls the transactions from the WMS: receipts, picks, shipments, stock levels, return bookings and movements.
- It links every transaction to a charge on the rate card. If a transaction fits nowhere, it goes on a list. That is often work without an agreement, or an agreement that never made it into the table.
- The language model also reads emails and free text about extra work on request, so those jobs get a line too.
- At the end of the period there is a draft invoice per client with the specification underneath. Whatever differs from last month is at the top.
The arithmetic itself is ordinary code, not a language model. A rate times a quantity has to come out the same every time. The model only reads what is messy, and when in doubt a person decides. The invoice itself stays in your ERP or accounting package. How such a layer between the systems works is in connecting WMS, TMS and ERP.
How long can you still bill a forgotten charge?
That depends on your contract and the conditions attached to it. Under the Logistics Services Conditions, all claims in connection with the agreement become time-barred after twelve months and lapse after eighteen months (article 11, paragraph 1). That period runs from the day a claim became due (paragraph 5). When exactly that is for a forgotten charge is for your lawyer to decide, not this article.
For the relationship the period matters little. An invoice that arrives a year late lands badly, even when it is still legally possible. What you find today belongs on this month’s invoice. That is why we advise looking forward only, as we explain in unbilled work.
Which monthly invoice do you recalculate first?
Take last month’s invoice for the client with the most rates, and work it out again from the WMS transactions and the rate card in the contract. Every difference is a charge you can explain or need to start tracking. How we use such a first measurement before we build anything is in how we work. We can go through that recalculation together in an introductory call.
Further reading
- Unbilled work: extra handling that never reaches an invoiceWork that was done but never billed does not show in your revenue, and nobody on the floor sees it either. This is how you match the work carried out against your invoices and rates every day, and what to do with the gap.
- Automating returns processing in fulfilment: from parcel to credit noteWhat you record around a return, from the parcel on the returns desk to the line on your invoice to the webshop, where the hours go and which part an AI system can take over.
- Connecting your WMS, TMS and ERP: one layer for EDI, API, files and emailEvery client and every carrier sends its data in its own way. One layer between your systems absorbs that, with only the access it needs.
Does this sound familiar?
In a 45 minute first call we look at your own process and tell you honestly whether AI pays off there.