4 ms·
I'm a big fan of CLI accounting software (Ledger, Beancount and hledger) for my personal finances. Allows you to use a plain text file for recording your financ
by brensmith 8y ago
I'm a big fan of CLI accounting software (Ledger, Beancount and hledger) for my personal finances. Allows you to use a plain text file for recording your financial data. If you live a large percentage of your life in a command line environment, and you like your life scriptable, check it out. I personally use hledger, but would recommend that folks check out http://plaintextaccounting.org/ http://plaintextaccounting.org/ for a great overview of all cli accounting packages.
- pmoriarty 8y agoI love the command line, and really wanted to love Ledger, but found that manual transaction entry for it (even using Emacs) was far inferior to Gnucash, which does far more powerful autocompletion on previous entries. This makes Ledger impractical for manually entering thousands of transactions, which I had to do. I also tried some GUI interface to Ledger that was supposed to be better in this respect, but couldn't get it to work.
- icebraining 8y agoLedger can import GnuCash databases, so in theory you could do the the insertion in GC and processing in Ledger :)
- JustSomeNobody 8y agoI believe I remember seeing some CSV to Ledger-cli tools if you can get the data into that format.
- brensmith 8y agoI agree that entering large numbers of manual transaction can be clunky, but for the occasional single transaction it can be pretty quick. For larger numbers of transactions, I've created a rules file that hledger uses to parse the downloaded CSV file from my bank to create a fairly detailed journal entry. (https://github.com/simonmichael/hledger/wiki/Convert%20CSV%20files https://github.com/simonmichael/hledger/wiki/Convert%20CSV%2...). The real added benefit for me is using git not only for my journal file, but also for the CSV files. It gives me an immutable record of transactions from my bank. I had a revelatory experience reading adept's methods for tracking his financials. Version control for everything. https://github.com/adept/full-fledged-hledger https://github.com/adept/full-fledged-hledger
- burkemw3 8y agohttps://github.com/egh/ledger-autosync https://github.com/egh/ledger-autosync has been real handy for me with transactions. My "entry" work is modifying some categories that it gets wrong. I don't fully understand your situation, so I'm not expecting it necessarily solve your entry problems. I'm only raising awareness.
- BeetleB 8y agoInstead of GnuCash, I use KMyMoney. It saves everything in XML. To use Ledger, I essentially use KMyMoney for entering transactions, and wrote a Python script to convert the XML into a file Ledger can read. You may want to see if that's possible with GnuCash?
- fiatjaf 8y agoShameless plug: I've compiled hledger to JavaScript and you can run it in your browser on https://hledger.alhur.es/ https://hledger.alhur.es/
- seltzered_ 8y agoYeah, I've particularly liked the approach suggested by Beancount - you in some ways treat your finances like a software project - meaning you keep the plain text ledger file, importers, and documents structured and all in a git repository. The repo gives you a feedback loop of how often you're keeping up with your finances. Plus, recategorizing/restructuring things The learning/migration curve is hard. But eventually you get rewarded once all the data is in and can leverage web-based frontends like fava https://github.com/beancount/fava https://github.com/beancount/fava to visualize and filter things. Or just write your own script for a custom report. Other notes: - It took me about a year from committing to organize my finances this way to now having a regular import-review-commit workflow. Your situation may vary but it took me a while since I didn't organize finances at all before aside from earlier attempts of using mint. Beancounts documentation ( https://docs.google.com/document/d/1RaondTJCS_IUPBHFNdT8oqFKJjVJDsfsn6JEjBG04eA/edit https://docs.google.com/document/d/1RaondTJCS_IUPBHFNdT8oqFK... ) is great but is dense and spread out a bit, thankfully their email list ( https://groups.google.com/forum/#!forum/beancount https://groups.google.com/forum/#!forum/beancount ) is pretty active and helpful. - The ledger file will get big, but it's easier than having multiple files. Use syntax highlighting & more importantly code folding. And no you don't have to be an emacs/vim nerd to do this (i'm using sublime FWIW). - There's migrators from mint/etc. but those aren't perfect because the data from mint isn't always perfect. I went through the exercise of categorizing many transactions from earlier years. It's a masochistic option but really wanted some historical data. Ultimately you'll find yourself refactoring/re-categorizing things over time, and because it's in a git repo you won't be afraid to be ruthless about this. - Writing your own importers is part of the learning curve. You might find some odd ones on github but you ultimately want to write your own - the examples in beancount's source code are a good starting point. You don't have to do it for everything, just the ones that are too unwieldy for tracking manual transactions. - I'm still wrapping my head around how to leverage beancount to function as a budgeting / forecasting tool. Several friends use YNAB (there's also financier.io) instead for those needs.
- seltzered_ 8y agoderp, meant to say "Plus, recategorizing/restructuring things..." is usually a quick matter of just search-and-replace. And syntax highlighting (e.g. https://packagecontrol.io/packages/Beancount https://packagecontrol.io/packages/Beancount) also enables autocomplete.
- thekingshorses 8y agoI really want to use it for my business. I couldn't get it working on Windows or Raspberry PI.
- atheriel 8y agoThe hledger implementation [0] has Windows binaries available, and it's mostly compatible with the original. [0]: http://hledger.org/download.html http://hledger.org/download.html