Return to Origin (RTO): What It Means and How Online Sellers Reduce It

By Alva Chew 6 min read Updated November 11, 2026

Return to origin (RTO) is when a courier can’t deliver a parcel and sends it back to the seller. It usually happens because the buyer refused a cash on delivery parcel, the address was wrong or incomplete, or the buyer couldn’t be reached. RTO costs you shipping out and back, ties up stock and loses the sale. Most RTO can be prevented by talking to the buyer before you ship and again when a delivery attempt fails.

How RTO happens

  1. You ship the order.
  2. The courier attempts delivery and fails: nobody home, wrong address, phone not answered, or the buyer refuses the parcel.
  3. The courier records the failed attempt, often called a non-delivery report or NDR, and may try again.
  4. After the attempts allowed by the courier, or if the buyer refuses outright, the parcel is marked RTO and goes back to your warehouse.

The number of attempts, how long the courier holds the parcel and what you’re charged for the return all depend on your courier and your contract. Check them, because they decide how much each RTO costs you.

RTO vs a customer return

A customer return happens after delivery: the buyer received the item and sends it back under your return policy. RTO happens before delivery: the buyer never received it. The causes are different, and so are the fixes. Returns are about product fit and expectations. RTO is about intent, address and contact. See returns and exchanges for the other kind.

What RTO costs a seller

  • Forward shipping you have already paid.
  • Return shipping, often charged by the courier.
  • COD fees, where the courier charges them for the attempt.
  • Packaging, and damage to items that travel twice.
  • Stock that is unavailable to sell for the days or weeks it’s in transit.
  • The sale itself, and the time spent chasing the courier.

The usual causes

  • Unconfirmed cash on delivery orders. With nothing paid, some buyers change their mind, never meant to buy, or ordered by mistake. See cash on delivery for online sellers.
  • Incomplete or wrong addresses. No unit number, no landmark, a typo in the postcode.
  • Unreachable buyers. The courier calls once, the buyer is at work, the parcel goes back.
  • Long delivery times. The buyer waited, bought elsewhere and refused yours.
  • Fake orders. See handling fake orders.

Practical steps to reduce RTO

Before you ship

  1. Confirm COD orders in chat. Send the items, total and address and ask the buyer to confirm. Ship only confirmed orders. See confirming COD orders before shipping.
  2. Check the address. Ask for the unit number or a landmark when it’s missing, and read the address back.
  3. Offer to pay now. A payment link in the same chat turns some COD orders into prepaid ones, which rarely come back.

While it’s in transit

  1. Send the tracking link and an out-for-delivery message, so the buyer expects the courier. See out for delivery templates.
  2. Remind COD buyers to have the cash ready, with the exact amount.

When a delivery attempt fails

  1. Message the buyer straight away. Ask whether they still want the parcel, confirm the address and phone number, and ask for a better time or day.
  2. Pass the answer to the courier to reattempt, through the courier’s system or API where it allows it, or through your team.
  3. Cancel early if the buyer doesn’t want it, so the parcel comes back sooner and the stock is sellable again.

How AeroChat helps cut RTO

AeroChat runs the conversations that prevent RTO. It confirms COD orders with your approved WhatsApp template and acts on the reply, fixes incomplete addresses before packing, offers a payment link for buyers who’d rather pay now, and sends tracking and delivery updates to customers who opted in. When your courier or shipping tool reports a failed attempt by webhook, AeroChat can message the buyer, collect a new time or corrected address, and pass it to your team or the courier’s system. POS Malaysia is built into AeroChat. Other couriers and shipping tools, such as Shiprocket or Delhivery, connect through their APIs where they offer the data.

AeroChat: Hi Arjun, the courier tried to deliver your order #6604 today but couldn’t reach you (example). Do you still want it? If yes, tell me a good day and time, and confirm your address: 22 Lake View Road.

Customer: Yes sorry, I was at work. Tomorrow after 6pm please. It’s flat 4B.

AeroChat: Thanks. I’ve noted delivery tomorrow after 6pm to Flat 4B, 22 Lake View Road, and passed it to the courier. Please keep US$42 ready for cash on delivery (example).

Behind the reply: the failed attempt came in by webhook from the shipping tool. AeroChat updated the order note and sent the reattempt request with the corrected address.

Copy this into AeroChat

When our shipping tool reports a failed delivery attempt, message the customer with our approved template delivery_failed (example), the order number and the address we have. If they still want the parcel, ask for a good day and time and any missing address details, such as the unit number, and add them to the order as a note. Then send the reattempt request with the new details. If they say they don’t want it, tell them we’ll cancel it and tag the order “RTO requested” (example). If there’s no reply within 24 hours (example), tag the order “NDR no reply” for our team to call.

WhatsApp requires the customer’s opt-in for these messages, and an approved template outside the 24-hour customer service window. See WhatsApp message templates.

Questions

What is a good RTO rate?

It varies a lot by market, product and the share of cash on delivery orders. Track your own rate by courier, region and payment method, and watch the trend after each change you make.

Does prepaid stop RTO?

It cuts refusals, because the buyer has paid. Address and contact problems can still cause RTO on prepaid orders, so keep confirming addresses.

Can AeroChat talk to my courier directly?

Where the courier or shipping tool has a public API, yes. AeroChat reads tracking and failed attempts and sends reattempt details where the API supports it. POS Malaysia is built in.

Is RTO the same as a failed delivery?

A failed delivery is one attempt that didn’t work. RTO is the final result when the parcel goes back to you. Acting after the first failed attempt is how you stop it becoming RTO.

Catch failed deliveries before they come back

Start your 7-day free trial. No credit card needed. Connect WhatsApp, your store and your courier, and paste the COD and failed-delivery recipes.

Start your 7-day free trial

On Shopify? Install AeroChat from the Shopify App Store.