FULFILLMENT DECISION TOOL

Normalize a 3PL quote before you sign it.

Third-party logistics quotes hide the real answer in receiving, storage, pick and pack, shipping, returns, and minimums. Put every line on the same monthly basis and compare it with your in-house cost.

Also see compare two quotes, volume sensitivity, when return fees flip the quote, whether leftover long-term storage flips the quote, whether restocking a return still beats letting the customer keep it, whether paying the 3PL to kit still beats skipping the bundle, whether pallet inbound still beats carton or loose receiving, create a negotiation brief, rank the largest rate-card lines, and download a reviewable CSV or JSON record.

Your volume and quote

Decision snapshot

Arithmetic from your inputs, not a quote or recommendation. Change one assumption at a time to see what drives the decision.

Show line-by-line export

Does pallet inbound beat carton or loose receiving?

The dedicated inbound method calculator already has the full math. This block uses the same compareInboundMethods on the quote you just typed, so you do not leave the page. Pallet and carton defaults match that page ($10 / 60 units, $1.50 / 6 units). Loose receiving uses the Receiving / unit field above. More: why pallet inbound is usually cheaper than carton.

Same quote, only the receiving line changes
Method Containers Receiving / unit Monthly receiving 3PL total Cost / order

Should I pay the 3PL to kit, or skip the bundle?

The dedicated kitting calculator already has the full math. This block uses the same compareKitting on the quote you just typed, so you do not leave the page. Defaults match that page ($6 AOV lift, $2.80 extra COGS, $3.50 kit fee, $1 extra picks, $0.36 extra receiving, $0.90 pre-kit labor).

Same quote volume, only the kit path changes
Path Extra 3PL / labor Extra COGS AOV lift Net / kit Monthly

Does leftover long-term storage flip the quote?

The dedicated aged-storage calculator already has the full math. This block uses the same compareAgedStorage on the quote you just typed, so you do not leave the page. Defaults match that page ($54 long-term / leftover pallet, $80 liquidation recovery). Leftover cannot exceed the pallets field above.

Same quote, only leftover storage changes
Path Leftover Storage 3PL total vs as written

Should I restock a return, or let the customer keep it?

The dedicated return-disposition calculator already has the full math. This block uses the same compareReturnDisposition on the quote you just typed, so you do not leave the page. Defaults match that page ($1.50 destroy, $8 prepaid label, $18 unit cost, 70% restockable, $0.40 storage until resale). Return handling and restock fees come from the quote form above.

Same quote return rate, only the disposition path changes
Path 3PL + label Inventory written off Net / return Monthly

Build a negotiation brief from this quote

Itemized straight from the quote above — nothing to re-type. Unlike the line-by-line summary in the results panel, this omits your in-house estimate and break-even volume, so it stays safe to hand to the provider you are negotiating with. Comparing against a second provider's own itemized quote instead? Use the two-quote negotiation brief once you have both all-in monthly totals.


  

Already run warehouse or order management software? See this calculator vs. Extensiv. Comparing a quote from a specific 3PL network? See this calculator vs. ShipBob. Thinking of just building this in a spreadsheet? See this calculator vs. normalizing the quote yourself.

Common questions

Does the total include returns and restocking, not just outbound fees?

Yes. The returns line is orders × returns rate × (return handling fee + restock fee), using the return handling and restock inputs above the calculator. It does not include chargebacks, refunded product cost, or inventory written off on returns you can't resell — the dedicated return-disposition calculator covers that.

What happens when my minimum monthly spend is higher than the line items add up to?

The total switches to your minimum, and the “Minimum charge applied?” row tells you when that happened. Below the volume where the order-driven line items alone clear the minimum, the minimum is what's really setting your bill, not your order count — that's the threshold the sensitivity and negotiation pages linked above use.

What does “in-house cost per order” need to include for a fair comparison?

It's a single number you type in, not a breakdown. If it leaves out warehouse rent, software, packaging materials, or a share of your own labor, the in-house side looks artificially cheap and the break-even volume shown will be wrong. Build it up from your own costs before trusting the comparison.

Does my quote data leave this browser?

No. Everything is computed client-side; your inputs are saved to this browser's local storage only so the form survives a reload, and nothing is uploaded. Turn off usage counting with the button in the results panel if you don't want anonymous feature events recorded either.