Cash on Delivery Reconciliation for Courier Companies in Nepal

Logistics, courier & cargo7 min read

Why COD reconciliation breaks down at scale in Nepal, and what a courier's software has to track to close the books daily instead of weekly.

Cash on delivery is the default in Nepal. For most online sellers it is not one payment option among several — it is how the overwhelming majority of orders are actually paid for. That makes the courier company something it never set out to be: a cash-handling business.

A courier moving a few hundred parcels a day is also collecting a few hundred separate cash amounts, from a few hundred different doorsteps, through dozens of riders, on behalf of dozens of merchants. Every one of those amounts has to end up in the right merchant’s account, minus the right delivery charge, minus the right COD commission, and it has to be provable when someone disputes it.

This is the part that breaks first as a courier grows. Not tracking. Not dispatch. Money.

Where it actually goes wrong

The failure is rarely dramatic. It looks like this:

The rider’s float never quite matches. A rider goes out with 40 parcels and comes back with cash for 31 deliveries, 6 returns, 2 reschedules and one parcel that a customer partially paid for because the item was damaged. The total in their bag is a single number. Reconciling that number back to 40 individual consignments is a manual job, and it happens at the end of a long day when nobody wants to do it.

Merchant statements are built backwards. Instead of the system knowing at every moment what is owed to a merchant, someone exports a spreadsheet at the end of the week, filters by merchant, sums the COD amounts, subtracts charges by hand, and sends a figure. The merchant disagrees. Now two people are going through a spreadsheet line by line.

Deductions are applied inconsistently. Delivery charge, COD commission, return charge, packaging, fuel surcharge, VAT — each merchant has a slightly different rate card, and some have volume tiers. When these are applied by a person rather than by the system, they are applied differently by different people.

Cash sits in unclear custody. Between the customer’s hand and the merchant’s bank account, cash passes through a rider, a branch, possibly a regional office, and a bank deposit. If the system does not record each handover as its own event, you cannot answer the only question that matters when money goes missing: who had it last.

What the system has to track

The fix is not a better spreadsheet. It is modelling cash as a first-class thing in the system rather than as a column on a consignment.

Concretely, that means:

  • A COD amount on every consignment, separate from the delivery charge, and separate again from what was actually collected. Those three numbers are not always equal, and pretending they are is the root of most disputes.
  • A custody chain. Rider collected → rider remitted to branch → branch deposited to bank → merchant paid out. Each step is a record with a timestamp, an amount, and a person. Each step can be queried.
  • Partial and failed collections as first-class states. “Delivered but customer paid Rs. 200 less because two items were missing” is not an edge case in this market. If the only states are paid and unpaid, staff will work around the system and the workaround becomes the real process.
  • A rate card per merchant, applied by the system at the moment of delivery, not by a person at the end of the week. Volume tiers, zone-based charges and COD percentage caps all belong here.
  • A running merchant ledger. At any moment, the merchant should be able to see: delivered and collected, charges deducted, paid out, and outstanding. If that view only exists after a manual export, it is not a ledger.

Why daily beats weekly

Most couriers in Nepal settle with merchants weekly or fortnightly, because that is how long the manual reconciliation takes. The interval is set by the process, not by anyone’s preference.

Shortening it is the single most visible improvement a courier can offer a merchant. Sellers running on thin margins care enormously about how quickly their money comes back — it is working capital, and a seller waiting fifteen days for COD is a seller who cannot restock. Couriers who can settle daily win merchants from couriers who cannot, and they win them on a dimension that has nothing to do with delivery speed.

Daily settlement is only possible if reconciliation is automatic. The system has to be able to say, without a human intervening, that as of this morning merchant X is owed exactly this amount, and here is every consignment that makes it up.

The dispute case

Assume you will be disputed. A merchant will say a parcel was delivered and they were never paid. A rider will say they remitted cash that the branch says never arrived. A customer will say they paid in full when the record says partial.

What resolves these is not policy, it is evidence, and the evidence has to be attached to the consignment: who marked it delivered, when, from what device, with what proof of delivery, what amount was entered, which remittance batch it was included in, which bank deposit that batch went into.

If answering that takes half an hour of digging, disputes get settled by whoever argues hardest rather than by what happened. If it takes ten seconds, they stop happening — people dispute far less when they know the record is complete.

What this looks like in practice

A courier running this properly can answer, at any point in the day:

  • How much cash is currently out with riders
  • How much has been remitted to each branch and not yet banked
  • What each merchant is owed right now, itemised
  • Which consignments are collected but unreconciled, and how old they are
  • Which riders have outstanding remittances beyond the agreed window

None of those are reports someone runs. They are views into a system that has been recording the right events all along.

The manual version of this is not impossible — plenty of couriers in Nepal run it on spreadsheets and discipline. But it caps the business. Every additional branch and every additional merchant adds reconciliation work that scales linearly with volume, and it is the kind of work that quietly consumes the operations team until nobody is improving anything.

We build and maintain the logistics management system that courier, cargo and cash-on-delivery networks across Nepal run on, including the COD custody chain and merchant ledger described here. If you are reconciling by spreadsheet and it is starting to hurt, talk to us.

Read next

Stay Updated with the Latest Tech