A 3PL that buys a label at its own negotiated carrier rate and bills the merchant at a higher sell rate keeps that spread only if the carrier invoice, arriving days or weeks later, matches the rate used at label time. When a dimensional weight correction or an address correction lands after the merchant has already been billed, the 3PL absorbs it or rebills it, and either choice costs something. 3PL shipping markup is simple to set and harder to protect.
This guide covers how multi-client buy/sell parcel billing works, the four common markup models, where the margin leaks, and a reconciliation process that ties every carrier charge back to the client that generated it. For 3PL billing beyond parcel, including storage, pick and pack, and returns fees, see the 3PL billing management guide.
Key highlights:
- 3PL shipping markup is the difference between the rate a 3PL pays a carrier (the buy rate) and the rate it bills each merchant client (the sell rate).
- The margin is most exposed after label creation, when carrier invoices add surcharges and adjustments the sell rate did not account for.
- Rating on fully loaded cost at carrier selection, and attributing every invoice line to a client account, keeps the billed sell rate and the realized margin close together.
- Shipium Billing Management supports custom sell rate sheets per merchant, attributes carrier invoices to the correct client account, and audits each line item against pre-shipment data.
How multi-client buy/sell parcel billing works
In buy/sell billing, the 3PL ships on its own carrier accounts, pays the carrier at its negotiated buy rate, and bills each merchant client a sell rate set in that client's contract. The spread between the two is the 3PL's shipping margin, and it is earned one label at a time.
The model only applies when the 3PL owns the carrier relationship. Parcel billing runs on one of two account structures, and a 3PL can run both at once:
Buy/sell gives the 3PL a margin and lets smaller merchants access rates they could not negotiate alone. It also means the 3PL carries every invoice discrepancy until it is either recovered from the carrier or passed to the client.
A worked example. Say a 3PL bills a merchant at cost plus 20% on parcel. A ground label rates at $9.40 at pack-out, so the merchant is billed $11.28 and the 3PL expects $1.88 of margin.
One unrebilled adjustment removed 88% of the expected margin on that shipment. Across thousands of daily labels and dozens of clients, the gap between expected and realized margin is set mostly by how reliably adjustments reach the right client.
The figures above are illustrative.
3PL shipping markup models compared
This guide groups parcel pricing into four markup models, and each moves a different risk onto the 3PL or the merchant. The right model depends on how much rate volatility the client will accept and how precisely the 3PL can rate at label time.
Two contract terms decide how well any of these hold up:
- Whether the sell rate is fully loaded. A rate card built on base rates alone leaves fuel, residential, delivery area and dimensional surcharges to be settled later. A card built on fully loaded rates keeps more of the margin fixed at quote time. For the mechanics, see how fully loaded rate shopping ensures maximum cost savings.
- How post-shipment adjustments are billed. Specify whether adjustments pass through at cost or at the same markup, the window for rebilling them, and what documentation the client receives.
Carrier pricing changes make the second term matter more each year. Supply Chain Brain's comparison of the 2026 FedEx and UPS general rate increases notes that both carriers again set a 5.9% headline increase, while minimum charges, accessorial fees, fuel surcharges and off-cycle adjustments continue to compound on top of it. A fixed rate card priced only against the headline number falls behind those changes during the year.
Where 3PL shipping margin leaks
Shipping margin leaks at five points, and most of them surface only after the carrier invoice arrives. Each one has a specific control.
The third leak drives most client disputes. When a 3PL cannot show which merchant account generated a charge, the merchant has a reasonable basis to reject it, and the 3PL usually absorbs the cost to protect the relationship.
The common thread is the shipment record. A 3PL that stores the rate, service, dimensions, client and label for every shipment at pack-out can reconcile any later charge against it. A 3PL that reconstructs those details from spreadsheets after the invoice arrives is limited by how much of that history survives.
For how carrier pricing affects this at the contract level, see carrier contract management.
How to reconcile carrier invoices across 3PL clients
Carrier invoice reconciliation for a multi-client 3PL is an eight-step cycle that starts at label creation. Most of the work happens before the invoice exists, because the shipment record captured at pack-out is what every later step checks against.
- Capture the shipment record at label creation. Store the client account, service level, fully loaded rate, package dimensions, weight and destination with the tracking number.
- Ingest carrier invoices on every billing cycle. Pull them by API, EDI or SFTP so line items arrive as structured data.
- Match each invoice line to its shipment and client. Use the tracking number to join the charge to the stored record and the client who generated it.
- Audit each line against pre-shipment data. Flag rate mismatches, duplicate charges, unexpected surcharges and service-level discrepancies.
- Dispute carrier errors before payment. File disputes inside each carrier's claim window with the shipment-level evidence from step 1.
- Rebill valid adjustments to the right client. Apply the contract terms for adjustments, at cost or at markup, and attach the supporting detail.
- Generate client invoices from reconciled data. Bill each merchant with line-level detail so charges can be checked against their own order data.
- Review realized margin by client, carrier and service each month. Compare it with expected margin and reprice rate cards where the gap persists.
Steps 3 and 4 decide whether the cycle scales. At a few hundred labels a day, a finance analyst can match lines by hand. At tens of thousands of labels across dozens of clients, matching and auditing have to run automatically, with people reviewing only the exceptions.
How Shipium handles multi-client 3PL shipping billing
Shipium automates the rating, audit and client attribution steps of that cycle, because the same platform that rates and labels each shipment also holds the record every invoice line is checked against.
Always-On Audit extends this by validating carrier charges against the rate Shipium generated at shipment as invoices arrive, which catches billing errors before refund windows close. For how this compares with a standalone billing tool, see Shipium's Always-On Audit vs. Enveyo, and for the full 3PL use case, see Shipium for 3PLs. For broader platform selection criteria, see what to look for in the best 3PL software.







