Skip to Content
Industry Solutions

Cash on delivery in Sri Lanka: confirm orders on WhatsApp and SMS to cut fake orders and returns

A WhatsApp-first confirmation flow with SMS fallback, templates in three languages and the cost per order

BBloomwire team6 November 202610 min read

To cut fake and refused cash on delivery (COD) orders, confirm every order before you book a courier. Send a WhatsApp utility template with Confirm and Cancel buttons, fall back to SMS if there is no reply, and ship only confirmed orders. Each WhatsApp confirmation costs about LKR 0.66 in Meta fees, and a transactional SMS costs LKR 0.50 on Bloomwire.

Updated 6 November 2026

Key takeaways
  • 52% of Sri Lankan online shoppers prefer cash on delivery, according to the Digital Outlook Sri Lanka 2025 report.
  • COD lets buyers refuse a parcel at the door, so every unconfirmed order is a risk to your courier budget.
  • A WhatsApp utility template with Confirm and Cancel buttons is the cheapest way to check an order.
  • Send an SMS with a confirm link when the customer has no WhatsApp or does not reply.
  • Book the courier only after the customer confirms.

Why COD orders fail in Sri Lanka

Cash on delivery is still the top choice for online shoppers here. The Digital Outlook Sri Lanka 2025 report, by APIDM and the University of Kelaniya, found that 52% of online shoppers prefer COD, up from 48% the year before. For mid-range beauty products, 70 to 80% of orders rely on COD, according to the same coverage.

52%of online shoppers prefer cash on deliveryDigital Outlook Sri Lanka 2025, via Daily Mirror
48%preferred COD the year beforeDigital Outlook Sri Lanka 2025, via Daily Mirror
70–80%of mid-range beauty orders rely on CODDaily Mirror
35%prefer debit or credit cardsDigital Outlook Sri Lanka 2025, via Daily Mirror

The same report notes that COD lets shoppers reject orders on delivery, which complicates returns for businesses. We have not found a published Sri Lankan figure for COD refusal or return rates, so measure your own. Common causes include:

  • Fake orders. Prank orders, made-up names or someone else's number.
  • Impulse orders. The buyer changes their mind before the rider arrives.
  • Duplicate orders. The same customer orders twice by mistake.
  • Wrong details. An incomplete address or a mistyped phone number.
  • Not at home. Nobody is there to pay when the rider calls.

Each failed parcel can cost you the courier fee both ways, packing, and stock held back from other buyers. A short confirmation step can catch many of these before you spend anything.

An online seller checking orders on her phone beside a laptop and stacked parcels
Confirm first, pack second. Photo: Rifki Kurniawan on Unsplash.

The confirmation flow

  1. Customer places an orderAt checkout, collect a mobile number and a tick box to receive order updates on WhatsApp. That is your opt-in.
  2. Send a WhatsApp confirmation within minutesUse an approved Utility template with the order number, items, COD amount and address. Add quick-reply buttons: Confirm, Change address and Cancel.
  3. Customer taps ConfirmYour system marks the order as confirmed. Only now do you pack it and book the courier.
  4. No reply after two hours? Send an SMSSend a transactional SMS with a short link to a confirm page. This reaches customers without WhatsApp too.
  5. Still no reply by the next morningCall once, or send one final reminder. If there is still no answer, hold or cancel the order under your published policy.
  6. Customer taps CancelRelease the stock straight away. You have spent cents, not a courier fee.
  7. Out for deliverySend a Utility message on the day: "Your order is out for delivery. Please keep LKR 6,450 ready." This cuts not-at-home failures.

Send confirmations during working hours. Orders placed late at night can get their message at 08:00 the next day.

COD order confirmation on WhatsApp

Meta classes a message as Utility when it is about a specific transaction the customer started and has no promotion in it. An order confirmation fits, so it costs US$0.0020 in Sri Lanka, about LKR 0.66. Keep offers and discount codes out of it, or Meta may treat it as Marketing at US$0.073.

Example: a Utility template with quick-reply buttons. The courier is booked only after "Confirm order". Illustration only.
UtilityEnglish
COD order confirmation
Hi {{1}}, thanks for your order {{2}}. Total: LKR {{3}}, cash on delivery. Deliver to: {{4}}. Please confirm so we can send it.
Buttons: Confirm order · Change address · Cancel
UtilitySinhala
ඇණවුම තහවුරු කිරීම
ආයුබෝවන් {{1}}, ඔබගේ ඇණවුම {{2}} ලැබුණා. මුළු මුදල රු. {{3}}, භාණ්ඩය ලැබෙන විට ගෙවන්න. ලිපිනය: {{4}}. කරුණාකර ඇණවුම තහවුරු කරන්න.
Buttons: තහවුරු කරන්න · ලිපිනය වෙනස් කරන්න · අවලංගු කරන්න
UtilityTamil
ஆர்டர் உறுதிப்படுத்தல்
வணக்கம் {{1}}, உங்கள் ஆர்டர் {{2}} கிடைத்தது. மொத்தம் ரூ. {{3}}, டெலிவரியின் போது பணம். முகவரி: {{4}}. தயவுசெய்து ஆர்டரை உறுதிப்படுத்தவும்.
Buttons: உறுதிப்படுத்து · முகவரியை மாற்று · ரத்து செய்
UtilityEnglish
Out for delivery
Hi {{1}}, your order {{2}} is out for delivery today. Please keep LKR {{3}} ready for the rider. Need to change something? Reply here.
Send on the delivery day.

Write each template in the language the customer used at checkout. For more wording, see our WhatsApp message templates for Sri Lankan businesses.

Order confirmation SMS fallback

Not every buyer uses WhatsApp, and some will not open it in time. A transactional SMS reaches any phone. Keep it in plain English letters where you can: up to 160 characters fit in one SMS. Sinhala or Tamil switches the message to Unicode, where one SMS holds 70 characters.

Transactional SMSEnglish
COD confirm link
YOURSHOP: Please confirm order #10482, LKR 6,450 cash on delivery. Confirm or cancel here: yourshop.lk/c/10482
1 SMS · 110 characters · GSM-7 · LKR 0.50 each
Transactional SMSSinhala
COD confirm link
YOURSHOP: ඇණවුම #10482 රු.6450 තහවුරු කරන්න: yourshop.lk/c/10482
1 SMS · 64 characters · Unicode · LKR 0.50 each
Transactional SMSTamil
COD confirm link
YOURSHOP: ஆர்டர் #10482 ரூ.6450 உறுதிசெய்ய: yourshop.lk/c/10482
1 SMS · 63 characters · Unicode · LKR 0.50 each
Example: the English fallback SMS fits in one message.
Example: the Sinhala version, kept under 70 characters.

The link opens a simple page with Confirm and Cancel buttons that update the order. Test your wording with our free SMS character counter.

A confirmed order is a delivery that gets paid for. Video: Pexels.

Cost per confirmed order

Meta fees below use Bloomwire's published rate of US$0.0020 per Utility message at LKR 331 to the dollar. Utility templates are charged even inside the 24-hour customer service window since 1 October 2026. SMS is Bloomwire's transactional rate, inclusive of government taxes.

MessageChannelCost per message
Order confirmation with buttonsWhatsApp UtilityLKR 0.66
Fallback confirm link (English, 1 part)Transactional SMSLKR 0.50
Fallback confirm link (Sinhala, 1 part)Transactional SMSLKR 0.50
Shipped with trackingWhatsApp UtilityLKR 0.66
Out for deliveryWhatsApp UtilityLKR 0.66
All four messages for one orderLKR 2.49

Even if every order needed all four messages, 1,000 orders would cost about LKR 2,486.00 in messaging. Compare that with what one refused parcel costs you in courier fees both ways. The WhatsApp plan fee is separate: our Starter plan is LKR 8,500 a month. See WhatsApp pricing and our guide to the October 2026 Meta pricing changes.

Set up COD confirmation for your storeWhatsApp utility templates plus SMS fallback at LKR 0.50, connected to your order system.
Get a quote

Connecting it to your store

The flow works best when your store sends messages and updates orders on its own. Most setups need four connections:

  • Order created: your store sends the order details to the messaging API, which sends the WhatsApp template.
  • Button reply: a webhook tells your store which button the customer tapped, and the order status changes.
  • Timer: a scheduled job sends the SMS fallback when an order has waited two hours unconfirmed.
  • Courier booking: runs only on confirmed orders, by courier API or by your team.

On WooCommerce, start with our guide to SMS API integration for WooCommerce. For other platforms, ERPs and CRMs, read connecting WhatsApp and SMS to your ERP, CRM or online store. An AI chatbot can also handle replies such as "change my address" outside office hours.

A delivery rider on a red scooter with a delivery box, riding through city traffic at night
Book the rider only for confirmed orders. Photo: Rowan Freeman on Unsplash.
Do
  • Show the COD amount and address in the message.
  • Use buttons, not "reply YES", so replies are easy to read automatically.
  • Send in the customer's language.
  • Publish your policy for unconfirmed orders.
Don't
  • Add discount codes to a Utility template.
  • Book the courier before the customer confirms.
  • Send several reminders in one day.
  • Message numbers that did not opt in to WhatsApp updates.

Metrics to track

MetricHow to calculateWhy it matters
Confirmation rateConfirmed orders ÷ COD ordersShows how many orders are real
Cancel rateCancelled at confirmation ÷ COD ordersOrders you avoided shipping
No-response rateUnanswered after fallback ÷ COD ordersTests your wording and timing
Time to confirmMedian minutes from order to confirmationFaster confirmation means same-day dispatch
Delivery success ratePaid deliveries ÷ shipped ordersThe number that protects your margin
Cost per confirmed orderMessaging spend ÷ confirmed ordersKeeps the flow's cost in view

Compare these numbers before and after you start confirming orders. Split them by channel and by language to see where the flow needs work. For a wider look at channels, read WhatsApp vs SMS vs email in Sri Lanka.

Frequently asked questions

How do I confirm cash on delivery orders on WhatsApp?

Send an approved WhatsApp Utility template right after the order, with the order number, COD amount, address and Confirm and Cancel buttons. Book the courier only when the customer taps Confirm.

Is a COD order confirmation a marketing or utility message?

It is a Utility message if it only confirms an order the customer placed and has no promotion. In Sri Lanka a Utility message costs US$0.0020, about LKR 0.66. Adding offers can make Meta class it as Marketing.

How do I stop fake orders in Sri Lanka?

Confirm every COD order before dispatch, use WhatsApp buttons and an SMS fallback, and cancel orders that stay unconfirmed under a published policy. Confirmation will not stop every fake order, but you no longer ship orders that are cancelled or never confirmed.

What if the customer does not use WhatsApp?

Send a transactional SMS with a short confirm link. On Bloomwire a transactional SMS costs LKR 0.50. Keep it under 160 characters in English, or 70 in Sinhala or Tamil, so it goes as one message.

How long should I wait for a confirmation?

A common approach is to send an SMS after about two hours without a reply, then call or send one final reminder the next morning. Test what works for your customers.

Do I need customer consent to send order confirmations?

Meta requires customers to opt in before you send WhatsApp templates. A tick box at checkout for order updates on WhatsApp works well. From 1 January 2027, the core parts of the PDPA are expected to apply too. This is not legal advice.

Sources

Ship only confirmed ordersWe set up the WhatsApp templates, SMS fallback and order updates for your store.
Talk to us
Customer EngagementSri LankaTransactional SMSWhatsAppWhatsApp Business API
Share this article
B
Bloomwire team

Notes on messaging, voice and AI from the team building Sri Lanka's communication platform.

More insights