Partial COD: How Much Advance Actually Works — and What Asking Costs You
Rajesh7 min read
Collect about 10% of AOV as advance. At ₹1,500 AOV it cuts COD RTO from 28% to 12%, costs about 7% of COD checkouts, and nets roughly ₹69,000 a month at 10,000 orders.
Collect about 10% of order value as advance. In Profitbox360's client data at ₹1,500 AOV, a ₹150 advance cuts COD RTO from 28% to 12%. Asking costs about 7% of COD checkouts. Net result: roughly ₹69,000 a month at 10,000 orders. Here is the full math, and the point where it stops working.
The numbers here come from 50+ Indian D2C brands and roughly 156,000 shipped orders analysed by Profitbox360 between January and July 2026 — COD-heavy brands at ₹1,200–1,800 AOV.
What is full COD actually costing you every month?#
At 10,000 monthly orders with 55% COD, the bill is about ₹4.2 lakh a month in RTO costs alone. That is before counting the ad money that bought those orders. This number is the budget for every fix in this article.
The chain: 10,000 orders × 55% COD = 5,500 COD orders. At 28% RTO, 1,540 come back. Each return costs ₹275 — forward shipping, return shipping, COD fee, packaging, warehouse time. So 1,540 × ₹275 = ₹4,23,500 a month.
Add the wasted ad spend on those orders and each RTO costs about ₹425. That takes the monthly loss to ₹6.5 lakh. The full cost stack is broken down in what one RTO actually costs.
Why so large? A COD buyer has committed nothing. Refusing the parcel at the door costs them zero. Partial COD exists to change exactly that.
How much advance should you collect — and why does 10% work?#
Ten percent of AOV. About ₹150 on a ₹1,500 order. In Profitbox360's client work, that advance takes COD RTO from 28% down to 12%. Bigger advances add friction faster than they add commitment. Smaller ones change nothing.
The ₹150 is not there to cover your loss. It is there to change the buyer's behaviour. Once some money has left their account, refusing at the door becomes rare. Doorstep refusal is the single largest cause of RTO in Profitbox360's data, and the advance attacks exactly that.
On 5,500 COD orders: returns fall from 1,540 to 660. That is 880 saved returns × ₹275 = ₹2,42,000 a month recovered.
Why not 20% or 30%? Because the advance's job is done once the buyer has money in the order. Past that, a bigger advance feels like prepaid to the buyer, and you lose the COD crowd. And the conversion cost in the next section grows past where the math holds.
What does asking for an advance cost you in conversion?#
About 7% of COD checkouts. Some buyers who would have placed a COD order with nothing paid upfront will leave when asked for ₹150. At 5,500 monthly COD checkouts, that is roughly 385 lost orders. Real margin, not a rounding error.
Each lost order takes its profit with it: 385 × ₹450 margin = ₹1,73,250 a month. Tool vendors selling partial COD do not put this number in the pitch. It is the reason "just add partial COD" is not automatic good advice.
Two things soften it. Some of those abandoners are the same low-intent buyers who would have refused at the door anyway. Losing them at checkout is cheaper than losing them after two shipping legs. And the drop depends on execution: a one-tap UPI advance loses fewer buyers than a clunky card form. Profitbox360 still budgets the full 7%. If the math only works with the best-case number, it does not work.
Does partial COD pay at your volume? The net math#
Yes, at these numbers. Saved RTO cost ₹2,42,000, minus lost-order margin ₹1,73,250 = ₹68,750 net per month at 10,000 orders. Per COD order: ₹44 saved against ₹31.50 lost.
| Side | Calculation | Per COD order |
|---|---|---|
| RTO cost saved | 16 points of RTO drop × ₹275 | ₹44.00 |
| Margin lost to friction | 7% conversion drop × ₹450 margin | ₹31.50 |
| Net | +₹12.50 |
The decision rule: partial COD pays when (your RTO drop × your cost per RTO) is bigger than (your conversion drop × your margin per order). At these numbers, the breakeven conversion drop is ₹44 ÷ ₹450 = 9.8%. If asking for an advance costs you more than about 10% of COD checkouts, the math flips against you. Fix the checkout first, then adopt the policy.
Note who this equation rewards: high-RTO brands. The 16-point drop is what makes the saved side big. That is exactly the point of the last question.
When should you not use partial COD?#
Skip it when your COD RTO is already under about 15%. Skip it above ₹3,000 AOV, where a bigger advance or prepaid works better. Skip it when your checkout already runs hot with friction. Partial COD treats one disease: high refusal-driven RTO.
- Low RTO. At 15% COD RTO, an advance might take you to 8%. The saving is 7 points × ₹275 = ₹19.25 per order. The friction cost is still ₹31.50. Healthy brands lose money on partial COD.
- High ticket. Above roughly ₹3,000, Profitbox360's client policies move to a 10–20% advance or prepaid-preferred. At that order value, one RTO costs too much to leave to a ₹150 commitment. Between ₹1,500 and ₹3,000, advance plus verification is the standard play. Below ₹1,500, full COD with verification usually wins.
- Too much friction already. If checkout already asks for OTP and app installs, an advance on top multiplies abandonment. Fix one thing at a time. Do not stack them.
If the advance keeps failing, the other lever is paying buyers to prepay instead of charging them to COD: the prepaid discount math.
FAQ#
Can I run partial COD on Shopify, Razorpay or Cashfree? Yes. All three support advance collection, natively or through checkout apps. The policy design matters far more than the tool: how much advance, on which orders.
Does partial COD remove RTO completely? No. It removes refusal-driven RTO. Address failures and courier misses survive the advance. That is why client brands land at 12%, not zero.
Should the advance be a percentage or a flat amount? Flat, said in rupees, computed as about 10% of your AOV. "Pay ₹150 now, rest on delivery" converts better than "pay 10% now." A concrete number decides faster.
What if a customer refuses to pay any advance? Offer full prepaid with a small incentive, or plain COD with verification if the order is under your cap. If a buyer refuses even ₹150 on a high-value order, that order was probably coming back anyway.