COD and RTO
How to cut COD RTO losses: OTP confirmation, part payment, and what actually works
Updated · Written by the TeraCart team
To cut COD returns, confirm the buyer before you ship and make a no-show cost them something. In practice that means an OTP check on COD orders, a small online deposit that the courier subtracts from the amount it collects, a cap on COD order value, a COD fee, and turning COD off for buyers who have refused parcels before. TeraCart has each of these: OTP confirmation and part payment on every plan, and Profit Shield, which uses refusal history across TeraCart stores, on Pro and Max.
Why COD orders come back
RTO means return to origin: the courier cannot deliver, or the buyer refuses, and the parcel comes back. The buyer may have changed their mind, been unreachable, given a wrong address or phone number, or ordered on impulse because paying nothing felt free. Each return costs you the outward freight, the return freight, usually a COD handling charge, the ad spend that won the order and sometimes damaged stock.
So the aim is fewer wasted shipments, not fewer COD orders. COD brings buyers who would not pay online, and you want to keep them while filtering out the orders unlikely to be accepted.
Step 1: measure before you change anything
Open Home and read the COD and returns card. It splits your orders into prepaid and COD and shows your RTO rate, including parcels the courier lost, for the dates you choose. The Customers list adds an RTO rate for each buyer: yellow above 10% and red above 30%, which also flags the customer. On Pro, the RTO heatmap shows which pincodes and states return most.
Write the numbers down. Change one control at a time for a few weeks, so you can tell which one moved them.
The controls, and where they are
| Control | What it does | Plan | Where |
|---|---|---|---|
| COD fee | Adds a flat amount to COD orders. | Every plan | Settings, Payments and shipping |
| Max COD order value | Orders above the amount must pay online. | Every plan | Settings, Payments and shipping |
| Prepaid discount | A flat amount off for paying online. Checkout shows Save ₹X with prepaid. | Every plan | Settings, Payments and shipping |
| Part payment | A fixed deposit paid online, the rest on delivery. | Every plan, with PayU | Settings, Payments and shipping |
| COD OTP | The buyer verifies their mobile number by SMS before the order is placed. | Every plan | Settings, Checkout |
| Block high-risk COD | Turns COD off for flagged buyers and risky pincodes. | Pro and Max | Settings, Fraud protection |
| WhatsApp COD reminder | Tells the buyer the amount to keep ready when the parcel is out for delivery. | Pro and Max | WhatsApp settings |
OTP confirmation
In Settings, then Checkout, you choose Off, Smart risk, COD OTP or Every order OTP. COD OTP asks the buyer to verify their mobile number before a COD order is placed. Smart risk asks only when the shared refusal check flags the buyer, so it needs Pro. TeraCart checks this on the server, so a buyer cannot skip it. The code is six digits, lasts five minutes and goes by SMS.
An OTP stops orders placed with a wrong number or someone else's number. It does not make a buyer who is willing to refuse accept the parcel, so it works best with a deposit. After you switch it on, place a test COD order on your own store to see exactly what your shoppers see.
Part payment
Part payment, also called partial COD, takes a deposit online and leaves the balance for delivery. It needs COD switched on, Partial COD switched on and a PayU account, because Razorpay does not support it yet. You set one fixed deposit amount for the store, and an order at or below that amount cannot use it. The buyer pays the deposit, and the courier is told to collect only the balance.
A buyer who has already paid something has a reason to accept the parcel. If a parcel still returns, TeraCart does not refund or keep the deposit for you. You refund it from the order page, up to the amount paid, so say in your terms whether the deposit is refundable.
Repeat refusers: Profit Shield on Pro and Max
When a buyer refuses a parcel, TeraCart records it against their customer profile and flags them above a 30% refusal rate. Profit Shield is the Home card that reports the results. The switches behind it are Block high-risk COD orders and Network fraud checks, in Settings, Fraud protection. With blocking on, a flagged buyer is offered prepaid only, and TeraCart also checks a shared list of refusal signals from other TeraCart stores. New entries in that list hold keyed hashes of phone numbers and emails, plus pincodes, not the readable values, and you never see which store reported a buyer.
A blocked buyer sees that cash on delivery is not available for the order and can pay online instead. Home then shows how many risky COD orders were stopped and how many buyers paid online instead, with a rupee figure labelled as an estimate. A Monday report summarises the week by email, and by WhatsApp if you turn that on.
Shipping and tracking
With Shiprocket connected, COD orders sync every few minutes, and checkout offers COD only in pincodes where a COD courier serves. Couriers are ranked by price, speed and reliability. Return statuses come from Shiprocket's tracking. Delhivery and DTDC send no such updates, so mark a lost parcel yourself with Mark as lost by courier. Lost parcels count against your profit, never against the buyer.
What is not there yet
- A minimum order value for COD, or scoring of how good an address looks.
- A WhatsApp message that asks the buyer to reply YES to confirm a COD order.
- Automatic refund or forfeit of the deposit when a parcel returns.
- A working NDR queue fed by the courier. The screen exists, but it is not filled automatically.
No single control removes RTO, and we have no measured results from TeraCart stores to quote. Treat any platform that promises one percentage for every brand with caution.
Questions people ask
What is RTO in ecommerce?
RTO stands for return to origin. A parcel that cannot be delivered, or that the buyer refuses, goes back to the seller, who pays for the trip each way. It is most common on cash on delivery orders.
Does OTP confirmation reduce COD returns?
It removes orders placed with a wrong or borrowed phone number. It cannot stop a real buyer who later changes their mind, so pair it with a deposit and a cap on COD order value.
Which TeraCart plan do I need?
The Free plan includes the COD fee, the order cap, the prepaid discount, part payment and COD OTP. Pro and Max add blocking of high-risk COD orders, the shared refusal check, WhatsApp reminders and the RTO heatmap.
Can I take a part payment with Razorpay?
Not yet. Part payment works through PayU only today. Razorpay works for ordinary prepaid orders, and a Razorpay store can still use the other COD controls in this guide.
Will a buyer know they were blocked from COD?
They see that cash on delivery is not available for the order and are asked to pay online. They are not told why, and they can still complete the purchase prepaid.
How do I find my RTO rate?
Open Home and read the COD and returns card for the dates you want. The Customers list shows each buyer's own rate, so you can see who the returns come from. See also GST invoices for online stores for the paperwork side.