Live data from Hacker News

Beancount: Double-entry accounting from text files

github.com

101–110 of 127 posts

Re: Beancount: Double-entry accounting from text files

#102
post #57

Earlier quoted context omitted.

You’re spot-on about this. Even for my personal finance, I have to apply classification rules at import time and I can’t bulk edit transactions to reclassify them after the fact. As a result I am looking for a replacement, although a requirement for me is some sort of fava equivalent.

> I can’t bulk edit transactions to reclassify them after the fact. If you store your transactions in a plaintext format, why don't you use CLI tools? I just renamed a bunch of accounts using sed for instance, in a hledger journal.

Transactions with a specific regex payee need to be reclassified into a specific expense account. Yes, I could write a sed script to do this. No, I will not write a sed script to do this.

Re: Beancount: Double-entry accounting from text files

#103
post #80

Earlier quoted context omitted.

We gather our own data without any conflicts. Sorry, I thought that was apparent.

It just seems like an out-of-context statement. The entire thread was about accounting, then a sub-thread on family accounting, then you pop in to just say 'I do my accounting solo, as does my wife" which may be on-topic, but just not relevant.

My wife and I are a family. In a sub thread about family accounting, I said how this family does accounting. I don't know what to tell you.

Re: Beancount: Double-entry accounting from text files

#104
My company and I have been using Beancount since 2017 for all financial records. My company has about 60 employees and there are three individuals working in/on the financials regularly. Beancount (plaintext accounting) was the only solution that worked for us. We have many hundreds of thousands of transactions. We do both cash basis accounting (personal) and accrual accounting (company). We use Sublime Text with the Beancount plugin along with Git for version control.

In the beginning we--like virtually anyone else doing accounting--used QuickBooks. As we grew QuickBooks was less and less of a solution because of the issues we had with multi-user collaboration along with historical/rollback change tracking, e.g. knowing who made what change where and when. In other words, we started to outgrow QB. Further, there were lots of accounting needs we had where QB continued to fall short and get in the way.

We started to look around at various proprietary and open-source systems which were either locally installed or cloud hosted. Local installations came with problems surrounding collaboration and OS compatibility (Mac/Linux/Windows users) while cloud-hosted ones had issues around durability or longevity of the underlying company and sub-par data entry latency.

Further, we had additional needs including strong tracking of cost basis, alternate currencies, the concept of "lots" (FIFO/LIFO/cost averaging) of stock sales, short/long capital gain/loss, along with cost of goods sold, among other things. Finally, we wanted to get away from all paper records entirely meaning that any paper receipts would be scanned and tracked alongside the corresponding transaction which helped with collaboration because it made researching a transaction easier. (The receipt tracking we did via a customer document meta tag along with an associated ID attached to that tag residing in each transaction.)

As a software development company, we aren't afraid of a little bit of code and so the idea of a simple, plaintext accounting system with version control really appealed to us. The strongest contender that fit the model of our specific requirements was Beancount among all of the ledger-based derivatives. We've been very pleased with our results.

For our taxes, we do an HTML export of the financials using "bean-bake" and our CPA can navigate our financials without trouble. We use Fava (a Beancount web GUI) for various reports.

One place where Beancount really shines is the ability to edit multiple transactions at a time. Because it's just simple text files, you can easily use the "multiple cursors" option to make bulk edits or you can do simple search/replace. Because of Git-based checkpoints, there's no worry that we're going to break someone else while experimenting with an idea of how to express a given concept or the meaning of a set of transactions in the financial records.

That said, one place where Beancount still needs some polish is on the reporting side. Even with Fava, getting reports has never been as easy as QB. It often takes a little bit of Beancount SQL (SQL-like) querying to get the data you want. For getting loans and other things where paper-based reports are required this can require a bit of extra time.

Another weak point (at first) was for transaction import. This was soon overcome as we wrote some code that uses OFXTools to bring in all the credit card and banking transactions and to write them to the appropriate text files and then we go back through and categorize.

One last thing to mention is that, while the core business logic for Beancount is sound and far more capable than any other accounting program we have experienced, I can see how the choice of Python (or more specifically parsing of large text files with Python) can start to be problematic in terms of performance and delay. We're seeing the slowdown a little but it's not terribly inconvenient and doesn't interrupt the workflow. It's more akin to the compile time for a small application, e.g. 2+ seconds. I could see file-based checksum/caching into an internal binary/proprietary format helping quite a bit--kind of like those annoying little python .pyc files that show up when you execute Python.

Re: Beancount: Double-entry accounting from text files

#105

Earlier quoted context omitted.

I really enjoy using Beancount + Git for managing the accounting book for my own startup company, but I found it a bit tedious to add entries periodically. I wonder why nobody build a service make it like GitHub but for Beancount and automate lots of stuff. I then decided to make a service for it a while back. Shameless self-promoting here, yesterday I just launched the service in very early stage of open beta: https…

If you just started the service, carefully consider the name of the service. "Bean counter" is a disparaging term that is almost never a compliment. The first paragraph of https://www.cfo.com/accounting-tax/2007/10/finance-in-histor... explains: “Bean counting” has long been an insulting term for what finance professionals and accountants do. Often it’s been used to tar CFOs as transaction processors — a role largely…

I'm the solo software developer in my company. I share an office with an industrial automation engineer. Our office is called the nerd office. We embrace the disparaging term.

Re: Beancount: Double-entry accounting from text files

#106
post #80

Earlier quoted context omitted.

It just seems like an out-of-context statement. The entire thread was about accounting, then a sub-thread on family accounting, then you pop in to just say 'I do my accounting solo, as does my wife" which may be on-topic, but just not relevant.

My wife and I are a family. In a sub thread about family accounting, I said how this family does accounting. I don't know what to tell you.

Technically yes you are correct.

But the intention of your parent was "when funds start to co-mingle or you get more complicated accounts" and saying "Don't co-mingle" doesn't help answer the question for those who do co-mingle and asked for help in this thread.

Re: Beancount: Double-entry accounting from text files

#107
post #106

Earlier quoted context omitted.

My wife and I are a family. In a sub thread about family accounting, I said how this family does accounting. I don't know what to tell you.

Technically yes you are correct. But the intention of your parent was "when funds start to co-mingle or you get more complicated accounts" and saying "Don't co-mingle" doesn't help answer the question for those who do co-mingle and asked for help in this thread.

"you don't have to comingle" is a fine solution to the comment I replied to

>The short answer is that my wife and I have different opinions about how to track data.

Re: Beancount: Double-entry accounting from text files

#108
post #53

Earlier quoted context omitted.

https://github.com/redstreet/beancount_reds_importers/tree/m... https://github.com/jbms/beancount-import https://beancount.github.io/docs/importing_external_data.htm... Support for OFX is generally great, CSV is also great. There are some proof of concept things floating around too for PDF.

Do you find that all of your financial institutions offer reliable OFX/CSV feeds? I'm asking because I've generally come to the conclusion that PDF is the only universal data format that every institution will offer.

All of my high-volume (in terms of number of transactions) accounts are easily importable. There are a few that don't have great import functionality, but I only have 1-2 transactions on them a month so haven't felt the toil pain to better automate them. 1-2 hours a month of balancing is not worth optimizing down to 0.5-1 hour to me.

Re: Beancount: Double-entry accounting from text files

#109
post #48
post #8

Any married people have advice on how to track finances? I used bean count or ledger when i was single, but the manual system kind of breaks down when you have a family .

People will disagree with me, but.. don't? I keep track of my expenses by CC and cash account, by the month. I don't care that I spent $5 on a coffee. I do care that for the month of January I stayed within my $X amount, and that for the year I'm on track for my savings goal(s), retirement, etc. So I keep 2 spreadsheets, 1 is monthly, to ensure the bills get paid and the 2nd is my NW that tracks my retirement and sav…

This is what I do as well. Everytime I've looked into the whole personal finances thing, it just turns into a lot of setup work to not usefully change anything about my life, and a significant amount of ongoing work to... Also not change anything.
Post reply on HN