Pricing & Billing21 January 20269 min read

The 7 ways pallet-count billing fails 3PLs (and what to use instead)

Pallet-count billing is the default for most 3PLs — and it leaks margin every day. Seven specific failure modes with worked examples, and the pallet-equivalent fix for each.

A 3PL operator I worked with last year ran the numbers on a single bay at the back of his Daventry shed. One bay. 1.2m by 1m of concrete. Across twelve months, that bay had earned him £312 in storage revenue. The bay next to it, leased to a fast-moving FMCG client at full pallet rate, had earned £1,140 for the same square metre of floor. Same building, same forklift drivers, same insurance — three-and-a-half times the revenue. The difference wasn't the customer. The difference was that the first bay had been billed by pallet count and the second by footprint, and one of those two methods quietly leaks money every day of the year.

I wrote about the mechanics of pallet equivalents in the prequel to this post. This one is about the seven specific places pallet-count billing fails in the real world — the ones I see when I walk a 3PL floor and ask to see the rate card. Each section has the scenario, the cost, and the fix. If you only read one, read the last one.

1. Part-pallet customers and the cost of rounding up

A homewares brand stores 22 SKUs with you. Each SKU is a quarter-pallet of low-velocity gift sets — candles, soap dishes, framed prints. They send you a goods-in note for 22 pallets. Your WMS records 22 pallets. Your invoice charges 22 pallets at £3.20 per pallet per week.

Except they're not using 22 pallets of floor. They're using six bays, with three or four SKUs consolidated per bay. You know this because your team did the consolidation on day one — they're operators, they're not going to leave 22 quarter-pallets standing around. The customer knows it too, because they've walked the building.

So you have two options, and both are bad. Option A: you bill the 22 pallets and they leave at renewal because they've benchmarked you against a competitor who bills by footprint. Option B: you negotiate a "consolidation rate" — a discounted £/pallet that's really a guess at footprint — and your floor margin on this client drops 40% without any defendable model behind the discount. On 22 pallets at £3.20 a week, a 40% discount costs you £1,466 a year, every year, per client like this.

The fix: bill per pallet equivalent. Six bays at 1.0 PE each at £11.50/PE/week recovers your floor rate, the customer pays for what they actually occupy, and the consolidation work you did stops being a free gift.

2. Oversized non-stackable pallets eating bay capacity

A flooring distributor sends in a pallet of engineered oak — 2.4m long, non-stack, weight-distributed across a custom skid. It doesn't fit a standard 1.2m bay; it spans two. And because it's non-stack, the 1.5m of clear bay height above it is dead space. That's effectively four pallet-positions of capacity consumed by a single pallet.

You charge for one pallet. £3.20 a week.

The bay above and the bay beside that pallet would each have earned £3.20 a week if you'd had a stackable, conforming pallet in them. So your real revenue on that footprint is £3.20, when it should be closer to £12.80. Over a year, that's a £499 hole on a single oversized SKU, and the flooring distributor probably has 30 of them on rotation.

I've seen 3PLs absorb this for years before someone runs the maths. The customer isn't being dishonest — they're paying the rate they were quoted. The quote was wrong.

The fix: assign that pallet a footprint multiplier of 4.0 PE in your master data. Same physical pallet, but the system knows it occupies four pallet-positions of capacity. The invoice line item becomes "1 × oversized non-stack pallet @ 4.0 PE × £3.20 = £12.80/week" and the customer can see, on the invoice, exactly why. Usually they shrug and pay, because they know what they put in.

3. Mixed-pallet bays shared between two clients

You have a half-empty bay on row F. Client A drops in a 0.6 PE consignment of seasonal decorations. Three days later, Client B drops in a 0.4 PE consignment of marketing samples that fits perfectly next to it. Your team puts them in the same bay because that's what operators do.

Now the invoice cycle runs. The system bills Client A for one pallet and Client B for one pallet. You've billed two pallets for one bay. If anyone looks closely — and big retailers do, when they audit their 3PL spend — you've over-billed both clients. The legally clean version is you bill each for half a pallet, and now you're earning £1.60 a week on a bay that ought to be earning £3.20.

Across 60 mixed-pallet bays — completely normal for a mid-size 3PL — that's £4,992 a year of either over-billing risk or under-billing reality. Pick your poison.

The fix: bay-level utilisation. Client A occupies 0.6 PE of bay F-12, Client B occupies 0.4 PE. The bay is 100% utilised. Both clients pay their share of the bay rate. You earn the full bay rate. Nobody is being cheated and nobody is leaving margin on the floor.

4. Promotional pallets that move at twice the velocity of normal stock

A drinks brand runs a Q4 promotion. They send in 400 pallets in mid-October. By mid-December, 380 of them have shipped out. By mid-January, the last 20 are gone. Pallet-count billing charges them an average of, say, 210 pallets across that three-month window — but it doesn't charge them anything for the throughput.

Meanwhile, your pickers have done 400 pallet movements in twelve weeks for this client. The aisle they occupied has been congested. Your forklift hours on this account are 3× the normal ratio of hours-per-pallet-stored. The labour cost is real and it's nowhere on the invoice.

A 400-pallet promo at three months of average storage might generate £8,200 of storage revenue. The labour underneath it — eyeballing the GPS logs — is probably £3,100 you've absorbed. Net margin on the promo collapses from a planned 35% to a real 17%.

The fix: decouple storage from movement. Bill PEs for the floor (which is what the customer agrees they're using) and bill handling per inbound and outbound pallet separately. Promo SKUs end up paying for their own velocity, regular stock isn't penalised for being slow, and your margin doesn't depend on guessing the customer's marketing calendar.

5. Seasonal SKUs that idle nine months a year at full pallet cost

A garden furniture brand brings in 280 pallets in February for the spring-summer season. By August, 240 of them have shipped. From September through January, the remaining 40 pallets sit there. Five months of dead inventory.

You charge them for 40 pallets at £3.20 a week for 22 weeks. That's £2,816. The customer looks at that line on the invoice and decides to take their winter idle stock somewhere cheaper, or worse, decides to destroy the stock and re-order in February. Either way, you've lost a renewal driver. The "full pallet rate" feels punitive because for nine months of the year, those pallets aren't doing anything for either party.

The honest answer is that idle floor still costs you the same to provide as active floor. But the customer doesn't see it that way, and they're the one writing the cheque.

The fix: a long-stay PE rate. Inventory that hasn't moved in 90 days drops to a published 70% rate. You're still earning on the bay; the customer feels rewarded for committing to volume. On the 40 idle pallets above, you'd give back £845 of the £2,816 — but you'd keep the renewal, which is worth £40,000+ across the next year. Pallet-count billing can't model this gracefully; PE-based billing treats it as a rate-card rule.

6. Tall pallets vs short pallets in the same bay

A bay is 2.4m of vertical clearance. A standard pallet at 1.5m leaves 0.9m of usable height — enough for a half-height pallet (typically 0.8m) to sit on a beam shelf above it. So one "bay" can sometimes hold two pallets stacked vertically, depending on what's in it.

When a customer ships in 1.5m pallets, you fit one per bay. When they ship 0.8m half-heights, you fit two. Pallet-count billing charges the same rate per pallet regardless. The customer with 0.8m pallets gets twice the floor density for the same per-pallet rate, and you earn half the £/sq-m you would have on standard heights.

On a 300-pallet account, if 100 of those pallets are half-heights stacked two per bay, you're providing 50 bays of floor for what feels like 100 pallets of revenue. That's £8,320 a year of revenue that the rate card never accounted for, given to a customer who didn't ask for it and probably doesn't even know.

The fix: PEs are tied to bay occupancy, not pallet count. A half-height pallet sharing a bay is 0.5 PE, not 1.0. The customer who's clever enough to ship low-profile loads gets a discount — but a defined, published one, not a quiet leak. And when they ask why, you can show them the maths.

7. Half-pallets sharing a footprint without sharing a rate

The classic. Two 600×800mm euro half-pallets fit side-by-side in one standard 1200×1000 bay. Both are full-height. Both belong to the same client. You bill them as two pallets at the standard rate.

Except they're occupying one bay. One bay's worth of floor, one bay's worth of rack, one bay's worth of insurance. The customer is paying you double the per-bay rate because the goods came in on smaller pallets — which, for a fast-moving consumer client, might be most of their inventory.

This one cuts both ways. Some 3PLs over-charge here for years and lose the client when a competitor with PE-based billing offers a 40% lower quote that's still profitable. Other 3PLs negotiate a "half-pallet rate" of 50% per unit — which sounds right until you realise they're now earning the same as one full pallet on a bay that previously held two clients' goods, with twice the admin overhead. Neither side wins.

On a 500-half-pallet account, the over-charging version costs you the contract at renewal (£26,000 lost). The under-charging version earns you the same revenue you'd get from 250 full pallets while doubling your put-away and pick labour.

The fix: 0.5 PE per half-pallet, billed at full PE rate. Two half-pallets sharing a bay equals 1.0 PE billed — the bay earns its full rate, and the labour overhead is recovered in the per-movement handling charge from failure mode 4. The customer sees a line item that maps to floor reality, and your rate card defends itself on a whiteboard in any procurement meeting.

What changes when you stop counting pallets

The thread running through all seven of these is the same: pallet count was always a proxy for floor footprint, and proxies break at the edges. Part-pallets, oversized loads, mixed bays, promos, seasonal idle, vertical density, and shared footprints — each of those is an edge where the proxy breaks and someone pays for the gap. Usually you.

A 3PL with 8,000 pallet positions and even a moderate share of these patterns is leaving £40,000–£80,000 a year on the floor. Not in dramatic fraud or customer abuse — in the slow tax of a billing model that doesn't quite match what the warehouse is actually doing.

Loaditude's footprint billing is built for exactly this. PEs are first-class in the data model: every bay carries a capacity, every SKU carries a footprint, and invoices generate against actual occupancy rather than pallet count. If you're a 3PL today running on per-pallet rates and you've nodded along to two or more of the scenarios above, the 3PL solutions page is worth twenty minutes of your morning. The maths to switch is smaller than you'd think, and the leaks above stop the day you flip the model.