The real cost of a failed COD order
A failed cash-on-delivery order costs more than the return shipping. Here is the full cost stack, with a worked example for an Indian D2C brand.
When a COD order comes back undelivered, the courier invoice shows an RTO charge. That line is real, but it is only part of what the failed order cost. A full cost model has six layers; the courier invoice rarely shows them all.
1. Forward shipping. You paid to ship the parcel out. That money is gone whether the customer accepts the parcel or not. Aggregator rate cards put a typical forward leg at roughly ₹36 to ₹45 for a light parcel, more by weight and zone.
2. Return shipping. Couriers charge the return leg at or near the forward rate. So freight alone for one failed order is often ₹70 to ₹90 before anything else is counted. Check your own rate card: some plans charge the RTO leg differently, and some add a separate RTO handling fee.
3. Packaging. The box, filler, tape, label and any inserts are spent. Some packaging comes back in a state you cannot reuse.
4. COD handling fees. Many shipping plans charge a COD fee or a percentage of the order value per COD shipment. Read your rate card for whether it applies to returned orders, not just delivered ones.
5. Damage and write-offs. A parcel that spends two to three weeks in transit and warehouses comes back worse for it. Some units come back crushed, opened, or past the point where you would resell them. Food, beauty and anything with a shelf life suffers most.
6. The costs that never appear on an invoice. Two real costs hide outside the courier bill. The first is an acquisition allocation: you paid for the ad or the influencer post that won this order, and a failed order means that spend produced no revenue. Count it as an allocated cost of the failure, not cash you get back: cutting RTO does not return the budget, it makes the same budget produce more delivered orders. The second is blocked stock: the unit sat in a box on a truck for one to three weeks instead of sitting on your shelf ready to sell to someone else.
Take a brand shipping 1,000 COD orders a month with a 25% RTO rate, which is close to what Shipway reported across its FY25 shipment data for non-prepaid orders. That is 250 failed orders a month.
Assume a conservative ₹200 all-in cost per failed order: ₹80 freight both ways, ₹25 packaging, ₹20 COD and handling fees, ₹30 average damage and write-off, and ₹45 toward blocked inventory and the acquisition allocation. Your own numbers will differ; the point is to count every layer, not to borrow ours.
250 failed orders × ₹200 = ₹50,000 a month. That is ₹6 lakh a year, for a brand doing roughly ₹10 to ₹15 lakh of monthly revenue. For many brands this number is the difference between a thin profit and none.
The invoice will show perhaps ₹20,000 of that. The rest is real but invisible unless you go looking for it.
You cannot fix what you have not priced. Brands that treat RTO as a logistics line item underreact, because the visible cost looks small. Brands that price the full stack usually find that a few points of RTO are worth more than most marketing optimisations they are running.
The first step is not a tool or a fix. It is one honest number: what did failed COD orders actually cost us last quarter?