Cash on Delivery in Malaysia: The Real Economics
COD is not free money — it costs you a handling fee on every collected parcel, a return leg on every refused one, and weeks of delay before the cash reaches your bank. Work out the number that matters: how many extra orders COD must bring in before it pays for itself. For most Malaysian sellers that figure is around 20%.
Cash on delivery still converts buyers who will not put their card into a website they have never heard of. It is also the most expensive way to take money in Malaysian e-commerce, and the cost is almost entirely invisible until you sit down and add it up: a handling fee on every parcel the courier collects for, a two-way shipping charge on every parcel the customer refuses, and a wait of days or weeks before the cash lands in your account. The honest question is not "should I offer COD" — it is how many extra orders COD has to bring in before it pays for itself. This guide works that number out.
The four costs, and why three of them hide
Only the first one appears on an invoice with the word "COD" next to it.
| Cost | How it shows up | Who usually misses it |
|---|---|---|
| COD handling fee | A charge on the collected amount, normally a percentage with a minimum ringgit floor. It is on your courier rate card. | Nobody — this one is visible. |
| The return leg | A refused or undeliverable parcel is shipped twice: out to the customer and back to you. You pay both. | Almost everyone. Sellers budget one shipping cost per order. |
| Cash-flow delay | The courier collects cash from the buyer, then remits it to you on a settlement cycle. Your stock left the warehouse weeks before the money arrives. | Sellers who look at profit and never at cash. |
| Reconciliation labour | Somebody has to match each remittance line to each order and chase the ones that do not match. | Owner-operators, who do it themselves at 11pm and never cost their own time. |
There is a fifth that is not a cost so much as a hazard: COD orders are trivially easy to place and free to abandon. A prepaid order is a commitment. A COD order is an intention. That difference is the whole reason refusal rates on COD are higher than on prepaid — and it is also why COD attracts a small amount of outright prank ordering.
The number that actually decides it
Compare COD against prepaid on the same product, then ask how much extra volume COD needs to break even. Here is the full arithmetic with a worked set of figures. Substitute your own — the method is the point, not these inputs.
Assumptions used below:
- 100 orders a month, average order value RM80
- Product cost RM45 per unit, so RM35 gross margin before shipping
- Outbound shipping RM8 per parcel, return leg also RM8
- COD handling fee 1.5% of the amount collected
- 12 of the 100 COD parcels are refused or undeliverable
- Prepaid alternative: payment gateway cost 2%, no refusals
COD scenario
| Line | Working | Amount |
|---|---|---|
| Delivered orders | 100 − 12 | 88 |
| Gross margin | 88 × RM35 | RM3,080.00 |
| Outbound shipping (all 100 attempted) | 100 × RM8 | −RM800.00 |
| Return legs | 12 × RM8 | −RM96.00 |
| COD handling fee | 1.5% × (88 × RM80) | −RM105.60 |
| Net | RM2,078.40 |
Prepaid scenario
| Line | Working | Amount |
|---|---|---|
| Gross margin | 100 × RM35 | RM3,500.00 |
| Outbound shipping | 100 × RM8 | −RM800.00 |
| Gateway cost | 2% × (100 × RM80) | −RM160.00 |
| Net | RM2,540.00 |
Prepaid nets RM25.40 per order attempted. COD nets RM20.78 per order attempted. To earn the same RM2,540, COD has to attract about 122 orders instead of 100 — roughly 22% more volume.
That is the decision, stated properly: does offering COD bring me at least a fifth more orders than prepaid alone? For a new brand selling to first-time buyers outside the major cities, it very often does. For an established brand with repeat customers, it very often does not — and those sellers are quietly paying a fifth of their margin for buyers who would have paid up front anyway.
Run your own version with our profit margin calculator for the per-unit side and the shipping cost calculator for real courier rates by postcode and weight.
Three things that change the maths in your favour
1. Confirm the order before you dispatch
The single highest-return habit in Malaysian COD. Send one WhatsApp message before the parcel leaves: item, price, delivery address, and a request to reply to confirm. Orders that get no reply are the ones that get refused. Holding an unconfirmed order for 24 hours costs you nothing; shipping it costs you two legs.
This also catches the address problems that cause a different failure — see our guide on reducing failed deliveries.
2. Cap COD by value, not by customer
Set a ringgit ceiling above which COD is simply not offered. The loss on a refused RM60 parcel is two shipping legs. The loss on a refused RM900 parcel is two shipping legs plus a high-value item touring the country and coming back scuffed. Most sellers who have been burned end up somewhere between RM200 and RM400 — pick a figure where a refusal is annoying rather than painful.
3. Make prepaid the more attractive option, not the only option
Rather than removing COD, price it honestly. Offer free or discounted shipping on prepaid orders and charge the real shipping cost on COD. You are not penalising anyone — you are passing on a cost that genuinely exists. Sellers who do this typically watch the prepaid share climb without losing the COD customers who truly need it. Making prepaid effortless helps too; see optimising checkout and payments.
When to refuse COD outright
Treat these as defaults, not rules, and override them for customers you know:
- Made-to-order or personalised items. A refused custom parcel is unsellable stock, not returned stock.
- Fragile or perishable goods. The return leg is where damage happens.
- Anything above your value ceiling (see above).
- Repeat refusers. Keep the list. One refusal is life; three is a pattern.
- Addresses that fail your own sanity check — no unit number, no landmark, a phone number that does not connect.
- Destinations where your courier's COD remittance is slow or coverage is patchy. Ask before you promise.
Reconciling COD without losing your evening
The failure mode is not fraud. It is drift: small mismatches nobody investigates until the gap is four figures.
- Export the courier's remittance statement every settlement cycle, in the same rhythm every time. Weekly beats monthly — a small discrepancy is findable, a large one is archaeology.
- Match on consignment note number, never on amount. Two orders of RM80 will match each other perfectly and be wrong.
- Keep a simple three-column log: consignment note, amount expected, amount received. Anything unmatched after one full cycle gets escalated to the courier in writing.
- Book the COD handling fee as an expense, not as a discount on revenue. Netting it off hides the true cost and makes the comparison above impossible. Our accounting basics guide covers how to categorise it.
- Reconcile before you restock. Deciding what to buy from cash that has not arrived yet is how profitable businesses run out of money.
Frequently asked questions
Is COD losing ground in Malaysia?
Digital payment adoption has grown steadily, and prepaid share on most stores has risen with it — but COD has not disappeared, particularly for first-time buyers, older customers, and buyers outside major urban areas. Treat it as a segment you serve deliberately rather than a legacy option you keep out of habit.
Who pays the return shipping when a customer refuses a COD parcel?
You do, in nearly every courier arrangement. The customer has no contract with the courier and nothing to charge against — they simply did not accept the parcel. Build the two-way cost into your pricing before you offer COD, not after your first bad month.
Can I charge a COD surcharge to the customer?
Yes, and it is common. Show it as a clearly labelled line at checkout rather than folding it into the item price. Under the Consumer Protection (Electronic Trade Transactions) Regulations 2024, online sellers must disclose the full price payable — a surcharge that only appears at the door is both a compliance problem and the fastest way to earn a refusal.
How long until COD money actually reaches me?
It depends entirely on the courier's remittance cycle, and the range across Malaysian couriers is wide. Ask for the specific cycle in writing before you sign, and treat it as a cash-flow input rather than a detail — it determines how much working capital you need to hold. Our cash flow guide covers sizing that buffer.
Does offering COD improve conversion enough to be worth it?
That is exactly the 22% question above, and it is answerable with your own data: run COD for a defined period, record attempted orders and refusals, then compare net per attempted order against your prepaid figure. Nobody else's benchmark can settle it for you, because it depends on who your buyers are and where they live.
Sources: Consumer Protection (Electronic Trade Transactions) Regulations 2024 (in force 25 December 2024, revoking the 2012 Regulations), administered by the Ministry of Domestic Trade and Cost of Living (KPDN). COD handling fees, remittance cycles and return-leg charges are commercial terms that differ by courier and by contract, and change without notice — every figure in the worked example above is an illustration of the method, not a quoted rate. Get your own numbers from your courier's current rate card before making a decision.
Set a price that covers cost, fees and profit — see your gross margin and markup instantly.