In much of the world COD is the default, not a fallback. What refusals really cost, how to cut them, and how to get your money out of the courier on time.
Sailo team12 min read
You list a ₱1,450 skincare set, someone orders it at eleven at night, the rider knocks two days later and nobody answers the door. The parcel comes back. You've paid freight twice, the courier's handling fee once, and earned nothing.
Cash on delivery is the price of selling to people who don't yet trust you, and in India, Nigeria, the Philippines, Indonesia and Vietnam it isn't optional. It's the default expectation. A shop with no COD option in Metro Manila reads the way a shop with no card option reads in Manchester: not cheaper, just suspicious.
So the question isn't whether to offer it. It's how to offer it without the refusals eating the margin. GoKwik, an Indian checkout company, puts India's average return-to-origin rate at roughly 23% across data from more than 180 million shoppers, with COD orders near 26% against under 2% for prepaid (their published figures, read in August 2026). One parcel in four going out and coming straight back is the problem you're actually managing.
Sellers price a refusal as "the delivery fee". It's five things, and only the first one is obvious.
| Cost | On a ₱1,450 order | Why people miss it |
|---|---|---|
| Forward freight | ₱80 to ₱150 | You budgeted for this one |
| Return freight | Usually the same again | Often billed separately, weeks later |
| COD handling fee | A percentage or a flat charge, taken whether or not you're paid | Deducted from remittance, so it's invisible |
| Packaging and the hours | ₱30 of materials, plus the time to pack and re-shelve | Free until you count it |
| Stock locked up | Four to ten days out of circulation | The real killer at low stock counts |
On a ₱1,450 basket with maybe ₱500 of margin, one refusal wipes out the profit on two or three successful orders. At a 25% refusal rate you're running the business to break even and calling it growth.
The other number nobody mentions: parcels come back opened. Not always, not usually, but often enough that "returned" and "resellable" are different words. Anything with a seal, anything cosmetic, anything perishable, budget for a proportion of returns you can't sell again.
Almost none of it is fraud. The order of frequency, roughly, from sellers who track it:
Look at that list again. Four of the six are solved by talking to the buyer within an hour of the order, before you print a label.
This is the highest-return habit in COD selling and it takes ninety seconds per order.
Message the buyer as soon as the order lands. Not a marketing template, a short human message that requires a reply:
Hi Maria, thanks for the order. Confirming: 1x Calamansi brightening set, ₱1,450, cash on delivery to 14 Mabini St, Brgy San Roque, Quezon City. Please have ₱1,450 ready. Reply YES and I'll ship today. The rider will call from an unfamiliar number, so please pick up.
Four jobs in one message. It confirms the buyer meant it, confirms the address, warns them about the cash, and pre-authorises the unknown number that would otherwise become a failed delivery.
Ship on YES. Hold anything unanswered for a day, follow up once, and cancel it after that. A cancelled order costs you nothing. A shipped one that comes back costs you the whole table above.
If most of your orders arrive through a chat app anyway, this is already where you're standing, and the message can go out in the same thread as the order. The mechanics of running that cleanly are in how to take orders on WhatsApp.
A ₱1,450 order paid with a ₱1,000 note and a ₱500 note needs ₱50 back. If the rider has no ₱50, one of three things happens: the buyer rounds up and resents you, the rider pays out of pocket and resents you, or the parcel goes back.
Two fixes, and you can use both.
Price to round numbers on COD. ₱1,450 becomes ₱1,500 with free delivery, or ₱1,400 with a ₱100 delivery fee. Buyers barely notice. Riders notice enormously. This works in every COD market: ₹999, ₦15,000, Rp150.000.
Say it in the delivery notes. Sailo's cash on delivery rail is a single free-text notes box that the buyer sees before they order, and this is exactly what it's for:
We deliver across Metro Manila in 2 to 3 days. Please have the exact amount ready. Riders don't carry change for ₱1,000 notes.
If you deliver yourself, carry a float. Not a token one. Enough to break the largest note your average order will attract, in your pocket, every single time, from the first delivery. The order you lose to "sorry, I only have a thousand" is an order you already paid to reach.
The parcel leaving your hands is not the end of the transaction. It's the start of a second one, between you and the courier, and it needs the same discipline as a bank transfer.
Agree these before you send a single parcel:
Then record the tracking number against the order on the day it ships. Every time. A COD order with no tracking number written down is an order you cannot argue about later, and you will need to argue about roughly one in fifty.
One email on pricing, photographs, delivery and getting paid. No pitch, no filler.
Here's the part that separates people who make money from COD and people who merely do a lot of it.
Mark a COD order paid on the day the courier's money reaches your account, not the day the parcel was delivered. Those are different days, sometimes two weeks apart, and the gap is where orders quietly go missing. A courier's remittance statement is a list of amounts, and it is not always complete. Delivered parcels drop off it. Handling fees get applied to orders that were never delivered. It's rarely malice and it's routinely wrong.
So run the same daily match you'd run on a bank transfer. When the remittance lands, tick off each order against the statement. Anything delivered more than one full cycle ago with no money against it goes on a list, and that list goes to the courier once a week with tracking numbers attached. Sellers who do this get paid. Sellers who trust the total get paid slightly less than they should, forever, and never find out.
The reconciliation habit is identical whichever rail you're on, and the full routine is in how to know a bank transfer actually arrived. Substitute "courier remittance statement" for "bank statement" and nothing else changes.
There's a value above which pure COD stops making sense, and it's lower than most sellers think. Work it out like this: if a refusal costs you forward freight, return freight, handling and packaging, and your refusal rate is one in five, then every order carries a fifth of that cost as an expected loss. Once that expected loss is a serious slice of your margin, take a deposit.
A deposit doesn't have to cover the item. It has to cover the cost of a refusal, and it has to be big enough that abandoning the parcel hurts a little. ₱300 on a ₱4,500 order does both.
How to run it without a payment gateway: take the deposit on whatever rail your buyers already use, GCash in the Philippines, UPI in India, a bank transfer in Nigeria, and collect the balance in cash at the door. The buyer's mental model is still "I pay when it arrives", because that's where the ₱4,200 goes. You've simply moved the cost of a refusal onto the person who decides whether to refuse.
Say it plainly at checkout:
Orders over ₱3,000 need a ₱300 deposit to confirm. The balance is cash on delivery. The deposit comes off the total, and it's refundable if we can't deliver to your area.
The refusal rate on deposit orders drops hard, because the buyer has committed something. That's the entire mechanism.
Some things are worth simply refusing.
Joy sells a calamansi brightening set at ₱1,450 through Instagram and a Sailo shop. Around 60 orders a month, almost all COD, delivered by a national courier at ₱95 each way with a COD handling fee taken out of remittance.
Her first quarter: 60 orders, 17 refused. That's 28%. On the 43 that landed she made roughly ₱500 each, so ₱21,500. The 17 refusals cost her ₱190 in freight each plus about ₱30 of packaging, so ₱3,740, and four of them came back with the seal broken and went in the bin at ₱950 of cost. Real profit somewhere near ₱13,900 on ₱62,000 of gross orders, and she was working most evenings.
Three changes, in this order:
Refusals dropped to five in the following month. Not zero. Five out of 62 is 8%, and the confirmation message alone did most of it. The unglamorous truth is that the fix was not a payment technology. It was asking people whether they meant it.
The COD rail exists, it costs nothing, and it gives you one free-text delivery notes field that the buyer reads before ordering. The order arrives with the address, the items and the total, and it sits at unpaid until you mark it paid yourself.
That's the whole of it. No COD fee calculation, no deposit collection, no automatic confirmation message, no courier integration, no remittance reconciliation. Sailo never touches COD money and takes nothing from it, which also means it can tell you nothing about it. The confirming, the chasing and the courier arguments are yours. If you want a platform that manages COD risk scoring and remittance for you, those exist in India and the Philippines and they charge for it, and above a few hundred orders a month they're probably worth it.
Write your delivery notes properly today: the areas you serve, the days it takes, and the sentence about exact cash. Then send the confirmation message on the very next order that comes in, and keep sending it for two weeks. Count the refusals before and after. If the number doesn't move, the problem is upstream in your product page rather than in your payment method, and that's a different fix.
If you're still deciding which rails to run at all, how to take payment as a small seller compares them on cost and on what they leave you to do. And before you assume prepaid orders are automatically better, check what the processing actually takes out of a small basket in how payment fees eat a small order.
Written by
Sailo team
One link, your whole shop.
One email on pricing, photographs, delivery and getting paid. No pitch, no filler.
Sailo just gives it a front door — so people can browse, compare and see prices before they message you.
Get your linkFree while in beta · No card required