Inventory as dict
I finally merged PR64 from Jakob Schnitzer which converts the Inventory from a list of Position instances to its natural implementation as a dict. This results in significant performance gains in files with non-trivial inventory bookings. On my personal file (pretty large), I get a 25% speedup (6.7s -> 5.0s). Thank you Jakob, -- 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 beancount+unsubscr...@googlegroups.com. To post to this group, send email to beancount@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/beancount/CAK21%2BhMpC-Q24UuOu_6nro%3DoresKNGDrRO1NZm%3D92iEv-9QGpA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
Re: document organization: unifying statements with everything else
On Fri, May 4, 2018 at 2:42 AM, Stefano Zacchiroliwrote: > Heya beancounters, > > I'm struggling to organize my financial documents in a way that is > both consistent and supported by Beancount/Fava and I'd like to hear > from others what best practices you're using. > > The main disconnect I notice is between statements documents and > everything else: > > 1) via the "documents" option beancount has great support for bank >statements and similar documents. You just drop them using a name >like documents/Assets/Bank/Checking/-MM-DD.pdf and they show up >in your ledger. I want no more/less than this. > In relational terms, this is a join of the list of accounts and the documents. You obtain an association list of (account, document) ... Where each document belongs to at most one account. 2) but I also want to store other documents and associate them to either >transactions as a whole or even individual transaction postings. >Examples are: receipts (for payments, donations, etc.), invoices, >paychecks, etc. > In relational terms, this is a join of the transactions and the documents. You want to obtain an association list of (transaction, document) Where each document belongs to at most one transaction. As far as I can tell Beancount itself has not direct support for (2), > please correct me if I'm wrong. It supports neither. The web interface performs the first join implicitly by grouping all the directives by account and then rendering journals for any account. You can drop them into the same > directory structure for (1), but that doesn't associate them with > individual transactions or postings. Fava, OTOH, has the > "link_statement" plugin which supports (2). Aside from a lack of > generality[^], that allows to link documents to transactions/legs. > > [^]: https://github.com/beancount/fava/issues/740 > > But where do you store the documents for use case (2)? If you store them > in the same directory for (1), there is a use clash, and documents > appear both as associated to transactions and in the journal flow --- at > least conceptually, no matter what Fava actually does, which I find > annoying. > > It seems to me we lack a Beancount *native* (as opposed to > Fava-supported) way of associating documents to either transactions or > postings. Or am I missing something here? Is this planned and/or being > discussed anywhere else? > I could add clean APIs to perform either of these joins, given a particular meta-data field. For the transactions/documents join, the match could be partial (e.g. unique substring on the document filenames). Let me know. Also, how do you need to query this? What do you want to produce? > > Thanks in advance for your thoughts / comments on this. > Cheers > -- > Stefano Zacchiroli . z...@upsilon.cc . upsilon.cc/zack . . o . . . o . o > Computer Science Professor . CTO Software Heritage . . . . . o . . . o o > Former Debian Project Leader & OSI Board Director . . . o o o . . . o . > « the first rule of tautology club is the first rule of tautology club » > > -- > 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 beancount+unsubscr...@googlegroups.com. > To post to this group, send email to beancount@googlegroups.com. > To view this discussion on the web visit https://groups.google.com/d/ > msgid/beancount/20180504064209.GI11188%40upsilon.cc. > For more options, visit https://groups.google.com/d/optout. > -- 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 beancount+unsubscr...@googlegroups.com. To post to this group, send email to beancount@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/beancount/CAK21%2BhOi_TS6-41XMsFf%3DMDsctDeenOAd%2BSV1vQU3jN-uLQU5A%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
Re: document organization: unifying statements with everything else
On Friday, May 4, 2018 at 1:42:11 PM UTC+7, Stefano Zacchiroli wrote: > > It seems to me we lack a Beancount *native* (as opposed to > Fava-supported) way of associating documents to either transactions or > postings. Or am I missing something here? Is this planned and/or being > discussed anywhere else? Isn't the link_statements plugin just a regular beancount plugin that can be used even if you don't use fava? What would be the difference between that plugin and a beancount native way? I'm not quite following what you want here; could you elaborate? -- 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 beancount+unsubscr...@googlegroups.com. To post to this group, send email to beancount@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/beancount/70da149a-e60e-4925-bcb8-5ff15f17baee%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Issue #290: 2nd level account name may no longer start with digits (blais/beancount)
New issue 290: 2nd level account name may no longer start with digits https://bitbucket.org/blais/beancount/issues/290/2nd-level-account-name-may-no-longer-start Martin Michlmayr: The changes accepted last night result in: ``` ValueError: Invalid account name: Assets:99Test ``` Whereas `Assets:Vouchers:99Ranch` is accepted. It seems 2nd level account names may no longer start with digits. I assume this change was not intentional. Test case: ``` 2010-01-01 open Assets:99Test 2010-01-01 open Assets:Vouchers:99Ranch 2010-01-01 open Equity:Opening-Balance 2018-03-26 * "Commodity after amount" Assets:99Test 1 EUR Equity:Opening-Balance 2018-03-26 * "Commodity after amount" Assets:Vouchers:99Ranch 1 EUR Equity:Opening-Balance ``` -- 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 beancount+unsubscr...@googlegroups.com. To post to this group, send email to beancount@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/beancount/20180504075212.3270.89642%40celery-worker-110.ash1.bb-inf.net. For more options, visit https://groups.google.com/d/optout.
document organization: unifying statements with everything else
Heya beancounters, I'm struggling to organize my financial documents in a way that is both consistent and supported by Beancount/Fava and I'd like to hear from others what best practices you're using. The main disconnect I notice is between statements documents and everything else: 1) via the "documents" option beancount has great support for bank statements and similar documents. You just drop them using a name like documents/Assets/Bank/Checking/-MM-DD.pdf and they show up in your ledger. I want no more/less than this. 2) but I also want to store other documents and associate them to either transactions as a whole or even individual transaction postings. Examples are: receipts (for payments, donations, etc.), invoices, paychecks, etc. As far as I can tell Beancount itself has not direct support for (2), please correct me if I'm wrong. You can drop them into the same directory structure for (1), but that doesn't associate them with individual transactions or postings. Fava, OTOH, has the "link_statement" plugin which supports (2). Aside from a lack of generality[^], that allows to link documents to transactions/legs. [^]: https://github.com/beancount/fava/issues/740 But where do you store the documents for use case (2)? If you store them in the same directory for (1), there is a use clash, and documents appear both as associated to transactions and in the journal flow --- at least conceptually, no matter what Fava actually does, which I find annoying. It seems to me we lack a Beancount *native* (as opposed to Fava-supported) way of associating documents to either transactions or postings. Or am I missing something here? Is this planned and/or being discussed anywhere else? Thanks in advance for your thoughts / comments on this. Cheers -- Stefano Zacchiroli . z...@upsilon.cc . upsilon.cc/zack . . o . . . o . o Computer Science Professor . CTO Software Heritage . . . . . o . . . o o Former Debian Project Leader & OSI Board Director . . . o o o . . . o . « the first rule of tautology club is the first rule of tautology club » -- 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 beancount+unsubscr...@googlegroups.com. To post to this group, send email to beancount@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/beancount/20180504064209.GI11188%40upsilon.cc. For more options, visit https://groups.google.com/d/optout.