Cash on Delivery (COD) allows the customer (sender) to request that a specific amount of cash be collected from the receiver upon delivery. Onro automates the entire process so that every step is recorded and transparent to the driver, the customer, and the courier company. In this article, we walk you through the full COD lifecycle.
Enabling Cash on Delivery (COD) for a Service
COD is not enabled by default. COD option can be configured per service through delivery methods. To enable the COD option for your service, navigate to the path below:
Admin Center → Settings → Operation Setup → Delivery Methods
Find the delivery method associated with your service, then click Actions → Edit.
In the Configs section, enable Is COD Active and enter the maximum COD amount (limit) you want to accept in the box below, then click Submit to save the changes.
Setting the COD Amount on an Order
Now that the COD is active, customers can enter the COD amount while placing an order. This amount is included in the order details and is visible to the driver, customer, and company. The amount also appears on the shipment label and receipt.
No extra notes or messages are needed here. The system handles it all.
The COD Lifecycle
As soon as a driver completes a COD order, two things happen automatically at the same time:
Driver side
A Debtor transaction with source COD is automatically created in the driver’s wallet. The COD amount is deducted from the driver’s balance, creating an outstanding debt to the courier company. This debt remains until the driver returns the cash. Once they do, you need to settle the COD amount with the driver.
Customer side
At the same time, a Creditor transaction of COD source gets created in the driver's wallet. The COD amount is added to the customer’s wallet. This happens automatically, meaning it does not depend on the driver returning the cash or on any action from you. The customer can then request a withdrawal, or you can pay them outside the system and adjust their balance.
Because each side has its own timestamped transaction, at any point you (and the driver, and the customer) can see exactly how much was collected, how much has been returned, and how much is still outstanding.
COD as a Transaction Type
COD has its own transactions in the system, and it behaves differently depending on whose wallet it's touching:
Party | Source | Transaction type | When it's recorded |
Driver | COD | Debtor | Automatically, the moment the driver completes an order with a COD amount |
Driver | COD | Creditor | Manually, when the driver repays the collected COD to you |
Customer | COD | Creditor | Automatically, the moment the driver completes the order |
Customer | Support COD | Debtor | Manually, when you pay the customer out |
How to Reconcile COD with Drivers
When the driver returns the collected money to you(The courier company), you then need to reconcile the driver’s wallet.
For a step-by-step guide on settling COD with your drivers, refer to this article.
How to Reconcile COD with Customers
As mentioned, the COD amount is automatically added to the customer’s wallet. Depending on your workflow, you can either let the customer request a withdrawal or settle the amount yourself (for example, by paying them outside the system and adjusting their balance).
For a step-by-step guide on settling COD with your customers, refer to this article.


