10 ms·
Ledger, a powerful CLI accounting tool
- deleted 13y ago[deleted]
- jimktrains2 13y agohttps://github.com/jimktrains/freebooks https://github.com/jimktrains/freebooks is something I started working on a while ago. It stores everything inside git commits and signs each transaction. My goal was/is to make it distributed such that my wife and I can enter transactions separately and then merge them at some later point.
- ac2u 13y agoblockchain? :)
- jimktrains2 13y agoNo reason you couldn't use a block chain. freebooks is designed for a handful of trusted users, so I thought git was a better choice.
- dragonwriter 13y agoLedger is awesome, but hardly new...What's the news here?
- NAFV_P 13y ago> Ledger is awesome, but hardly new...What's the news here? It isn't SAGE.
- ams6110 13y agoAgree, but I think it's ok if cool stuff is posted again every so often. There are always people who didn't see it last time around. It's funny, I found ledger to be WAY easier to learn and use than QuickBooks, which just completely baffled me. Yet QuickBooks is the leading system for small business.
- mercurial 13y agoI haven't used QuickBooks, but I think most people would stop at "open the terminal". Probably even my partner, and she is running Debian. That said, it turns out that a flexible custom text file format, combined with well thought-out concepts and powerful commands, blows out of the water most widget-heavy UIs in terms of ease of use. It's unfortunate that more people don't realize it. Of course, the stellar documentation helps too.
- dragonwriter 13y ago> That said, it turns out that a flexible custom text file format, combined with well thought-out concepts and powerful commands, blows out of the water most widget-heavy UIs in terms of ease of use. It's unfortunate that more people don't realize it. I think more people "don't realize it" because "ease of use" is subjective rather than objective, and for many people, a custom text file format, even combined with well-thought out concepts and powerful commands, doesn't blow widget-heavy UIs out of the water.
- smackfu 13y agoThe problem is usually when you have to give your books to your accountant / tax preparer, and not using the standard is painful.
- mercurial 13y agoIt's not new, but I wasn't aware of it until a few days ago, after rage-quitting gnucash in frustration, and I figured some HN folks would appreciate reading about it. It's the first accounting app which doesn't trigger homicidal tendencies when I use it.
- thu 13y agoLedger inspired hledger, written in Haskell: http://hledger.org/ http://hledger.org/
- 616c 13y agoAlso noting hledger has a cooler web interface, whereas others built projects with a ledger backend. Ledger is CLI only. http://hledger.org/manual#web http://hledger.org/manual#web
- mercurial 13y agoWell, the more the merrier. Apart from the web interface, it doesn't seem to be quite as full-featured (eg, no typed metadata), but I may try out one of these days. I'd like to note that ledger's manual is second to none. More documentation like this, please.
- smichael 13y agohledger author here. It is a bit less featureful than Ledger, partly by necessity (it's younger, I'm slower) and partly by design. My priorities are slightly different from John's. That said, hledger does have features Ledger doesn't (aside from being a haskell project, which I see as a significant long-term feature). Some of hledger's experiments have found their way back into Ledger, also. Also by design, hledger is very compatible with a subset of Ledger, so that you can keep journal files that work with both.
- mercurial 13y agoAs I said above, I welcome more software like this, it's a very nice trend (I noticed Python and Perl implementations as well).
- rkowalick 13y agoI'm a big fan of ledger. Very easy to use and very powerful. One of my first ruby projects was creating a scraper for the Chase mobile website that outputed ledger-compatible text: https://github.com/rkowalick/autobank https://github.com/rkowalick/autobank
- mrbill 13y agoBeen using this for over a year, since the last time I saw it on HN...
- thelsdj 13y agoI spent 10-15 hours (mostly in Ledger) figuring out what my Bitcoin tax liability was. Not (mostly) Ledger's fault that it took so long. Now that I know what I'm doing, I should be able to do this year in just a few hours.
- Torgo 13y agoLedger appears to be the "prescribed" way to do accounting natively in Bitcoin/other cryptocurrencies as well. I investigated this earlier this year. Quicken is out, no support and no way to add it in. And I found that GNUCash can't handle bitcoin's level of divisibility, and is tied to ISO currency codes. Ledger doesn't care about any of that.
- amboar 13y agoInteresting; I might poke around at Ledger. Recently I just wanted to see what I was spending money on in a few simple graphs graphs, and so hacked together some python and matplotlib: https://github.com/amboar/fpos https://github.com/amboar/fpos. fpos doesn't do anything complicated, but allowed me to see where my money was going without me doing too much tedious work.
- cheez 13y agoJohn Wiegly is an amazing, prolific and intelligent programmer. Very inspiring.
- FroshKiller 13y agoThis project is very interesting to me. I work for a company that develops a SaaS accounting solution, and I've wanted to work on a CLI suite for posting and auditing tools.
- fiatjaf 13y agoWhat is so hard in personal accounting that takes an enourmous quantity of apps, webapps, web services and CLI tools to solve? Is it really worth creating markdown files for each expense and passing them to a "powerful tool"? I'm asking honestly, not trying to make fun of it somehow.
- superuser2 13y agoThere are lots of large, flashy programs, but in my cases UX is exceptionally poor and the tools are extremely inflexible. Take Mint, for example. It is impossible to have an overall budget. You can only set budgets per category. There does not appear to be a modern tool that will show me a progress bar of where I am on spending per month. Every option I've ever seen requires budgets to be set per category. There are lots of different ways people want to see data, and many of these flashy/polished tools (like Mint, Simple, whatever) give a giant "fuck you" to anyone who doesn't think in exactly the way the program was designed.
- sathyabhat 13y agoYNAB should fit your needs well - I know it does for me. Using YNAB after trying(and failing, mainly because it doesn't support my currency/location)Mint. https://www.youneedabudget.com/ https://www.youneedabudget.com/
- dragonwriter 13y agoIts not so much that it "so hard", its just a common need where one of the key issues is working with individuals preferred workflows, which are highly fsubjective -- so there are lots of tools that serve the needs of different people.
- pbnjay 13y ago> markdown files for each expense Not sure where you got that. It's a single file with many transactions laid out in a straightforward double-entry accounting format. I'm a developer, so the draw for me is that that I can write a few scripts to translate my various online accounts' downloadable formats into the simple text format while automatically adding in expense categories based on regex. I can't do that with any other apps I've seen.
- dgreensp 13y agoThanks for posting this, it's new to me! I was just thinking about trying to find a new double-entry accounting system (no joke). The last time I did a proper budget it was with Apple Numbers, which was not very satisfying.
- kingnight 13y agoThe reasons why I tried and failed with ledger: - I never quite understood how to 'start' the ledger balance. Should I start on the first of the year when my account was at $56 or today when it's at $76 ... where does this $ come from? but probably more this: - I found it super laborious to enter transactions. I guess I grew up post-checkbook but when I'm not near my computer for a few days and have a pocketful (or not) of transactions to enter, I would get behind and then just give up. Even with logging into my bank account to cheat. - Investments man. How does one track dividends, buy/selling in a text file. I probably need to take a finance class... :)
- mercurial 13y ago> - I never quite understood how to 'start' the ledger balance. Should I start on the first of the year when my account was at $56 or today when it's at $76 ... where does this $ come from? That's not ledger-related, that's double-bookkeeping related. What you want to do is something like: 2014-07-05 Opening balance Assets:Checking $ 56.00 Equity:OpeningBalance $-56.00 Actually, there is, in the wonderful ledger manual, something about that. Of course, Equity:Opening balance will remain forever at -56.00, but that's not a problem. Wrt to investments, I haven't really explored that part yet, but there is a description of how you're supposed to track your portfolio.
- dragonwriter 13y ago> I never quite understood how to 'start' the ledger balance. Should I start on the first of the year when my account was at $56 or today when it's at $76 ... where does this $ come from? Whenever, it doesn't matter. Its just an opening balance. [1] > I found it super laborious to enter transactions. I guess I grew up post-checkbook but when I'm not near my computer for a few days and have a pocketful (or not) of transactions to enter, I would get behind and then just give up. Even with logging into my bank account to cheat. Yeah, the hard part of tracking finances, regardless of system, is the discipline of actually keeping up with it. > Investments man. How does one track dividends, buy/selling in a text file. I probably need to take a finance class... :) The ledger manual actually covers tracking investments in some detail. [1] http://ledger-cli.org/3.0/doc/ledger3.html#Starting-up http://ledger-cli.org/3.0/doc/ledger3.html#Starting-up
- bananas 13y agoTried it but I can't shift the spreadsheet mentality. Perhaps I'm getting old and inflexible but literally everything has a brick wall somewhere apart from spreadsheets. Edit: I did my accounts on an HP48GX until about 2003, bought sage line 100 and hated it, moved to excel 2000 and now libreoffice calc.
- roel_v 13y agoWhile theoretically you can do double-entry bookkeeping in Excel, it's frustrating and error-prone. Then again for somebody who doesn't see the value of double entry bookkeeping, it's unnecessary anyway, and Excel will do fine.
- bananas 13y agoI do double entry. Accounts as columns, transactions as the first two columns (desc/id and amount) and one transaction per row. Transactions are added to the ledger with a macro and the ledger columns are locked so there is no possibility of human error. One sheet per financial year, balance carried over for all accounts between sheets. So yes you can do it and no it's not frustrating if you do a little automation... Compare this to Sage which requires piles of money, time, expertise, maintenance, installation, backup and restore.
- bjoerns 13y agothat's pretty awesome. I'm paying one of these accounting cloud services about EUR 600/year. They are ok but they only have a SOAP API to get the data in and I don't want to mess around with that. So I end up preparing all my accounting data in Excel which is mostly automated but it does make me wonder why I'm paying them EUR 600/year in the first place...
- bananas 13y agoI was paying about that to Sage and it didn't work properly and cost me a crap load of time so I've been there as well :)
- kinleyd 13y agoLedger has been on my TBD list for a while. Been meaning to implement a project with it. Now may be a good time.
- hrjet 13y agoI have been maintaining a ledger-inspired app in Scala: https://github.com/hrj/abandon https://github.com/hrj/abandon While I loved the main idea in ledger, of having a text-based database of transactions, I was not satisfied with the particulars of the implementation; hence the fork. You can find a list of all ledger-inspired apps here: https://github.com/ledger/ledger/wiki/Ports https://github.com/ledger/ledger/wiki/Ports
- bkuhn 13y agoI'm President of the Software Freedom Conservancy, a 501(c)(3) non-profit charity that provides a home for Open Source and Free Software projects. We've used Ledger-CLI since around mid-2008. We currently have 137,677 lines of ASCII Ledger-CLI data. We're thus likely the largest Ledger data set in real-world operations on the planet. We switched to Ledger-CLI simply because it was the only Free Software accounting tool that had the flexibility to handle the complex area of non-profit accounting called "fiscal sponsorship", which is the primary purpose of our organization. However, the fact is, I keep the books myself because Ledger-CLI gives you an excellent set of books that only a hacker could love. That said, our accountants after a few annual audits that were painful, this year absolutely love our reporting and find our audit a breeze (see the contrib/ area of Ledger-CLI's repository for the scripts we use for reporting). Our biggest challenge now is that we are growing and need a programmer who can use Emacs, the command line, and revision control systems to keep our books isn't scalable. We need a better UI for both data entry and reporting to make this work. As such, Conservancy last year started raising funds to build a better accounting system for non-profit organizations on top of ledger: https://sfconservancy.org/campaign/ https://sfconservancy.org/campaign/ It's slow going, but I recently announced that I'll be spending 50% of my time on the project, and we hope we'll get more donations as time goes on. We're focused on what non-profit orgs need first, but long term, we'd like to build an accounting application that will "last". We did a survey of all the known Open Source and Free Software accounting applications, and frankly we found them all lacking for various reasons: either they try to do too much and fail to get the accounting done right, or they are just poorly designed: http://npoacct.sfconservancy.org/ExistingProjects/ http://npoacct.sfconservancy.org/ExistingProjects/
- kinleyd 13y agoI'll be keen to see the nature of UI and reporting tools that emerge from this exercise. I currently use TurboCash, which is a Windows-based accounting solution that works well for me, but I am keen to move away from Windows entirely and on that front Ledger is currently top on my list.
- cel 13y agoHere are some scripts I made for importing transactions into ledger journals from various formats: https://github.com/clehner/ledger-scripts https://github.com/clehner/ledger-scripts