I've been using Ledger for almost nine years, both for my personal accounts and now my business accounts. I wrote some introductory articles about it, and further articles about how I use it day-to-day:<p><a href="https://www.petekeen.net/finance" rel="nofollow">https://www.petekeen.net/finance</a>
I use and love ledger, and wrote a Ruby wrapper a few years ago called reckon that applies Naive Bayes to your bank CSV (kind of link Mint.com) and outputs a ledger input file.<p><a href="http://blog.andrewcantino.com/blog/2013/02/16/command-line-accounting-with-ledger-and-reckon/" rel="nofollow">http://blog.andrewcantino.com/blog/2013/02/16/command-line-a...</a>
I've used ledger for years, but it's not a 'real' double entry system, despite what the manual says. It's more halfway between cash and double entry. The 'auto balancing' for example, which is sold as its big feature, doesn't make sense from a double accounting perspective - the whole <i>point</i> is to not have it be 'auto'. Other basic things are missing - the difference balance and profit/loss accounts, for example. It's fine for personal and small business accounting, but if you've had training in real accounting some things will be confusing (because of terms meaning something else) and don't expect your accountant to be able to work with your reports if you haven't set up your system in cooperation with him/her.
I wrote a small, single-script clone in Python:<p><a href="https://github.com/danpat/uledger" rel="nofollow">https://github.com/danpat/uledger</a><p>I wanted to be able to group all my assertions together. This means the assertion needs to be able to retroactively calculate the balance on a given date. ledger-cli's assert doesn't support this. hledger does, but, well, I'm not a Haskell guy and the whole Haskell ecosystem seemed...cumbersome...to install.<p>uledger supports a useful-to-me subset of ledger-cli, primarily nested accounts, multiple currencies and out-of-order assertions and transaction entry. It has a bunch of tests and a very simple web balance interface. My favourite feature is the accounting-equation balance feature:<p><pre><code> 2015-01-01 Opening Balance
Equity:Owners Contributions $-100
Assets:Bank $100
2015-01-01 Buying widgets
Liabilities:Credit Card $-50
Expenses:Parts
2015-01-03 Some Income
Income:Consulting $-200
Assets:Bank $200
assert balance 2015-01-02 Expenses $50
assert equation 2015-01-04 Assets - Liabilities = Equity + Income - Expenses
</code></pre>
Feedback/patches welcome.
as a side note: both ledger [0] and hledger [1] support time tracking/keeping. of all the various tools I tried to use for personal stuff it has been the most convenient one for me (it helps that I also use it for accounting) and I'm using it consequently from day 1 on! you can apply the same reporting/balancing to your time keeping as you do to your accounting.<p>[0] <a href="http://www.ledger-cli.org/3.0/doc/ledger3.html#Time-Keeping" rel="nofollow">http://www.ledger-cli.org/3.0/doc/ledger3.html#Time-Keeping</a><p>[1] <a href="http://hledger.org/manual.html#timelog" rel="nofollow">http://hledger.org/manual.html#timelog</a>
Been using ledger for 9 years as well (hledger lately.) Never have a hitch. The only complaint I have is that I can't (easily) keep AR in sync with online invoicing software. minor though. Would love to have some git-style integration with my bank and other accounts. `ledger pull savings` or `ledger pull invoices`
Previous discussion: <a href="https://news.ycombinator.com/item?id=7707262" rel="nofollow">https://news.ycombinator.com/item?id=7707262</a><p>Unaffiliated with, but an extremely pleased user of <a href="http://www.youneedabudget.com" rel="nofollow">http://www.youneedabudget.com</a>.
There's another open source project worth checking out called BeanCount. The author, Martin Blais, originally wrote it in Python to serve similar double entry bookkeeping needs as those from the ledger-cli community. He seems to be continuing development of it, or at least porting portions of it (plugins?) to a variety of languages.<p>homepage: <a href="http://furius.ca/beancount/" rel="nofollow">http://furius.ca/beancount/</a>
source: <a href="https://bitbucket.org/blais/beancount/overview" rel="nofollow">https://bitbucket.org/blais/beancount/overview</a>
(Coming from a Windows background) I often wonder what the appeal is to something like this.<p>(Seriously!) Why would you use something like this over say a spreadsheet? Is it really much easier than opening a browser and running Google Docs???
I have been using Ledger for a long time and it has really been a wonderful tool. The reports are great. I even made a little Python script so I can easily make entries from terminal on my phone!
Is it possible to attach a receipt (say scanned PDFs) to a Ledger entry? I am interested in ledger, would like it to be the accounting system for my side business, a bit more bookkeeping feature such as the receipt attachment would be great for tax filing purpose.<p>Edit: I know that Ledger uses plain text for each entry. Though I kind of wonder how do you guys keep those receipts.
I've used Ledger extensively for a side business as well as for timekeeping for work. It's incredibly powerful and incredibly unforgiving.<p>If you want to keep PDF, JPG, etc. receipts with it, just put them in the same directory and note them in a comment. Additionally, use a VCS that does binaries well. Git does not.
This is very interesting. I'm involved in an open source project to create a Ruby gem to extract bank data from multiple banks and offer it via a CLI and a Ruby API. We fetch the data either from bank APIs (which often we discover through reverse engineering of mobile apps) or simple web scrapping.<p><a href="https://github.com/bankscrap/bankscrap" rel="nofollow">https://github.com/bankscrap/bankscrap</a><p>The project is still under heavy development but we already have support for 3 main banks in Spain. We also have managed to integrate it with Slack and other apps.<p>I am sure we can learn a lot from the Ledger CLI.
I have been very interested by ledger lately, is there a wrapper, somewhere, that would ease interactions with my bank account and/or allow me to plot reports graphically across time?
I used ledger-cli, but as I constantly deal with several currencies, I can't rely on it. Unfortunately, none of the open source accounting system I know support multi-currency accounting well.
There is also a nice php based simple accounting app for those looking for a slightly modern user interface.<p><a href="http://webzash.org/" rel="nofollow">http://webzash.org/</a> <a href="https://github.com/prashants/webzash" rel="nofollow">https://github.com/prashants/webzash</a>
It's got a high hack and giggle factor, but obviously horrible usability for anyone off the command line - which includes your accountant/tax advisor.<p>Here in New Zealand essentially every start-up uses Xero - a SaaS accounting system that works extremely well and now has over 600k paying customers.
It means one set of data, permanently in the cloud, and a host of integrations to other players.<p>Founders open up access at different levels - we can give read-only to directors and some investors, advisor-level access to accountants and bookkeepers and so forth.<p>Frankly it's part of the NZ advantage right now (120000 or so of those customers are here) - we seem to be spawning a large series of smart, low cost B2SMB SaaS businesses, who are not just following Xero's own path, but also using the tool to improve the way they do business.
WHY?<p>There are a bunch of legit accounting packages out there. No need to re-invent the wheel or (in this case) clean the parade ground with a toothbrush. Off the shelf SME accounting package or if you really need it a proper ERP. Anything else is likely to end in tears.<p>Unless its for your one man show...in which case go wild with the CLI / Excel custom rolled solutions & sundry DIYs.<p>Source: Accountant