A route is a reusable rule for one kind of movement
A route is a reusable rule for one kind of movement. It answers three questions, once, so you don’t answer them again on every transaction:
- Who can be the source? Which accounts may send.
- Who can be the destination? Which accounts may receive.
- Which parts belong in the record? Which debits and credits the movement should produce.
A route is like a form template for one kind of transaction. It lays out the intended participants and booking. When a Ledger has route validation enabled, it checks movements against the route. A fee is just an extra line on that form.
Fees are just more operations
Fees feel mysterious, but they are not magic. A transaction consists of operations, each one a single debit or credit. A fee is more operations in the same transaction, sending value into a fee or revenue account. Take the one-to-many example from before. A customer pays R$103:
- R$100 lands at the merchant.
- R$3 lands in a fee account.
When you’d reach for routes and fees
You don’t need a route for a one-off movement. You reach for one when a kind of movement repeats and you must book it the same way every time: payments, transfers, settlements. And you add a fee whenever a movement should also send a slice of value into a revenue or cost account. You define these deliberately up front, as part of the ledger plan that comes next.
Next steps
See it in LerianSee these ideas in practice: Accounting Routes entities and the Fees Engine.

