Most customers in Bangladesh still want to see the parcel before they pay. That is why cash on delivery (COD) is the default payment method for almost every Facebook page and online shop here: the customer pays the delivery person, the courier collects the money, and some days later it lands in your bKash or bank account — minus fees. COD wins you orders, but it also hides costs, slows your cash and lets anyone order without risking a taka.
This guide shows how cash on delivery really works from your side, what one COD order costs you with taka examples, what a return does to your profit, and a simple system to keep COD without letting it eat your margin.
What cash on delivery means for your shop
With cash on delivery, you hand over the product before you are paid. Your courier acts as your cashier. The money moves in five steps:
- The order comes in — from your website, Messenger, WhatsApp or a phone call.
- You confirm and book the parcel with the courier, writing the amount to collect (the "COD amount").
- The rider delivers and collects that amount in cash (or sometimes by the customer's mobile wallet to the rider).
- The courier settles: it adds up what its riders collected for you, takes off its delivery fee and its COD charge, and pays you the rest in a payout.
- You check the payout against your parcels: which ones were delivered, which came back, and whether every taka arrived.
The important part is the gap between step 2 and step 4. You have already paid for the product, the packing and the booking, but you are paid only if the customer actually accepts the parcel — and only when the courier settles.
What one COD order really costs you
Let us follow one order through. All numbers below are examples to show the method. Your courier's delivery fee, COD charge and return charge will be different — take them from your own courier's rate card or agreement.
The order: a cotton kurti sold for ৳1,200. Delivery outside Dhaka. You charge the customer ৳120 for delivery.
| Line | Amount |
|---|---|
| Customer pays the rider (price + delivery charge) | ৳1,320 |
| Courier's delivery fee (example, outside Dhaka) | − ৳130 |
| COD charge (example: 1% of ৳1,320) | − ৳13 |
| Payout to you for this parcel | ৳1,177 |
| Product cost | − ৳550 |
| Packing (poly, tag, tape) | − ৳20 |
| Ad cost per order (your Facebook spend ÷ orders) | − ৳150 |
| Profit on a delivered order | ৳457 |
Two things stand out. First, the ৳120 you charge for delivery does not fully cover the ৳130 fee plus the COD charge — many sellers lose a little on every parcel without noticing. Second, ৳457 looks healthy, but it is the profit on a delivered order. COD shops also have returns.
If you have not yet worked out your own numbers line by line, our guide on how to calculate profit margin walks through it.
What a return costs under cash on delivery
When a COD customer refuses the parcel, you collect nothing — but you still pay. Using the same example:
| Cost of one returned parcel | Amount |
|---|---|
| Delivery fee (still charged by most couriers — check yours) | ৳130 |
| Return charge (example) | ৳65 |
| Packing that cannot be reused | ৳20 |
| Ad cost already spent on this order | ৳150 |
| Money lost on one return | ৳365 |
The product usually comes back, but sometimes damaged, late for the season or missing a part. Now look at 100 orders:
- 10% returns: 90 delivered × ৳457 = ৳41,130 profit, minus 10 returns × ৳365 = ৳3,650. You keep ৳37,480.
- 25% returns: 75 × ৳457 = ৳34,275, minus 25 × ৳365 = ৳9,125. You keep ৳25,150.
Same products, same ads, same work — and about ৳12,000 less in your pocket, just from the return rate. This is why the real skill in running a cash on delivery shop is not getting orders, it is getting delivered orders. Our post on how to reduce courier returns goes deeper on the delivery side.
Cash on delivery vs advance payment vs online payment
You do not have to choose one method for everyone. Most shops that do well mix them:
| Method | Good for you | Hard for you | Best used for |
|---|---|---|---|
| Full cash on delivery | Most customers say yes; easy to sell to first-time buyers | Fake and "just looking" orders, returns, money comes later | Normal orders from customers with a clean history |
| Delivery charge in advance (partial advance) | Customer has something at stake; your return loss is mostly covered | A few customers will not pay before seeing the product | New customers far from Dhaka, risky numbers, big orders |
| Full advance (bKash / Nagad send money) | No collection risk at all | Fewer orders; customer needs to trust you | Custom-made items, pre-orders, wholesale |
| Online payment gateway | Money confirmed before you ship; no TrxID checking by hand | Gateway fee; some customers do not like typing card or wallet details | Website orders, returning customers |
A practical rule many sellers use: COD by default, advance where the risk is high. The question is how you decide which orders are "high risk" — and that is where a system helps.
How to make cash on delivery safer: 8 steps
1. Confirm every order before you book
A short call or WhatsApp message before booking catches wrong numbers, joke orders and customers who changed their mind. Confirm the product, size, colour, full address and total amount out loud: "Your total is ৳1,320 including delivery, payable to the rider." Customers who hear the amount clearly refuse less often at the door.
2. Check the customer's delivery history
Before you book, check how often that phone number accepted or refused parcels in the past — at your shop and, if your courier or tool offers it, across other shops. A customer with six deliveries and no returns is very different from one with four returns in a row.
In eCommerce Autopilot, every order shows a coloured badge next to the phone number from the customer fraud check, and risky orders can ask "Advance taken?" before they go to the courier. Start free to try it on your own orders.
3. Ask for the delivery charge in advance on risky orders
For an amber or red customer, a first-time buyer in a far district, or an order above an amount you choose (for example ৳3,000), ask for the delivery charge first by bKash or Nagad. In our example that is ৳120 — it does not make the customer pay much, but it covers most of the ৳365 you would lose on a return, and people who pay something are far more likely to accept the parcel.
A friendly way to say it: "Apu, for orders outside Dhaka we take only the ৳120 delivery charge first. The rest, ৳1,200, you pay the rider after you see the kurti."
4. Make the product page and the chat answer the doubts
Many refusals come from surprise: the colour looked different, the size did not fit, the fabric was thinner than expected. Real photos, a size chart in centimetres or inches, fabric details and a clear return rule in the product description stop a lot of "I don't want it" at the door.
5. Set your delivery charges to cover the real cost
Look again at the first table. If your courier charges ৳130 plus a COD charge for outside Dhaka, charging the customer ৳120 means you pay the difference on every parcel. Either raise the delivery charge, or count the gap honestly in your product price. In eCommerce Autopilot you set these in delivery charges.
6. Book quickly, deliver quickly
The longer a COD parcel takes, the more time the customer has to change their mind or buy elsewhere. Try to book confirmed orders the same day, and keep the customer informed ("Your parcel was handed to the courier today, tracking code ...").
7. Check every courier payout against your parcels
This is the step most sellers skip. Once a week, take each payout and tick off every parcel in it: delivered amount, delivery fee, COD charge, returns. Look for parcels marked delivered with no money, wrong fees and returns that never came back to you. Small mistakes add up over hundreds of parcels. If you use Steadfast with eCommerce Autopilot, the courier payouts page lists each payout with the parcels in it.
8. Follow up every return within a day
When a parcel comes back, call the customer once more. Sometimes it was a wrong time or a family member who refused it, and the order can go out again. If the customer simply did not want it, mark the number so the next order from them asks for an advance.
A weekly cash on delivery checklist
Print this or keep it next to your desk:
| Done | Every week |
|---|---|
| ☐ | Every new order was confirmed by phone or WhatsApp before booking |
| ☐ | Risky customers were asked for the delivery charge in advance |
| ☐ | Every courier payout was matched parcel by parcel |
| ☐ | Delivered parcels with no money were raised with the courier |
| ☐ | Returned parcels were received back and checked |
| ☐ | Return rate for the week written down (returns ÷ parcels sent) |
| ☐ | Delivery charges still cover the courier's fee and COD charge |
| ☐ | Customers who refused without reason were marked for advance next time |
Write down one number every week: your return rate. If you sent 200 parcels and 30 came back, your return rate is 15%. When that number goes down, your profit goes up — even if your sales stay the same.
A worked month: before and after
Here is an example of a small shop that sends 300 COD parcels a month and makes the changes above. The figures are an illustration, not a promise — your results depend on your products and customers.
| Before | After | |
|---|---|---|
| Parcels sent | 300 | 300 |
| Return rate | 22% (66 returns) | 14% (42 returns) |
| Delivered orders × ৳457 | 234 × ৳457 = ৳1,06,938 | 258 × ৳457 = ৳1,17,906 |
| Return losses × ৳365 | 66 × ৳365 = ৳24,090 | 42 × ৳365 = ৳15,330 |
| Profit for the month | ৳82,848 | ৳1,02,576 |
The "after" column does not include any extra sales. The difference comes from confirming orders, asking risky customers for a small advance and checking payouts.
Common mistakes with cash on delivery
- Booking without confirming because "the customer seemed serious in the chat".
- Treating every customer the same, instead of asking advance only where the history is bad.
- Not counting the COD charge and delivery fee when setting prices.
- Waiting for the courier to tell you about missing payments instead of checking payouts yourself.
- Forgetting the ad cost of returned orders — the money spent to get that order is gone whether it is delivered or not.
Conclusion: keep COD, but run it like a system
Cash on delivery is not going away in Bangladesh, and it should not — it is how most customers are comfortable buying. The shops that make money with it treat COD as a system: confirm every order, look at the customer's history, take a small advance where the risk is real, set delivery charges that cover the true cost, and match every payout.
The one thing to do today: take last month's parcels, count how many came back, and work out your return rate. Then pick the riskiest 10% of tomorrow's orders and ask for the delivery charge in advance. That single habit protects more profit than most new ad campaigns earn.
