The fastest way to lose money in third-party logistics is to price a customer before you know what they cost to serve. It rarely shows up as a dramatic loss. It shows up as a quietly unprofitable account you carry for a year because the top-line revenue looked fine and nobody allocated the real cost behind it.
Here is a practical method for pricing 3PL customers so the margin is real, not assumed.
Why instinct pricing fails
Two customers with the same monthly order count can have wildly different costs to serve. One ships full pallets to a single destination. The other ships eaches to a hundred addresses, with returns, with rush orders, with fragile handling. A flat rate charged to both means the easy customer subsidizes the hard one, and you do not even know it is happening.
Instinct pricing fails because it prices on what is visible (order count, revenue) instead of what is expensive (labor, storage dwell, handling complexity, accessorials). The cost lives below the surface, and instinct cannot see below the surface.
Step 1: Know your cost-to-serve
You cannot price what you cannot measure. Before the rate card, you need to allocate cost down to the customer, the order, and the line: labor, materials, storage, and handling. This is cost-to-serve, and it is the foundation of every honest 3PL price.
If your costs only roll up to the warehouse, you are flying blind. The whole point is to answer “what does this specific customer actually cost me to serve,” and a warehouse-level number cannot.
Step 2: Build a rate card that mirrors your cost structure
Once you can see cost, build a rate card that charges for the things that actually drive it:
- Storage by pallet, bin, or cubic foot, on a cycle, ideally tiered so long dwell costs more.
- Receiving by purchase order, line, or unit.
- Pick and pack by order, unit, or line, reflecting the real labor of the fulfillment pattern.
- Kitting and assembly by kit and by component consumed.
- Accessorials for returns, rework, expedites, and special projects, captured when the work happens.
A rate card that mirrors your cost structure means that when a customer drives more cost, they generate more revenue automatically. That is the entire game. For the mechanics of capturing these as billable events, see the 3PL billing guide.
Step 3: Price each account against its actuals, not the average
With cost-to-serve and a structured rate card, price each customer against their actual behavior, not the fleet average. The pallet-in, pallet-out customer gets one effective rate. The eaches-to-everywhere customer gets another. Neither subsidizes the other, and both are profitable.
This is also where you win new business intelligently. When you can show a prospect exactly what drives their cost, you can price competitively on the cheap-to-serve dimensions and hold firm on the expensive ones.
Step 4: Review and reprice the accounts that are underwater
Pricing is not a one-time event. Customer behavior drifts. The account that was profitable at onboarding becomes a margin leak when their order profile changes. Review cost-to-serve regularly and act on it:
- Reprice the accounts operating below target margin.
- Restructure the rate where a specific cost driver has grown.
- And occasionally, transition the customer who cannot be made profitable at any rate they will accept.
In the customer-zero operation, this exact review surfaced two brand customers operating at negative margin. One was repriced and stayed. One was politely transitioned. That is what acting on cost-to-serve looks like.
Common mistakes to avoid
- Flat per-order pricing. It ignores the cost difference between a simple order and a complex one.
- Forgetting storage creep. The most commonly under-billed cost in the industry. Dwell time quietly eats margin.
- Pricing once and never revisiting. Margin erodes as behavior drifts.
- Guessing labor. If hours roll up to the warehouse instead of the customer, your cost number is fiction.
Where to start
If you are pricing 3PL customers on instinct and suspect some accounts are underwater, the first move is to make cost-to-serve visible. See how KitCost allocates cost down to the customer and order, read the 3PL software guide, or talk to the founder.
Price on what a customer actually costs, not what they appear to cost. The margin follows. Built to Ship.