486 lines
35 KiB
HTML
486 lines
35 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:20%;">
|
||
<h1 style="text-align:center; margin-bottom:5%;">
|
||
Plain Text Accounting
|
||
</h1>
|
||
<div class="three 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="four columns">
|
||
<h3 id="questions">questions ?</h3>
|
||
<p><strong>who is this for ?</strong><br />
|
||
Techies, power users, and do-it-yourself-ers, 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 don't object to additional <strong><a href="#ui-console">GUIs</a></strong>, and they are coming.</p>
|
||
<p><strong>who is using it, 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>
|
||
</div>
|
||
</div>
|
||
<div class="row" style="padding-top:5%;">
|
||
<div class="seven columns">
|
||
<h3 id="ledger-likes">Ledger-likes</h3>
|
||
<!-- http://pandoc.org/README.html#tables -->
|
||
<table>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td align="left">Project, start date</td>
|
||
<td align="right">Code, committers</td>
|
||
<td align="left">Mail list, size</td>
|
||
<td align="right">IRC, size</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left"><a href="http://ledger-cli.org">Ledger</a> <br>2003</td>
|
||
<td align="right"><a href="https://github.com/ledger/ledger">C++</a> 101 <!-- ([openhub](https://www.openhub.net/p/ledger)) --></td>
|
||
<td align="left"><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> 75</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left"><a href="http://hledger.org">hledger</a> <br>2007</td>
|
||
<td align="right"><a href="http://code.hledger.org">Haskell</a> 30 <!-- ([openhub](https://www.openhub.net/p/hledger)) --></td>
|
||
<td align="left"><a href="http://list.hledger.org/">hledger</a> <!-- ([gmane](http://dir.gmane.org/gmane.comp.finance.ledger.hledger)) --> 75</td>
|
||
<td align="right"><a href="http://webchat.freenode.net/?channels=hledger&randomnick=1">#hledger</a> 30</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left"><a href="http://furius.ca/beancount">Beancount</a> <br>2008</td>
|
||
<td align="right"><a href="http://bitbucket.org/blais/beancount/">Python</a> 8 <!-- ([openhub](https://www.openhub.net/p/beancount)) --></td>
|
||
<td align="left"><a href="https://groups.google.com/forum/#!forum/beancount">beancount</a> <!-- ([gmane](http://dir.gmane.org/gmane.comp.finance.beancount)) --> 70</td>
|
||
<td align="right"><a href="http://webchat.freenode.net/?channels=beancount&randomnick=1">#beancount</a> 5</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">Abandon <br>2013</td>
|
||
<td align="right"><a href="https://github.com/hrj/abandon">Scala</a> 5 <!-- ([openhub](https://www.openhub.net/p/abandon)) --></td>
|
||
<td align="left"></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">Ledger in Go <br>2013</td>
|
||
<td align="right"><a href="https://github.com/howeyc/ledger">Go</a> 2</td>
|
||
<td align="left"></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<table>
|
||
<thead>
|
||
<tr class="header">
|
||
<th align="left">Inactive:</th>
|
||
<th align="left"></th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td align="left">uledger <br>2015</td>
|
||
<td align="left"><a href="https://github.com/danpat/uledger">Python</a></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">pacioli <br>2013</td>
|
||
<td align="left"><a href="https://github.com/mdipierro/pacioli">Python</a></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">ledger.pl <br>2013</td>
|
||
<td align="left"><a href="https://github.com/dimonf/ledger.pl">Perl</a></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left"><a href="http://massysett.github.io/penny/">Penny</a> <br>2012</td>
|
||
<td align="left"><a href="https://github.com/massysett/penny">Haskell</a></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left"><a href="http://hackage.haskell.org/package/UMM">UMM</a> <br>2009</td>
|
||
<td align="left">Haskell</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">cl-ledger <br>2007</td>
|
||
<td align="left"><a href="https://github.com/ledger/cl-ledger">Common Lisp</a></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">sm-Ledger <br>2007</td>
|
||
<td align="left"><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) -->
|
||
<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>
|
||
<h5 id="data-import">data import</h5>
|
||
<ul>
|
||
<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/MatzeB/pygnucash/blob/master/gnucash2ledger.py">gnucash2ledger.py</a> GNUCash to *ledger conversion</li>
|
||
<li><a href="https://launchpad.net/csv2ledger">icsvledger</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="http://furius.ca/ledgerhub/">ledgerhub</a> fetch prices, extract entries, convert various formats to beancount (? deprecated)</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/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>
|
||
<h5 id="editor-support">editor support</h5>
|
||
<ul>
|
||
<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/dotfiles/tree/master/.emacs.d/packages/rest/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.)</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</li>
|
||
<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</li>
|
||
<li><a href="https://github.com/moeffju/sublime-ledger-syntax">sublime-ledger-syntax</a> for Sublime Text/TextMate</li>
|
||
<li><a href="https://github.com/lifepillar/Ledger.tmbundle">Ledger.tmbundle</a> for TextMate</li>
|
||
</ul>
|
||
<h5 id="time-tracking">time tracking</h5>
|
||
<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/MatthiasKauer/tim">tim</a> time tracking tool using hledger for reporting</li>
|
||
</ul>
|
||
<h5 id="ui-console">UI, console</h5>
|
||
<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>
|
||
</ul>
|
||
<h5 id="ui-curses">UI, curses</h5>
|
||
<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>
|
||
</ul>
|
||
<h5 id="ui-gui">UI, GUI</h5>
|
||
<ul>
|
||
<li><a href="https://github.com/Rudd-O/ledgerhelpers">ledgerhelpers</a> GTK GUI tools + helper library (Python)</li>
|
||
</ul>
|
||
<h5 id="ui-web">UI, web</h5>
|
||
<ul>
|
||
<li><a href="https://github.com/aumayr/beancount-web">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>
|
||
<h5 id="api">API</h5>
|
||
<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">
|
||
<h5 id="mail-listsirc">mail lists/IRC</h5>
|
||
</div>
|
||
<p><a href="#ledger-likes">see above</a></p>
|
||
</div>
|
||
<div class="row">
|
||
<div class="five columns u-pull-left">
|
||
<h5 id="stack-exchange">stack exchange</h5>
|
||
</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">
|
||
<h5 id="hacker-news">hacker news</h5>
|
||
</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> <!--
|
||
- [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
|
||
--></p>
|
||
</div>
|
||
<div class="row">
|
||
<div class="five columns u-pull-left">
|
||
<h5 id="reddit">reddit</h5>
|
||
</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">
|
||
<h5 id="twitter">twitter</h5>
|
||
</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" data-widget-id="711933503055667200">Tweets about #plaintextaccounting OR #ledgercli OR #hledger OR #beancount -RT -#TheJoker</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">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>
|
||
<li><a href="quickref/">Quick Reference for the Ledger-Likes</a></li>
|
||
</ul>
|
||
<h3 id="concepts">concepts</h3>
|
||
<ul>
|
||
<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>
|
||
<h3 id="comparisons">comparisons</h3>
|
||
<ul>
|
||
<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>
|
||
<h3 id="online-books">online books</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/rolfschr/GSWL-book/releases/latest">Getting Started With Ledger</a> 2016</li>
|
||
</ul>
|
||
<h3 id="presentations">presentations</h3>
|
||
<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>
|
||
<h3 id="videos">videos</h3>
|
||
<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>
|
||
<h3 id="articles">articles</h3>
|
||
<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>
|
||
<h3 id="blog-posts">blog posts</h3>
|
||
<ul>
|
||
<li><a href="https://alexjj.com/finance/2016/02/27/managing-personal-finances-with-beancount/">Managing my personal finances with beancount</a> 2016</li>
|
||
<li><a href="http://stefanorodighiero.net/posts/2015-01-04-hledger-find-duplicate-accounts.html">Finding duplicate accounts in Hledger journals</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>
|
||
<h3 id="inspiration">inspiration</h3>
|
||
<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>
|
||
<h5 id="choosing-accounts">choosing accounts</h5>
|
||
<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>
|
||
<h5 id="entering-data">entering data</h5>
|
||
<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="#ui-console">UI tools</a></li>
|
||
</ul>
|
||
<h5 id="importing">importing</h5>
|
||
<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>
|
||
<h5 id="reconciling">reconciling</h5>
|
||
<ul>
|
||
<li>ledger-mode: <code>C-c C-r</code></li>
|
||
</ul>
|
||
<h5 id="reporting">reporting</h5>
|
||
<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>
|
||
</ul>
|
||
<h5 id="budgeting">budgeting</h5>
|
||
<ul>
|
||
<li><a href="http://www.ledger-cli.org/3.0/doc/ledger3.html#Budgeting">Ledger: Budgeting</a></li>
|
||
<li><a href="https://www.petekeen.net/program-your-finances-envelope-budgeting">Program Your Finances: Envelope Budgeting</a></li>
|
||
<li><a href="https://gist.github.com/simonmichael/a1addcb652da4e78b183">envelope budgeting with plain transactions</a></li>
|
||
<li><a href="http://orgmode.org/worg/org-tutorials/weaving-a-budget.html">Weaving a budget with Org & ledger</a></li>
|
||
<li><a href="http://alan.petitepomme.net/tips/ledger_and_org.html">Using Org for Ledger Reports and Budget</a></li>
|
||
</ul>
|
||
<h5 id="forecasting">forecasting</h5>
|
||
<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>
|
||
<h5 id="invoicing">invoicing</h5>
|
||
<ul>
|
||
<li><a href="https://gist.github.com/simonmichael/986a65106a9db1f8bd68">invoicing entries</a></li>
|
||
</ul>
|
||
<h5 id="multiple-currencies">multiple currencies</h5>
|
||
<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>
|
||
<h5 id="shared-expenses">shared expenses</h5>
|
||
<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>
|
||
<h5 id="taxes">taxes</h5>
|
||
<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>
|
||
<h5 id="time-tracking-1">time tracking</h5>
|
||
<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>
|
||
<h5 id="inventory-tracking">inventory tracking</h5>
|
||
<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>
|
||
<h5 id="non-profit-accounting">non-profit accounting</h5>
|
||
<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>
|
||
<h5 id="exporting">exporting</h5>
|
||
<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>
|
||
<h5 id="api-access">API access</h5>
|
||
<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>
|