Order operations

Confirming cash-on-delivery orders before the parcel leaves

A COD order is a promise, not a payment. A confirmation step is how you find out which promises are real while the box is still on your shelf and the shipping cost is still yours to avoid.

What a returned COD parcel actually costs you

When a cash-on-delivery order is refused at the door, you do not simply lose the sale. You have already paid to pick, pack and ship it, and you will usually pay again for the return leg. The stock is out of circulation for the round trip, which on a slow-moving size or a seasonal line can mean missing the window it would have sold in.

None of that shows up as a refund in your reports. It shows up as freight spend, as stock that seems to be somewhere else, and as a courier relationship that gets worse the more returns you generate.

The confirmation step exists to move that discovery earlier — from the customer's doorstep to your packing table, where cancelling is nearly free.

The workflow, step by step

  1. Order lands, and does not go to packing

    A COD order enters a pending-confirmation state rather than the dispatch queue. Prepaid orders skip this entirely — they are already paid for and should not be delayed by a process built for a different risk.

    Order status: awaiting confirmation

  2. A confirmation message goes out

    Sent soon after the order, while the customer still remembers placing it. It restates what they ordered, the total they will pay at the door, and the delivery address as typed — then asks for one of two answers. Quick-reply buttons make this a tap rather than a typed reply.

    Template message with order summary + confirm / cancel

  3. The reply is recorded against the order

    A confirmation moves the order to the dispatch queue. A cancellation closes it and releases the stock immediately, which is a genuinely good outcome: the customer changed their mind for free, and you found out before paying freight.

    Order status: confirmed / cancelled, with the reply stored

  4. No reply gets a follow-up, then a decision

    Silence is not the same as refusal. One reminder after a sensible gap is reasonable; a stream of them is harassment and will get you blocked. What happens after the reminder is a policy choice you make in advance — ship anyway, hold for a call, or cancel — and it can differ by order value.

    Reminder after a set interval, then the fallback rule for that order band

  5. Address problems get fixed here, not by the courier

    A surprising share of failed deliveries are not refusals at all — they are an address the rider could not resolve. The confirmation reply is the natural place to correct a missing landmark or a wrong pin code, before a label is printed.

    Address edit permitted while the order is unconfirmed

  6. Dispatch, with the decision attached to the order

    The order ships with a record of who confirmed it and when. That record is what makes the next step possible: reviewing which order patterns actually turn into refusals, on your own data rather than someone else's benchmark.

    Confirmation metadata retained on the order

Which orders to hold, and which to just ship

Not every order deserves the same treatment. A sensible starting policy looks something like this, and should be revised once you have a few months of your own outcomes to look at.

SignalStarting policy
Prepaid orderNo confirmation step. It is already paid; do not add friction to a completed sale.
Low-value COD from a returning customerConfirm, but ship on silence. The relationship is evidence and the downside is small.
High-value COD from a first-time buyerHold until confirmed. This is the band where a refusal hurts most and where a phone call is worth the time.
Address missing a landmark, or a pin code that looks wrongHold regardless of value. This is a delivery failure waiting to happen, not a payment risk.
Several unconfirmed orders to the same number or addressHold and look at it manually before shipping any of them.
Order placed into a pin code your courier serves unreliablyConfirm, and consider offering prepaid with an incentive instead.

What WhatsApp actually allows

This workflow runs on the WhatsApp Business Platform, which has real constraints. They shape the design, so they are worth stating plainly.

The 24-hour customer service window
When a customer messages you, a 24-hour window opens during which you can reply with ordinary free-form messages. If they message again, it resets.
Outside that window, only approved templates
A confirmation for an order placed on your website — where the customer has not just messaged you — is an outbound message and must use a pre-approved template. Templates go through review before they can be used.
Template messages are billed
Outbound template messages are a paid category on the platform, and pricing changes over time. Budget for it per order rather than assuming it is free, and check current rates for India before you model the cost.
Consent is not optional
You need the customer's opt-in to message them, and the messaging policy governs what you can send. A confirmation for an order they just placed is a reasonable use; a marketing broadcast dressed as a confirmation is not, and is how numbers get reported.
Quality ratings are real
Blocks and reports degrade your number's quality rating and can throttle your messaging limits. This is the practical reason to send one reminder rather than four.

What a confirmation step does not do

  • It does not eliminate returns. A customer can confirm sincerely on Tuesday and change their mind on Friday.
  • It does not make an unserviceable pin code serviceable, or a slow courier fast.
  • It adds a delay between order and dispatch. On a category where next-day delivery is the promise, that delay has a cost of its own, and the right answer may be to confirm only above a value threshold.
  • It will cancel some orders that would have been accepted. That is the trade, and it is usually a good one — but it is a trade, not a free win.
  • It cannot tell you whether it is working unless you record the outcomes. Confirmed, cancelled, silent, delivered, refused — without that, you are guessing.

What to log, if you want to know whether it helps

  • Confirmation sent, and when
  • Reply received, what it said, and how long it took
  • Whether the order was confirmed, cancelled, or shipped on silence
  • Final outcome: delivered, refused, or undelivered for another reason
  • Order value, payment method and whether the customer had bought before

Five fields. With a few months of them you can answer whether confirmation is worth the delay for your catalogue — which is a better question than whether it works in general.

What operators ask

Will asking for confirmation lose me orders?
Some, yes — and this page will not pretend otherwise. A customer who was never going to accept the parcel cancelling early is a saving, not a loss. A hesitant customer who takes the message as a chance to back out is a genuine loss. Which effect dominates depends on your category and your price point, which is why the recommendation is to confirm selectively rather than universally.
Can I just call instead?
For high-value orders, calling is often better — a voice conversation resolves address problems faster than a chat thread. It does not scale, which is the only reason the messaging workflow exists. Most operators end up doing both: messages for the bulk, calls for the top band.
What if the customer never replies?
That is the most common outcome and it needs a rule decided in advance rather than a judgement call per order. Silence is ambiguous — plenty of people simply do not read business messages. Shipping on silence below a value threshold and holding above it is a reasonable starting position.
Does this need the official WhatsApp Business API?
For automated messages tied to order events, yes. The consumer WhatsApp Business app is fine for manual conversations, but it is not built for sending order-triggered messages from your store, and workarounds that automate it risk the number being banned.
Can I offer prepaid instead of confirming?
Often the better first move. A small discount for paying online removes the risk rather than managing it. The two work together: offer the prepaid nudge at checkout, and confirm the COD orders that still come through.

Sources

Platform behaviour on this page is from Meta's own WhatsApp Business Platform documentation. It changes; check the current version before building against it.

Wire this into your store

If you are already shipping COD and eating the returns, this is usually a short piece of work on top of an existing store — order states, a template, and the rules that decide what happens on silence.