Comment by ekjhgkejhgk
5 hours ago
A lot of people in this thread comingling "plain text" with "double entry".
Beancount is both, but you can do either one or the other or both. In particular, you DONT need to learn double entry to do plain text accounting. Of course, you SHOULD learn double entry accounting because it's a great tool for organizing knowledge.
Whether plain text is beneficial for accounting is less clear cut in my mind. I think plain text is backlash against the over-reliance on "services", "clouds", and "lock in", but I think it's misguided. If you're concerned with someone locking you in, it's perfectly concievable to do double entry accounting which lives only on your computer and manipulated with software that is under your control (read: free software).
So in summary, my opinon is:
- accounting: important
- double entry: important
- avoid clouds and ventor lock in: important
- avoid proprietary file formats: important
- plain text: unimportant
(I use GnuCash. It's not without its flaws, but it's great if you agree with the above views)
I think Accounting needs automation. Because manual tasks are error prone & Accuracy is a P0 requirement for finance.
Two points here.
First, automation is a new orthogonal dimension. You can have automation with or without plain text.
Second, your emphasis on "automation" leads me to believe that perhaps you misunderstand what accounting is. Accounting is not just taking a list of transactions and recording them (database, file etc). That is called bookkeeping. Yes, accounting is also amenable to automation, but much less so than bookkeeping. Although, you could argue that when applied to the life of a normal individual, accounting and bookkeeping are almost indistinguishable. You have income, you have costs, and you have a mortgage - pretty straightforward. My point is in general you cannot entirely automate accounting. The reason for that is that accounting isn't just processing bytes, but instead requires the understanding of the underlying economics associated with the transactions. This understanding in turn isn't stored anywhere other than the accountant's mental model of the entity he's doing the accounting for.
EDIT: Just to be clear, I don't disagree with you that accounting could use more automation. Everything could use more automation. But for something it's more straightforward than others.
I suppose one problem with this is that accounting needs legal responsibility in case of mistakes. Software usually (if not always) does not guarantee anything (in the legal sense) and its seller/producer does not assume any responsibility whatsoever.
This! It blows my mind every bank doesn't have a sort of scripting language of some sort that let's me automate whatever I want to happen. I've seen a few services that supposedly enable this but their prone to breakage, don't support one bank or another, or are simply way too expensive.
I love/hate GnuCash.
I've been using it for years, and it helps a lot. I would pay good money for someone to improve the UI, maybe even separate the accounting engine into a library that could be used by different UIs.
100% on the UI. My main gripe with GnuCash is that it's impossible to do "mass actions" from the UI.
On the point of "library" - you know that "GnuCash the app" comes with its lib, and there's python wrappers? I've only ever used these to produce reports (read, reports different from the ones provided by the UI). However I believe it's also possible to do things like inserting transactions via these python wrappers.
Another example of something which is possible via the python wrappers is labels. GnuCash doesn't support labels, but it supports adding general text to each transaction and to each leg of each transaction. So you can e.g. use hashtags in the text, and then consume transactions into python and aggregate on these hashtags, making them effectively labels.