3PL Pick-Pack-Ship In The Calculator: Per-Order Fulfilment Cost By Weight Band

A step-by-step way to convert a messy 3PL invoice — pick, pack, storage, zone-based shipping — into a single per-order fulfilment cost you can drop into the Gross Margin Calculator, broken down by weight band.
Quick answer
Per-order 3PL cost = pick fee + pack fee + (monthly pallet storage ÷ orders shipped that month) + zone-weighted outbound shipping. For most Shopify apparel stores it lands at €4.20–€6.50 for <500g, €6.50–€9.00 for 500g–2kg, and €11–€18 for 2–10kg. Feed the blended average into the Gross Margin Calculator as your fulfilment line.
3PL per-order fulfilment cost (weight-band model)
The all-in euro cost to pick, pack, store and ship one order through a third-party logistics provider, normalized by parcel weight band.
A 3PL invoice arrives with four to seven separate line items — pick fees per unit, pack fees per order, receiving, pallet storage, VAS, and zone-based outbound postage — and none of them are 'cost per order' by themselves. The weight-band model collapses that noise into a single figure your margin model can consume, calculated separately for parcels under 500g, 500g to 2kg, and 2 to 10kg because shipping and dim-weight economics change sharply at each break. It's the fulfilment input the Gross Margin Calculator expects, and the number you'll defend when finance asks why a €35 order only nets €4.
The mistake most operators make is treating the 3PL invoice as one number divided by orders shipped. That hides which SKUs are unprofitable and blends a €3.80 lipstick order into the same average as a €14 bundle.
Why the invoice never matches your margin model
3PLs price the way their warehouse operates: per touch, per unit, per pallet-month, per zone. Your P&L wants one euro figure per order. Those two views only reconcile if you rebuild the invoice from the bottom up.
The gap is usually storage and dim weight. Pallet storage looks trivial at €18/month until you divide it by a slow-moving SKU that ships 40 units. And a 600g bulky pillow gets billed as 2kg volumetric — doubling your postage line without touching the pick fee.
The dim-weight trap
Carriers bill the greater of actual weight and volumetric weight (L×W×H ÷ 5000 for most European lanes). A 400g apparel item in a 30×25×10cm box bills as 1.5kg. If you don't rebuild your weight bands using billable weight, your per-order cost is understated by 15–30%.
How to detect the leak in your current number
Pull three months of 3PL invoices and three months of shipped-order data from Shopify. Divide total 3PL spend by total orders — that's your current blended number. Then split orders into the three weight bands and recompute.
If any band's true cost is more than €1.50 above your blended average, you're cross-subsidising heavy orders with light-order margin — and probably losing money on free-shipping thresholds set from the blended figure.
Typical per-order 3PL fulfilment cost by weight band (EU 3PLs, 2024)
| Weight band | Pick + pack | Storage allocation | Zone-avg shipping | Total per order |
|---|---|---|---|---|
| <500g (apparel, beauty single) | €1.20–€1.80 | €0.30–€0.60 | €2.70–€4.10 | €4.20–€6.50 |
| 500g–2kg (bundles, small home) | €1.60–€2.40 | €0.50–€0.90 | €4.40–€5.70 | €6.50–€9.00 |
| 2–10kg (small appliance, pet food) | €2.20–€3.20 | €0.80–€1.50 | €8.00–€13.30 | €11.00–€18.00 |
Midpoint per-order 3PL cost by weight band
How to build the number your margin model needs
Start with pick and pack. Add pick fee × average units per order, plus the flat pack fee (usually one per parcel, sometimes one per additional item).
Next, allocate storage. Take the monthly pallet-storage line, divide by orders shipped that month, and assign proportionally to SKUs based on pallet-days consumed. A slow SKU carries more storage per unit than a fast one — and this is exactly where the Landed COGS For Heavy-Bulky DTC analysis intersects with fulfilment.
Finally, zone-weight the shipping. If 60% of your orders go domestic Zone 1 and 40% EU Zone 3, weight each carrier rate by that share, using billable (not actual) weight for the band midpoint.
What to drop into the Gross Margin Calculator
Enter the blended per-order figure for your dominant weight band as the 'fulfilment cost' input. If you have two bands with roughly equal order volume, run the calculator twice and blend the resulting gross margin by revenue share — don't average the inputs, average the outputs.
Experiments worth running once the number is clean
Raise your free-shipping threshold to the point where the incremental AOV covers the true 500g–2kg cost, not the blended one. On most Shopify stores this is €5–€12 higher than the current threshold and lifts contribution margin without hurting conversion by more than 1–2 points.
Test bundle SKUs designed to sit inside a single weight band. A three-pack that stays under 2kg ships for one parcel fee instead of two, and the per-order fulfilment drops by 35–45% on the second unit.
Frequently asked questions
Billable weight — always. Carriers charge the greater of actual and volumetric weight, so your bands need to reflect what shows up on the invoice, not what the scale reads. For light-but-bulky products (apparel in oversized boxes, home textiles) the difference can move a SKU up a full band.
Quarterly at minimum, and immediately after any 3PL rate card change, carrier surcharge (fuel, peak-season), or SKU-mix shift greater than 15%. Storage allocations drift fastest — a slow-moving winter SKU sitting through summer will silently double its storage-per-order.
Multiply the per-unit pick fee by your average units-per-order (Shopify shows this in Reports → Sales by product). Most DTC brands sit between 1.2 and 1.8 units per order; multi-SKU beauty and supplements skew higher, single-SKU apparel skews lower.
Add a return-processing surcharge equal to (return rate × return handling fee) to the fulfilment line. Apparel at a 25% return rate with a €3.50 return fee adds €0.88 per order shipped — enough to change your gross margin conclusion on a €35 AOV.
Yes, but compute a separate per-order cost for each fulfilment node and then order-weight them. If 70% of orders ship from your EU 3PL and 30% from a UK node post-Brexit, blend those two numbers by order share, not revenue share.
Some 3PLs include standard mailers in the pack fee; others bill materials separately. Read the rate card. If billed separately, add €0.35–€0.90 per order for a standard mailer or €0.80–€1.80 for a branded rigid box, and treat inserts as marketing spend, not fulfilment.
Receiving is a landed-COGS line, not a fulfilment line — it belongs upstream of the Gross Margin Calculator's COGS input. Keeping it out of the per-order number prevents double-counting and matches how finance reports inventory cost.
Build two versions of the per-order cost: a baseline (Jan–Oct) and a peak (Nov–Dec) with the surcharge layered in. Q4 fulfilment often runs 12–20% higher, and treating it as an annual average will overstate H1 margin and understate Q4 promotional headroom.
It's the midpoint of the typical range for EU 3PLs shipping mixed domestic and EU zones. Below €6.50 usually means you have volume-based rate breaks or a regional-only footprint; above €9 suggests either heavy international mix, low volume tiers, or dim-weight penalties on bulky packaging.
Yes — and this is where the exercise pays back. Once you have per-order cost by weight band, you can benchmark each line item against market rates and negotiate the specific fee that's out of range (usually pack or storage), rather than asking for a vague across-the-board discount that 3PLs routinely refuse.
Get an AI expert review of your site
Paste your URL — Metricuno's AI runs the same heuristic checks a senior CRO consultant would, scoring your page and prioritising the fixes that'll move conversion fastest.