How COD reconciliation works for Indian D2C brands, and why it breaks at scale
Cash on delivery is still 60 to 70 percent of orders for many Indian D2C brands. Reconciling it is a five-way matching problem that spreadsheets stop handling early.
Cash on delivery remains the dominant payment method for Indian direct-to-consumer brands. For many, it accounts for 60 to 70 percent of orders. The money moves through couriers, not payment gateways, and that is where the accounting difficulty begins.
How the money actually moves
A COD order is collected in cash or by UPI at the doorstep by the courier (Delhivery, Bluedart, Shadowfax, Ecom Express, or several others). The courier holds the cash and remits it to the brand in periodic batches, usually weekly or twice a week. The remittance arrives as a lump sum with a settlement file listing the orders it covers.
This creates a five-way matching problem. Each order must be traced across:
- The order management system (Shopify, Unicommerce, or similar)
- The courier's remittance file
- The payment gateway settlement, for prepaid orders in the same period
- The bank statement, where the remittance actually lands
- The books, where revenue and receivables are recorded
Where it breaks
Four failure modes account for most of the gap between what a brand expects and what it receives.
| Failure mode | Typical cause | Typical size |
|---|---|---|
| Short remittance | Orders delivered but missing from the settlement file | 0.5 to 2% of COD value |
| RTO disputes | Return-to-origin shipments charged forward and return freight | RTO runs 20 to 30% of COD orders |
| Weight disputes | Courier re-weighs and deducts the difference from remittance | Varies; concentrated in heavy SKUs |
| Split shipments | One order, two parcels, two remittance cycles | Small but hard to trace manually |
Each of these is small per order. At a few thousand orders a month they are absorbed as noise. At fifty thousand orders a month, a 1 percent unexplained gap is real money, and the finance team cannot say which courier, which week, or which order it came from.
The compliance angle
GST e-invoicing applies to businesses above Rs 5 crore turnover, and since April 2025 invoices must reach the Invoice Registration Portal within 30 days of issue. Reconciliation errors that delay invoice corrections now have a hard deadline attached. An unresolved dispute is no longer just a receivable question; it can affect the validity of the invoice itself.
What a sound process looks like
The brands that keep COD under control all converge on the same design.
- Daily ingestion. Pull courier MIS files, gateway settlements, and bank statements every day, not at month-end. The data formats differ per courier, so normalisation is the first real engineering task.
- Order-level matching. Match at the order and AWB level, never at the batch level. Batch-level matching hides exactly the per-order discrepancies that matter.
- An exception queue. Unmatched items go into a queue with an owner and an ageing clock. The queue, not the spreadsheet, is the work surface.
- Ageing of unremitted COD. Track delivered-but-unremitted value per courier. This number is the earliest warning of a courier-side problem, and it is the number to raise in the weekly call with the courier's account manager.
- Dispute files with evidence. When raising a short-remittance or weight dispute, attach the order, AWB, and remittance line. Disputes with complete evidence settle in weeks; disputes without it settle never.
Summary
COD reconciliation is not conceptually hard. It is a volume problem with five data sources, four common failure modes, and a regulatory clock. Done daily at order level with an exception queue, it stays controlled. Done monthly at batch level in a spreadsheet, it degrades quietly until the gap is large enough that nobody can explain it.