Markazi Panel

What a cash-on-delivery order actually costs you

A cash-on-delivery order is not money until the courier remits it, and what arrives is never the order value. Between the two sit the cost of the goods, forward freight, a government withholding deduction, and — on the parcels that come back — a second freight charge and spent packaging on an order that earned nothing. This is the arithmetic, in the order it happens.

The sequence, not the summary

Most explanations of COD margin give you a percentage. A percentage hides the thing that matters, which is that the deductions happen at different times, to different parties, and two of them only apply to some parcels. Follow one order through instead.

Day 0 — the order is placed

Your website records a sale at the full order value. Every analytics tool you own now counts that amount as revenue, and will continue to for ever regardless of what happens next. No money has moved.

Day 0 — you commit the goods

Your cost of the items leaves your inventory whether or not the order is ever accepted. This is the only deduction you fully control and the one most often estimated rather than recorded. Cost it per variant: a large pack and a small one rarely cost the same, and a product-level average quietly redistributes margin between them.

Day 1 — the parcel is booked

Forward freight is charged when the parcel is picked up. Couriers price by zone, weight and service, so this is a table rather than a number, and a flat “delivery cost” in your own settings is an estimate you should treat as one. Karachi to Karachi and Karachi to a village in Balochistan are not the same expense.

Day 2–7 — it is delivered, or it is not

If it is delivered, the rider collects the full amount from the customer and the courier now holds your money. If it is refused, the parcel comes back to you. That branch is worth its own section.

Day 15–30 — the remittance arrives

The courier pays out on its own cycle, in a batch covering many orders, after deducting its charges and the withholding it is required to hold back. What lands is a single figure that settles a list of consignment numbers. Matching that list to your orders is the job nobody enjoys and everybody eventually skips.

The return is not a neutral event

A refused parcel does not take you back to where you started. You have paid forward freight, you pay return freight, the packaging is usually spent, and the stock reaches the shelf again days or weeks later — if it is still saleable. The order earned nothing and cost you twice.

Two consequences follow, and both are commonly missed. First, a business with a high refusal rate can grow its revenue and shrink its cash at the same time, which feels inexplicable until you count returns as an expense rather than an absence. Second, and more damaging: returns are not spread evenly across channels. If one campaign brings orders that come back at three times the rate of another, the two are not comparable at any revenue figure — and a return on ad spend calculated from gross revenue will tell you to spend more on the worse one.

The withholding deduction

Courier remittances in Pakistan arrive net of a withholding deduction the courier is required to make on your behalf. It is statutory and applies the same way across carriers, so a courier that appears to deduct a different rate is a data-entry error rather than a better deal. Two practical points:

  • Confirm the current rate against the finance act rather than against memory — it is set by government and it changes.
  • It applies to money that passes through a courier. An order you delivered yourself, or one paid by bank transfer, has nobody in the middle to withhold anything. Applying a blanket rate to all revenue understates what you actually kept.

A worked example

Illustrative figures — use your own, and note that the point is the shape, not the numbers:

Order value (what analytics reports)Rs 5,000
Cost of the goods− Rs 2,000
Forward freight− Rs 250
Withholding on the remittance− Rs 200
Kept, if deliveredRs 2,550
The same order, refused− Rs 500

The second line is the one to sit with. A refused order does not score zero — it scores negative, and it takes roughly a fifth of a successful order’s margin with it. At a one-in-five refusal rate, one parcel in five is not just failing to earn; it is eating the profit of another that succeeded.

How to catch a short remittance

Short and late payments are ordinary rather than exceptional, and they go unclaimed because nobody can point at which order was underpaid. The habit that fixes it is small:

  • Record a payout against the orders it settles, not as a lump sum into a monthly total. A figure with no order list attached cannot be checked later.
  • Never mix two couriers in one batch. They have different rates and different cycles, and a mixed batch cannot be reconciled against either.
  • Expect the arithmetic to be off by small amounts and treat the gap as the finding. A Rs 100 difference on one order is nothing; the same Rs 100 on every order for three months is a rate that was applied wrongly.

What this changes

Nothing here argues for abandoning cash on delivery. It is how the market buys, and a store that refuses it in Pakistan is refusing most of its customers. The argument is narrower: the order value is the beginning of the sum and it is routinely treated as the end of it. Once the four deductions are recorded per order rather than estimated per month, the ordinary questions — which product, which city, which channel, which courier — start having answers that survive being acted on.

The companion guide explains why no analytics tool can do this for you, however well configured it is.

Written by Markazi Panel, which does the arithmetic in this guide for you — see a dashboard with a month of data in it, or ask anything at hello@markazipanel.com.

Read next