1220 lines
25 KiB
HTML
Executable File
1220 lines
25 KiB
HTML
Executable File
<html>
|
|
<head>
|
|
<title>Syntax Quick Reference for the Ledger-Likes - plaintextaccounting.org</title>
|
|
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<link href="//fonts.googleapis.com/css?family=Raleway:400,300,600" rel="stylesheet" type="text/css">
|
|
<link rel="stylesheet" href="/css/normalize.css">
|
|
<link rel="stylesheet" href="/css/skeleton.css">
|
|
<link rel="stylesheet" href="/css/site.css">
|
|
<link rel="icon" type="image/png" href="/images/favicon.png">
|
|
<link href="quickref.css" rel="stylesheet">
|
|
</head>
|
|
<body class="c33">
|
|
<div class="container">
|
|
<p class="c20">
|
|
<span style="overflow: hidden; display: inline-block; margin: 0.00px 0.00px; border: 0.00px solid #000000; transform: rotate(0.00rad) translateZ(0px); -webkit-transform: rotate(0.00rad) translateZ(0px); width: 99.79px; height: 116.80px;">
|
|
<img alt="270px-Rosetta_Stone.JPG" src="images/image00.jpg" style="width: 99.79px; height: 116.80px; margin-left: 0.00px; margin-top: 0.00px; transform: rotate(0.00rad) translateZ(0px); -webkit-transform: rotate(0.00rad) translateZ(0px);" title="">
|
|
</span>
|
|
</p>
|
|
<h2 class="c26 c32" id="h.pm8s15w9ugw8">
|
|
<span>
|
|
</span>
|
|
</h2>
|
|
<h2 class="c26" id="h.ejyq5tnqecv7">
|
|
<span>
|
|
Syntax Quick Reference for the Ledger-Likes</span>
|
|
</h2>
|
|
<p class="c29">
|
|
<span>
|
|
Some information about the major </span>
|
|
<span>
|
|
Plain Text Accounting</span>
|
|
<span>
|
|
implementations, drawn from existing docs and informal testing, that I needed to see in one place. Currently, it compares the main journal syntax for Ledger, hledger and Beancount. For more, see the manuals and cheatsheets linked below, or </span>
|
|
<span class="c3">
|
|
<a class="c5" href="https://www.google.com/url?q=http://plaintextaccounting.org&sa=D&ust=1460732223246000&usg=AFQjCNHPFHZKnttsulV98zovYu7omRqQfQ">
|
|
plaintextaccounting.org</a>
|
|
</span>
|
|
<span>
|
|
. </span>
|
|
<span>
|
|
I hope you find it useful.</span>
|
|
</p>
|
|
<p class="c29">
|
|
<span>
|
|
First draft, created 2016/03, corrections to: sm on </span>
|
|
<span class="c3">
|
|
<a class="c5" href="https://www.google.com/url?q=http://webchat.freenode.net/?channels%3Dhledger&sa=D&ust=1460732223248000&usg=AFQjCNGJYtSq6hqcyb45pvCDWHVyoX35eA">
|
|
#hledger</a>
|
|
</span>
|
|
<span>
|
|
or </span>
|
|
<span class="c3">
|
|
<a class="c5" href="https://www.google.com/url?q=http://webchat.freenode.net/?channels%3Dledger&sa=D&ust=1460732223249000&usg=AFQjCNG0Lr8pQPPfE5Y_xJmB05cF8Pv0Kw">
|
|
#ledger</a>
|
|
</span>
|
|
<span>
|
|
or </span>
|
|
<span class="c3">
|
|
<a class="c5" href="https://www.google.com/url?q=http://webchat.freenode.net/?channels%3Dbeancount&sa=D&ust=1460732223250000&usg=AFQjCNHORJcq0h9MU94WSUWa3xQ6pEXY5g">
|
|
#beancount</a>
|
|
</span>
|
|
<span>
|
|
, or the </span>
|
|
<span class="c3">
|
|
<a class="c5" href="https://www.google.com/url?q=https://docs.google.com/document/d/1L5OyRZ4nxQVjZJugyEyYi_H-229yaWV-yx0raAO1iog/edit?usp%3Dsharing&sa=D&ust=1460732223250000&usg=AFQjCNEDf-6DLQ9W394Oq1oxl0g54dhKCQ">
|
|
google doc</a>
|
|
</span>
|
|
</p>
|
|
<p class="c6">
|
|
<span>
|
|
</span>
|
|
</p>
|
|
<p class="c36">
|
|
<span class="c3">
|
|
<a class="c5" href="#h.ejyq5tnqecv7">
|
|
Quick Reference for the Ledger-Likes</a>
|
|
</span>
|
|
</p>
|
|
<p class="c35">
|
|
<span class="c3">
|
|
<a class="c5" href="#h.tqmbtluf328a">
|
|
Journal Format</a>
|
|
</span>
|
|
</p>
|
|
<p class="c14">
|
|
<span class="c3">
|
|
<a class="c5" href="#h.8v2r9qqwt9f8">
|
|
Basic example</a>
|
|
</span>
|
|
</p>
|
|
<p class="c14">
|
|
<span class="c3">
|
|
<a class="c5" href="#h.1n05blr44u7c">
|
|
Comments</a>
|
|
</span>
|
|
</p>
|
|
<p class="c14">
|
|
<span class="c3">
|
|
<a class="c5" href="#h.gij3l494xeth">
|
|
Basic transactions</a>
|
|
</span>
|
|
</p>
|
|
<p class="c14">
|
|
<span class="c3">
|
|
<a class="c5" href="#h.xpr0dgy4pyj3">
|
|
Dates</a>
|
|
</span>
|
|
</p>
|
|
<p class="c14">
|
|
<span class="c3">
|
|
<a class="c5" href="#h.n4b87oz9ku6t">
|
|
Account names</a>
|
|
</span>
|
|
</p>
|
|
<p class="c14">
|
|
<span class="c3">
|
|
<a class="c5" href="#h.n4b87oz9ku6t">
|
|
Amounts</a>
|
|
</span>
|
|
</p>
|
|
<p class="c14">
|
|
<span class="c3">
|
|
<a class="c5" href="#h.9xaw86fvi6s6">
|
|
More transaction features</a>
|
|
</span>
|
|
</p>
|
|
<p class="c14">
|
|
<span class="c3">
|
|
<a class="c5" href="#h.d2g5xagy7h37">
|
|
Prices</a>
|
|
</span>
|
|
</p>
|
|
<p class="c14">
|
|
<span class="c3">
|
|
<a class="c5" href="#h.mjrjnr996vfg">
|
|
Balance assertions</a>
|
|
</span>
|
|
</p>
|
|
<p class="c14">
|
|
<span class="c3">
|
|
<a class="c5" href="#h.mjrjnr996vfg">
|
|
Balance assignments</a>
|
|
</span>
|
|
</p>
|
|
<p class="c28">
|
|
<span class="c3">
|
|
<a class="c5" href="#h.au5ysr0kfa">
|
|
Directives</a>
|
|
</span>
|
|
</p>
|
|
<p class="c14">
|
|
<span class="c3">
|
|
<a class="c5" href="#h.3v5cafffbbft">
|
|
account, open</a>
|
|
</span>
|
|
</p>
|
|
<p class="c14">
|
|
<span class="c3">
|
|
<a class="c5" href="#h.22qss13648tb">
|
|
close</a>
|
|
</span>
|
|
</p>
|
|
<p class="c14">
|
|
<span class="c3">
|
|
<a class="c5" href="#h.n9q16dsjsoye">
|
|
commodity</a>
|
|
</span>
|
|
</p>
|
|
<p class="c14">
|
|
<span class="c3">
|
|
<a class="c5" href="#h.wya8r85tgqsx">
|
|
market price</a>
|
|
</span>
|
|
</p>
|
|
<h4 class="c31" id="h.wve8xialq0o3">
|
|
<span>
|
|
</span>
|
|
</h4>
|
|
<h3 class="c34" id="h.tqmbtluf328a">
|
|
<span>
|
|
Journal Format</span>
|
|
</h3>
|
|
<p>
|
|
<span>
|
|
Legend</span>
|
|
<span>
|
|
: <br>
|
|
Things in </span>
|
|
<span class="c37">
|
|
[ ] </span>
|
|
<span>
|
|
are</span>
|
|
<span>
|
|
optional. <br>
|
|
Syntax should be the latest preferred syntax for each implementation, may be incomplete. <br>
|
|
Some notes in the Ledger column are common to all.<br>
|
|
<br>
|
|
</span>
|
|
</p>
|
|
<a id="t.a908384d1b49e008ab9b5ac749245e59f3dd7abe">
|
|
</a>
|
|
<a id="t.0">
|
|
</a>
|
|
<table class="c22">
|
|
<tbody>
|
|
<tr class="c11">
|
|
<td class="c16" colspan="1" rowspan="1">
|
|
<p class="c12 c25">
|
|
<span class="c10 c18">
|
|
</span>
|
|
</p>
|
|
</td>
|
|
<td class="c4" colspan="1" rowspan="1">
|
|
<p class="c13">
|
|
<span>
|
|
Ledger<br>
|
|
</span>
|
|
<span class="c3 c8">
|
|
<a class="c5" href="https://www.google.com/url?q=http://ledger-cli.org/3.0/doc/ledger3.html%23Journal-Format&sa=D&ust=1460732223268000&usg=AFQjCNGuD_mKGTBWD0_q_ktk1R7GTAAHBg">
|
|
http://ledger-cli.org/3.0/doc/ledger3.html#Journal-Format</a>
|
|
</span>
|
|
<span class="c8">
|
|
<br>
|
|
</span>
|
|
<span class="c3 c8">
|
|
<a class="c5" href="https://www.google.com/url?q=http://ricostacruz.com/cheatsheets/ledger.html&sa=D&ust=1460732223269000&usg=AFQjCNGZB8TTRLOXWsiJSoskX6YyEx1K2g">
|
|
http://ricostacruz.com/cheatsheets/ledger.html</a>
|
|
</span>
|
|
</p>
|
|
</td>
|
|
<td class="c15" colspan="1" rowspan="1">
|
|
<p class="c13">
|
|
<span>
|
|
hledger<br>
|
|
</span>
|
|
<span class="c3 c23">
|
|
<a class="c5" href="https://www.google.com/url?q=http://hledger.org/manual.html%23journal&sa=D&ust=1460732223270000&usg=AFQjCNE4oK57Shgs0PxIXk8qCXiYxDLzmA">
|
|
http://hledger.org/manual.html#journal</a>
|
|
</span>
|
|
</p>
|
|
</td>
|
|
<td class="c7" colspan="1" rowspan="1">
|
|
<p class="c13">
|
|
<span>
|
|
Beancount<br>
|
|
</span>
|
|
<span class="c3 c23">
|
|
<a class="c5" href="https://www.google.com/url?q=http://furius.ca/beancount/doc/syntax&sa=D&ust=1460732223271000&usg=AFQjCNFf8KwJFesotvAv4xcrJZIyyxBXSA">
|
|
http://furius.ca/beancount/doc/syntax</a>
|
|
</span>
|
|
<span class="c23">
|
|
<br>
|
|
</span>
|
|
<span class="c3 c23 c27">
|
|
<a class="c5" href="https://www.google.com/url?q=http://furius.ca/beancount/doc/cheatsheet&sa=D&ust=1460732223272000&usg=AFQjCNGRY7dDLHZ5uOrTjR1OsLc1HwA5Aw">
|
|
http://furius.ca/beancount/doc/cheatsheet</a>
|
|
</span>
|
|
</p>
|
|
<p class="c13 c25">
|
|
<span class="c10 c30">
|
|
</span>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="c11">
|
|
<td class="c16" colspan="1" rowspan="1">
|
|
<h5 class="c9" id="h.8v2r9qqwt9f8">
|
|
<span>
|
|
Basic example</span>
|
|
</h5>
|
|
</td>
|
|
<td class="c4" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c2">
|
|
; a comment<br>
|
|
<br>
|
|
2016/1/1 set opening balance<br>
|
|
assets:checking $500.00<br>
|
|
equity:opening balances<br>
|
|
<br>
|
|
2016/1/5 farmer's market<br>
|
|
expenses:groceries $50.00<br>
|
|
Assets:checking<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
</span>
|
|
<span class="c10 c8">
|
|
Comments, directives, and/or transactions in any order</span>
|
|
</p>
|
|
</td>
|
|
<td class="c15" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c1">
|
|
; a comment<br>
|
|
<br>
|
|
2016/1/1 set opening balance<br>
|
|
assets:checking $500.00<br>
|
|
equity:opening balances<br>
|
|
<br>
|
|
2016/1/5 farmer's market<br>
|
|
expenses:groceries $50.00<br>
|
|
assets:checking</span>
|
|
</p>
|
|
</td>
|
|
<td class="c7" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c2">
|
|
; a comment<br>
|
|
<br>
|
|
2016-01-01 open Assets:Checking<br>
|
|
2016-01-01 open Equity:Opening-Balances<br>
|
|
2016-01-01 open Expenses:Groceries<br>
|
|
<br>
|
|
2016-01-01 txn "set opening balance"<br>
|
|
Assets:Checking 500.00 USD<br>
|
|
Equity:Opening-Balances<br>
|
|
<br>
|
|
2016-01-05 txn "farmer's market"<br>
|
|
Expenses:Groceries 50 USD<br>
|
|
Assets:Checking<br>
|
|
<br>
|
|
</span>
|
|
<span class="c8">
|
|
All referenced accounts must have an open directive</span>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="c11">
|
|
<td class="c16" colspan="1" rowspan="1">
|
|
<h5 class="c9" id="h.1n05blr44u7c">
|
|
<span>
|
|
Comments</span>
|
|
</h5>
|
|
</td>
|
|
<td class="c4" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c2">
|
|
; comment<br>
|
|
# comment<br>
|
|
% comment<br>
|
|
| comment<br>
|
|
* comment and org-mode outline node<br>
|
|
<br>
|
|
</span>
|
|
<span class="c10 c8">
|
|
Non-comment lines may end with a comment<br>
|
|
Indented comments are attached to the preceding transaction or posting</span>
|
|
</p>
|
|
</td>
|
|
<td class="c15" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c1">
|
|
; comment<br>
|
|
# comment<br>
|
|
* comment and org-mode outline node<br>
|
|
</span>
|
|
</p>
|
|
</td>
|
|
<td class="c7" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c2">
|
|
; comment<br>
|
|
Any unrecognised line is also a comment<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
</span>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="c11">
|
|
<td class="c16" colspan="1" rowspan="1">
|
|
<h5 class="c9" id="h.gij3l494xeth">
|
|
<span>
|
|
Basic transactions</span>
|
|
</h5>
|
|
</td>
|
|
<td class="c4" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c2">
|
|
DATE [DESCRIPTION]<br>
|
|
ACCOUNT AMOUNT<br>
|
|
ACCOUNT [AMOUNT]<br>
|
|
<br>
|
|
</span>
|
|
<span class="c10 c8">
|
|
A transaction contains any number of indented postings (usually two), whose amounts must sum to zero<br>
|
|
At least two spaces required between account and amount<br>
|
|
One amount may be omitted<br>
|
|
</span>
|
|
</p>
|
|
</td>
|
|
<td class="c15" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c2">
|
|
DATE [DESCRIPTION]<br>
|
|
ACCOUNT AMOUNT<br>
|
|
ACCOUNT [AMOUNT]<br>
|
|
<br>
|
|
</span>
|
|
<span class="c10 c8">
|
|
Same</span>
|
|
</p>
|
|
<p class="c12 c25">
|
|
<span class="c10 c8">
|
|
</span>
|
|
</p>
|
|
</td>
|
|
<td class="c7" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c2">
|
|
DATE txn [["PAYEE"] "DESCRIPTION"]<br>
|
|
ACCOUNT AMOUNT<br>
|
|
ACCOUNT [AMOUNT]<br>
|
|
<br>
|
|
</span>
|
|
<span class="c10 c8">
|
|
DESCRIPTION must be in double quotes, can be multiline<br>
|
|
No need for two spaces between account and amount</span>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="c11">
|
|
<td class="c16" colspan="1" rowspan="1">
|
|
<h5 class="c9" id="h.xpr0dgy4pyj3">
|
|
<span>
|
|
Dates</span>
|
|
</h5>
|
|
</td>
|
|
<td class="c4" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c2">
|
|
YYYY-MM-DD<br>
|
|
YYYY/MM/DD<br>
|
|
YYYY.MM.DD<br>
|
|
MM-DD<br>
|
|
MM/DD<br>
|
|
MM.DD<br>
|
|
<br>
|
|
</span>
|
|
<span class="c8">
|
|
Other formats specified with</span>
|
|
<span class="c1">
|
|
--input-date-format </span>
|
|
</p>
|
|
</td>
|
|
<td class="c15" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c1">
|
|
YYYY-MM-DD<br>
|
|
YYYY/MM/DD<br>
|
|
YYYY.MM.DD<br>
|
|
MM-DD<br>
|
|
MM/DD<br>
|
|
MM.DD</span>
|
|
</p>
|
|
</td>
|
|
<td class="c7" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c2">
|
|
YYYY-MM-DD<br>
|
|
YYYY/MM/DD<br>
|
|
YYYY.MM.DD<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
</span>
|
|
<span class="c10 c8">
|
|
Only YYYY-MM-DD with 8 digits is officially supported</span>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="c11">
|
|
<td class="c16" colspan="1" rowspan="1">
|
|
<h5 class="c9" id="h.n4b87oz9ku6t">
|
|
<span class="c0">
|
|
Account names</span>
|
|
</h5>
|
|
</td>
|
|
<td class="c4" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c2">
|
|
TOPACCT[:SUBACCT[:...]]<br>
|
|
<br>
|
|
Revenues:Salary<br>
|
|
liabilities:credit card:CITI 1234<br>
|
|
other assets:house<br>
|
|
<br>
|
|
</span>
|
|
<span class="c10 c8">
|
|
Account names begin with a letter<br>
|
|
May contain single spaces<br>
|
|
May contain subaccounts separated by :</span>
|
|
</p>
|
|
</td>
|
|
<td class="c15" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c2">
|
|
TOPACCT[:SUBACCT[:...]]<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
</span>
|
|
<span class="c10 c8">
|
|
Same</span>
|
|
</p>
|
|
</td>
|
|
<td class="c7" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c2">
|
|
TOPACCT[:SUBACCT[:...]]<br>
|
|
<br>
|
|
Income:Salary<br>
|
|
Liabilities:CreditCard:CITI-1234<br>
|
|
Assets:House<br>
|
|
<br>
|
|
</span>
|
|
<span class="c8">
|
|
Top level account must be one of Assets, Liabilities, Equity, Income, Expenses<br>
|
|
Each subaccount must be capitalised<br>
|
|
Letters, digits and hyphen are allowed (no spaces)</span>
|
|
<span class="c1">
|
|
</span>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="c11">
|
|
<td class="c16" colspan="1" rowspan="1">
|
|
<h5 class="c9" id="h.n4b87oz9ku6t-1">
|
|
<span class="c0">
|
|
Amounts</span>
|
|
</h5>
|
|
</td>
|
|
<td class="c4" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c2">
|
|
One of<br>
|
|
COMMODITY QUANTITY<br>
|
|
QUANTITY COMMODITY<br>
|
|
QUANTITY<br>
|
|
<br>
|
|
10<br>
|
|
$10.00<br>
|
|
1,000.0001 USD<br>
|
|
10 "prepaid classes"<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
</span>
|
|
<span class="c8">
|
|
COMMODITY is a symbol, word or phrase; if it contains spaces or numbers, it must be in double quotes<br>
|
|
It can be on the left or right, with or without a separating space<br>
|
|
QUANTITY is a number with 0 or more decimal places<br>
|
|
Decimal point is </span>
|
|
<span class="c8 c24">
|
|
.</span>
|
|
<span class="c8">
|
|
<br>
|
|
Digits can be grouped into thousands by </span>
|
|
<span class="c8 c24">
|
|
,</span>
|
|
<span class="c10 c8">
|
|
<br>
|
|
Amount styles influence the standard display style for each commodity</span>
|
|
</p>
|
|
<p class="c12 c25">
|
|
<span class="c10 c8">
|
|
</span>
|
|
</p>
|
|
</td>
|
|
<td class="c15" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c2">
|
|
One of<br>
|
|
COMMODITY QUANTITY<br>
|
|
QUANTITY COMMODITY<br>
|
|
QUANTITY<br>
|
|
<br>
|
|
10<br>
|
|
$10.00<br>
|
|
1,000.0001 USD<br>
|
|
10 "prepaid classes"<br>
|
|
1.000.000,01<br>
|
|
12,34,567.89<br>
|
|
<br>
|
|
</span>
|
|
<span class="c8">
|
|
Decimal point is </span>
|
|
<span class="c8 c24">
|
|
.</span>
|
|
<span class="c8">
|
|
or </span>
|
|
<span class="c8 c24">
|
|
,<br>
|
|
</span>
|
|
<span class="c8">
|
|
Digit group separator is </span>
|
|
<span class="c8 c24">
|
|
,</span>
|
|
<span class="c8">
|
|
or </span>
|
|
<span class="c8 c24">
|
|
.</span>
|
|
<span class="c10 c8">
|
|
<br>
|
|
Any digit grouping can be used, not just thousands</span>
|
|
</p>
|
|
<p class="c12 c25">
|
|
<span class="c10 c8">
|
|
</span>
|
|
</p>
|
|
</td>
|
|
<td class="c7" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c2">
|
|
QUANTITY COMMODITY<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
10USD<br>
|
|
1000.0001 USD<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
</span>
|
|
<span class="c8">
|
|
COMMODITY is all capital letters, on the right, and required</span>
|
|
<span class="c2">
|
|
<br>
|
|
</span>
|
|
<span class="c8">
|
|
Decimal point is </span>
|
|
<span class="c8 c24">
|
|
.</span>
|
|
<span class="c8">
|
|
<br>
|
|
Digit group separator </span>
|
|
<span class="c8 c24">
|
|
,</span>
|
|
<span class="c10 c8">
|
|
is allowed and ignored</span>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="c11">
|
|
<td class="c16" colspan="1" rowspan="1">
|
|
<h5 class="c9" id="h.9xaw86fvi6s6">
|
|
<span class="c21">
|
|
More transaction</span>
|
|
<span>
|
|
</span>
|
|
<span class="c0">
|
|
features</span>
|
|
</h5>
|
|
</td>
|
|
<td class="c4" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c2">
|
|
DATE [FLAG] [(CODE)] DESCRIPTION<br>
|
|
[FLAG] ACCOUNT AMOUNT [PRICE] [=BAL]<br>
|
|
...<br>
|
|
[FLAG] ACCOUNT [AMOUNT [PRICE] [=BAL]]<br>
|
|
<br>
|
|
</span>
|
|
<span class="c10 c8">
|
|
FLAG (aka STATE) is empty, ! or * meaning uncleared, pending or cleared<br>
|
|
CODE is any string, in parentheses<br>
|
|
DESCRIPTION can be a payee name, narration, or both</span>
|
|
</p>
|
|
</td>
|
|
<td class="c15" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c1">
|
|
DATE [FLAG] [(CODE)] DESCRIPTION<br>
|
|
[FLAG] ACCOUNT AMOUNT [PRICE] [=BAL]<br>
|
|
...<br>
|
|
[FLAG] ACCOUNT AMOUNT [PRICE] [=BAL]</span>
|
|
</p>
|
|
</td>
|
|
<td class="c7" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c2">
|
|
DATE [txn|FLAG] [["PAYEE"] "DESCRIPTION"]<br>
|
|
[FLAG] ACCOUNT AMOUNT [PRICE]<br>
|
|
...<br>
|
|
[FLAG] ACCOUNT AMOUNT [PRICE]<br>
|
|
<br>
|
|
</span>
|
|
<span class="c8">
|
|
The txn keyword may be replaced by a FLAG<br>
|
|
For just a payee, use "PAYEE" ""<br>
|
|
</span>
|
|
<span class="c1">
|
|
</span>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="c11">
|
|
<td class="c16" colspan="1" rowspan="1">
|
|
<h5 class="c9" id="h.d2g5xagy7h37">
|
|
<span class="c0">
|
|
Prices</span>
|
|
</h5>
|
|
</td>
|
|
<td class="c4" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c2">
|
|
One of<br>
|
|
@ UNITPRICE<br>
|
|
@@ TOTALPRICE<br>
|
|
and/or one of<br>
|
|
{LOTUNITPRICE}<br>
|
|
{=FIXEDLOTUNITPRICE}<br>
|
|
and/or<br>
|
|
[LOTDATE]<br>
|
|
<br>
|
|
</span>
|
|
<span class="c10 c8">
|
|
A UNITPRICE or TOTALPRICE also records a market price on this date<br>
|
|
A LOTDATE is written in square brackets</span>
|
|
</p>
|
|
</td>
|
|
<td class="c15" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c2">
|
|
One of<br>
|
|
@ FIXEDUNITPRICE<br>
|
|
@@ FIXEDTOTALPRICE<br>
|
|
and/or<br>
|
|
{=FIXEDLOTUNITPRICE}<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
</span>
|
|
<span class="c10 c8">
|
|
These do not record market prices<br>
|
|
The lot price syntax is ignored</span>
|
|
</p>
|
|
</td>
|
|
<td class="c7" colspan="1" rowspan="1">
|
|
<p class="c17">
|
|
<span class="c2">
|
|
{LOTUNITPRICE[ / LOTDATE]}<br>
|
|
and/or one of<br>
|
|
@ UNITPRICE<br>
|
|
@@ TOTALPRICE<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
</span>
|
|
<span class="c10 c8">
|
|
Lot prices are remembered and form distinct commodities, other prices are not<br>
|
|
If there is both a lot price and a regular price, the latter records a market price</span>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="c11">
|
|
<td class="c16" colspan="1" rowspan="1">
|
|
<h5 class="c9" id="h.mjrjnr996vfg">
|
|
<span class="c0">
|
|
Balance assertions</span>
|
|
</h5>
|
|
</td>
|
|
<td class="c4" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c2">
|
|
= AMOUNT (after posting amount & price)<br>
|
|
<br>
|
|
2016-03-10<br>
|
|
Expenses:Food $20<br>
|
|
Assets:Cash $-20 = $80<br>
|
|
<br>
|
|
</span>
|
|
<span class="c10 c8">
|
|
Asserts the balance in this commodity <br>
|
|
in this account, excluding subaccounts<br>
|
|
at this point in the parse order</span>
|
|
</p>
|
|
</td>
|
|
<td class="c15" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c2">
|
|
= AMOUNT (after posting amount & price)<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
</span>
|
|
<span class="c10 c8">
|
|
Asserts the balance in this commodity<br>
|
|
in this account, excluding subaccounts<br>
|
|
on this day. Same day events are processed in parse order</span>
|
|
</p>
|
|
</td>
|
|
<td class="c7" colspan="1" rowspan="1">
|
|
<p class="c17">
|
|
<span class="c2">
|
|
DATE balance ACCOUNT AMOUNT<br>
|
|
<br>
|
|
2014-08-09 balance Assets:Cash 562.00 USD<br>
|
|
2014-08-09 balance Assets:Cash 210.00 CAD<br>
|
|
<br>
|
|
<br>
|
|
</span>
|
|
<span class="c8">
|
|
Asserts the balance in this commodity<br>
|
|
in this account, including subaccounts<br>
|
|
at the start of this day</span>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="c11">
|
|
<td class="c16" colspan="1" rowspan="1">
|
|
<h5 class="c9" id="h.mjrjnr996vfg-2">
|
|
<span>
|
|
Balance assignments</span>
|
|
</h5>
|
|
</td>
|
|
<td class="c4" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c1">
|
|
= AMOUNT (no preceding/inferred posting amount)<br>
|
|
<br>
|
|
2012-03-10 Adjustment<br>
|
|
Assets:Cash = $50<br>
|
|
Expenses:Misc</span>
|
|
</p>
|
|
<p class="c12">
|
|
<span class="c2">
|
|
<br>
|
|
</span>
|
|
<span class="c8">
|
|
Sets the posting amount so as to make the balance assertion true. (The other amountless posting allows the transaction to balance)</span>
|
|
</p>
|
|
</td>
|
|
<td class="c15" colspan="1" rowspan="1">
|
|
<p class="c12 c25">
|
|
<span class="c1">
|
|
</span>
|
|
</p>
|
|
</td>
|
|
<td class="c7" colspan="1" rowspan="1">
|
|
<p class="c17 c25">
|
|
<span class="c1">
|
|
</span>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="c11">
|
|
<td class="c16" colspan="1" rowspan="1">
|
|
<h4 class="c9" id="h.au5ysr0kfa">
|
|
<span class="c19">
|
|
Directives</span>
|
|
</h4>
|
|
</td>
|
|
<td class="c4" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c1">
|
|
KEYWORD ARGS...<br>
|
|
[SUBDIRECTIVES]<br>
|
|
<br>
|
|
account</span>
|
|
</p>
|
|
<p class="c12">
|
|
<span class="c1">
|
|
alias<br>
|
|
apply<br>
|
|
assert<br>
|
|
bucket<br>
|
|
capture<br>
|
|
check<br>
|
|
comment<br>
|
|
commodity<br>
|
|
define<br>
|
|
end<br>
|
|
expr<br>
|
|
fixed<br>
|
|
include<br>
|
|
P</span>
|
|
</p>
|
|
<p class="c12">
|
|
<span class="c1">
|
|
payee<br>
|
|
tag<br>
|
|
test<br>
|
|
year<br>
|
|
<br>
|
|
Timeclock directives:<br>
|
|
i<br>
|
|
o<br>
|
|
b<br>
|
|
h</span>
|
|
</p>
|
|
</td>
|
|
<td class="c15" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c2">
|
|
KEYWORD ARGS...<br>
|
|
<br>
|
|
<br>
|
|
account (alias for apply)<br>
|
|
alias<br>
|
|
apply<br>
|
|
comment<br>
|
|
D<br>
|
|
end<br>
|
|
include<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
</span>
|
|
</p>
|
|
</td>
|
|
<td class="c7" colspan="1" rowspan="1">
|
|
<p class="c17">
|
|
<span class="c1">
|
|
[DATE] KEYWORD ARGS...<br>
|
|
[SUBDIRECTIVES]<br>
|
|
<br>
|
|
DATE balance<br>
|
|
DATE close<br>
|
|
DATE commodity<br>
|
|
DATE document<br>
|
|
DATE event<br>
|
|
DATE note<br>
|
|
DATE open<br>
|
|
DATE pad<br>
|
|
DATE price<br>
|
|
DATE txn<br>
|
|
include<br>
|
|
option<br>
|
|
plugin<br>
|
|
poptag<br>
|
|
pushtag<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
</span>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="c11">
|
|
<td class="c16" colspan="1" rowspan="1">
|
|
<h5 class="c9" id="h.3v5cafffbbft">
|
|
<span class="c0">
|
|
account, open</span>
|
|
</h5>
|
|
</td>
|
|
<td class="c4" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c1">
|
|
account ACCOUNT</span>
|
|
</p>
|
|
<p class="c12">
|
|
<span class="c2">
|
|
[SUBDIRECTIVES]<br>
|
|
<br>
|
|
account Revenues:Salary<br>
|
|
account Expenses:Food:Chicken<br>
|
|
note chicken food expenses<br>
|
|
alias food<br>
|
|
payee ^(KFC|Popeyes)$<br>
|
|
check commodity == "$"<br>
|
|
assert commodity == "$"<br>
|
|
eval print("Hello!")<br>
|
|
default<br>
|
|
<br>
|
|
</span>
|
|
<span class="c8">
|
|
Gives more error checking with </span>
|
|
<span class="c2">
|
|
--strict</span>
|
|
<span class="c8">
|
|
or </span>
|
|
<span class="c2">
|
|
--pedantic<br>
|
|
</span>
|
|
<span class="c10 c8">
|
|
Optional subdirectives do more stuff</span>
|
|
</p>
|
|
</td>
|
|
<td class="c15" colspan="1" rowspan="1">
|
|
<p class="c12 c25">
|
|
<span class="c1">
|
|
</span>
|
|
</p>
|
|
</td>
|
|
<td class="c7" colspan="1" rowspan="1">
|
|
<p class="c17">
|
|
<span class="c2">
|
|
DATE open ACCOUNT [COMMODITY[,...]] [METHOD]<br>
|
|
<br>
|
|
2014-05-01 open Assets:Cash USD,CAD<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
</span>
|
|
<span class="c10 c8">
|
|
Every account posted to needs an open directive with prior date</span>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="c11">
|
|
<td class="c16" colspan="1" rowspan="1">
|
|
<h5 class="c9" id="h.22qss13648tb">
|
|
<span class="c0">
|
|
close</span>
|
|
</h5>
|
|
</td>
|
|
<td class="c4" colspan="1" rowspan="1">
|
|
<p class="c12 c25">
|
|
<span class="c1">
|
|
</span>
|
|
</p>
|
|
</td>
|
|
<td class="c15" colspan="1" rowspan="1">
|
|
<p class="c12 c25">
|
|
<span class="c1">
|
|
</span>
|
|
</p>
|
|
</td>
|
|
<td class="c7" colspan="1" rowspan="1">
|
|
<p class="c17">
|
|
<span class="c1">
|
|
DATE close ACCOUNT</span>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="c11">
|
|
<td class="c16" colspan="1" rowspan="1">
|
|
<h5 class="c9" id="h.n9q16dsjsoye">
|
|
<span class="c0">
|
|
commodity</span>
|
|
</h5>
|
|
</td>
|
|
<td class="c4" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c2">
|
|
commodity COMMODITY<br>
|
|
<br>
|
|
commodity EUR<br>
|
|
commodity $<br>
|
|
note American Dollars<br>
|
|
format $1,000.00<br>
|
|
nomarket<br>
|
|
default<br>
|
|
<br>
|
|
</span>
|
|
<span class="c8">
|
|
Gives more error checking with </span>
|
|
<span class="c2">
|
|
--strict</span>
|
|
<span class="c8">
|
|
or </span>
|
|
<span class="c2">
|
|
--pedantic<br>
|
|
</span>
|
|
<span class="c8">
|
|
Optional subdirectives do more stuff</span>
|
|
</p>
|
|
</td>
|
|
<td class="c15" colspan="1" rowspan="1">
|
|
<p class="c12 c25">
|
|
<span class="c1">
|
|
</span>
|
|
</p>
|
|
</td>
|
|
<td class="c7" colspan="1" rowspan="1">
|
|
<p class="c17">
|
|
<span class="c2">
|
|
DATE commodity COMMODITY<br>
|
|
[METADATA]<br>
|
|
<br>
|
|
1867-01-01 commodity CAD<br>
|
|
name: "Canadian Dollar"<br>
|
|
asset-class: "cash"<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
</span>
|
|
<span class="c8 c10">
|
|
Attaches metadata to a commodity</span>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="c11">
|
|
<td class="c16" colspan="1" rowspan="1">
|
|
<h5 class="c9" id="h.wya8r85tgqsx">
|
|
<span>
|
|
market price</span>
|
|
</h5>
|
|
</td>
|
|
<td class="c4" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c1">
|
|
P DATE TIME COMMODITY UNITPRICE<br>
|
|
<br>
|
|
P 2004/06/21 02:18:02 AAPL $32.91<br>
|
|
P 2004/06/21 02:18:02 AU $400.00</span>
|
|
</p>
|
|
<p class="c12">
|
|
<span class="c2">
|
|
<br>
|
|
</span>
|
|
<span class="c10 c8">
|
|
Used by -V and -X<br>
|
|
Also set by transaction prices</span>
|
|
</p>
|
|
</td>
|
|
<td class="c15" colspan="1" rowspan="1">
|
|
<p class="c12">
|
|
<span class="c2">
|
|
P DATE [TIME] COMMODITY UNITPRICE<br>
|
|
<br>
|
|
P 2015/8/9 GBP $1.55<br>
|
|
<br>
|
|
<br>
|
|
</span>
|
|
<span class="c10 c8">
|
|
Used by -V<br>
|
|
A time is ignored</span>
|
|
</p>
|
|
</td>
|
|
<td class="c7" colspan="1" rowspan="1">
|
|
<p class="c17">
|
|
<span class="c2">
|
|
DATE price COMMODITY AMOUNT<br>
|
|
<br>
|
|
2014-07-09 price USD 1.08 CAD<br>
|
|
<br>
|
|
<br>
|
|
</span>
|
|
<span class="c10 c8">
|
|
Also set by transaction prices</span>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p class="c17 c25">
|
|
<span class="c37">
|
|
</span>
|
|
</p>
|
|
<p>
|
|
<span>
|
|
</span>
|
|
</p>
|
|
<p>
|
|
<span>
|
|
</span>
|
|
</p>
|
|
<p>
|
|
<span>
|
|
</span>
|
|
</p>
|
|
<p>
|
|
<span>
|
|
</span>
|
|
</p>
|
|
<p>
|
|
<span>
|
|
</span>
|
|
</p>
|
|
<p>
|
|
<span>
|
|
</span>
|
|
</p>
|
|
<p>
|
|
<span>
|
|
</span>
|
|
</p>
|
|
<p>
|
|
<span>
|
|
</span>
|
|
</p>
|
|
<p>
|
|
<span>
|
|
</span>
|
|
</p>
|
|
</div>
|
|
</body>
|
|
</html>
|