5 ms·
I've been playing around with ledger[1] recently. On one level, it is the simplest of tools requiring only a command line and a text editor. But once you wade i
by every 6y ago
I've been playing around with ledger[1] recently. On one level, it is the simplest of tools requiring only a command line and a text editor. But once you wade into the documentation[2] you will begin to see it quite differently. Its capabilities are staggering...
[1] https://www.ledger-cli.org/index.html https://www.ledger-cli.org/index.html
[2] https://www.ledger-cli.org/3.0/doc/ledger3.html https://www.ledger-cli.org/3.0/doc/ledger3.html
- jonahbenton 6y agoBeancount as well, very similar in philosophy and staggering in capability, slightly different flavor and rendition compared to ledger. http://furius.ca/beancount/ http://furius.ca/beancount/
- pmoriarty 6y agoI looked in to switching from GnuCash to Ledger about 5 years ago, and found that it would have been too painful to use for manually inputting the thousands of transactions I had because it just didn't have the nice auto-complete and GUI nicities that GnuCash had. I'm a hardcore command-line and keyboard-only power user, so I would have absolutely loved to have made Ledger work for me rather than use the mouse-heavy GnuCash interface, but couldn't, and went back to GnuCash with my tail between my legs. I'd still rather use it, so maybe I'll give it another try some day.
- every 6y agoAssuming GnuCash can do some sort of plain text record dump, I would probably try to cobble something together to convert that to an acceptable ledger format. Maybe with AWK or something similar...
- igpay 6y agoThis is exactly what made me switch away from ledger. I thought that a command-line/plaintext only workflow would be great, because that's what I usually prefer. However, a GUI + autocomplete just ended up being way more useable for me in this case.
- gen220 6y agoI've been using ledger for a year next month. As you imagine, the fact that it's text-only has been both a burden and a blessing. Burdens: - inserting transactions takes a long time, when you're starting out. will always take a long time if you never "automate" - it's easy to make little mistakes and not catch it until the next time you compile or make a report. blessings: - git, sed, grep, awk all "work as advertised" - you can automate the boring things, as they get more boring, and you can learn a lot along the way at this stage, I have a combination of awk and python scripts (maybe 500 lines total, but a lot of it is regex) that convert my financial institutions' transaction export csvs into ledger transactions. I pretty much copy paste that into specific ledger files. The next step that I'm currently automating takes a concatenated `git diff` and interactively categorizes expenses/splits/assigns to the correct ledger file. I also blew a ton of time (maybe 40 hours) on scraping those csvs from bank websites, workday, and fidelity (basically, a puppeteer script for logging in, downloading all the files available). Getting past google auth for workday was hard. But learning these things has been fun. With all this automation, I spend maybe 20 minutes every weekend importing things over from the banks. I'd do it every month, but I'm still a control freak with it. Doing this has been super fun! And it also has yielded a lot of insight into my finances. Above all, it gives me a feeling of "control" over my finances like no other. Itemizing deductions takes an hour, just as a throwaway example.
- hesk 6y ago+1 for ledger. I switched from GnuCash to ledger about 8 years ago and never looked back. I have a script that pulls my bank account using aqbanking [1] and icsv2ledger.py [2]. The latter can match transactions to templates and set transaction accounts and payees automatically. It also supports autocompletion of account names when a transaction is not matched by a template. For cash entries, I use ledger-mode in Emacs. (I also use Org mode, so I spent a lot of time in Emacs anyway.) ledger-mode also supports autocompletion. I only use the command line for reporting and have aliases for the most common reports. These mostly revolve about showing my current budget. [1] https://wiki.gnucash.org/wiki/AqBanking https://wiki.gnucash.org/wiki/AqBanking [2] https://github.com/quentinsf/icsv2ledger https://github.com/quentinsf/icsv2ledger Fun fact: The second program I wrote was a database in Turbo Pascal to keep track of my loose change. Not so fun fact: I lost my GnuCash files after I made the switch. Ten years of accounting gone. :(
- BeetleB 6y ago> I looked in to switching from GnuCash to Ledger about 5 years ago, and found that it would have been too painful to use for manually inputting the thousands of transactions I had because it just didn't have the nice auto-complete and GUI nicities that GnuCash had. Similar problem, except I use KMyMoney. I wrote a program to convert my KMY file to Ledger format. So I still enter transactions in KMyMoney but have the power of Ledger as well.
- gen220 6y agoI strongly recommend people give ledger a try, especially if you're a UNIX-nerd who gets a lot of use out of sed/grep/awk. It's totally changed the way I think about finance, for my person and for businesses. It also means I can have very informed conversations with accountants! :) Double-entry accounting as a domain is super interesting, and Ledger's intersection of that domain with UNIX hackery is a joy to experience.
- oehtXRwMkIs 6y agoThe plaintext accounting ecosystem as a whole is pretty great. Only thing however is that literally none of them comply with the XDG Base Directory Spec. So to have hledger with a web-ui and auto-importing for example means like 3-4 dotfiles littering the home directory.
- EE84M3i 6y agoIs this a critical issue for you? How often do you `ls -a` in your homedir?
- BeetleB 6y agoIt's an annoyance. For example, I like to put everything in .config under version control. It's a much bigger pain to do it in the home directory.
- smichael 6y agohledger author here, I can't think what all those would be - would appreciate your help at https://github.com/simonmichael/hledger/issues/1081 https://github.com/simonmichael/hledger/issues/1081 if you have the time.