Hi Chao, Thank you for your message! I’m glad to hear you’re interested in trying beanpost. I’ll do my best to answer your questions.
First, the idea for this project was to use PostgreSQL to implement a beancount-inspired “database engine” for double-entry accounting. While it’s possible to query and modify the beanpost database directly using SQL, its intended use is as a “back-end” engine to which other clients (web apps, mobile apps, report generators, etc.) would connect. I’m developing my own personal web app UI for my specific use case, but writing other clients would be straightforward since the data is in a standard SQL database. Put another way, beancount’s text-file-based method allows for simple data entry using only a text editor, making it easy for end-users to get started. However, this simplicity makes it challenging to develop tools that interact with the data. Using a database simplifies the development of clients to access data programmatically, though it requires a UI client for data entry since modifying a database directly is impractical. To address your questions specifically: - There are commands to import/export data between a beancount text-file and a beanpost database. See the README for details. - Regarding error checking, the most important balance assertions and transaction balances are checked, however some other validations are still missing. See the "What's Missing?" section of the documentation for more details. I hope this answers your questions. If you need more details or have any further queries, feel free to ask! Best regards, Ben > On Jun 28, 2024, at 4:48 AM, Chao Chen <[email protected]> wrote: > > Hi Ben. It's so cool to do accounting in a real database! So I am > eager to learn more about your way of using beancount and beanpost. > > 1. I haven't tried beanpost yet (I'll definitely do!), but my first > thought is that editing beancount files is much easier than updating > the postgresql entries. Do you use UI tools (like fava, or some magic > tools from the SQL world) to assist you do that? > 2. Do you have dedicated pipelines to sync between beancount files and > the postgresql db? > 3. One powerful feature of beancount is the explicit error checking > (for example account open/close, transaction balance, and balance at > date). Does beanpost also do these? > 4. Beanpost's README mentions "it can easily be used as a back-end for > other services like web apps, reporting tools". Is it convenient to > share an example? > > Thanks! > > Regards, > Chao > > On Sun, Apr 28, 2024 at 9:20 PM Martin Blais <[email protected] > <mailto:[email protected]>> wrote: >> >> It's not pedantic, it's totally needed at some point >> It would be nice to be able to generate accurate statements from both sides >> of these transactions. >> >> >> On Sat, Apr 27, 2024 at 4:59 AM Brian Lalor <[email protected]> wrote: >>> >>> Yes, that’s the one! I might be a bit overly pedantic about setting the >>> effective date, but it helps reconciling transactions with my bank. >>> -- >>> Brian Lalor (he/him) >>> [email protected] >>> >>> On Apr 26, 2024, at 10:58 PM, [email protected] wrote: >>> >>> >>> >>> On Apr 26, 2024, at 1:53 PM, Brian Lalor <[email protected]> wrote: >>> >>> >>> There’s a plugin that adds processing for an effective_date field. Maybe >>> part of Reds’ suite? I use this extensively. Maybe worth exploring and >>> adding explicit support for? >>> >>> >>> >>> Hi Brian, >>> >>> Thanks for sharing this! I wasn't aware of this plugin. Are you referring >>> to this one >>> (https://github.com/redstreet/beancount_reds_plugins/tree/main/beancount_reds_plugins/effective_date#readme)? >>> Beanpost already supports importing and exporting metadata, so it wouldn’t >>> be hard to implement this syntax. >>> >>> However, unlike Beancount, Beanpost doesn't require transactions to occur >>> at a specific point in time. This can lead to a situation where money >>> "disappears" from your assets while "in transit" between accounts. While >>> this is somewhat closer to reality, it might not always be what you want. >>> In this case, you could create manual holding transactions, like in the >>> example. >>> >>> Beanpost doesn't have "plugins” yet to do things like this automatically, >>> but it's something to consider for the future. >>> >>> To be honest, I didn't think much about allowing postings to have their own >>> dates when I implemented it. This change could be undone if it causes more >>> confusion or problems than it solves, but I have seen this feature >>> requested for Beancount a few times. >>> >>> Best regards, >>> Ben >>> >>> -- >>> 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/5BAF897D-5F22-40FE-B58D-E15D9D404BD5%40gerdemann.org. >>> >>> -- >>> 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/3A1E6703-508D-4051-87F9-1A51A44AF438%40bravo5.org. >> >> -- >> 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] >> <mailto:[email protected]>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/beancount/CAK21%2BhMSJ1x8wXwKUJkgMq%2B_ZmcLL_qAbSFL8ep9-ZUthn1Ctg%40mail.gmail.com. > > -- > You received this message because you are subscribed to a topic in the Google > Groups "Beancount" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/beancount/t_99aXRbG78/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected] > <mailto:[email protected]>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/beancount/CAF6JJ%2BCoxNzZX_uZG5XhfoNK_EoiWBrHLgVP9_nRHi0kHOmzYw%40mail.gmail.com. -- 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/DD810847-B5E7-4A1F-B299-C4FB5CEF8CCC%40gerdemann.org.
