Recovering Wrong RTO Deductions from Couriers

Wrong RTO deductions hide in every courier invoice: phantom attempts, duplicate charges, RTO on delivered orders. How to find them and claim them back.

Omkar Kamble12 min readRTOReconciliationD2C IndiaCourier DisputesEcommerce Operations
Recovering Wrong RTO Deductions from Couriers

Open this article in your favourite assistant

Get an instant summary, or save it as a source your AI can cite later.

Key takeaways
  • RTO charges are billed on courier scan data, not on whether the courier did the work. Nobody checks the two against each other unless you do.
  • Five patterns cover almost every wrong deduction: too few attempts, RTO on a delivered order, the same RTO charged twice, a return leg re-rated heavier than the forward leg, and RTO Delivered that never arrived.
  • Most dispute windows run about 7 days from the event or invoice date, so a monthly reconciliation finds the money after it is unclaimable.
  • The audit is one join: RTO charge list against full scan history against your own order and inward records.
  • Three attempts is the standard commitment at Delhivery, Bluedart, Ekart and Xpressbees. One out-for-delivery scan followed by RTO is a service failure you can contest.
  • Scanning returns at the inward desk opens the largest claim category, because without it you cannot prove a return never arrived.

Your November invoice lands. RTO freight, 1,140 shipments, ₹94,200. You know your RTO rate is high because you sell fashion on COD in Tier 2, so you approve it and move on.

Then a customer messages on Instagram asking where her order is. You check the AWB. It went out for delivery at 4:47 pm, and at 4:53 pm the courier logged "customer not available, RTO initiated". Six minutes. She was home. Her phone shows no missed call.

You paid forward freight on that order. You paid return freight on it. You lost the sale, you lost the customer, and you paid twice for the privilege. It sat inside a line item you approved without looking, because the invoice does not say "we never knocked". It says "RTO freight: ₹82".

Brands spend months on address validation and COD confirmation to bring the RTO rate down, which is the right work. But the RTO orders that do happen carry charges nobody audits, and a share of them should never have been raised. Return freight for attempts that did not happen. RTO charged on orders that delivered. The same return charged twice. Returns marked delivered that are still sitting in a hub somewhere.

None of that is a pricing negotiation. It is billing for a service that was not performed, and it is recoverable if you find it inside the window.


What a wrong RTO deduction is

Start with the boundary, because it decides which fights you can win.

Wrong RTO deduction

An RTO freight or handling charge billed to you when the courier did not perform the contracted return service correctly. It is a service or billing failure, not a disagreement about your RTO rate or the rate card.

A customer who genuinely refused the parcel is a real RTO. You owe that return freight, and arguing it wastes the ops hours you need for claims that will actually land.

A courier that logged three attempts in eleven minutes without leaving the hub is a different thing. So is a return charge on an order your customer received and kept. Those are contract failures, and couriers reverse them once you show the AWB and the scan timestamps.

These charges survive for a structural reason. RTO billing runs off the courier's own scan data. The rider marks an NDR, the system takes it as fact, initiates the return and generates the charge. No independent check exists anywhere in that chain, and the only party holding both the scan log and the ground truth from the customer is you.

India's RTO rate runs roughly 25 to 35% against a global benchmark near 8 to 12%, with Indian D2C brands between 18 and 32% by category and payment mix. Return freight is a per-shipment cost, so at those volumes even a low error rate compounds into a real number by March.


What an RTO charge is made of

Most brands read one figure on the invoice and assume it is the return freight. It usually is not. A single RTO generates several separate charges, and they do not all land on the same invoice or in the same week.

Line itemWhat it coversCommon failure
Forward freightWarehouse to customer, billed regardless of outcomeCorrect, but check the billed weight and zone
RTO freightThe return journey back to your pickup addressBilled at a different weight or zone than the forward leg
RTO handlingHub handling on the return leg, where the contract has oneApplied on shipments that never actually moved
COD feeCollection fee on the forward legNot reversed when nothing was collected
COD reversalRemoval of the COD credit you were expectingCorrect on a real RTO, wrong on a delivered order

Shiprocket splits this explicitly: forward charges cover warehouse to customer, RTO charges cover the return journey, and the COD amount is reversed when a shipment goes to RTO. Their documentation also says RTO freight charges are reversed if the RTO status is later revoked, which is the hook for one of the claim types below.

Two details cause most of the confusion. RTO freight is priced on weight and zone exactly like forward freight, so a re-weigh on the return leg changes what you pay. And the RTO charge often lands on a later invoice than the forward charge for the same AWB, which is why AWB-level matching beats reading invoice totals. Our courier invoice audit guide covers the other charge types hiding on the same bill.

!

If your invoice shows one blended RTO figure with no AWB breakdown, ask for AWB-level billing before you do anything else. A charge you cannot trace to a shipment is a charge you cannot dispute, and every courier and aggregator can produce that file on request.


The five wrong deductions

Every wrong RTO charge I have seen at Indian D2C brands falls into one of five patterns, and each has a signature in the data. That is what makes the audit a filter rather than a manual read.

1. Phantom RTO: no real attempt

The rider never reached the address. The scan log shows out for delivery, an NDR reason code within minutes, then RTO initiated. This happens for ordinary reasons rather than conspiracy: riders carry more parcels than they can clear, far-flung pincodes eat the day, and clearing a shipment as attempted is faster than attempting it.

The signature is timing. Attempts logged within a few minutes of the out-for-delivery scan, multiple attempts on consecutive days at suspiciously similar clock times, or an attempt at 9:12 pm when the rider's shift ended at 7. Catching these at the NDR stage is a separate job, covered in our NDR recovery playbook, but the billing claim survives even after the order is lost.

2. RTO charged on an order that delivered

Your Shopify order says fulfilled, nobody has complained, and an RTO freight charge is sitting on that AWB anyway. Usually a status that flipped: marked RTO, delivered on a reattempt, and the charge raised in between never reversed. Of the five, this is the cleanest to win, because your order status plus the delivery scan settles it in one screenshot.

3. Duplicate RTO charges

The same AWB carries an RTO charge on two invoice lines, usually from reprocessing or a manual adjustment posted on top of an automated one. Nobody catches this by reading invoices, because the lines are weeks apart. A duplicate check on AWB across a rolling three-month charge export finds them in seconds.

4. Return leg re-rated heavier than the forward leg

You shipped 800 g and were billed 800 g going out. The return comes back billed at 1.5 kg, because it was re-weighed at a different hub on a different scale and that reading is billed independently.

The parcel did not gain weight in transit, so any RTO weight above the forward billed weight is a discrepancy on its face. It uses the same evidence as an ordinary weight dispute, so if you already photograph parcels at despatch you can file these today. Our guide to weight dispute evidence couriers accept covers the format.

5. RTO Delivered, but nothing arrived

The system says the return was handed back at your pickup address. Your warehouse never received it. Your claim here is the freight charge plus the value of the goods, which makes it the highest-value category of the five.

It is also the one most brands cannot claim, because proving a negative needs a record. If nobody scans returns at the inward desk, you have no evidence the parcel did not arrive and the claim dies on documentation.

You cannot claim for a return that never came back unless you can prove the ones that did.

The recovery playbook

This runs weekly and takes one person about ninety minutes once it is set up. Weekly is not a preference, it is the constraint. Windows are counted in days, so a monthly close guarantees you find the money after it stops being claimable.

  1. Export the RTO charge list

    Pull every AWB carrying an RTO freight charge, an RTO handling fee or a return-leg adjustment for the last seven days. On Shiprocket or Shipway this is the passbook or billing export. On a direct Delhivery or Bluedart contract it is the invoice annexure.

  2. Join it to full scan history

    For each of those AWBs, pull the complete tracking event log: every scan, timestamp, location and NDR reason code. Not the current status, the full log. Most brands skip this step, and it is where four of the five patterns become visible.

  3. Filter for too few attempts

    Count out-for-delivery scans per AWB. Anything charged as RTO with fewer than three attempts goes in the exception pile, unless the NDR reason is a legitimate single-attempt terminator like customer refused. Also flag any two attempts logged less than two hours apart.

  4. Flag attempts with impossible timing

    Sort by the gap between the out-for-delivery scan and the NDR scan. Anything under fifteen minutes is worth a look. Under five is very hard for a courier to defend, because the rider would have had to reach the address, wait, and fail, inside five minutes of leaving the hub.

  5. Cross-check against order status

    Match the RTO charge list to your Shopify orders on AWB. Any RTO charge on an order marked delivered, cancelled before despatch, or already refunded through a separate return flow is a billing error. This filter usually produces the first recovered rupees, because it needs no argument.

  6. Reconcile against physical inward

    Scan every returned parcel at the goods-in desk and record AWB, arrival date and received weight. Then find every AWB marked RTO Delivered with no inward scan four working days later. A phone scanner app and a shared sheet is enough to start.

  7. Compare RTO weight to forward weight

    Flag every AWB where the RTO billed weight exceeds the forward billed weight. Bundle these with your despatch weight photos and the forward invoice line, and file them through the weight discrepancy process rather than the RTO process. Different queue, different team, better hit rate.

  8. Sort into claim types, then file

    Split the exceptions into the five categories before you touch a portal. Each type needs a different evidence pack and lands with a different resolution team. One ticket listing forty mixed exceptions gets one generic rejection. Forty typed tickets get worked.

What to put in the claim

A claim that reads like a complaint gets triaged as a complaint. State the AWB, the charge, the contradiction, and the amount you want back.

Example claim

AWB: 1234567890123  |  Invoice: INV-2026-08-114, line 47  |  Charge: RTO freight ₹82

Issue: RTO raised after a single delivery attempt, against the three-attempt commitment. Scan log shows out for delivery 12 Aug 16:47, NDR "customer not available" 12 Aug 16:53. No further attempts logged. Customer confirms she was at the delivery address that afternoon and received no call.

Requested: Reversal of ₹82 RTO freight and the attempt evidence for the 16:53 scan, specifically rider GPS coordinates and the call record.

Asking for the attempt evidence matters as much as asking for the money. Couriers do capture rider GPS and call logs. When they cannot produce them for a specific timestamp, the attempt is unproven and the charge has no basis.

Do
  • File on the portal so there is a dated ticket record
  • One AWB or one claim type per ticket
  • Quote exact scan timestamps you are contesting
  • Ask for rider GPS and call records by AWB
  • Track to credit note, not to ticket closure
Don't
  • Chase claims over WhatsApp with the account manager
  • Bundle forty mixed exceptions into one ticket
  • Dispute genuine RTOs to pad the claim volume
  • Wait for the month-end close to start looking
  • Assume a resolved ticket means the money came back

That last one catches people out. Reversals arrive as credit lines on the next invoice or as wallet credits, never as refunds to your bank. Keep an open claims register with AWB, amount claimed, date filed and date credited, and reconcile it against the following invoice. A claim you won and never checked is a claim you lost. The mechanics are in our comparison of automated and manual courier reconciliation.

When a claim gets rejected, escalate with a pattern rather than a single AWB. One six-minute attempt is anecdote. Forty AWBs on the same route, rider ID and hub, all with sub-ten-minute attempt-to-NDR gaps, is a service quality conversation your account manager has to take seriously, and it is what reduces next month's phantom RTOs rather than only recovering last month's money.


Dispute windows and channels

Windows are why most of this money is never recovered. They are short, they vary, and several count from the invoice date rather than the event date, which shortens them further.

Charge typeTypical windowWhere to file
RTO with too few attempts~7 days from status marked verify per contractCourier or aggregator portal ticket
RTO on a delivered order~7 days from charge dateBilling dispute on the portal
Duplicate RTO chargeNext invoice cycleBilling team, quote both invoice lines
RTO weight re-rated~7 days from invoice dateWeight discrepancy process
RTO Delivered, never receivedTrace of 3–7 working days, then claimLost-in-transit claim

Treat those figures as a planning baseline, not as your contract. Pull your signed rate card and write the real windows next to each charge type, because negotiated terms differ from published policy.

One practical consequence: if your window is seven days from the invoice date and your courier invoices weekly, a weekly audit is the only cadence that fits inside it at all.


What good looks like

Two numbers tell you whether this is working, and neither is about money.

<7 days
from charge appearing to claim filed
100%
of returns scanned at inward
<2%
of RTO Delivered AWBs with no inward match
3
attempts logged before any RTO you accept

Time to claim decides everything else. A brand filing inside seven days recovers what a brand filing in thirty days cannot, however good the evidence is. Inward scan coverage is the second, and below full coverage you cannot tell whether returns are arriving at all. Most brands find a real inventory gap the first month they turn it on.

For the trend line, Unicommerce and Shipway tracked RTO rates falling from around 39% at the November 2025 festive peak to roughly 21% by February 2026 across 410 million shipments and 6,000 brands. COD orders returned at 58% during that festive quarter against under 15% for prepaid. If the rate itself is your problem, start with our breakdown of the true cost of RTO and the COD to prepaid conversion playbook instead.

Be sceptical of any published recovery-rate benchmark. Outcomes depend on your contract, courier mix and evidence quality, and I have not seen a credible industry figure for RTO claim success in India. Track your own claim-to-credit ratio by charge type for a quarter and use that.


Frequently asked questions

What is a wrong RTO deduction?

An RTO freight or handling charge billed when the courier did not perform the contracted return service correctly. The five cases are RTO without the committed attempts, RTO on an order that delivered, the same RTO charged twice, a return leg re-rated heavier than the forward leg, and an RTO marked delivered that never reached your warehouse.

What is a phantom RTO?

A shipment marked attempted and returned when no attempt happened at the address. The signature is an out-for-delivery scan followed within minutes by an NDR reason such as customer not available, usually with no call. You pay forward freight, return freight, and lose the sale.

Can I dispute an RTO charge if there is no proof of delivery attempt?

Yes. Ask for the rider GPS coordinates at the attempt timestamp, the call record and the field agent remark, quoting the AWB and scan time. If the courier cannot produce them, the attempt is unproven and the charge has no basis. A general complaint gets nowhere, a timestamped request gets worked.

How many delivery attempts must a courier make before RTO?

Three is standard across Delhivery, Bluedart, Ekart and Xpressbees, with some allowing a fourth if you supply updated customer details. Check your signed rate card, because negotiated contracts sometimes differ from published policy.

How long do I have to dispute an RTO charge in India?

Most aggregators work on roughly seven days from the date the status was marked or the charge appeared, and some contracts count from the invoice date instead, which is shorter. Reconcile monthly and almost every window has closed before you open the file.

What happens if an RTO shows delivered but never arrives at my warehouse?

File a lost-in-transit claim on the return leg, quoting the RTO Delivered timestamp and your inward register showing no matching receipt. Couriers typically trace for three to seven working days before declaring a shipment lost. Without an inward scan record the claim fails on documentation, not merit.

Why is my RTO charged at a higher weight than the forward shipment?

The return leg is re-weighed at a different hub and billed on that reading, independent of the forward booking. The parcel did not gain weight in transit, so file it with your despatch weight photo and the forward invoice line through the weight discrepancy process.

Do couriers reverse RTO charges when the shipment is later delivered?

They are meant to. Shiprocket states RTO freight charges are reversed when the RTO status is revoked. It is not always automatic, so treat every RTO charge sitting on a delivered AWB as a claim to file.

Should I dispute with the courier or with my aggregator?

Whoever raised the charge. Through Shiprocket, Pickrr or Shipway the charge sits in their wallet or invoice and the claim goes on their portal. On a direct Delhivery or Bluedart contract, use that courier's portal. Filing in the wrong place burns the window.

Is chasing wrong RTO deductions worth the ops time?

At 4,000 orders a month with a 25% RTO rate you pay return freight on around 1,000 shipments. At roughly ₹60 to ₹120 each, even a small error rate compounds into lakhs a year. The work is a weekly export and a set of filters, not a headcount.


The short version

RTO charges are billed on the courier's scan data, and the only party holding both that data and what actually happened is you.

Start with the two filters that need no judgement: RTO charges on delivered orders, and duplicate RTO charges on the same AWB. Both are pure billing errors, both take an afternoon to find in a spreadsheet, and both usually get reversed without an argument. That first credit note buys you the internal case for the rest.

Then add inward scanning, because it opens the highest-value claim category and you cannot backfill it later. And move the audit to weekly, because a seven day window and a monthly close are mathematically incompatible.

At a few hundred orders a month this is a spreadsheet job. Past a few thousand, pulling scan logs by hand every week stops being realistic, and that is where OneflowAI takes over the matching and files claims against the window. The filters are the same either way.

Pull your last invoice. Filter for RTO charges on orders your customers actually received. Whatever comes back is money you already paid for nothing.

Sources
  1. Unicommerce, India D2C Report 2026 (RTO trend, COD versus prepaid return rates, 410M shipments across 6,000+ brands)
  2. Shiprocket Support, Forward charges and RTO charges explained
  3. Delhivery One Help Centre, B2C Courier Returns and RTO
  4. HillTeck, True cost of RTO for Indian D2C brands (per-order RTO cost range)
  5. Shipmozo, Delivered but not received: seller guide 2026 (dispute timelines, evidence requests)
  6. Shipmozo, Lost shipment claim process in India (internal trace duration)
Omkar Kamble Founder, OneflowAI

Omkar Kamble builds the courier billing audit and recovery engine behind OneflowAI, so these guides come from real courier billing data, not theory. Figures we cannot independently verify are flagged.

Published 25 August 2026 Last reviewed 25 August 2026 12 min read

See what you’re owed.

We’ll audit your marketplace settlements and shipping claims, then show you the recoverable number. The audit is free.