Last MileUAE & KSA7 min read
COD Reconciliation in the UAE and KSA: A Step-by-Step Method
COD reconciliation for UAE and Saudi sellers: how courier cash reaches you, why remittances never match orders, and a weekly method to close the gap.
By Quickship Editorial Team · Published 21 October 2026
COD reconciliation is the job of proving that every dirham or riyal a courier collected on your behalf reached your bank, minus only the fees you agreed to. In the UAE and Saudi Arabia, where cash on delivery is still a normal way to pay, the gap between "orders delivered" and "cash received" is where money quietly leaks. The fix is a fixed, shipment-level routine run on every remittance, which this guide sets out.
How COD money moves from courier to merchant
Cash on delivery adds a second journey to every parcel: the goods go one way, the cash goes the other. A typical flow looks like this:
- Order placed. The customer chooses COD at checkout. On Shopify, for example, a COD order sits as payment pending until you record that you have been paid (Shopify: manual payment methods).
- Shipment booked. You create a waybill with a COD amount. This number is the courier's instruction for what to collect, so it must match the order total exactly.
- Delivery attempt. The driver collects cash or card at the door, or the attempt fails and the parcel goes back into the network.
- Driver hand-in. The driver settles cash with the carrier's branch or hub.
- Carrier settlement. The carrier groups delivered COD shipments into a remittance, deducts its charges if the contract allows netting, and transfers the balance to your bank.
- Your books. You mark orders as paid and record the fees as costs.
Every handover in that chain is a place where a number can change. COD reconciliation checks each one.
Remittance cycles: read your contract first
There is no single standard remittance cycle in the UAE or KSA. How often a carrier pays you, how it pays, what it deducts and what statement it sends are set in your commercial agreement with that carrier. Before you build any process, pull each contract and write down:
- Remittance frequency (for example, weekly or on fixed weekdays) and the cut-off that decides which deliveries fall into which batch.
- Netting. Does the carrier deduct its invoice from the cash, or pay gross and invoice separately?
- Statement format. Does each remittance come with a per-waybill file, or only a total?
- Dispute window. How long you have to query a missing or short payment.
If you ship with several carriers, you will have several of these calendars running at once. Put them in one table so nobody has to remember them.
Why COD totals don't match
A remittance almost never equals "sum of COD on orders shipped this week". That is normal. What matters is that every difference has a known cause. These are the usual ones:
| Cause | What you see | How to spot it |
|---|---|---|
| Timing | Delivered orders missing from this remittance | Delivery date after the carrier's cut-off |
| Returned to origin (RTO) | Order shipped, no cash, parcel on its way back | Carrier status shows return; check it arrives at your warehouse |
| Partial delivery | Cash lower than the waybill COD amount | Customer accepted some items in a multi-piece shipment |
| Fees netted off | Remittance lower than gross cash collected | Statement lists deductions per waybill or as one line |
| Amount changed at the door | Collected amount differs from the waybill | Discount agreed by phone, or a typo when booking |
| Duplicate or missing waybills | One order with two waybills, or a waybill with no order | Re-booking after a failed pickup |
| Lost or damaged shipment | No cash, no return | Shipment stuck in one status for too long |
The dangerous gaps are the last three. Timing and fees explain most of the difference, which makes it tempting to stop looking once the totals are "about right".
A step-by-step COD reconciliation method
Run this on every remittance, per carrier. A spreadsheet works at low volume. The point is the routine, not the tool.
- Get the shipment-level statement. One row per waybill: waybill number, your order reference, delivery date, COD amount on the waybill, cash collected, each fee, net paid. If the carrier only sends a total, ask for the detail in writing.
- Match each row to an order. Join on waybill number, then check the order reference. Flag any waybill you cannot match to an order, and any order that has two waybills.
- Compare amounts three ways. Order total vs. waybill COD amount vs. cash collected. Any difference needs a reason code: partial delivery, door discount, booking error.
- Check fees against the rate card. Recalculate each deduction from your contract rates and the shipment's weight, zone and service. Overcharges are common when weights are re-measured at the hub.
- Check the bank. The net total on the statement should equal the bank credit. If it does not, stop and query before you post anything.
- Post it. Mark matched orders as paid in your store and accounting system. On Shopify, COD is a manual payment method, so the order stays unpaid until someone marks it paid (Shopify: activating cash on delivery).
- Roll forward the open items. Every delivered COD order not in this remittance goes onto an aged "awaiting remittance" list with its delivery date. Every RTO goes onto a "return in transit" list until the parcel is scanned back into stock.
A worked example (hypothetical)
Say a Dubai brand receives a remittance of AED 9,180 from one carrier for a week in which it shipped 120 COD orders worth AED 14,400. The reconciliation might break down like this:
| Line | AED |
|---|---|
| COD value of orders shipped | 14,400 |
| Less: 18 orders delivered after cut-off (next remittance) | −2,160 |
| Less: 14 orders returned to origin | −1,680 |
| Less: 1 partial delivery (customer kept 1 of 2 items) | −120 |
| Cash collected and due in this batch | 10,440 |
| Less: shipping and COD fees netted by carrier | −1,260 |
| Expected remittance | 9,180 |
| Bank credit received | 9,180 |
| Unexplained difference | 0 |
All figures are invented for illustration. The structure is the useful part: start from what you shipped, explain each difference, and end with an unexplained figure that should be zero. If it isn't, the waybill-level match in step 2 tells you where to look.
Controls that stop COD leaks
A method only works if it is run the same way every week. These controls keep it honest:
- Separation of duties. The person who books shipments should not be the only person who reconciles remittances.
- Ageing limits. Set a number of days after delivery at which an unremitted COD order is escalated to the carrier. Use your contract's remittance cycle to choose it.
- RTO closure. An RTO is not finished when the carrier says "returned". It is finished when the item is checked and back in sellable or damaged stock. Count returns in, by waybill.
- Locked COD amounts. Changes to the COD amount after booking should need a reason and a second person.
- Fee audits. Sample a set of shipments each month and recheck weight and zone against the rate card.
- Proper invoices for fees. In the UAE, the Federal Tax Authority describes a valid tax invoice as the primary evidence for recovering VAT on a purchase (FTA: tax invoices). In Saudi Arabia, VAT-registered suppliers fall under ZATCA's e-invoicing (Fatoora) rules (ZATCA: e-invoicing). A remittance sheet that nets fees off is not a tax invoice, so ask carriers for both.
UAE and KSA differences worth planning for
The method is the same in both markets, but a business shipping to both usually has separate carrier contracts, separate currencies (AED and SAR) and separate VAT treatment for each country's fees. Keep one reconciliation per carrier per country. Do not merge an AED remittance and a SAR remittance into one sheet and convert at the end; exchange differences will hide real gaps.
If you also sell on Amazon.ae, Amazon.sa or Noon, remember that marketplace COD is collected and settled under the marketplace's own terms, in its own settlement reports. Keep marketplace payouts out of your courier reconciliation entirely.
When to move off spreadsheets
A spreadsheet is fine while one person can match every waybill each week. It breaks when you add a second carrier, a second country or a second person. At that point you want the order, the waybill, the delivery status and the remittance line in one record. Quickship's Last Mile Aggregator follows cash on delivery from collection to remittance and flags carrier variances per shipment, using the carrier accounts you already hold.
Whatever tool you use, the test is the same: every week, can you name every order that was delivered and not yet paid, and say why?
Frequently asked questions
How often should I reconcile COD with my courier?
Reconcile every time a remittance lands, not once a month. Each remittance is a closed batch you can match against delivered shipments, and small gaps are much easier to chase while the shipments are a few days old.
Why is my COD remittance lower than the cash my customers paid?
Usually because the carrier netted its own charges off the cash before paying you: shipping, COD handling, return fees or adjustments. Ask for a statement that lists gross cash collected and each deduction per waybill, so you can check both sides.
What should I do with COD orders that are delivered but not yet remitted?
Keep them in a 'collected, awaiting remittance' list with the delivery date. If one is still unpaid after the remittance cycle in your contract, raise it with the carrier by waybill number and keep the dispute open until it is paid or credited.
Do I need a tax invoice for the courier's COD fees?
If you want to recover VAT on those fees, yes. The UAE Federal Tax Authority describes a valid tax invoice as the main evidence for recovering VAT, and in Saudi Arabia ZATCA's e-invoicing rules apply to VAT-registered suppliers. Ask your carriers for proper invoices, not just a remittance sheet.
Sources
- Shopify Help Center: Manual payment methods
- Shopify Help Center: Activating or deactivating cash on delivery
- Federal Tax Authority (UAE): Tax invoices (VAT11)
- ZATCA: E-Invoicing (Fatoora)
Rules and fees in the UAE and Saudi Arabia change. This guide reflects the sources above on 21 October 2026. Check the official source before acting on it.
Last Mile Aggregator Module
Book, track and reconcile every last mile carrier from one platform.
Book a demo