COD reconciliation: a step-by-step guide for GCC merchants
· 7 min read
Reconciliation sounds like accounting jargon. In practice it is one question asked repeatedly: for every order that was delivered, did the right amount of money arrive? This is the process, in the order that works, for a merchant with a spreadsheet and an hour.
Step 1 — Export your orders
You need five fields per order: order ID, AWB or tracking number, order value, order status, and the delivery date. Any platform can produce this — Shopify, WooCommerce, Salla, Zid, Magento, YouCan, ExpandCart — and so can a manual sheet if you sell through Instagram or WhatsApp. Restrict to COD orders only; prepaid orders never appear in a remittance and will pollute the match.
If AWBs are not stored against orders, stop and fix that. Everything downstream depends on a shared key, and matching on customer name or amount produces false pairs that cost more time than they save.
Step 2 — Collect the remittance statements
Gather every statement covering the period, from every courier. Reconcile one courier at a time: carriers have different fee structures and cycles, and mixing them hides which relationship is actually leaking. Ask for CSV or Excel if you are being sent PDFs.
Step 3 — Align the date ranges
Do not compare a calendar month of orders to a calendar month of payouts. Work statement by statement: take the shipments listed in one statement and pull those exact orders from your export. This single discipline eliminates most of the panic that timing differences cause.
Step 4 — Join on AWB
A lookup in a spreadsheet is enough. Bring the collected amount, deductions and net payable next to each order's value and status. Keep unmatched rows from both sides visible — the orders with no statement line, and the statement lines with no order, are both findings.
Step 5 — Classify every row
- Reconciled — collected equals order value, deductions match the rate card.
- Short paid — collected is less than order value, or deductions exceed contracted rates.
- Missing — order is delivered, no statement line in this or any prior cycle.
- Duplicate — the same AWB appears twice, or a fee is charged twice.
- Not yet due — delivered after the cut-off; carry forward, do not dispute.
Step 6 — Verify the deductions
Recompute a sample by hand against your signed rate card: COD fee percentage and minimum, shipping rate for the weight and zone, surcharges, VAT treatment. Errors here are systematic rather than random, so one wrong rate found in a sample usually means it has been applied to every order in the period.
Step 7 — Produce the exception list
One row per issue, with AWB, order value, amount received, expected amount, the difference, and the reason. Sort by value. This list is simultaneously your dispute pack, your internal report and your evidence if the conversation escalates. Total it — the number at the bottom is what the exercise was worth.
Step 8 — Raise, track, and close
Send the list in writing to your account manager inside the claims window, then track each item to settlement. Some will be explained (and you will learn something about the fee structure), some will be credited on a later cycle. Mark each one closed so it does not resurface next month. The dispute mechanics are in how to dispute a courier short payment.
Make it a routine, not a project
Reconcile once per remittance cycle rather than once a quarter. Cycle-level checks are small, the claims window is still open, and patterns — one courier, one city, one fee type — become visible while you can still act on them. Track two numbers over time: unexplained shortfall as a percentage of collected value, and median days from delivery to payment.
If you would rather see what the exercise finds before setting it up, send one remittance file and your order export to the free preview — the software runs the whole process automatically and returns the exception list in under a minute.
Frequently asked
How often should I reconcile COD orders?
Once per remittance cycle. Weekly cycles mean a weekly check of a manageable list, and every issue is raised well inside the claims window. Quarterly reconciliation almost always finds items that are technically out of time, which turns recoverable money into a write-off.
Can I reconcile in a spreadsheet?
Yes, and most merchants start there. A lookup on AWB plus a status column will get you a working exception list. Spreadsheets strain when you run several couriers, high volume, or partial collections across multi-parcel orders — that is the point at which a dedicated process saves real time.
See it on your own file
Upload one carrier remittance file with your order export and we will show every order that was short-paid, unpaid or overdue — free, in under a minute, no signup.
Get a free preview