One ledger for eSewa, Khalti, and cash
Anju Rai · Aug 19, 2026 · 4 min read

Money comes into a contracting firm through three doors. The big milestone payment arrives by bank transfer from a company client. The mid-size ones come by eSewa or Khalti, because a client in Dharan is not driving to Nabil Bank to deposit Rs 85,000 against a slab. And then there is cash, handed over at the site office against a receipt torn from a book that has been out of alignment since 2079.
Three doors is fine. The problem was that our books had three rooms, and once a month somebody had to walk between them with a broom.
The statement, the app, and the receipt book
Reconciliation used to mean three open things on one desk.
The bank statement, which knew about the transfers. The eSewa merchant statement, which knew about the mobile payments but called every payer by a wallet ID instead of a name. And the paper receipt book, which knew about the cash if the site office had remembered to write the entries and bring the book in. My "bank" column in Excel was really a belief system. Once a quarter I sat with the whole pile, found an Rs 40,000 payment that had lived in the wallet for six days, and fixed the books by an act of memory.
The client felt this too, from the other side. He had paid. He had a screenshot of the Khalti confirmation. Whether it had reached the invoice against his project was a question only our office could answer, and sometimes we answered it slowly.
Money has three doors in Nepal. It should still live in one room.
What one room looks like
Now every payment enters one ledger, against the invoice it belongs to, with its method attached.
The Rs 14,50,000 milestone from the Lainchour client is a bank transfer line on Milestone 2. The Rs 85,000 from Dharan is an eSewa line against the same invoice's next milestone. The site office logs cash the moment it's handed over, with the receipt number, and the receipt book has quietly retired to a drawer. The invoice carries the running total itself: billed, received, by what rail, on what day. There is no separate reconciliation step, because nothing is reconciling against anything. It was all written into the same place at the moment it happened.
Once a month I still open the actual bank statement. It takes about ten minutes now, and it confirms rather than discovers. That is the difference I'd pay for twice over.
When a payment lands in the wrong place
No system stops a human from posting a payment against Milestone 2 when the client meant Milestone 3, and I'd rather tell you how wrong entries behave now than pretend they don't happen.
Before, a misposted payment was archaeology. It sat in the wrong column until a statement disagreed loudly enough to be noticed, and unwinding it meant editing Excel history, which every accountant knows is a euphemism for making the past unprovable. Now the payment log is append-only from my side of the desk. The wrong entry gets voided with a reason on it, the right one is logged, and both remain visible in the invoice's history, dated, with my name on the action.
The auditable bit matters more than I expected it to. Our CA asked for payment trails during the fiscal-year close, and instead of reconstructing them, I filtered and printed. The void reasons alone told the story: "posted against wrong milestone, corrected same day." No mystery, no shame, just a receipt for the correction.
What the client sees
The part that changed our client relationships is on the portal, not in my ledger.
A client opens his project and sees the milestone card: this much billed, this much received, this much outstanding, with each payment listed by date and method. His Khalti payment of Ashwin 3 is there, named as his, not as a wallet ID. When he asks for a statement, which the good ones do, I send him a link instead of a spreadsheet, and what he reads is the same column I keep. No translation step, so no translation error.
Small payments got easier on both ends. The Khalti QR sits at the site office desk now. A client pays the Rs 25,000 for the extra drainage the same way he pays for anything else in his life, and the entry lands against his project before he's back in his car.
Three rails, one room. The broom is in the drawer with the receipt book.
Next in Client portal
What a Saraiya yard runs on BilledUp actually looks likeSep 4 · 6 min readRecommended reading
Elsewhere — publications we actually read.
