Chatbot & Commerce

Confirm COD orders in chat before you pack them

A rejected cash-on-delivery parcel now costs a five-day payout delay on top of return shipping. Here's when to confirm a COD order in chat before it ships.

Papercraft pop-up card — a paper robot handing a card marked with a green check to a paper person

Since October 2024, Thai couriers must let cash-on-delivery (COD) customers open and inspect a parcel before paying, and must hold that payment for five days before passing it to the seller. A rejected COD order already cost you outbound and return shipping; now it also delays your cash by up to five days on top. A short chat confirmation before packing catches the orders most likely to bounce.

What changed for COD sellers

The Office of the Consumer Protection Board’s “Dee-Delivery” (มาตรการส่งดี) measure took effect on 3 October 2024. A courier collecting a COD payment must now let the recipient open and inspect the parcel in front of the driver, with photo or video evidence for a dispute, and the recipient can refuse to pay on the spot if the item is wrong, damaged, or unordered. The courier then holds that payment for five days before releasing it to the seller, and must refund the buyer within 15 days if a complaint checks out (OCPB Dee-Delivery notice).

That five-day hold applies whether or not the order gets accepted. Compare it to a clean delivery: Flash Express advertises a COD fee starting at 2.5%, with money reaching the seller the next business day after acceptance (Flash Express COD service). A rejected parcel skips that next-day payout and still costs the outbound trip, the return trip, and a repacking job.

Decide which orders get a check before you pack

Checking every COD order by phone isn’t realistic for a small team, so pick one rule and apply it every time. A reasonable starting point — our own recommended default, not a published benchmark — is to confirm any COD order above a value you set for your average order size, plus every first-time customer regardless of amount. Adjust the threshold to your own numbers; what matters is the same rule firing for every order, not just the ones that look off to whoever happens to be packing that day.

Two more situations are worth a check: a delivery address that doesn’t match the phone number’s area, and an order edited more than once before checkout. Neither proves anything alone, but both are cheap to ask about in the same message.

Set up in 1CS

Build the routing into an Automation rule so a COD order never skips the check because of who happens to be packing that day. Automation in 1CS runs as trigger → condition → action: trigger on a new order conversation, condition it on the “cod” label (apply it when the order comes in, or have your AI agent apply it), and set the action to add a second label such as “confirm before pack” and assign the conversation to a team member. Start with a labeling action — easy to check, and it doesn’t touch the customer directly — before adding a rule that messages automatically.

Whether an order clears the value threshold from the last section is a judgement call your team makes in the same conversation where the order was placed. 1CS’s commerce tools turn that conversation into a reviewable order: cart, quantities, and delivery address sit in one panel, with AI-assisted order confirmation and a human still in control of the final send — the total is right there to weigh against your threshold. The Thai guide to selling and billing in chat covers the same panel step by step.

The message to send before packing

Keep it short enough that a customer answers in one reply, and specific enough that a “yes” actually confirms the order:

Hi [customer name], quick check before we pack your order — [item, quantity, size/color]. Cash on delivery for [amount] to [name] at [delivery address], phone [number]. Reply YES to confirm or send corrections and we’ll pack it right away.

A checklist for whoever sends it:

  1. Item, quantity and any variant (size, color) spelled out — not “your order.”
  2. The COD amount, so a mismatched total surfaces before the courier does.
  3. Delivery name, address and phone, copied from the order, not retyped from memory.
  4. A shipping deadline for their reply, so the order doesn’t sit waiting indefinitely.

None of this replaces a courier’s own inspection right under Dee-Delivery — a customer can still open the box and refuse it. What it does is remove the two most common causes behind that refusal: an order that changed after the customer stopped reading, and an address the courier couldn’t have delivered to in the first place. Teams already running a payment slip check before shipping can add this as the equivalent step for the orders that skip a slip entirely — and sellers running live sales, where a 7-day return right can also apply, are dealing with a separate right from the COD refusal covered here.