172 lines
10 KiB
HTML
172 lines
10 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">
|
||
|
||
<!-- 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: 15%">
|
||
<h1 style="text-align:center; margin-bottom:5%;">
|
||
Plain Text Accounting
|
||
</h1>
|
||
<div class="three columns">
|
||
<h3 id="accounting..">accounting..</h3>
|
||
<p><strong>accounting</strong> is tracking the flow of valuable commodities, such as money or time. It clarifies activity, priorities, obligations, opportunities. It can reduce stress and even be enjoyable.</p>
|
||
<p><strong>double-entry bookkeeping</strong> is a process for doing this reliably. For every movement of value (a <strong>transaction</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>accounts</strong>, classified as <strong>asset</strong> (owned), <strong>liability</strong> (owed) or <strong>equity</strong> (invested). Two more classifications track changes during some period: <strong>revenues</strong> (inflows) and <strong>expenses</strong> (outflows).</p>
|
||
<p>Transactions consist of <strong>debits</strong> (increases to asset or expense accounts, or decreases to liability or equity accounts) or <strong>credits</strong> (decreases to asset or expense accounts, or increases to liability or equity accounts).</p>
|
||
</div>
|
||
<div class="five columns">
|
||
<h3 id="with-ledger-likes">with Ledger-likes</h3>
|
||
<p><strong>Ledger</strong> and the other <strong>Ledger-likes</strong> which followed it are minimalist software tools for efficient double-entry accounting. This site introduces them and their way of doing things.</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>plain text</strong>.</p>
|
||
<p>We simplify by using <strong>signed numbers</strong> instead of debits and credits - positive for inflows to an account, negative for outflows from an account.</p>
|
||
<p>We define arbitrary <strong>account hierarchy</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>command-line</strong> tools. This makes them efficient to use and very <strong>scriptable</strong> and flexible.</p>
|
||
<p>Ledger-likes also, at their core, tend towards <strong>functional operation</strong>: they read the input data without changing it, and output a report. This simplicity makes them easy to understand and to rely on.</p>
|
||
</div>
|
||
<div class="three columns">
|
||
<h3 id="why">why ?</h3>
|
||
<p>why we exist</p>
|
||
<p>who are we for</p>
|
||
<p>alternatives</p>
|
||
<p>why is this better than QuickBooks ?</p>
|
||
<p>what if my accountant only uses QuickBooks ?</p>
|
||
<p>can I use this to do my taxes ?</p>
|
||
</div>
|
||
</div>
|
||
<div class="row">
|
||
<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"><a href="http://ledger-cli.org">Ledger</a></td>
|
||
<td align="left"><a href="https://www.openhub.net/p/ledger">C++</a>. The original. <!-- Very fast, advanced features. --></td>
|
||
<td align="left"></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left"><a href="http://hledger.org">hledger</a></td>
|
||
<td align="left"><a href="https://www.openhub.net/p/hledger">Haskell</a> <!-- Easy to use, multi-column reports, multiple UIs. --></td>
|
||
<td align="left"></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left"><a href="http://furius.ca/beancount">Beancount</a></td>
|
||
<td align="left"><a href="https://www.openhub.net/p/beancount">Python</a> <!-- Accounting correctness aids, extensible. --></td>
|
||
<td align="left"></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left"><a href="https://github.com/hrj/abandon">Abandon</a></td>
|
||
<td align="left"><a href="https://www.openhub.net/p/abandon">Scala</a></td>
|
||
<td align="left"></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left"><a href="https://github.com/howeyc/ledger">Ledger in Go</a></td>
|
||
<td align="left">Go</td>
|
||
<td align="left"></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<!-- | Inactive: | | | -->
|
||
<!-- | [cl-ledger](https://github.com/ledger/cl-ledger) | Common Lisp | | -->
|
||
<!-- | [ledger.pl](https://github.com/dimonf/ledger.pl) | Perl | | -->
|
||
<!-- | [penny](https://github.com/massysett/penny) | Haskell | | -->
|
||
<!-- | [UMM](http://hackage.haskell.org/package/UMM) | Haskell | | -->
|
||
<p>Inactive:</p>
|
||
<ul>
|
||
<li><a href="https://github.com/ledger/cl-ledger">cl-ledger</a> Common Lisp</li>
|
||
<li><a href="https://github.com/dimonf/ledger.pl">ledger.pl</a> Perl</li>
|
||
<li><a href="https://github.com/massysett/penny">penny</a> Haskell</li>
|
||
<li><a href="http://hackage.haskell.org/package/UMM">UMM</a> Haskell</li>
|
||
</ul>
|
||
<!-- [compare](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="https://github.com/aumayr/beancount-web">fava</a> web UI for browsing beancount data</li>
|
||
<li><a href="https://github.com/simonmichael/hledger/tree/master/hledger-api">hledger-api</a> JSON API for *ledger data, can also serve static files</li>
|
||
<li><a href="http://hackage.haskell.org/package/hledger-diff">hledger-diff</a> report differing transactions between two journals</li>
|
||
<li><a href="https://github.com/hpdeifel/hledger-iadd">hledger-iadd</a> curses UI for data entry</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="http://hackage.haskell.org/package/hledger-ui">hledger-ui</a> curses UI for browsing</li>
|
||
<li><a href="http://hackage.haskell.org/package/hledger-web">hledger-web</a> web UI for browsing and data entry</li>
|
||
<li><a href="https://launchpad.net/csv2ledger">icsvledger</a> CSV to journal converter</li>
|
||
<li><a href="https://gitlab.com/egh/ledger-autosync">ledger-autosync</a> convert OFX to journal, deduplication, bank download</li>
|
||
<li><a href="https://github.com/Ikke/ledger-dashboard">ledger-dashboard</a> web UI for browsing</li>
|
||
<li><a href="https://github.com/slashdotdash/node-ledger-web">ledger-web</a> web UI for browsing</li>
|
||
<li><a href="https://github.com/Rudd-O/ledgerhelpers">ledgerhelpers</a> GUI tools and python library front end for Ledger</li>
|
||
<li><a href="https://github.com/jwiegley/org2tc">org2tc</a> org to timeclock converter</li>
|
||
<li><a href="https://github.com/cantino/reckon">reckon</a> smart interactive/non-interactive CSV to journal converter</li>
|
||
<li>sandstorm.io web app hosting, eg for <a href="https://apps.sandstorm.io/app/8x12h6p0x0nrzk73hfq6zh2jxtgyzzcty7qsatkg7jfg2mzw5n90">hledger-web</a></li>
|
||
<li><a href="http://taskwarrior.org">taskwarrior</a> todo list manager, some *ledger integration for time reporting</li>
|
||
<li><a href="https://github.com/MatthiasKauer/tim">tim</a> time tracking tool using hledger for reports</li>
|
||
</ul>
|
||
</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="https://github.com/rolfschr/GSWL-book">Getting Started With Ledger book</a></li>
|
||
<li><a href="http://hledger.org">hledger's more docs</a></li>
|
||
<li><a href="http://furius.ca/beancount/doc/index">Beancount docs</a> <!-- - [Abandon wiki](https://github.com/hrj/abandon/wiki) --></li>
|
||
</ul>
|
||
<h3 id="discussion">discussion</h3>
|
||
<h3 id="common-tasks">common tasks</h3>
|
||
<h4 id="data-entry">data entry</h4>
|
||
<h4 id="reconciling">reconciling</h4>
|
||
<h4 id="reporting">reporting</h4>
|
||
<h4 id="forecasting">forecasting</h4>
|
||
<h4 id="budgetting">budgetting</h4>
|
||
<h4 id="shared-expenses">shared expenses</h4>
|
||
<h4 id="time-tracking">time tracking</h4>
|
||
<ul>
|
||
<li><a href="https://github.com/anarcat/ledger-timetracking" class="uri">https://github.com/anarcat/ledger-timetracking</a> on integrating timelog and journal</li>
|
||
</ul>
|
||
<h4 id="section"></h4>
|
||
</div>
|
||
</div>
|
||
<div class="row" style="text-align:center;">
|
||
|
||
<hr>
|
||
<p>Send updates via the <a href="https://github.com/simonmichael/plaintextaccounting">github repo</a> or <a href="https://oasis.sandstorm.io/shared/UAYLwagGI0a2pIMg9Hhv74K04nbuxanXiS5ZtBV6NF-">etherpad</a></p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<!-- End Document
|
||
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
|
||
</body>
|
||
</html>
|