← All articles E-commerce

Shipping Costs and True Margin Per Order

Shipping is usually buried in operating expenses. Allocate it back to orders and your product, channel and geography margins look very different. Here is how to do it and why it matters.

Most e-commerce businesses treat shipping as a single operating expense line — a lump sum at the bottom of the P&L. That practice obscures one of the most important questions in online retail: which orders are actually profitable? Once shipping is allocated back to orders, your per-product, per-channel and per-geography margins look very different. Here is how to do it properly.

Why "shipping in operating expenses" misleads

In a traditional business, freight is often a small share of cost and treating it as an overhead is fine. In e-commerce, shipping can be 15–30% of order value for low-AOV categories — and it varies enormously by:

  • Weight and dimensional weight (volumetric, for bulky items)
  • Destination zone (within-city vs cross-state vs remote)
  • Courier service (express vs ground)
  • Channel (FBA-style fulfilment vs self-shipped)
  • Order type (COD vs prepaid)
  • Returns (a return doubles the shipping cost)

Treating that as a single overhead means averaging it across all orders — which gives you the right total but the wrong per-order picture. A small, light order to a nearby city is profitable; a similar-priced large order to a remote zone may be heavily loss-making. You cannot tell unless shipping is allocated.

What "true margin per order" means

Per-order margin, properly computed:

  • Selling price (net of any discount given)
  • − Direct product cost (COGS at the unit level — see manufacturing cost for goods you make, or purchase cost for goods you buy)
  • − Outbound shipping cost (the actual cost paid, not a per-order average)
  • − Marketplace fees (commission, closing, payment gateway — all the channel-specific deductions)
  • − Provision for returns (expected return rate × cost-per-return for this product/channel)
  • − COD charges and RTO provision (if applicable)
  • = True contribution margin per order

This is the number that should be positive on every order. When it's negative, you are paying customers to take your products.

How to allocate shipping back to orders

Two practical methods:

  • Actual shipping per order — courier API gives you the exact cost per shipment; map it to the order. Most accurate but requires integration.
  • Tariff-based allocation — apply the agreed tariff (₹X per kg + ₹Y per zone) per order from your contract; reconcile total against the courier's monthly bill.

For most operations, tariff-based with monthly reconciliation is the right balance — captures per-order variation without needing real-time courier API integration.

A worked example

Two orders of similar value:

Order A — ₹800 + GST. 0.5 kg. Local zone. Prepaid via Shopify.

  • Selling price: ₹800
  • COGS: ₹450
  • Outbound shipping: ₹40
  • Payment gateway fee: ₹16 (2%)
  • Returns provision: ₹15 (small, since prepaid Shopify orders have low return rate)
  • True margin: ₹279 (35%)

Order B — ₹850 + GST. 2 kg. Distant zone. COD via Amazon.

  • Selling price: ₹850
  • COGS: ₹450
  • Outbound shipping: ₹180 (heavy + distant)
  • Amazon commission + fees: ₹128 (15%)
  • COD charges: ₹25
  • Returns provision: ₹95 (high; Amazon COD return rate for category is 22%)
  • RTO provision: ₹40
  • True margin: ₹(68) — a loss of ₹68

Same revenue, similar product cost — vastly different real margins. The aggregate P&L would show both at roughly the same gross margin; only per-order allocation reveals the truth.

What you do with the analysis

Several actions become possible once you can see true per-order margin:

  • Threshold-based pricing — minimum order value to ship to certain zones
  • Free-shipping breakeven — calculate the order value above which you can afford "free shipping" and below which the customer pays
  • Heavy-item surcharge — explicit shipping fee for items above a weight
  • Zone-based delivery charges — pass on the variation
  • Channel-mix decisions — if Amazon COD orders are loss-making, push prepaid only on Amazon for the affected categories
  • SKU rationalisation — discontinue SKUs that are structurally unprofitable

These are pricing and product decisions that can change a business's economics. They are invisible without the per-order analysis.

The breakeven AOV for free shipping

A specific useful number: what's the minimum order value at which I can offer free shipping?

Working backwards:

  • Take a target contribution margin (say 25%)
  • Add expected shipping cost for an average order
  • Add fees, COD provision, etc.
  • The order value above which you still hit your contribution target is your free-shipping threshold

This number should be on a poster in every e-commerce ops room. Below the threshold, charge for shipping. Above, offer free. Most brands set the threshold by feel; setting it by math gets better results.

Returns multiply shipping cost

A returned order has both outbound and reverse shipping. For a category with 25% return rate, that means 25% of orders pay shipping twice. The per-order shipping cost for the category should reflect this:

Effective shipping cost = Outbound + (Return rate × Reverse shipping cost)

If outbound is ₹60 and reverse is ₹80, and return rate is 25%, your effective shipping cost per order is ₹60 + 0.25 × ₹80 = ₹80. That's the number to use in true margin calculations.

How Booksmor helps

Booksmor allocates shipping cost back to each order from courier tariffs (or actual remittance reconciliation), computes true per-order margin net of all channel-specific costs, surfaces unprofitable order patterns (by product, channel, geography), and recommends free-shipping thresholds based on your target margins. Start a 30-day free trial and see which orders are actually making you money.

Ready to simplify your accounting?

Join growing Indian businesses that let Booksmor — and its AI — keep the books. Set up in minutes, free for 30 days.

No credit card needed · Full access · Cancel anytime