610 lines
44 KiB
HTML
610 lines
44 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
|
||
<!-- Basic Page Needs
|
||
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
|
||
<meta charset="utf-8">
|
||
<title>Plain Text Accounting, a guide to Ledger and friends</title>
|
||
<meta name="description" content="">
|
||
<meta name="author" content="">
|
||
|
||
<!-- Mobile Specific Metas
|
||
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
|
||
<!-- FONT
|
||
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
|
||
<link href="//fonts.googleapis.com/css?family=Raleway:400,300,600" rel="stylesheet" type="text/css">
|
||
|
||
<!-- CSS
|
||
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
|
||
<link rel="stylesheet" href="css/normalize.css">
|
||
<link rel="stylesheet" href="css/skeleton.css">
|
||
<link rel="stylesheet" href="css/site.css">
|
||
|
||
<!-- Favicon
|
||
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
|
||
<link rel="icon" type="image/png" href="images/favicon.png">
|
||
|
||
</head>
|
||
<body>
|
||
|
||
<!-- Primary Page Layout
|
||
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
|
||
<div class="container">
|
||
|
||
<!-- CSS: http://getskeleton.com -->
|
||
<!-- markdown: http://pandoc.org/README.html -->
|
||
<div class="row" style="padding-top:10%;">
|
||
<h1 style="text-align:center; margin-bottom:5%;">
|
||
Plain Text Accounting
|
||
</h1>
|
||
<div class="four columns">
|
||
<h3 id="accounting">accounting</h3>
|
||
<p><strong><a href="https://en.wikipedia.org/wiki/Accounting">accounting</a></strong> is tracking the flow of valuable commodities, such as money or time. It clarifies activity, priorities, obligations, opportunities. It can <strong><a href="http://podcastle.org/2009/10/09/pc-miniature-38-accounting-for-dragons">reduce stress</a></strong> and even be enjoyable.</p>
|
||
<p><strong><a href="https://en.wikipedia.org/wiki/Double-entry_bookkeeping_system">double-entry bookkeeping</a></strong> is a process for doing this reliably. For every movement of value (a <strong><a href="https://en.wikipedia.org/wiki/Financial_transaction">transaction</a></strong>), both the source and destination are recorded. Simple arithmetic invariants help prevent errors.</p>
|
||
<p>In traditional double-entry bookkeeping, value at any point in time is tracked in various <strong><a href="https://en.wikipedia.org/wiki/Account_(accountancy)">accounts</a></strong>, classified as <strong><a href="https://en.wikipedia.org/wiki/Asset">asset</a></strong> (owned), <strong><a href="https://en.wikipedia.org/wiki/Liability_(financial_accounting)">liability</a></strong> (owed) or <strong><a href="https://en.wikipedia.org/wiki/Equity_(finance)">equity</a></strong> (invested). Two more classifications track changes during some period: <strong><a href="https://en.wikipedia.org/wiki/Revenue">revenues</a></strong> (inflows) and <strong><a href="https://en.wikipedia.org/wiki/Expense">expenses</a></strong> (outflows).</p>
|
||
<p>Transactions consist of <strong><a href="https://en.wikipedia.org/wiki/Debits_and_credits">debits</a></strong> (increases to asset or expense accounts, or decreases to liability or equity accounts) or <strong><a href="https://en.wikipedia.org/wiki/Debits_and_credits">credits</a></strong> (decreases to asset or expense accounts, or increases to liability or equity accounts).</p>
|
||
</div>
|
||
<div class="four columns">
|
||
<h3 id="with-text">...with text</h3>
|
||
<!-- Ledger, hledger, beancount, and other **[Ledger-likes](#ledger-likes)** -->
|
||
<!-- are minimalist software tools for efficient double-entry-style accounting. -->
|
||
<!-- <\!-- **[double-entry-style](https://news.ycombinator.com/item?id=10512418)** accounting. -\-> -->
|
||
<!-- This site introduces them and their way of doing things. -->
|
||
<p>In 2003, John Wiegley invented Ledger: a plain text data format and command-line reporting tool for efficient double-entry-style accounting. This idea went viral among software developers and technical folk, and we now have 5+ actively-developed <strong><a href="#ledger-likes">Ledger-likes</a></strong> such as hledger and Beancount, with 40+ add-on tools and an active community. This site was created in 2016 to introduce our tools, documentation, and practices.</p>
|
||
<p>Accounting data is valuable; we want to know that it will be accessible for ever - even without software. We want to know when it changes, and revision-control it. We want to search and manipulate it efficiently. So, we store it as human-readable <strong><a href="http://ledger-cli.org/3.0/doc/ledger3.html#The-Most-Basic-Entry">plain</a> <a href="http://hledger.org/manual.html#journal">text</a></strong>.</p>
|
||
<p>We simplify debits and credits by using <strong><a href="http://ledger-cli.org/3.0/doc/ledger3.html#Stating-where-money-goes">signed numbers</a></strong> instead - positive for inflows to an account, negative for outflows from an account.</p>
|
||
<p>We define arbitrary <strong><a href="http://ledger-cli.org/3.0/doc/ledger3.html#Structuring-your-Accounts">account</a> <a href="http://hledger.org/manual.html#account-names">hierarchy</a></strong> to suit our needs. This scales smoothly from simple to complex scenarios, and from high-level overview to fine detail.</p>
|
||
<p>Ledger-likes are, at least in part, <strong><a href="http://ledger-cli.org/3.0/doc/ledger3.html#Basic-Usage">command-line</a> <a href="http://hledger.org/manual.html#usage">tools</a></strong>. This makes them efficient to use and very <strong><a href="#related-tools">scriptable</a></strong> and flexible.</p>
|
||
<p>Ledger-likes also, at their core, tend towards <strong><a href="https://en.wikipedia.org/wiki/Function_(mathematics)">functional operation</a></strong>: they read the input data without changing it, and output a report. This simple model makes them easy to understand and rely on.</p>
|
||
</div>
|
||
<div class="three columns" style="white-space:nowrap;">
|
||
<h3 id="read-more">read more</h3>
|
||
<p><a href="#faq">FAQ</a><br />
|
||
<a href="#ledger-likes">Ledger-likes</a><br />
|
||
<a href="#related-tools">related tools</a><br />
|
||
<a href="#data-importconversion">data import/conversion</a><br />
|
||
<a href="#editor-support">editor support</a><br />
|
||
<a href="#time-logging">time logging</a><br />
|
||
<a href="#ui-console">UI, console</a><br />
|
||
<a href="#ui-curses">UI, curses</a><br />
|
||
<a href="#ui-gui">UI, GUI</a><br />
|
||
<a href="#ui-web">UI, web</a><br />
|
||
<a href="#api">API</a><br />
|
||
<a href="#discussion">discussion</a><br />
|
||
<a href="#mail-listsirc">mail lists/IRC</a><br />
|
||
<a href="#stack-exchange">stack exchange</a><br />
|
||
<a href="#hacker-news">hacker news</a><br />
|
||
<a href="#reddit">reddit</a><br />
|
||
<a href="#twitter">twitter</a><br />
|
||
<a href="#docs">docs</a><br />
|
||
<a href="#concepts">concepts</a><br />
|
||
<a href="#comparisons">comparisons</a><br />
|
||
<a href="#online-books">online books</a><br />
|
||
<a href="#presentations">presentations</a><br />
|
||
<a href="#videos">videos</a><br />
|
||
<a href="#articles">articles</a><br />
|
||
<a href="#blog-posts">blog posts</a><br />
|
||
<a href="#inspiration">inspiration</a><br />
|
||
<a href="#common-tasks">common tasks</a><br />
|
||
<a href="#choosing-accounts">choosing accounts</a><br />
|
||
<a href="#entering-data">entering data</a><br />
|
||
<a href="#importing">importing</a><br />
|
||
<a href="#reconciling">reconciling</a><br />
|
||
<a href="#reporting">reporting</a><br />
|
||
<a href="#budgeting">budgeting</a><br />
|
||
<a href="#forecasting">forecasting</a><br />
|
||
<a href="#invoicing">invoicing</a><br />
|
||
<a href="#multiple-currencies">multiple currencies</a><br />
|
||
<a href="#shared-expenses">shared expenses</a><br />
|
||
<a href="#taxes">taxes</a><br />
|
||
<a href="#time-tracking">time tracking</a><br />
|
||
<a href="#inventory-tracking">inventory tracking</a><br />
|
||
<a href="#non-profit-accounting">non-profit accounting</a><br />
|
||
<a href="#exporting">exporting</a><br />
|
||
<a href="#api-access">API access</a></p>
|
||
</div>
|
||
</div>
|
||
<div>
|
||
<h3 id="frequently-asked-questions">frequently asked questions</h3>
|
||
<p><strong>Who is this for ?</strong><br />
|
||
Mostly techies and power users for now. If you need a complete GUI providing lots of guidance, you may prefer to use something else.</p>
|
||
<p><strong>Must I edit text and type cryptic commands ?</strong><br />
|
||
Not entirely! "Plain Text Accounting" is a broad description, referring mainly to the data format. We welcome optional <strong><a href="#ui-console">GUIs</a></strong>, and they are <a href="#ui-console">coming</a>.</p>
|
||
<p><strong>Who is using this, and how ?</strong><br />
|
||
See <strong><a href="https://github.com/ledger/ledger/wiki/Who's-using-ledger%3F">Who's using Ledger?</a></strong> for some stories.</p>
|
||
<p><strong>What are the alternatives ?</strong><br />
|
||
FOSS tools like GNUCash, Grisbi, KMyMoney. Proprietary tools like Quicken/Quickbooks, You Need A Budget. Online tools like Xero, FreeAgent. (There are <strong><a href="https://en.wikipedia.org/wiki/Comparison_of_accounting_software">many</a></strong>). <strong><a href="https://backchannel.com/a-spreadsheet-way-of-knowledge-8de60af7146e#.2hr7pi9pb">Spreadsheets</a></strong>. Paper accounting. A bookkeeper.</p>
|
||
<p><strong>Why is this better than QuickBooks ?</strong><br />
|
||
Your data remains accessible. No yearly fees. Free software you can fix and port. Cross platform. Scriptable. Efficient.</p>
|
||
<p><strong>How do I communicate with my accountant ?</strong><br />
|
||
Clean up text reports by hand, print them as PDF, export CSV reports to a spreadsheet..</p>
|
||
<p><strong>What if my accountant only uses QuickBooks ?</strong><br />
|
||
You'll need a new accountant, or a duplicate set of books in QuickBooks, or to pioneer *ledger -> QuickBooks exporting.</p>
|
||
<p><strong>Can I use this to do my taxes ?</strong><br />
|
||
You can use this to track and report the data needed for tax reporting. Fill out and submit tax forms with another tool, or by hand.</p>
|
||
<p><strong>How do I do budgeting ?</strong><br />
|
||
See <a href="#budgeting">budgeting</a> below. I emulate YNAB-ish envelope budgetting (see third link).</p>
|
||
<p><strong>Double entry accounting ? Where are the debits and credits ?</strong><br />
|
||
Most (not all) plain text accounting implementations use signed amounts instead of debits and credits. This makes them "double entry light" perhaps, but it has been a rather successful simplification, intuitive to most newcomers.</p>
|
||
<!-- (from <https://news.ycombinator.com/item?id=12124890>:) -->
|
||
<p><strong>Isn't personal accounting a waste of time ?</strong><br />
|
||
People have very different needs and practise personal accounting for many different reasons. There is of course a point of diminishing returns; tailor your accounting practices to your needs. Needs change over time. Some of us would benefit from doing more (or better) accounting, some less (I would guess this second group is smaller). In <a href="https://en.wikipedia.org/wiki/The_Millionaire_Next_Door">The Millionaire Next Door</a> (highly recommended), one research finding was that above-average wealth accumulators spend more time on financial planning, which for many of us requires accounting as a foundation. "Minimal time dedicated to financial planning is a leading indicator of a UAW [Under Accumulator of Wealth]".</p>
|
||
<p><strong>Do you really enter every little transaction ?</strong><br />
|
||
Yes! Many folks in our community do it. Mahatma Gandhi reconciled to the penny every night. J.D. Rockefeller was famous for his ledgers. It's not required. I started doing it as a temporary learning exercise, and still like it. It makes troubleshooting and reconciling easier.</p>
|
||
<p><strong>How is that possible ?</strong><br />
|
||
Practice, and a process/toolset that suits you. Some folks import most of the data from their banks, so little manual data entry is required. A few prefer to manually enter everything, for the increased awareness and insight. "Manual" data entry is usually assisted in some way: interactive console tools (hledger add and similar), web-based tools (hledger-web and similar), GUI tools (ledgerhelpers), smart editors (eg emacs & ledger-mode), recurring transaction scripts. I currently use a mixture of bank CSV import and rapid copy/paste in emacs. I spend 15 minutes a day on average, and for me that's currently a good investment.</p>
|
||
<p><strong>How do I use the transaction data in my bank's web or mobile app ?</strong><br />
|
||
If you can export it as CSV, you can import it and run queries against it. There are also some tools for converting OFX, QIF etc.</p>
|
||
<p><strong>So I've got a huge list of transactions recorded, duplicating my bank statements. How does that help ?</strong><br />
|
||
Accounting is modelling flows of money (or other value). Such a model aggregates information from many sources, in one trusted place. With it you can efficiently generate reports, forecast things (cashflow!), answer questions, try experiments. Some people need a very simple model, others benefit from a more detailed one, and we don't know up front what we might need in future. The most fundamental accounting data is a simple list of transactions (the journal). Once you have captured this, you can mine it for anything you may want later on. Plain text accounting provides nice open data format(s), tools and practices for doing this, and could be a good foundation for more powerful tools.</p>
|
||
<p><strong>Isn't a command-line tool too limited for real-world accounting needs ?</strong><br />
|
||
<em>"I am sure for a simple expense/budget ledger it will work OK, but when it comes to recurring journals, multiple reconciliation accounts, inter company transfers, control account tracing etc., give me a nice GUI any day..."</em><br />
|
||
Understandable. The current plain text accounting tools provide a very generic double entry accounting system with which you can model such things, and script them. There are a number of generic GUIs available (hledger has curses and web interfaces, and there are web/curses/GTK interfaces for Ledger and beancount). But there are not yet a lot of rich task-specific GUIs. There's no reason they can't be built, though.</p>
|
||
<p><strong>Isn't a plain text format too limited for large organizations ?</strong><br />
|
||
<em>"it's pretty obvious that plain-text files don't scale to a multinational, with hundreds of accountants of various types all trying to work with the same files. Even with proper use of Git I bet that would get old fast. You would instead want a real database, with a schema, and some data validation and some programs/webpages to smooth out the data entry and querying and whatnot."</em><br />
|
||
I'm not sure. Current plain text accounting tools can do some schema definition and data validation, and will do more in future. The plain text storage format is open, human-readable, future-proof (useful even without the software), scales smoothly from simple to complex needs, and taps a huge ecosystem of highly useful tooling, such as version control systems. And, despite the name, there's no reason these tools can't support other kinds of storage, such as a database.</p>
|
||
<p><strong>Where can I see a comparison of hledger, Ledger, beancount, and the rest ?</strong><br />
|
||
Glad you asked! See below, and also <a href="#comparisons">comparisons</a>. hledger's FAQ discusses differences from Ledger, Beancount docs probably do too.</p>
|
||
</div>
|
||
<h3 id="ledger-likes">Ledger-likes</h3>
|
||
<!-- http://pandoc.org/README.html#tables -->
|
||
<style>
|
||
th, td { border:none; padding-top:0; border-bottom:thin solid #ddd;}
|
||
</style>
|
||
<table>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td>Project, start date</td>
|
||
<td>Last release</td>
|
||
<td align="right">Code, committers</td>
|
||
<td>Mail list, size</td>
|
||
<td align="right">Chat, size</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong><a href="http://ledger-cli.org">Ledger</a></strong>, 2003</td>
|
||
<td>2016/01</td>
|
||
<td align="right"><a href="https://github.com/ledger/ledger">C++</a> 111 <!-- ([openhub](https://www.openhub.net/p/ledger)) --></td>
|
||
<td><a href="http://list.ledger-cli.org/">ledger-cli</a> <!-- ([gmane](http://dir.gmane.org/gmane.comp.finance.ledger.general)) --> 650</td>
|
||
<td align="right"><a href="http://webchat.freenode.net/?channels=ledger&randomnick=1">#ledger</a> 100</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><strong><a href="http://hledger.org">hledger</a></strong>, 2007</td>
|
||
<td>2016/12</td>
|
||
<td align="right"><a href="http://code.hledger.org">Haskell</a> 43 <!-- ([openhub](https://www.openhub.net/p/hledger)) --></td>
|
||
<td><a href="http://list.hledger.org/">hledger</a> <!-- ([gmane](http://dir.gmane.org/gmane.comp.finance.ledger.hledger)) --> 100</td>
|
||
<td align="right"><a href="http://webchat.freenode.net/?channels=hledger&randomnick=1">#hledger</a> 40</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><strong><a href="http://furius.ca/beancount">Beancount</a></strong>, 2008</td>
|
||
<td></td>
|
||
<td align="right"><a href="http://bitbucket.org/blais/beancount/">Python</a> 10 <!-- ([openhub](https://www.openhub.net/p/beancount)) --></td>
|
||
<td><a href="https://groups.google.com/forum/#!forum/beancount">beancount</a> <!-- ([gmane](http://dir.gmane.org/gmane.comp.finance.beancount)) --> 120</td>
|
||
<td align="right"><a href="http://webchat.freenode.net/?channels=beancount&randomnick=1">#beancount</a> 10</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>Abandon, 2013</td>
|
||
<td>2016/11</td>
|
||
<td align="right"><a href="https://github.com/hrj/abandon">Scala</a> 8 <!-- ([openhub](https://www.openhub.net/p/abandon)) --></td>
|
||
<td></td>
|
||
<td align="right"><a href="https://gitter.im/hrj/abandon">gitter</a></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>Ledger in Go, 2013</td>
|
||
<td></td>
|
||
<td align="right"><a href="https://github.com/howeyc/ledger">Go</a> 4</td>
|
||
<td></td>
|
||
<td align="right"></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p>Inactive:</p>
|
||
<table>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td>Project, start date</td>
|
||
<td>Last release</td>
|
||
<td align="right">Code</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>uledger, 2015</td>
|
||
<td></td>
|
||
<td align="right"><a href="https://github.com/danpat/uledger">Python</a></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>pacioli, 2013</td>
|
||
<td></td>
|
||
<td align="right"><a href="https://github.com/mdipierro/pacioli">Python</a></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>ledger.pl, 2013</td>
|
||
<td></td>
|
||
<td align="right"><a href="https://github.com/dimonf/ledger.pl">Perl</a></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td><a href="http://massysett.github.io/penny/">Penny</a>, 2012</td>
|
||
<td>2014</td>
|
||
<td align="right"><a href="https://github.com/massysett/penny">Haskell</a></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td><a href="http://hackage.haskell.org/package/UMM">UMM</a>, 2009</td>
|
||
<td>2010</td>
|
||
<td align="right">Haskell</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>cl-ledger, 2007</td>
|
||
<td></td>
|
||
<td align="right"><a href="https://github.com/ledger/cl-ledger">Common Lisp</a></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>sm-Ledger, 2007</td>
|
||
<td></td>
|
||
<td align="right"><a href="https://gist.github.com/simonmichael/bb611dba654ccb1573e1">Squeak Smalltalk</a></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<!-- [compare at openhub](https://www.openhub.net/p/_compare?project_0=Ledger&project_1=hledger&project_2=beancount) -->
|
||
<div class="row">
|
||
<div class="seven columns">
|
||
<h3 id="related-tools">related tools</h3>
|
||
<ul>
|
||
<li><a href="http://hackage.haskell.org/package/hledger-diff">hledger-diff</a> report differing transactions between two journals</li>
|
||
<li><a href="http://hackage.haskell.org/package/hledger-interest">hledger-interest</a> generate *ledger interest transactions</li>
|
||
<li><a href="http://hackage.haskell.org/package/hledger-irr">hledger-irr</a> calculate an account's internal rate of return over time</li>
|
||
<li><a href="https://github.com/nathankot/ledger-get-prices">ledger-get-prices</a> download market prices</li>
|
||
<li><a href="https://github.com/tlvince/ledger-tutorials">ledger-tutorials</a> convert Pete Keen's tutorials to ebook format</li>
|
||
</ul>
|
||
<h4 id="data-importconversion">data import/conversion</h4>
|
||
<ul>
|
||
<li><a href="http://ledger-cli.org/3.0/doc/ledger3.html#Comma-Separated-Values-files">Ledger</a> and <a href="http://hledger.org/csv.html">hledger</a> have CSV conversion built in. Also:</li>
|
||
<li><a href="https://github.com/tomszilagyi/banks2ledger">banks2ledger</a> - CSV to *ledger converter</li>
|
||
<li>bean-identify, bean-extract, bean-file - Beancount built-in tools</li>
|
||
<li><a href="https://github.com/jbms/beancount-import">beancount-import</a> CSV to beancount converter (curses)</li>
|
||
<li><a href="https://github.com/henriquebastos/gnucash-to-beancount/">gnucash-to-beancount</a> GnuCash to beancount converter</li>
|
||
<li><a href="https://github.com/MatzeB/pygnucash/blob/master/gnucash2ledger.py">gnucash2ledger.py</a> GNUCash to *ledger converter</li>
|
||
<li><a href="https://github.com/Hawk777/grisbi2ledger">grisbi2Ledger</a> Grisbi to *ledger converter</li>
|
||
<li><a href="https://launchpad.net/csv2ledger">icsvledger</a> CSV to *ledger converter</li>
|
||
<li><a href="https://github.com/manishrjain/into-ledger">into-ledger</a> CSV to *ledger converter</li>
|
||
<li><a href="https://gitlab.com/egh/ledger-autosync">ledger-autosync</a> OFX download, OFX to *ledger conversion, deduplication</li>
|
||
<li><a href="https://gist.github.com/travisdahlke/71152286b0a8826249fe">ledger2beancount.py</a> *ledger to beancount converter</li>
|
||
<li><a href="https://github.com/madhat2r/plaid2text">plaid2text</a> Plaid API to *ledger/beancount download/conversion</li>
|
||
<li><a href="https://gist.github.com/genegoykhman/3765100">qb2ledger</a> QuickBooks General Journal CSV to *ledger converter</li>
|
||
<li><a href="https://github.com/Kolomona/QIFtoLedger">QIFtoLedger</a> (Bank of America's) QIF to *ledger converter</li>
|
||
<li><a href="https://github.com/cantino/reckon">reckon</a> smart interactive/non-interactive CSV to *ledger converter</li>
|
||
<li><a href="https://github.com/eval/total_recall">total_recall</a> CSV to *ledger converter</li>
|
||
</ul>
|
||
<h4 id="editor-support">editor support</h4>
|
||
<p>Grouped by editor. Note these often work quite well for other ledger-likes, not just the one they are named for.</p>
|
||
<ul>
|
||
<li><a href="https://atom.io/packages/language-ledger">language-ledger</a> for Atom</li>
|
||
<li><a href="https://atom.io/packages/ledger">ledger</a> for Atom<br />
|
||
<br />
|
||
</li>
|
||
<li><a href="https://bitbucket.org/blais/beancount/src/1e21b27c0b0ecf2bf2e1a2cd5c3da3b1befc8152/src/elisp/beancount.el?at=default&fileviewer=file-view-default">beancount-mode</a> for Emacs</li>
|
||
<li><a href="https://github.com/narendraj9/hledger-mode">hledger-mode</a> for Emacs</li>
|
||
<li><a href="http://ledger-cli.org/3.0/doc/ledger-mode.html">ledger-mode</a> for Emacs (also works for hledger, beancount etc.)<br />
|
||
<br />
|
||
</li>
|
||
<li><a href="https://github.com/anekos/hledger-vim">hledger-vim</a> for VIM</li>
|
||
<li><a href="https://github.com/nathangrigg/vim-beancount">vim-beancount</a> for VIM</li>
|
||
<li><a href="https://github.com/ledger/vim-ledger">vim-ledger</a> for VIM<br />
|
||
<br />
|
||
</li>
|
||
<li><a href="https://github.com/moeffju/sublime-ledger-syntax">sublime-ledger-syntax</a> for Sublime Text/TextMate<br />
|
||
<br />
|
||
</li>
|
||
<li><a href="https://github.com/lifepillar/Ledger.tmbundle">Ledger.tmbundle</a> for TextMate<br />
|
||
<br />
|
||
</li>
|
||
<li><a href="https://marketplace.visualstudio.com/items?itemName=mariosangiorgio.ledger">ledger</a> for Visual Studio Code</li>
|
||
</ul>
|
||
<h4 id="time-logging">time logging</h4>
|
||
<ul>
|
||
<li><a href="https://github.com/jwiegley/org2tc">org2tc</a> org to timeclock converter</li>
|
||
<li><a href="https://gist.github.com/wbsch/d977b0ac29aa1dfa4437">on-modify.timetrack.py</a> taskwarrior hook for timeclock output</li>
|
||
<li><a href="https://github.com/nuex/t">t</a> ledger timeclock shellscript</li>
|
||
<li><a href="https://github.com/MatthiasKauer/tim">tim</a> time logging and reporting tool using hledger</li>
|
||
</ul>
|
||
<h4 id="ui-console">UI, console</h4>
|
||
<ul>
|
||
<li><a href="https://github.com/simon-v/bean-add">bean-add</a> interactive transaction entry</li>
|
||
<li><a href="http://hledger.org/manual.html#add">hledger add</a> interactive transaction entry (built-in command)</li>
|
||
<li><a href="https://github.com/Tagirijus/ledger-add">ledger-add</a> interactive transaction entry</li>
|
||
<li><a href="https://github.com/Tagirijus/ledger-plot">ledger-plot</a> interactive helper for making charts with GNUplot</li>
|
||
<li><a href="http://ledger-cli.org/3.0/doc/ledger3.html#xact">ledger xact</a> history-aware transaction generator (built-in command)</li>
|
||
<li><a href="http://hub.darcs.net/simon/ledgertools/browse/recurring">recurring</a> show/add recurring entries using Ledger</li>
|
||
</ul>
|
||
<h4 id="ui-curses">UI, curses</h4>
|
||
<ul>
|
||
<li><a href="https://github.com/hpdeifel/hledger-iadd">hledger-iadd</a> curses UI for transaction entry</li>
|
||
<li><a href="http://hackage.haskell.org/package/hledger-ui">hledger-ui</a> curses UI for browsing (<a href="https://asciinema.org/a/29665">demo</a>)</li>
|
||
<li><a href="https://github.com/guillaumechereau/regdel">regdel</a> curses UI for browsing (Ledger)</li>
|
||
</ul>
|
||
<h4 id="ui-gui">UI, GUI</h4>
|
||
<ul>
|
||
<li><a href="https://github.com/Rudd-O/ledgerhelpers">ledgerhelpers</a> GTK GUI tools + helper library (Python)</li>
|
||
</ul>
|
||
<h4 id="ui-web">UI, web</h4>
|
||
<ul>
|
||
<li><a href="https://github.com/beancount/fava">fava</a> web UI for browsing (Python, beancount, <a href="http://fava.pythonanywhere.com/">demo</a>)</li>
|
||
<li><a href="http://hackage.haskell.org/package/hledger-web">hledger-web</a> web UI for browsing, data entry (Haskell, <a href="http://demo.hledger.org">demo</a>)</li>
|
||
<li><a href="https://apps.sandstorm.io/app/8x12h6p0x0nrzk73hfq6zh2jxtgyzzcty7qsatkg7jfg2mzw5n90">hledger-web on Sandstorm</a> free web instances in a few clicks</li>
|
||
<li><a href="https://github.com/peterkeen/Ledger-Web">Ledger Web</a> web-based, postgres-backed reporting system</li>
|
||
<li><a href="https://github.com/Ikke/ledger-dashboard">ledger-dashboard</a> web UI for browsing, data entry (Python)</li>
|
||
<li><a href="https://github.com/slashdotdash/node-ledger-web">ledger-web</a> web UI for browsing (JavaScript)</li>
|
||
<li><a href="https://github.com/lipidity/ledgible">ledgible</a> web UI for browsing, data entry (Python, <a href="https://lipidity.com/cgi/ledgible/app.py/">demo</a>)</li>
|
||
<li><a href="https://github.com/readysetmark/WealthPulse">WealthPulse</a> web UI for browsing, price fetching (F#, Ledger)</li>
|
||
</ul>
|
||
<h4 id="api">API</h4>
|
||
<ul>
|
||
<li><a href="https://github.com/simonmichael/hledger/tree/master/hledger-api">hledger-api</a> JSON API + static file server (Haskell)</li>
|
||
<li><a href="https://github.com/Rudd-O/ledgerhelpers">ledgerhelpers</a> extends Ledger's python library (Python)</li>
|
||
<li><a href="https://github.com/rstacruz/node-hledger">node-hledger</a> Node.js API (JavaScript)</li>
|
||
<li><a href="https://github.com/jvasile/sassetti">sassetti</a> command-line wrapper (Common Lisp)</li>
|
||
</ul>
|
||
<!--
|
||
other console/curses tools
|
||
|
||
- [Taskwarrior](http://taskwarrior.org) modern task manager
|
||
- [add / tapecalc](http://invisible-island.net/add/add.html) dynamically updating tape calculator
|
||
- [sc](http://www.linuxjournal.com/article/10699) spreadsheet
|
||
- [sc-im](https://github.com/andmarti1424/sc-im) update of sc
|
||
- [GNU PEM & Oleo](http://www.examiner.com/article/gnu-pem-oleo-two-great-command-line-text-based-financial-accounting-apps) expenses manager, spreadsheet
|
||
- the [org empire](http://orgmode.org)...
|
||
-->
|
||
<p><br></p>
|
||
<h3 id="discussion">discussion</h3>
|
||
<div class="row">
|
||
<div class="five columns u-pull-left">
|
||
<h4 id="mail-listsirc">mail lists/IRC</h4>
|
||
</div>
|
||
<p><a href="#ledger-likes">see above</a></p>
|
||
</div>
|
||
<div class="row">
|
||
<div class="five columns u-pull-left">
|
||
<h4 id="stack-exchange">stack exchange</h4>
|
||
</div>
|
||
<p><a href="http://money.stackexchange.com/search?q=ledger-cli">ledger</a>, <a href="http://money.stackexchange.com/search?q=hledger">hledger</a> <!-- [beancount](http://money.stackexchange.com/search?q=beancount) --></p>
|
||
</div>
|
||
<div class="row">
|
||
<div class="five columns u-pull-left">
|
||
<h4 id="hacker-news">hacker news</h4>
|
||
</div>
|
||
<p><a href="https://news.ycombinator.com/item?id=872244">2009</a>, <a href="https://news.ycombinator.com/item?id=5233255">2013</a>, <a href="https://news.ycombinator.com/item?id=7707262">2014</a>, <a href="https://news.ycombinator.com/item?id=8806056">2014</a>, <a href="https://news.ycombinator.com/item?id=10510394">2015</a>, <a href="https://news.ycombinator.com/item?id=11164330">2016</a>, <a href="https://news.ycombinator.com/item?id=11366693">2016</a>, <a href="https://news.ycombinator.com/item?id=12119050">2016</a></p>
|
||
<!--
|
||
- [Ledger, a command-line accounting system](https://news.ycombinator.com/item?id=10510394) 2015
|
||
- [Hledger – Double-entry accounting from the Unix tools perspective (2012)](https://news.ycombinator.com/item?id=8806056) 2014
|
||
- [Ledger, a powerful CLI accounting tool](https://news.ycombinator.com/item?id=7707262) 2014
|
||
- [Command Line Accounting With Ledger and Reckon](https://news.ycombinator.com/item?id=5233255) 2013
|
||
- [Ledger: Command-line double-entry accounting](https://news.ycombinator.com/item?id=872244) 2009
|
||
-->
|
||
</div>
|
||
<div class="row">
|
||
<div class="five columns u-pull-left">
|
||
<h4 id="reddit">reddit</h4>
|
||
</div>
|
||
<p><a href="https://www.reddit.com/r/ledger/">/r/ledger</a></p>
|
||
</div>
|
||
<div class="row">
|
||
<div class="five columns u-pull-left">
|
||
<h4 id="twitter">twitter</h4>
|
||
</div>
|
||
<p><a href="https://twitter.com/LedgerTips">@LedgerTips</a>, <a href="https://twitter.com/hashtag/plaintextaccounting">#plaintextaccounting</a>, <a href="https://twitter.com/hashtag/ledgercli">#ledgercli</a>, <a href="https://twitter.com/hashtag/hledger">#hledger</a>, <a href="https://twitter.com/hashtag/beancount">#beancount</a></p>
|
||
<!-- twitter widget -->
|
||
<div style="margin:0 15% 0 0;">
|
||
<!-- <b>Tweets (#plaintextaccounting OR #ledgercli OR #hledger OR #beancount):</b> -->
|
||
<a class="twitter-timeline" data-chrome="noheader" data-dnt="true" href="https://twitter.com/search?q=%23plaintextaccounting%20OR%20%23ledgercli%20OR%20%23hledger%20OR%20%23beancount%20-RT%20-%23TheJoker%20-joker" data-widget-id="711933503055667200">Tweets about #plaintextaccounting OR #ledgercli OR #hledger OR #beancount -RT -#TheJoker -joker</a>
|
||
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="five columns u-pull-right">
|
||
<h3 id="docs">docs</h3>
|
||
<ul>
|
||
<li><a href="http://ledger-cli.org/docs.html">Ledger manuals</a></li>
|
||
<li><a href="https://github.com/ledger/ledger/wiki">Ledger wiki</a></li>
|
||
<li><a href="http://ricostacruz.com/cheatsheets/ledger.html">The Great Cheatsheet for Ledger CLI</a></li>
|
||
<li><a href="http://hledger.org/docs.html">hledger docs</a></li>
|
||
<li><a href="http://furius.ca/beancount/doc/index">Beancount docs</a> (or <a href="http://aumayr.github.io/beancount-docs-static/">sphinx version with API docs</a>)</li>
|
||
<li><a href="http://furius.ca/beancount/doc/cheatsheet">Beancount Syntax Cheatsheet</a></li>
|
||
</ul>
|
||
<h4 id="concepts">concepts</h4>
|
||
<ul>
|
||
<li><a href="https://furius.ca/beancount/doc/intro">The Double-Entry Counting Method</a> 2016</li>
|
||
<li><a href="http://hledger.org/more-docs.html#accounting">Accounting docs</a></li>
|
||
<li><a href="http://thread.gmane.org/gmane.comp.finance.ledger.general/7398/focus=7417">account structure (Ledger vs accounting)</a> 2015 <!--
|
||
- http://money.stackexchange.com/questions/47561/simplified-version-of-double-entry-bookkeeping-for-personal-and-business-finance
|
||
--></li>
|
||
</ul>
|
||
<h4 id="comparisons">comparisons</h4>
|
||
<ul>
|
||
<li><a href="quickref/">Quick Reference for the Ledger-Likes</a></li>
|
||
<li><a href="http://www.matthiaskauer.com/2015/08/command-line-accounting-a-look-at-the-various-ledger-ports/">Matthias Kauer: Command Line Accounting – A look at the various ledger ports</a> 2015</li>
|
||
<li><a href="http://thread.gmane.org/gmane.comp.finance.beancount/227">Another Ledger user's perspective</a> on Beancount 2015</li>
|
||
<li><a href="https://docs.google.com/document/d/1dW2vIjaXVJAf9hr7GlZVe3fJOkM-MtlVjvCO1ZpNLmg/edit?pli=1#heading=h.2ax1dztqboy7">Martin Blais: A Comparison of Beancount and Ledger</a> 2014</li>
|
||
<li><a href="http://thread.gmane.org/gmane.comp.finance.ledger.general/6563">ledger vs hledger vs beancount or how to choose the right cli client</a> 2014</li>
|
||
<li><a href="http://hledger.org/faq.html#hledger-ledger">Simon Michael: hledger & Ledger</a> 2014</li>
|
||
<li><a href="http://massysett.github.io/penny/why-penny.html">Omari Norman: Why Penny</a> 2013</li>
|
||
<li><a href="http://www.mygooglest.com/fni/ledger.html">Fabrice Niessen: Why Ledger?</a> 2010</li>
|
||
</ul>
|
||
<h4 id="online-books">online books</h4>
|
||
<ul>
|
||
<li><a href="https://github.com/rolfschr/GSWL-book/releases/latest">Getting Started With Ledger</a> 2016</li>
|
||
</ul>
|
||
<h4 id="presentations">presentations</h4>
|
||
<ul>
|
||
<li><a href="http://blog.loadingdata.nl/accounting-for-geeks/">Ledger CLI Accounting for Geeks</a> 2014</li>
|
||
<li><a href="http://matthewturland.com/slides/ledger-stats/">Hacking Your Finances for Fun and Profit</a> 2013</li>
|
||
<li><a href="http://www.adamsinfoserv.com/AISTWiki/pub/AIS/Presentations/Ledger.pdf">Ledger and Text based Accounting</a> 2009</li>
|
||
</ul>
|
||
<h4 id="videos">videos</h4>
|
||
<ul>
|
||
<li><a href="https://www.youtube.com/watch?v=cjoCNRpLanY">Conquering Your Finances with Emacs and Ledger</a> 2016</li>
|
||
<li><a href="https://twit.tv/shows/floss-weekly/episodes/375">FLOSS Weekly 375: hledger</a> (<a href="https://www.youtube.com/watch?v=Xjl-wVJcYpE">youtube</a>, <a href="https://www.youtube.com/watch?v=qS2UcDV_lbs">3m overview</a>) 2016</li>
|
||
<li><a href="https://www.youtube.com/watch?v=MGu1Bw2USQo">Evolution of ledger</a> 2015</li>
|
||
<li><a href="https://www.youtube.com/watch?v=dEADGr9dqow">Evolution of hledger</a> 2015</li>
|
||
<li><a href="https://twit.tv/shows/floss-weekly/episodes/150">FLOSS Weekly 150: Ledger</a> (<a href="https://www.youtube.com/watch?v=TDqrrH-gTt0">youtube</a>) 2011</li>
|
||
<li><a href="https://www.youtube.com/playlist?list=PL259DBFA47F3B4761">Accounting course by Prof. Krug</a> 2011</li>
|
||
<li><a href="https://www.khanacademy.org/economics-finance-domain/core-finance/accounting-and-financial-stateme">Khan Academy: Accounting and financial statements</a></li>
|
||
</ul>
|
||
<h4 id="articles">articles</h4>
|
||
<ul>
|
||
<li><a href="https://www.petekeen.net/finance">Pete Keen's Program your Finances tutorials</a> 2012</li>
|
||
<li><a href="http://goykhman.ca/gene/blog/2012/2012-09-23-an-alternative-to-quickbooks.html">An Alternative to QuickBooks</a> 2012</li>
|
||
<li><a href="http://lwn.net/Articles/501681/">The accounting quest: Ledger</a> 2012</li>
|
||
<li><a href="http://archive09.linux.com/feature/58307">Ledger, the bran muffin of accounting tools</a> 2006</li>
|
||
</ul>
|
||
<h4 id="blog-posts">blog posts</h4>
|
||
<ul>
|
||
<li><a href="https://alexjj.com/blog/2016/2/managing-my-personal-finances-with-beancount/">Alex Johnstone: Managing my personal finances with beancount</a> 2016</li>
|
||
<li><a href="http://stefanorodighiero.net/posts/2015-01-04-hledger-find-duplicate-accounts.html">Stefano Rodighiero: hledger-dupes</a> 2015</li>
|
||
<li><a href="http://matthewturland.com/2014/03/29/ledger-basics-and-habits/">Matthew Turland: Ledger basics and habits</a> 2014</li>
|
||
<li><a href="http://joyful.com/blog/2013-10-20-what-is-hledger.html">Simon Michael: What is hledger ?</a> 2013</li>
|
||
<li><a href="http://joyful.com/blog/2013-10-19-more-on-ledger.html">Simon Michael: More on ledger</a> 2013</li>
|
||
<li><a href="http://joyful.com/blog/2013-10-18-introducing-hledger.html">Simon Michael: Introducing hledger!</a> 2013</li>
|
||
<li><a href="http://joeyh.name/blog/entry/hledger">Joey Hess: hledger</a> 2012</li>
|
||
<li><a href="http://betabug.ch/blogs/ch-athens/1221">Sascha Welter: Doing my own accounting</a> 2011</li>
|
||
<li><a href="http://www.softwarefreedom.org/blog/2011/sep/07/accounting-at-sflc/">Clint Adams: Accounting at SFLC</a> 2011</li>
|
||
<li><a href="http://blog.spang.cc/posts/hledger_rocks_my_world/">Christine Spang: [h]ledger rocks my world</a> 2010 <!-- - [Roman Cheplyaka: hledger](http://ro-che.blogspot.com/2010/02/hledger.html) 2010 --></li>
|
||
</ul>
|
||
<h4 id="inspiration">inspiration</h4>
|
||
<ul>
|
||
<li><a href="http://podcastle.org/2009/10/09/pc-miniature-38-accounting-for-dragons">Accounting for Dragons</a></li>
|
||
<li><a href="https://www.youtube.com/watch?v=9zyp8RF-Fyw">David Mitchell: Personal Debts</a></li>
|
||
</ul>
|
||
<h3 id="common-tasks">common tasks</h3>
|
||
<h4 id="choosing-accounts">choosing accounts</h4>
|
||
<ul>
|
||
<li><a href="https://gist.github.com/simonmichael/9936299">sample chart of accounts (freelancer)</a></li>
|
||
<li><a href="https://docs.google.com/document/d/1Tss0IEzEyAPuKSGeNsfNgb0BfiW2ZHyP5nCFBW1uWlk/view#heading=h.tu0f1kydrpgn">Beancount Cookbook: Account Naming Conventions</a></li>
|
||
<li><a href="https://www.mint.com/mint-categories">Mint: Ways to Categorize Your Spending</a></li>
|
||
</ul>
|
||
<h4 id="entering-data">entering data</h4>
|
||
<ul>
|
||
<li><a href="http://hledger.org/step-by-step.html#basic-data-entry-reporting">hledger step by step: basic data entry</a></li>
|
||
<li>ledger-mode:<br />
|
||
<code>C-c C-a</code> add a transaction,<br />
|
||
<code>C-c C-b</code> amount calculator,<br />
|
||
<code>C-c C-c</code>/<code>C-c C-e</code> toggle cleared</li>
|
||
<li><a href="https://docs.google.com/document/d/1Tss0IEzEyAPuKSGeNsfNgb0BfiW2ZHyP5nCFBW1uWlk">Beancount: Command Line Accounting Cookbook</a></li>
|
||
<li><a href="http://hledger.org/how-to-use-another-account-separator-character.html">hledger: How to use another account separator character</a></li>
|
||
<li><a href="http://hledger.org/more-docs.html#accounting">Accounting bookkeeping entries</a></li>
|
||
<li><a href="https://github.com/simonmichael/hledger/issues/313">ledger-envelope-generator.rb</a></li>
|
||
<li><a href="#ui-console">UI tools</a></li>
|
||
</ul>
|
||
<h4 id="importing">importing</h4>
|
||
<ul>
|
||
<li><a href="http://www.ledger-cli.org/3.0/doc/ledger3.html#The-convert-command">Ledger: The convert command</a></li>
|
||
<li><a href="http://hledger.org/manual.html#csv">hledger: CSV files</a></li>
|
||
<li><a href="http://hledger.org/how-to-read-csv-files.html">hledger: How to read CSV files</a></li>
|
||
<li><a href="http://furius.ca/beancount/doc/ingest">Importing External Data in Beancount</a></li>
|
||
<li><a href="https://docs.google.com/document/d/1thYRAMell_QT1Da1F_laprSs6BlROZjyK_h3V8qHW9c">Fetching Prices in Beancount</a></li>
|
||
<li><a href="https://tomszilagyi.github.io/payment-matching/">Payment matching done right</a></li>
|
||
<li><a href="#data-import">import tools</a></li>
|
||
</ul>
|
||
<h4 id="reconciling">reconciling</h4>
|
||
<ul>
|
||
<li>ledger-mode: <code>C-c C-r</code></li>
|
||
</ul>
|
||
<h4 id="reporting">reporting</h4>
|
||
<ul>
|
||
<li><a href="http://aumayr.github.io/beancount-sql-queries/">example queries for Beancount</a></li>
|
||
<li><a href="http://hledger.org/how-to-use-account-aliases.html">hledger: How to use account aliases</a></li>
|
||
<li><a href="https://www.sundialdreams.com/report-scripts-for-ledger-cli-with-gnuplot/">Report Scripts for Ledger CLI with Gnuplot</a></li>
|
||
</ul>
|
||
<h4 id="budgeting">budgeting</h4>
|
||
<p>With Ledger's --budget report:</p>
|
||
<ul>
|
||
<li><a href="http://www.ledger-cli.org/3.0/doc/ledger3.html#Budgeting">Ledger: Budgeting</a></li>
|
||
</ul>
|
||
<p>With Ledger's automated transactions:</p>
|
||
<ul>
|
||
<li><a href="https://frdmtoplay.com/envelope-budgeting-with-ledger">bsilvereagle: Envelope Budgeting with ledger</a></li>
|
||
<li><a href="https://www.petekeen.net/program-your-finances-envelope-budgeting">Pete Keen: Program Your Finances: Envelope Budgeting</a></li>
|
||
<li><a href="http://mbork.pl/2016-07-18_Ledger_–_virtual_postings_aka_envelopes">Marcin Borkowski: Ledger – virtual postings aka envelopes</a></li>
|
||
</ul>
|
||
<p>With org-mode:</p>
|
||
<ul>
|
||
<li><a href="http://orgmode.org/worg/org-tutorials/weaving-a-budget.html">Org tutorials: Weaving a budget with Org & ledger</a></li>
|
||
<li><a href="http://alan.petitepomme.net/tips/ledger_and_org.html">Alan Schmitt: Using Org for Ledger Reports and Budget</a></li>
|
||
</ul>
|
||
<p>With ordinary subaccounts:</p>
|
||
<ul>
|
||
<li><a href="https://gist.github.com/simonmichael/a1addcb652da4e78b183">Simon Michael: envelope budgeting example</a></li>
|
||
</ul>
|
||
<h4 id="forecasting">forecasting</h4>
|
||
<ul>
|
||
<li><a href="http://www.ledger-cli.org/3.0/doc/ledger3.html#Forecasting">Ledger: Forecasting</a></li>
|
||
<li><a href="http://atomicules.co.uk/2015/06/20/Notes-on-installing-and-using-Ledger-on-NetBSD.html">Notes on Installing and Using ledger on NetBSD</a> and forecasting</li>
|
||
</ul>
|
||
<h4 id="invoicing">invoicing</h4>
|
||
<ul>
|
||
<li><a href="https://gist.github.com/simonmichael/986a65106a9db1f8bd68">invoicing entries</a></li>
|
||
</ul>
|
||
<h4 id="multiple-currencies">multiple currencies</h4>
|
||
<ul>
|
||
<li><a href="http://www.mscs.dal.ca/~selinger/accounting/tutorial.html">Peter Selinger: Tutorial on multiple currency accounting</a></li>
|
||
<li><a href="https://github.com/mikekchar/ledger-currencies">ledger-currencies tutorial</a></li>
|
||
<li><a href="https://groups.google.com/d/msg/ledger-cli/dc6F-HvZOyE/5IuoxzMOBwAJ">on currency vs commodity valuation</a></li>
|
||
</ul>
|
||
<h4 id="shared-expenses">shared expenses</h4>
|
||
<ul>
|
||
<li><a href="https://docs.google.com/document/d/1FRcJqUfeAMQO6KjG94w6rF7VajMGJaFplmF1Wu0rCHY/edit#heading=h.yshh8f17jbdb">Sharing Expenses in Beancount</a> and others</li>
|
||
<li><a href="http://sachachua.com/blog/2014/11/keeping-financial-score-ledger/">Keeping (financial) score with Ledger</a></li>
|
||
<li><a href="https://www.petekeen.net/program-your-finances-automated-transactions">Program Your Finances: Automated Transactions</a> for tracking reimbursables</li>
|
||
<li><a href="http://money.stackexchange.com/questions/7101/how-to-keep-control-of-shared-expenses-inside-marriage">How to keep control of shared expenses inside marriage ?</a></li>
|
||
</ul>
|
||
<h4 id="taxes">taxes</h4>
|
||
<ul>
|
||
<li><a href="http://thread.gmane.org/gmane.comp.finance.beancount/227/focus=237">Another Ledger user's perspective</a> some tax discussion</li>
|
||
<li><a href="http://hledger.org/how-to-use-account-aliases.html">hledger: How to use account aliases</a> for tax reporting</li>
|
||
</ul>
|
||
<h4 id="time-tracking">time tracking</h4>
|
||
<ul>
|
||
<li><a href="http://ledger-cli.org/3.0/doc/ledger3.html#Time-Keeping">Ledger: Time Keeping</a></li>
|
||
<li><a href="http://hledger.org/manual.html#timeclock">hledger: Timeclock files</a></li>
|
||
<li><a href="http://hledger.org/manual.html#timedot">hledger: Timedot files</a></li>
|
||
<li><a href="https://github.com/anarcat/ledger-timetracking">Timetracking and billing with (h)ledger</a></li>
|
||
<li><a href="#time-tracking">time tracking tools</a></li>
|
||
</ul>
|
||
<h4 id="inventory-tracking">inventory tracking</h4>
|
||
<ul>
|
||
<li><a href="http://furius.ca/beancount/doc/proposal-booking">Inventory Booking</a>, <a href="https://groups.google.com/forum/#!searchin/ledger-cli/inventory/ledger-cli/aQvbjTZa7HE/x3KNPteJWPsJ">discussion</a></li>
|
||
<li><a href="http://www.amazon.com/Accounting-Savvy-Business-Owners-Essentials/dp/193292518X">Accounting Savvy for Business Owners ch. 8</a></li>
|
||
</ul>
|
||
<h4 id="non-profit-accounting">non-profit accounting</h4>
|
||
<ul>
|
||
<li><a href="https://github.com/conservancy/npo-ledger-cli/blob/master/npo-ledger-cli-tutorial.md">Non-Profit Accounting With Ledger CLI, A Tutorial</a></li>
|
||
</ul>
|
||
<h4 id="exporting">exporting</h4>
|
||
<ul>
|
||
<li><a href="http://www.ledger-cli.org/3.0/doc/ledger3.html#The-csv-command">Ledger: The csv command</a></li>
|
||
<li><a href="http://hledger.org/manual.html#csv-output">hledger: CSV output</a></li>
|
||
<li><a href="https://docs.google.com/document/d/1mNyE_ONuyEkF_I2l6V_AoAU5HJgI654AOBhHsnNPPqw">Beancount: Exporting Your Portfolio</a></li>
|
||
</ul>
|
||
<h4 id="api-access">API access</h4>
|
||
<ul>
|
||
<li><p><a href="http://ledger-cli.org/3.0/doc/ledger3.html#Extending-with-Python">Ledger: Extending with Python</a></p></li>
|
||
<li><p><a href="https://groups.google.com/forum/#!topic/ledger-cli/C99w-79Jq8o">Ledger Python 3 Support</a> Python</p></li>
|
||
<li><p><a href="https://github.com/Rudd-O/ledgerhelpers">ledgerhelpers</a> Python</p></li>
|
||
<li><p><a href="http://hackage.haskell.org/package/hledger-lib">hledger-lib</a>, <a href="http://hackage.haskell.org/package/hledger">hledger</a>, <a href="http://stefanorodighiero.net/posts/2015-01-04-hledger-find-duplicate-accounts.html">example</a> Haskell</p></li>
|
||
<li><p><a href="http://editor.swagger.io/#/?import=demo.hledger.org/api/swagger.json&no-proxy">hledger-api</a>, <a href="https://github.com/simonmichael/hledger/tree/master/hledger-api/examples">examples</a> JSON</p></li>
|
||
<li><p><a href="https://github.com/rstacruz/node-hledger">node-hledger</a> JavaScript</p></li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
<div class="row" style="text-align:center;">
|
||
|
||
<hr>
|
||
<p>Send updates via the <a href="https://github.com/plaintextaccounting/plaintextaccounting.github.io">github repo</a> (<a href="https://github.com/plaintextaccounting/plaintextaccounting.github.io/commits/master">changes</a>)</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<!-- End Document
|
||
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
|
||
</body>
|
||
</html>
|