3PL Checker

3PL billing errors: common overcharges and how to spot them

The 3PL billing errors to look for, from old rates and canceled orders to storage basis and shipping markup, with a simple test for spotting each one.

Updated October 29, 2026 5 min read

The 3PL billing errors worth checking first are old rates that were never updated, more items billed than the order had, canceled orders that still got charged, duplicate charges, storage billed on the wrong basis, and shipping marked up above the contract. Each one leaves a pattern you can test for with your rate card, your Shopify order export and the warehouse's storage report. Most of them are small per line, which is why they are easy to miss.

Errors versus hidden fees

It helps to split surprises into two groups before you dispute anything.

  • Billing errors are charges that break the contract: the wrong rate, the wrong quantity, a service that never happened.
  • Hidden fees are charges that are in the contract but easy to overlook. Some 3PLs set a minimum monthly spend, and seasonal storage surcharges often appear during peaks like Q4 (Extensiv). One 3PL's pricing guide says most 3PLs pass the carrier's fuel surcharge straight through (Red Stag Fulfillment).

You can claim a credit for an error. A hidden fee is a contract question for your next renewal, or for a lawyer if the wording is unclear.

The errors at a glance

ErrorWhat it looks likeHow to spot it
Old or wrong rateA rate above the rate card in force on that dateCompare each rate with the rate card and its amendments
Extra itemsItem fees above the order's item countMatch order numbers to your Shopify export
Canceled orders billedPick & pack for an order that never shippedPick & pack lines with no shipping label
Duplicate chargeSame reference, quantity and amount twiceSort by reference and amount, across invoices
Wrong storage basisPeak pallets billed when the contract says averageDaily storage report versus the billed quantity
Shipping markupBilled postage above carrier cost plus the agreed markupBilled amount ÷ carrier cost
Wrong surchargeResidential surcharge on a business addressShip-to company and suite in the order export
ArithmeticQuantity × rate does not equal the amountRecalculate every line

A worked example (made-up numbers)

Juniper & Pine is a made-up Shopify brand that uses Ridgeline Fulfillment, a made-up warehouse. Their sample audit covers three months of invoices and found $1,267.73 in overcharges:

FindingAmount
Shipping billed at 12% markup instead of 8%$417.58
Storage billed on the peak instead of the average$324.00
Old additional-item rate after the amendment$205.00
Receiving charge billed twice$185.00
Residential surcharges on business addresses (likely)$72.10
Canceled orders billed$51.45
Extra items billed$9.10
Quantity × rate arithmetic error$3.50
Total$1,267.73

The two largest findings make up more than half: $417.58 + $324.00 = $741.58. Both are basis errors, a markup percentage and a storage measure, which apply to every label or every month. That is the general lesson: a wrong setting repeats on every line, while a one-off mistake happens once.

How to spot each error

Rates not updated after an amendment

A rate change can be agreed in a short amendment and never make it into the warehouse's billing system. Juniper & Pine's additional-item rate dropped from $0.85 to $0.65 on July 1. The invoices kept billing $0.85, so every additional item was $0.20 too high. Over three months that was $205.00, which works out to 1,025 additional items ($205.00 ÷ $0.20).

Test: list every rate billed, then compare each with the rate card version in force on the date of the line.

More items billed than the order had

Rate cards like Ridgeline's charge a fee for the first item and a smaller fee for each additional item. If the system counts one item too many, every affected order is overcharged by one additional-item fee. In the sample, 14 orders were each billed one extra item at $0.65: 14 × $0.65 = $9.10.

Test: join invoice lines to your Shopify export by order number and compare item counts.

Canceled orders still billed

If an order is canceled in Shopify after it has reached the warehouse's system, it can still get charged. In the sample, 12 canceled orders were billed across 29 lines for $51.45.

Test: filter your export for canceled orders and search the invoice for each number. A shortcut is to compare the count of pick & pack charges with the count of shipping labels. Any gap is an order billed without a shipment.

Duplicate charges

Duplicates can cross invoice boundaries, so checking one invoice at a time misses them. Juniper & Pine's inbound receipt ASN-2231 (37 cartons × $5.00 = $185.00) was billed on the August invoice and again on September's.

Test: sort all lines from all months by reference, description and amount, and look for exact repeats.

Storage billed on the wrong basis

If the contract says monthly average and the invoice uses the peak day, every month is overbilled. Ridgeline billed 44, 45 and 46 pallets against averages of 39, 40 and 38. At $18.00 per pallet: (5 + 5 + 8) × $18.00 = 18 × $18.00 = $324.00. Our storage billing guide explains each basis.

Shipping marked up above the contract

When the invoice shows the carrier cost, divide billed by cost. A label with a $9.34 carrier cost was billed $10.46, and $10.46 ÷ $9.34 = 1.12, a 12% markup against the 8% in the contract. Across 1,007 labels the difference was $417.58. See shipping markup.

Surcharges that do not fit the address

UPS defines residential as an address that is a home, including a business run out of a home, and treats an address that could be either as residential (UPS). So a surcharge on an order to a company with a suite number is worth questioning, but it is not always wrong. That is why the sample audit marks its $72.10 (14 × $5.15) as "likely". More on the residential surcharge.

Simple arithmetic

The sample found a returns line for 2 returns at $3.50 billed at $10.50. It should be 2 × $3.50 = $7.00, so it was $3.50 over. Recalculating quantity × rate on every line takes seconds in a spreadsheet.

What to do when you find errors

Write each finding with the invoice line, the contract clause, the proof and the dollar amount, then send it in writing before the contract's dispute deadline. Our guide on how to dispute a 3PL invoice covers the wording, and the step-by-step audit method covers the full process.

Have your invoices checked

3PL Checker looks for each of these errors in your own invoices, using your signed rate card and your Shopify orders. A person reviews every finding before you see it, and the first audit is free.

Questions

What is 3PL billing?

3PL billing is how a warehouse charges you for its work, usually a monthly invoice with fees for receiving, storage, pick and pack, packaging and shipping, plus fixed fees and minimums set in your rate card.

What are 3PL hidden fees?

Usually they are fees that are in the contract but easy to miss, such as account management fees, monthly minimums, seasonal storage surcharges and passed-through carrier surcharges. A fee that is not in the contract at all is a billing error, not a hidden fee.

What are common 3PL overcharges?

Rates that were not updated after an amendment, extra item counts, canceled orders still billed, duplicate charges, storage billed on the wrong basis and shipping marked up above the agreed percentage.

What is included in a 3PL cost breakdown?

Typically receiving, storage, pick and pack per order and per additional item, packaging, shipping and surcharges, returns, and fixed monthly fees. Each line should trace back to a rate on your rate card.

Sources