Receiving fees: how 3PLs bill for inbound inventory
What 3PL receiving fees cover, how they are billed per pallet, carton, unit, hour or container, published ranges, and how to catch duplicate receiving charges.
Receiving fees are what a 3PL charges to unload your inbound shipment, count and check it against what you said was coming, and put it away so it can be sold. They are billed per pallet, per carton, per unit, per hour or as a flat fee per container. The unit in your contract, and how your freight arrives, decide most of the bill.
Receiving is billed less often than pick and pack, but each charge is larger, so a single duplicate or wrong unit can cost more than a month of small errors elsewhere.
The 3PL receiving process
- You send an advance shipping notice (ASN). It lists the SKUs, quantities, cartons and expected date. 3PL Center describes the EDI 856 format as the gold standard and suggests sending it at least 24 hours before arrival.
- The delivery arrives and is unloaded. Palletized freight comes off with a forklift. Floor-loaded containers take much more labor because cartons come off one by one, which raises the fee.
- The warehouse counts and inspects what arrived against the ASN, and notes shortages, overages and damage.
- Labeling or prep, if the goods need barcodes or other work before storage. This is often billed separately.
- Put-away into pallet, shelf or bin locations.
- The stock is made available in the warehouse system, and you receive a receiving report.
A missing or inaccurate ASN makes the warehouse identify goods at the dock, which costs more. Some contracts add a fee for this; check yours.
How 3PLs bill receiving
| Basis | Typical use | What to check |
|---|---|---|
| Per pallet | Palletized freight, often including put-away | Pallets received against pallets on the bill of lading |
| Per carton | Loose cartons, floor-loaded containers, pallets broken down at the dock | Cartons counted against the ASN and packing list |
| Per unit | Small or mixed inbound shipments | Units received against units billed |
| Per hour | Messy, unscheduled or non-standard deliveries | Time logs; whether hourly was justified |
| Per container | Flat fee to unload a 20-foot or 40-foot container | Container size; whether per-carton fees were also billed |
Typical receiving fees
Published figures vary a lot, partly because some include put-away and some do not. At the time of writing:
- Per pallet: Red Stag Fulfillment's 2025 pricing guide gives $5 to $15 per pallet including put-away, about $10.52 on average, citing a 2025 Warehousing and Fulfillment survey. Speed Commerce's 2026 guide gives a higher $25 to $50 per pallet.
- Per unit: Speed Commerce gives $0.30 to $1.50 per unit.
- Per hour: Fulfill.com reports $30 to $60 per hour (survey average $39.88), and calls hourly billing on clean, palletized freight a red flag. eFulfillment Service publishes its receiving rate by the half hour.
- Per container: Fulfill.com reports $250 to $600 (survey average $500); Speed Commerce gives $250 to $500.
We did not find a published per-carton range we could verify, so compare per-carton quotes against your own expected carton counts rather than a benchmark.
How the amount is calculated
Worked example (made up). Juniper & Pine, a made-up brand, ships stock to Ridgeline Fulfillment, a made-up warehouse. Its rate card charges $5.00 per carton received. In August it sent one inbound shipment: 37 cartons, each holding 24 units, listed on one ASN.
- Units: 37 × 24 = 888
- Correct receiving charge: 37 cartons × $5.00 = $185.00
That shipment is a good way to see the common errors:
- Billed twice. The invoice shows two receiving lines of $185.00 for the same ASN, once when part of the delivery was checked in and again when the receipt was closed. Overcharge: $185.00.
- Wrong unit of measure. Suppose the rate card also had a $0.25 per-unit rate for loose items. Billing the shipment per unit gives 888 × $0.25 = $222.00, which is $222.00 − $185.00 = $37.00 more than the per-carton rate the contract applies to cartons.
Billing errors on the receiving line
- Duplicate receiving. The same inbound billed under two receipt IDs, often after a partial receipt or a re-count.
- No matching inbound. A receiving charge for a shipment you did not send. It may belong to another client, or it may be a customer return that should be billed as a return, not as receiving.
- Wrong unit of measure. Billed per unit when the contract says per carton, or per carton when the cartons were on pallets billed per pallet.
- Counts that do not match. Billed on the ASN quantity rather than what was counted, or billed on cartons the receiving report says were short.
- Hourly instead of the unit rate. Clean, palletized freight billed by the hour.
- Container fee and carton fees together. A flat devanning fee plus per-carton receiving for the same container, when the contract says one or the other.
- Fees without a reason. ASN or appointment penalties with no note of what was wrong.
For more patterns, see our list of common 3PL billing errors.
How to check receiving charges
Gather these for each inbound shipment in the billing period:
- Your ASN or purchase order (SKUs, units, cartons, pallets)
- The supplier's packing list and the carrier's bill of lading or proof of delivery
- The 3PL's receiving report with its receipt ID, date and counts
- The receiving lines on the invoice
Then:
- Match each receiving charge to one ASN. Any charge with no ASN, or two charges for one ASN, needs an explanation.
- Check the unit on the invoice against the unit in the rate card for that type of freight.
- Compare billed quantities with the receiving report, not only the ASN.
- Recalculate quantity × rate.
- Check that the units received showed up as available stock. Your Shopify inventory levels for those SKUs should rise once the receipt posts.
Receiving errors also affect storage fees, because stock counted twice may be stored twice. If you find one, our credit request email template helps you send the evidence.
Questions to settle in the contract
- Is receiving billed per pallet, carton, unit, hour or container, and which applies to which kind of freight?
- Is put-away included?
- What is the ASN deadline and format, and what does a late or missing ASN cost?
- How are floor-loaded containers billed compared with palletized freight?
- How soon will you get a receiving report, and how are shortages and damage reported?
- Which work counts as special handling and needs your approval first? (See special project fees.)
- How long do you have to dispute a charge?
Have a lawyer review the agreement before you sign it.
Get your receiving charges checked
3PL Checker matches every receiving charge on your invoice to an inbound shipment and to the unit in your rate card, and flags duplicates and charges with no shipment behind them. The first audit is free, and a person reviews every finding.
Questions
What are receiving fees?
Receiving fees are what a 3PL charges to unload an inbound shipment, count and check it against what you said was coming, and put it away so it can be sold. They are billed per pallet, carton, unit, hour or container, depending on the contract.
What is the 3PL receiving process?
You send an advance shipping notice (ASN) listing what is coming, the warehouse unloads the delivery, counts and inspects it against the ASN, labels it if needed, puts it away and makes the stock available to sell. Any differences should be reported to you on a receiving report.
How much does a 3PL charge for receiving?
It varies by unit and by how the freight arrives. Fulfill.com reports $5 to
5 per pallet in the US (2025 survey average 0.52), $30 to $60 per hour, and $250 to $600 to unload a container.
Sources
- 3PL Center: What are receiving fees? Pricing models and cost drivers
- Red Stag Fulfillment: 3PL pricing explained: a complete cost guide for 2025
- Speed Commerce: 3PL pricing in 2026: every fee line explained
- Fulfill.com: 3PL billing: the ultimate guide to ecommerce fulfillment pricing
- Fulfill.com: How much does a 3PL cost in 2026?
- eFulfillment Service: Fulfillment center rates