On Oct 6, 2014, at 3:58 PM, Martin Blais <[email protected]> wrote: > On Mon, Oct 6, 2014 at 5:20 PM, Mike Charlton <[email protected]> wrote: > Thank you for posting this. Your second example explains weirdness that I > was seeing but couldn't comprehend. > > So to put it succinctly, ledger balances as long as the rounded amounts > balance. Perhaps I don't understand all of the nuances, but I have to say > that I don't like that. If a transaction is off by a fraction of a cent, > then that *does not balance* for me! > > Then you will never be able to balance anything that has a price or a cost. > There has to be rounding somewhere.
Strictly speaking, the price-adjustment option would be possible in ledger, which uses rational numbers as internal representation, allowing for exact balancing. But ledger is ill-equipped to solve this problem for other reasons, for example, its lack of lot matching. Beancount could solve this by attaching a total cost to each inventory, in addition to a per-share cost (with the stipulation that | total cost - number * share cost | < tolerance). You still have to face the fact, however, that if you have three shares worth $0.333 each, with a total cost to you of $1.00, and you sell these one at a time at the same price but you receive $0.33 each, even though their price has not changed, there is a penny that has disappeared. Is that an expense due to rounding or a capital loss? Again, it doesn't really matter, but I feel like I should pick one. > I haven't decided whether or not having an elided expense account or simply > reporting the exchange rate that was actually used is better. > > Note that an elided expense account effectively disables any balance checks. > This is not a solution. If it is built into the system, the elided expense account can also balance check. That is, insert a 'Expenses:Rounding' transaction, but only if the difference is less than some tolerance (and only if there is a price/cost) The question is whether Expenses:Rounding is better than having the ability to run a report listing all transactions which don't quite balance, so you feel good about your overall balance being out of whack. Simon Michael: > Correction: ledger reg liabilities. Yes, thanks. Nathan -- --- You received this message because you are subscribed to the Google Groups "Ledger" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
