Cash on delivery: where the money actually goes
The buyer pays the driver, the driver carries custody, and you count it and

The most common question from a new merchant is how the money reaches them. The answer depends on how the buyer paid, and it is easiest to follow in the order the order itself moves.
Cash on delivery. The order is recorded with a payment whose state is pending. It stays pending until the order arrives. At the moment delivery is recorded, the payment flips to completed and carries who collected it: your own driver, or the courier company. There is no side spreadsheet and no ledger. The payment is tied to its order, and the collection is tied to the carrier.
This is where the concept most merchants keep in their heads becomes a number: custody. A driver's custody is not a field on a screen, it is an arithmetic: what they collected, minus what they handed over, minus adjustments. So whenever you open the screen, you see how much should be in each driver's pocket.
When they hand the cash over, the handover itself is recorded. The driver declares an amount, you count what actually arrived, and you write that count down. If the two do not match, the difference is recorded with the handover. That is the part that ends arguments: you are not disagreeing about a memory, you are looking at two written numbers. And one handover covers named orders, so you can come back a month later and see exactly what was in it.
Online payment through EzonePay. Here is a point we would rather be plain about: online payment money does not enter an account we hold. The payment is collected into your own EzonePay account. ezone does not hold your money and does not remit it to you. The dashboard shows you what is in your account: the balance, what is pending settlement, and every transaction with its amount, its commission, its payment method and its order reference. When you want to move it to your bank account, you request the payout yourself. There is no settlement cycle to wait for.
Then what is the wallet? The wallet in ezone is a prepaid account for platform services, not a collection account. You top it up, and ezone's fees come out of it: the monthly subscription, the rate on a completed order, apps such as the till and MCP, and image credits. So the wallet answers "how much have I paid ezone", not "how much have I collected from my buyers". The two are separate on purpose.
And returns? A returned order is a recorded state with its reason, and the stock goes back. The payment that was collected stays recorded as it is, because the cash really was collected. So if you open the order a month later you read what happened, not a corrected version of it.
What if the courier collects instead of a driver? The same principle. The payment is recorded against the order, the collection is recorded against the company rather than the driver, and its custody is worked out the same way: collected, minus handed over, minus adjustments. The only difference is that the handover comes from them, and you count it exactly as you would a driver's.
And the driver's pay? A separate balance from custody, and the two never mix. Delivery pay is recorded on the shipment at the moment of delivery, at that driver's own rate if you set one, or at the zone's rate. So you hold two numbers: how much of your money is in their pocket, and how much of your money is owed to them. Both are written down.
What to actually watch. If you sell cash on delivery, the two numbers to follow daily are each driver's custody and their handovers. If you add online payment, know that it is a second account that belongs to you and that you draw down yourself. The wallet is a third thing: it is your bill from ezone.