Tech News
← Back to articles

Hledger 1.50

read original related products more articles

Transaction balancing is now done in a more robust way, using local precisions only (like Ledger) #2402.

Until now, a transaction was required to balance using its commodities's global display precisions.

Small imbalances were tolerated by configuring display precisions for the whole journal (with commodity directives).

Now, a transaction is required to balance using the precisions in its journal entry only.

This means each entry can use the precision it needs, and balancing precision and display precision are independent.

(So eg, increasing the display precision with -c no longer breaks the journal.)

In practice this requires journal entries to be more accurate, and you will probably need to fix some old entries.

There are three main ways to fix an entry:

reduce the amounts' precision (use fewer decimal digits, so a lower balancing precision is inferred)

make the amounts more accurate (use better decimal digits, so the amounts sum to zero more closely)

... continue reading