Writing
Notes from the fees engine.
Things I learned building and running a revenue system on Frappe/ERPNext. Written for the engineer who inherits one.
Aug 2026 · 6 min
The webhook is the only writer
How we eliminated double-booked payments by making one code path authoritative — and demoting everything else to display.
Aug 2026 · 5 min
A settlement file is just an unposted Journal Entry
Teaching ERPNext to read gateway settlement files and post its own accounting — split payouts, gateway charges, and all.
Aug 2026 · 7 min
A fees engine is a state machine, not a form
What it takes to model real school fees on ERPNext: plans, instalments, deferrals, discounts that post to the GL, and links you can hand to a guest.