Live data from Hacker News

Plain Text Accounting, a guide to Ledger and friends

plaintextaccounting.org

61–70 of 126 posts

Re: Plain Text Accounting, a guide to Ledger and friends

#61

I really don't know for whom this is for. For Normal People: Double Entry even though may sound simple, it is quite a difficult concept to grasp. For the sake of double entry we use counter entries that take months to grasp. For example - Amortization, Allowance etc. More over double entry method strives for standardization of entries. Having a plaintext non-autocompleting solution without accounting for only handful…

Well, my company has been using Ledger CLI for a decade. It has a few large advantages over off-the-shelf accounting packages, the primary one is that it allows us to extend the "Everything is code" approach to everything from ops to accounting.

- For example, instead of someone needing to remember passwords to five different current accounts and credit card sites, there are ruby scripts that download the data, convert them into journal entries and get committed to git. (Commercial packages can read your credit card data too, but there will always be a data source you need that they don't support)

- The scripts get committed and version controlled, but the ledger files themselves go into git as well. So you can bi-sect, revert, merge. All the tools git gives you that are an order more powerful than what an accounting package will have.

- As an organisation grows it will run into weird business specific processes, e.g. some tax or reporting requirement that your off-the-shelf package cannot do. If it's all just plain text files and code then the reporting requirement is one more ruby script away. (I've been a consultant in a previous life and you wouldn't believe the man hours that get lost in accounting departments with people doing these manual chores)

- Filling out quarterly tax statement is again just a single script. Took a bit of time to get it to work but now saves a lot of man hours each time.

There is a disadvantage: your average accountant won't know what ledger is or how to use it. But we have yet another little script that converts the ledger output to Excel for use in audits, etc.

Re: Plain Text Accounting, a guide to Ledger and friends

#62
post #58

Earlier quoted context omitted.

I suppose the biggest barrier for me would be learning double entry bookkeeping as I'm not doing that just now. I wouldn't know where to start. Currently the above makes no sense to me.

I'm not that familiar with the theory, in my case I just got started and now I'm used to it. Just to take the last example: 2021-03-20 Sprouts expenses:food:groceries $100 assets:cash $40 assets:checking This means you took 140 from your checking account, withdrew 40 that you now have in cash, and spent 100 in groceries. Does that still make no sense?

Honestly no. When I first read it I thought you'd spent 140 on sprouts which I thought was excessive, but each to their own.

Even though you've explained it I'm still struggling to make sense of it. The 3 indented lines don't related at all in an intuitive manner at least for me.

Re: Plain Text Accounting, a guide to Ledger and friends

#63
post #28
post #10

Earlier quoted context omitted.

> One of the hard problems in personal finance is data capture With hledger and vim, I typically search and copy a previous similar transaction, then search and copy similar items. I have a keybinding to change the date, so like 3\d changes the date of the transaction I copied to 3 days ago. Overall, being proficient in vim, capture takes very few keystrokes. Since the files are plain text, I can easily e.g. list all…

This is already after the data capture part. The hard part is to remember every little transaction I had until I have vim at my hand. The only solution seems to be working more or less is to take out my phone and type it as soon as the transaction happened. And I won't try to use vim on phone ever again..

I use GnuCash. For card transactions I simply import my bank statement .csv file every other week or so. For cash transaction, I use the app on my phone, otherwise I just forget how much I spent and where, by the time I get to my PC.

Re: Plain Text Accounting, a guide to Ledger and friends

#64

I've used the ledger-likes extensively, and they have two major problems: (1) One of the hard problems in personal finance is data capture and input validation. Programs like QuickBooks and Xero don't just hide the GL because they're being mean, they're doing it because even experienced bookkeepers make mistakes on the general ledger all the time. "Since it's a text file it's easy to read" solves exactly the wrong pr…

100% this. Collecting and validating data should be so easy that you don't have to think about it. Otherwise I find I can't stick to any solution/tool for too long. If discipline is required, then it's too complicated.

This is why I've started looking into tools which automate the data collection. In the UK (and EU more broadly), after Open Banking got introduced there are many apps popping out which basically connect to your accounts (Credit Cards, bank accounts, etc.) and combine all data into a single place. Does Plaid not enable this in the US?

It's not "100% accurate" but most enable you to do auto-categorisation, smart reporting and budgeting as well. They are not open-source but do much more than I'd ever be able to do with PTA (not because it's not supported but because it requires effort). Of the 2 bad solutions, they seem to be the less bad for me.

Some example apps: Emma, Yolt, Lumio.

Re: Plain Text Accounting, a guide to Ledger and friends

#65
post #27
post #21

It's so funny to see this post on HN. I recently took the plunge and got rid of Mint for Beancount. I probably spent 10 hours getting things set up. So far I really like being in full control of the "database" via a composition of files. Even a database feels too heavy-handed for my personal accounts. It was a lot of fun to learn accounting terminology and methodologies like the double-entry accounting. The most anno…

If you're based in the US, I would recommend ofxtools [1]. Anytime an institution supports "Download in Quicken", they have an OFX endpoint that you can find via ofxhome. [1] https://github.com/csingley/ofxtools

I used this a couple of years ago to create a script that automatically imports transactions from my bank account into my beancount ledger.

Unfortunately, only one of my banks provides OFX access at all (for a monthly fee), and I learned I’m not disciplined enough to keep up with the other banks manually.

Its annoying because I’m pretty sure the other banks do have OFX services somewhere, they just dont provide it to all customers, plus paying a monthly fee for the one bank that does just feels exploitative.

A less reliable, but more accessible solution might be to parse emailed bank statements, but those only go out once a month, whereas OFX can show new transactions within minutes/seconds.

Re: Plain Text Accounting, a guide to Ledger and friends

#66

What is the best way to use ledger on my android phone? I need to be able to account for every transaction I make immediately after they happen. Sitting down and writing all this stuff into a file at the end of the day is just too boring. Anyone have experience with the apps mentioned in the site?

I use Spendee to track expenses. They are using firebase so its quite easy to get your data with a script. I then use the expenses csv file along with other journal files. Expenses are most boring to enter and Spendee solves that nicely.

Re: Plain Text Accounting, a guide to Ledger and friends

#67
post #16

Earlier quoted context omitted.

It'd be cooler if the quantities didn't come formatted with thousands seperator commas and currency symbols. Then, the numbers could more easily be treated as numbers in SQL.

I have not used the SQL output, but I hope it's like all other hledger output: the number formatting is configurable (following your data format by default, but overrideable).

Yeah, but IMHO, while it makes sense to have configurable formatting for terminal output, it doesn't make sense to apply that formatting to output meant for SQL.

Re: Plain Text Accounting, a guide to Ledger and friends

#68
post #28
post #10

Earlier quoted context omitted.

> One of the hard problems in personal finance is data capture With hledger and vim, I typically search and copy a previous similar transaction, then search and copy similar items. I have a keybinding to change the date, so like 3\d changes the date of the transaction I copied to 3 days ago. Overall, being proficient in vim, capture takes very few keystrokes. Since the files are plain text, I can easily e.g. list all…

This is already after the data capture part. The hard part is to remember every little transaction I had until I have vim at my hand. The only solution seems to be working more or less is to take out my phone and type it as soon as the transaction happened. And I won't try to use vim on phone ever again..

> The hard part is to remember every little transaction I had until I have vim at my hand.

Most of the time, there's no need to remember. Just put the receipt in your pocket, and when you get home you can further postpone it by stacking it with other receipts on a receipt spike. It's only the cash transactions that are best not left postponed for longer than a day or 2, but if you just scribble down the important bits on a scrap of paper, you can postpone it like any other receipt.

Re: Plain Text Accounting, a guide to Ledger and friends

#69

What is the best way to use ledger on my android phone? I need to be able to account for every transaction I make immediately after they happen. Sitting down and writing all this stuff into a file at the end of the day is just too boring. Anyone have experience with the apps mentioned in the site?

I use Cone and Termux on my android device. My ledger journal is synced to a private git repo. When I'm away from my laptop, I just enter the transaction in cone, and push it via termux at the end of the day.

It does have some limitations though, as cone is append only, it cannot edit transactions. For this, I've had to fire up vim a few times in Termux.

I have also created a few scripts using ledger, gnuplot and termux-open to generate graphical reports, and have exposed these via termux widgets. This gives me a one-click access to real time reports on my phone.

Re: Plain Text Accounting, a guide to Ledger and friends

#70

I really don't know for whom this is for. For Normal People: Double Entry even though may sound simple, it is quite a difficult concept to grasp. For the sake of double entry we use counter entries that take months to grasp. For example - Amortization, Allowance etc. More over double entry method strives for standardization of entries. Having a plaintext non-autocompleting solution without accounting for only handful…

It is a good question to ask. You say the FAQ has addressed it... I guess it was not convincing ? (If you remember where, please point me to it..) PTA tools, some of them at least, can scale well from beginner-level single entry accounting, or even zero entry "accounting" (just a list of dated event descriptions), to fully general double entry accounting that can model any financial event. I always encourage people t…

Good reasons indeed. I'm not a user of this PTA, but a couple of months ago I decided to write my own simple bookkeeping software. I reckoned: if I have to learn double entry bookkeeping one way or another, I want to do that step-by-step with my own software. Just something running locally now. I also build in some (as I call 'm) Semi-Automatic Shortcuts, which let me enter standard recurring entries. Click-click-done. And the best thing: I now understand what this whole double entry bookkeeping thing is.

Even for using of-the-shelf software from a third party, you need to learn the idea and skills behind double entry bookkeeping. The software is not going to fix that for you.

P.S. If anybody is interested in a simple locally deployed PHP-script to do bookkeeping, send me a message. There's also a simple timetracker, a balance sheet, profit/loss statement, etc. You need a local server and MySQL database to run it. I guess in it's essence it's applicable worldwide, but if you're from The Netherlands, it's ready to do taxes for you.

Post reply on HN