Your real RTO cost per COD order is your total monthly return-to-origin cost divided by every COD order you shipped, not just the ones that came back. That one number tells you how much each COD order carries in RTO risk on average, and it is the figure to compare against anything you might spend to reduce RTO: a confirmation call, a prepaid discount or a COD fee.
This post walks through the cost of a single RTO, then the per-order number, with a worksheet you can fill in from your courier invoices.
Skip the arithmetic: the free COD and RTO calculator takes your order volume, COD share, RTO rate and shipping rates and shows your monthly RTO loss.
Step 1: List every cost inside one RTO
An RTO is more than "shipping both ways". Go through your last month's invoices and note each line:
| Cost | Where to find it | Notes |
|---|---|---|
| Forward shipping (COD) | Courier invoice | Often a little higher than prepaid because of COD handling |
| Return shipping | Courier invoice | Some couriers bill it at the forward rate, some at a separate RTO rate |
| Packaging | Your packaging cost | Outer box, tape, filler; usually not reusable after a return |
| Damaged or unsellable product | Returns inspection | Use a share, e.g. 1 in 10 returns can't be resold |
| Handling time | Your team | Receiving, checking, restocking, updating the order |
| Payment gateway or COD fees | Courier or aggregator | Usually only on delivered COD orders; check whether any apply to RTO |
Leave out the margin you would have earned on the sale. It matters, but it is an opportunity cost, not cash spent. Mixing the two inflates every fix and makes decisions harder.
Step 2: Add up the cost of one RTO
Add the cash items. For damage, multiply the average product cost by the share of returns you can't resell. For handling, estimate minutes per return and multiply by your team's hourly cost.
Worked example (illustrative)
The figures below are round, assumed numbers to show the method. Use your own invoices.
| Item | Assumed amount |
|---|---|
| Forward shipping, COD | ₹70 |
| Return shipping | ₹60 |
| Packaging | ₹20 |
| Damage: product cost ₹400, 1 in 10 returns unsellable | ₹40 |
| Handling: about 10 minutes of staff time | ₹10 |
| Cost of one RTO | ₹200 |
Step 3: Spread it across all COD orders
Now count how many COD orders you shipped and how many came back.
RTO cost per COD order = (number of RTOs × cost of one RTO) ÷ COD orders shipped
Continuing the illustrative example: a store ships 1,000 COD orders in a month and 200 come back.
- Total RTO cost: 200 × ₹200 = ₹40,000
- RTO cost per COD order: ₹40,000 ÷ 1,000 = ₹40
So every COD order, including the ones that are delivered, carries about ₹40 of RTO cost on average. That is the budget any fix has to beat.
Step 4: Use the number
To judge a confirmation call
A confirmation call is placed on every COD order (or every unconfirmed one), so compare its cost per order against the RTO cost per order it can remove. In the example, if confirmation calls cancel enough unwanted orders to bring RTOs down from 200 to 180, you save 20 × ₹200 = ₹4,000 a month. If the calls cost less than that, they pay for themselves. Ask for pricing at your volume; Edesy's COD order confirmation calls are pay as you go from a prepaid wallet.
The cancellations caught before dispatch are the measurable part: every order a customer cancels on the call is an order you never packed or shipped. Count those for a month and you have a real number, not an estimate.
To judge a prepaid discount
A prepaid discount costs you the discount on every order that switches, including customers who would never have returned the parcel. Compare the discount cost with the RTO cost those switched orders would have carried. See prepaid discount vs COD fee vs confirmation call.
To decide which orders to hold
If the RTO cost of one order is close to its margin, an unreachable customer on that product is a bad bet. Some stores ship unreachable orders below a certain value and hold the rest for a manual check.
Step 5: Split by segment
One store-wide number hides where the cost sits. Recalculate RTO cost per COD order by:
- Product or category: heavy or fragile products cost more per return
- Pincode or region: return rates vary by area
- Order value band: high-value COD orders may behave differently from low-value ones
- Traffic source: orders from some campaigns may return more than others
- New vs repeat customers: repeat COD buyers often have a delivery history you can check
You'll usually find a few segments carry most of the cost. Those are where confirmation calls, prepaid nudges or order rules earn their keep first.
Common mistakes
- Dividing by RTOs instead of all COD orders. That gives the cost of one RTO, not the cost per order. Both are useful; don't mix them up.
- Counting the lost margin as cash. It isn't spent money; keep it in a separate column.
- Forgetting packaging and damage. Shipping is the biggest line, but not the only one.
- Using last year's courier rates. Rates change; use the last full month of invoices.
- Treating customer returns as RTO. A return after delivery is a different problem with different fixes. Track it separately.
A one-page worksheet
Copy this into a spreadsheet and fill it in monthly:
| Line | Your number |
|---|---|
| A. COD orders shipped this month | |
| B. RTOs this month | |
| C. Forward shipping per COD order | |
| D. Return shipping per RTO | |
| E. Packaging per order | |
| F. Average product cost | |
| G. Share of returns that can't be resold | |
| H. Handling cost per return | |
| Cost of one RTO = C + D + E + (F × G) + H | |
| Total RTO cost = B × cost of one RTO | |
| RTO cost per COD order = total ÷ A | |
| RTO rate = B ÷ A |
Or enter the same numbers in the COD and RTO calculator, which does the arithmetic and lets you try different RTO rates side by side.
Next step
Once you know the number, the question becomes which fix removes the most of it for the least cost. For most stores the first fix is catching unwanted orders before dispatch. Start with the COD and RTO calculator, then see how COD order confirmation calls fit into that budget.