In this article
Cash on delivery (COD) is still the payment method many buyers in Bangladesh trust most, because they pay only when the parcel is in their hands. For the seller it is the riskiest method: you pay for the product, the packaging and the courier before you receive any money, and if the customer refuses the parcel you usually pay for the return trip as well. You do not have to stop offering COD. You have to manage it as a process.
From my own work: In the stores I work with, most refused parcels trace back to orders that were shipped without a real confirmation. Adding one confirmation step before dispatch usually does more for COD losses than any change in advertising.
What a failed COD order really costs
A returned parcel is not a cancelled sale; it is a loss. Count all of it:
- Delivery charge to the customer, and often a return charge back to you.
- Packaging that cannot be reused, and sometimes a damaged product.
- Stock locked inside the courier network for days, unavailable to real buyers.
- The advertising money spent to get that order.
- Staff time for packing, calling and re-stocking.
This is why the return rate belongs in your pricing: the orders that are delivered have to pay for the ones that come back.
1. Collect better information at checkout
- Make the phone number mandatory and validate its format (for Bangladesh, an 11-digit mobile number).
- Ask for district, area and a detailed address with a landmark. Vague addresses are a common cause of failed delivery.
- Show the delivery charge and the expected delivery time before the customer confirms. Surprises at the door lead to refusals, and unclear costs also cause cart abandonment.
- Limit COD where it makes sense. In WooCommerce the built-in COD method can be restricted to specific shipping methods (Cash on Delivery documentation), so you can offer it inside your main delivery zones only.
2. Confirm every order before dispatch
Treat a new COD order as a request, not as a sale, until the customer confirms it. Pick one method and apply it to every order.
| Method | Good for | Limits |
|---|---|---|
| Phone call | High-value orders, first-time buyers | Takes staff time; customers may not pick up |
| OTP at checkout | Blocking fake or mistyped numbers automatically | Needs an SMS gateway; adds one step to checkout |
| WhatsApp message | Fast confirmation with an order summary | Customer must use WhatsApp and agree to be contacted |
A practical routine: send the order summary on WhatsApp or SMS immediately, call if there is no reply within a few hours, try again the next morning, and cancel after a fixed number of attempts. Record the result on the order with a note or a custom status so the packing team ships only confirmed orders (managing orders in WooCommerce). If you automate messages, follow the WhatsApp Business policy and message only customers who opted in. My guide to WhatsApp Business for e-commerce covers the setup.
3. Take the delivery charge in advance when the risk is high
Asking the customer to pay the delivery charge through a mobile wallet such as bKash or Nagad before dispatch is the strongest filter against fake orders: someone who has paid even a small amount is far more likely to accept the parcel. It also reduces conversions, so use it selectively:
- Orders above a value you set.
- Deliveries outside your main city or to areas with a poor delivery record.
- Customers who refused a parcel before.
- Custom-made or pre-order products that cannot be resold easily.
Explain the reason politely on the product page and in the confirmation message, and deduct the advance from the amount payable on delivery.
4. Screen risky orders
- Search your order history by phone number before confirming. Keep an internal list of numbers with repeated refusals.
- Be careful with several orders from one number in a short time, very large quantities and incomplete addresses.
- Some courier dashboards show a customer’s delivery history; use it if yours does.
- Do not publish or share customer blacklists publicly. Keep the data internal and use it only to decide on advance payment.
5. Reduce refusals at the door
- Ship fast. The longer the wait, the more buyers change their mind or buy elsewhere.
- Send tracking and a reminder with the exact amount to keep ready.
- Match the listing. Accurate photos, sizes and colours prevent “this is not what I ordered”.
- Pack well and include an invoice.
- State your policy on opening the parcel before payment, and on exchange and return, so the rider and the customer do not argue.
6. Reconcile courier payments every week
Couriers collect the cash and pay you later, after deducting delivery charges and any COD fee. Small mismatches add up, so check every payout:
- Export the courier’s payment statement for the period.
- Match each consignment ID to your order number.
- Compare the collected amount with the order total, and the deducted charges with the agreed rates.
- List parcels marked delivered but not yet paid, and parcels marked returned but not yet received.
- Raise disputes with the courier inside their claim window.
A simple sheet is enough to start:
| Order | Consignment ID | COD amount | Status | Charges | Paid on |
|---|---|---|---|---|---|
| #1052 | from courier | 1,250 | Delivered | Delivery + COD fee | Payout date |
| #1053 | from courier | 890 | Returned | Delivery + return | – |
Numbers to watch
- Confirmation rate: confirmed orders divided by orders placed.
- Delivery success rate: delivered parcels divided by dispatched parcels, by courier and by district.
- Return reasons: unreachable, refused, wrong product, late delivery. Each reason has a different fix.
- Outstanding payout: money the courier holds for you today.
New to selling online? Read how to start an e-commerce business in Bangladesh for the wider setup.
Need help with this on your own site or business?
I build and secure WordPress sites, web apps and AI automations end to end, in Bangla and English: a free discovery call, a written scope with a fixed quote, a focused first version, then testing, deployment and monitoring.
See the portfolio and the AI agent services, or tell me what you need.
FAQ
Should I stop offering cash on delivery?
Usually not. Many buyers still prefer it. Keep COD, confirm every order, and ask for an advance only on risky orders.
Is asking for the delivery charge in advance bad for sales?
It lowers the number of orders but removes many fake ones. Test it on high-value or outside-city orders first and compare delivered orders, not placed orders.
Can I automate COD confirmation?
Yes. OTP plugins, SMS gateways and WhatsApp automation can confirm orders and update the order status, with a phone call as the fallback.











