How to reduce RTO and COD losses in Indian D2C stores

RTO is a COD parcel that comes back unpaid. How Indian D2C brands can reduce RTO, work out true profit per order, and where TeraCart's checkout helps.

To reduce RTO, an Indian D2C brand has to make risky cash-on-delivery orders prove themselves before they ship, give buyers a reason to pay online, and count every returned parcel at its real cost. TeraCart is an online store platform for D2C brands selling in India that builds those controls into checkout: COD fees and limits, OTP confirmation, part-paid COD, a refusal network shared across TeraCart stores, Shiprocket shipping and GST invoices.

What RTO is, and why COD makes it worse

RTO means return to origin. The courier could not deliver the parcel, so it travels back to your warehouse. On a cash-on-delivery order the buyer has paid nothing yet, so refusing the parcel at the door costs them nothing. It costs you.

Here is what one returned COD parcel takes from you:

  • The courier charge to send it.
  • The courier charge to bring it back.
  • Stock that sits in a van instead of on your shelf.
  • The product itself, if the courier loses the parcel on the way.

The trap is timing. A sales report counts the order when it is placed. The loss arrives later, when the parcel comes back, and unless something links the two, the order still looks like a sale.

How to work out true profit per order

Revenue tells you what buyers ordered. Profit per order tells you what you kept. You can run this in a spreadsheet today:

  1. Start with what the buyer paid, after discounts and refunds.
  2. Subtract the product cost: your unit cost times the quantity.
  3. Subtract what the courier charges you for the parcel. Use your real courier bill, not the shipping fee the buyer paid, which is zero on a free-shipping order and makes profit look better than it is.
  4. Subtract the payment gateway fee on prepaid orders.
  5. If the parcel came back, the order earned nothing. The product goes back into stock, so its cost drops out, but you pay the courier twice: out and back. If the parcel was lost, add the product cost too.

TeraCart uses this same method. It calculates profit for each order and adds the results up on Home as real profit, "after products, courier, payment fees and returns." When the actual freight isn't reported, it uses the average courier cost per parcel you enter in settings. A fuller real profit dashboard that also takes off ad spend is marked "coming soon" on the TeraCart site.

Ways to reduce RTO on COD orders

Plenty of buyers still prefer to pay at the door, so the goal is to keep COD for good buyers and make it harder for risky ones. Each step below is general practice, followed by how TeraCart handles it.

Confirm COD orders before they ship

A wrong or fake phone number can't pass a one-time password check, so that order never reaches a courier. TeraCart's checkout settings include a COD OTP mode: shoppers choose COD, then verify an OTP before the order is placed. OTP checks, deposits, COD fees and COD limits are TeraCart's COD controls, and they are on every plan.

Take part of the money upfront

A buyer who has already paid something has a reason to accept the parcel. TeraCart's part-paid COD takes a deposit online with PayU and collects the rest on delivery.

Make prepaid the cheaper choice

Price the two options so that paying online wins. In TeraCart you can set a prepaid discount, which shows a "Save ₹X with prepaid" line at checkout, and an optional COD fee that is added only when the buyer picks cash on delivery.

Cap COD by order value

Set a ceiling above which buyers must pay online. Above that amount, TeraCart's checkout tells the buyer COD is not available and asks for prepaid payment.

Block COD where it keeps failing

Look at your RTO by pincode and by customer, then act on the worst. TeraCart's customer list shows each buyer's orders, total spend and COD return rate. On Pro and Max, its fraud protection settings add blocked postal codes and blocked phone prefixes, plus a switch to block high-risk COD orders automatically.

Check the buyer's record at other stores

A buyer who keeps refusing parcels from other brands is a risk to yours too, but one store can't see that history. TeraCart's Profit Shield, on Pro and Max, can turn off COD or ask for an OTP when a buyer has refused deliveries or been reported for fraud at other TeraCart stores. Each RTO that Shiprocket reports is recorded on the customer and shared with that network, with no manual entry. Home shows what the shield stopped, and a Monday report sums it up.

Pick the courier and keep the buyer informed

A buyer who knows when the parcel is coming is easier to reach at the door. TeraCart ranks couriers by price, speed and reliability and keeps Shiprocket labels, pickups and tracking inside the orders page on every plan. On Pro and Max, WhatsApp adds order updates and cart recovery messages from the same dashboard.

A checklist for choosing a platform when most orders are COD

If most of your orders are COD, ask these before you pick a store platform:

  • Can you set COD rules yourself: an OTP, a deposit, a fee and a maximum order value?
  • Can you block COD for specific pincodes, or for buyers with a refusal history?
  • Do courier updates, including RTOs, flow back into your orders without manual entry?
  • Does the profit figure treat an RTO as two-way shipping, not just a cancelled sale?
  • Does the platform take a percentage of your sales on top of your gateway's fee?
  • Are GST invoices built in?

On TeraCart, every order gets a GST invoice with CGST, SGST and IGST split correctly, HSN codes, invoice numbers and a PDF, on every plan.

What "0% transaction fees" means on TeraCart

TeraCart takes 0% of your sales on every plan when you connect your own Razorpay or PayU account, and the money goes straight to you. Your payment provider still charges its usual processing fee. If you use Tera Pay, TeraCart's optional built-in payments, it charges 1.75% per payment instead of a separate provider.

Buyers can pay by card, net banking and wallets through Razorpay or PayU, plus UPI, COD and part-paid COD. Stripe checkout with Apple Pay and Google Pay is listed as coming soon.

There is a free plan with no card and no time limit, and every new store starts with 14 days of Pro, so you can test Profit Shield before you pay. After the trial, you pick a plan or the store moves to the free plan. In rupees, Pro is ₹2,999 a month on the TeraCart pricing page.

TeraCart is built by Tera Labs. If you want COD controls, true profit and Shiprocket shipping in one dashboard, you can start a free TeraCart store.

Questions people ask

What does RTO mean in e-commerce?

RTO stands for return to origin: the courier couldn't deliver the parcel, so it goes back to the seller. The seller usually pays shipping both ways and, on a COD order, earns nothing.

Why is RTO higher on COD orders?

A COD buyer hasn't paid anything when the parcel arrives, so refusing it costs them nothing. A prepaid buyer has already paid and has a reason to accept delivery.

How do I calculate the RTO loss on an order?

Add the forward and return courier charges for that parcel, plus the product cost if the courier lost it. Count the revenue as zero, because a COD buyer never paid.

Does TeraCart charge a commission on sales?

Not when you use your own Razorpay or PayU account: TeraCart takes 0% on every plan, and your gateway charges its usual fee. Tera Pay, TeraCart's optional built-in payments, charges 1.75% per payment.

Can I turn off COD for certain pincodes on TeraCart?

Yes, on Pro and Max. You add postal codes or phone prefixes to the blocklists in fraud protection settings, and checkout asks those buyers to pay online instead.