Hi all...
I'm exploring beancount, hoping to migrate a few different projects from
ledger, some personal books as well as the bookkeeping system that I handle
for a non-profit. There are a bunch of things I find very attractive about
beancount, but there are a few sticking points and trade-offs, especially
in the non-profit scenario. So, most likely I'll have other questions while
I try to figure out whether I can make this transition successfully.
But right away I ran into something very strange. I use the include
directive heavily, organizing things into sub-directories by year,
transaction type, etc. But right away, I see several behavioral differences
when I move transactions into include files. The number of decimal places
changes, as well as the output alignment of bean-report.
In bar.beancount:
2021-01-01 open Assets:Cash
2021-01-01 open Expenses:Blah
2021-01-01 * "Test"
Assets:Cash -100.00 USD
Expenses:Blah
And in foo.beancount:
include "bar.beancount"
Then:
$ bean-report bar.beancount bal
Assets:Cash -100.00 USD
Equity
Expenses:Blah 100.00 USD
Income
Liabilities
But:
$ bean-report foo.beancount bal
Assets:Cash -100.00000000 USD
Equity
Expenses:Blah 100.00000000 USD
Income
Liabilities
This seems totally bizarre... Googling, I found a few discussions of this
type of issue, but no firm conclusions about whether or not it's a bug. I
found that I can fix the decimal inference by adding a bogus transaction to
the root file (but this is not really a long-term solution for a collection
of books, where the root file is mostly just global options and accounts
can be opened/closed as needed, by date, in individual years). And even so,
I still can't fix the alignment issue.
More generally, this is concerning to me, because it seems to completely
violate the stream-processing date-ordered philosophy of beancount, which
is one of the things that really appealed to me in the first place. In
fact, the beancount docs themselves explictly say: "All directives are
parsed and then basically stably sorted before any calculation or
validation occurs. This also makes it trivial to implement inclusions of
multiple files (you can just concatenate the files if you want)." But this
is certainly not true!
So, is this the expected behavior, or is this a bug? Is there any way to
add explicit options to the top-level file to guarantee that the
file-location of transactions really makes absolutely no difference?
Thanks for the great tool, I really appreciate all the thought and hard
work that has gone into beancount, the related tools and all the
documentation!
Matt
--
You received this message because you are subscribed to the Google Groups
"Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/beancount/4f2ed688-229f-4779-a90f-a601e6b0f3a9n%40googlegroups.com.