cli: fix command help, really render as plain text
pandoc thinks .txt is a markdown file apparently
This commit is contained in:
parent
fa82cbcf6e
commit
4c5ac4dd06
2
Shake.hs
2
Shake.hs
@ -377,7 +377,7 @@ main = do
|
|||||||
need [src]
|
need [src]
|
||||||
cmd Shell
|
cmd Shell
|
||||||
-- "m4 -P -DHELP -I" commandsdir lib src "|"
|
-- "m4 -P -DHELP -I" commandsdir lib src "|"
|
||||||
pandoc fromsrcmd src "-o" out
|
pandoc fromsrcmd src "-t plain" "-o" out
|
||||||
|
|
||||||
-- MISC
|
-- MISC
|
||||||
|
|
||||||
|
|||||||
@ -1,27 +1,24 @@
|
|||||||
accounts, a\
|
accounts, a
|
||||||
Show account names.
|
Show account names.
|
||||||
|
|
||||||
*FLAGS*
|
_FLAGS_
|
||||||
|
|
||||||
This command lists account names, either declared with account
|
This command lists account names, either declared with account
|
||||||
directives (\--declared), posted to (\--used), or both (the default).
|
directives (--declared), posted to (--used), or both (the default). With
|
||||||
With query arguments, only matched account names and account names
|
query arguments, only matched account names and account names referenced
|
||||||
referenced by matched postings are shown. It shows a flat list by
|
by matched postings are shown. It shows a flat list by default. With
|
||||||
default. With `--tree`, it uses indentation to show the account
|
--tree, it uses indentation to show the account hierarchy. In flat mode
|
||||||
hierarchy. In flat mode you can add `--drop N` to omit the first few
|
you can add --drop N to omit the first few account name components.
|
||||||
account name components. Account names can be depth-clipped with
|
Account names can be depth-clipped with depth:N or --depth N or -N.
|
||||||
`depth:N` or `--depth N` or `-N`.
|
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger accounts
|
||||||
$ hledger accounts
|
assets:bank:checking
|
||||||
assets:bank:checking
|
assets:bank:saving
|
||||||
assets:bank:saving
|
assets:cash
|
||||||
assets:cash
|
expenses:food
|
||||||
expenses:food
|
expenses:supplies
|
||||||
expenses:supplies
|
income:gifts
|
||||||
income:gifts
|
income:salary
|
||||||
income:salary
|
liabilities:debts
|
||||||
liabilities:debts
|
|
||||||
```
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
activity\
|
activity
|
||||||
Show an ascii barchart of posting counts per interval.
|
Show an ascii barchart of posting counts per interval.
|
||||||
|
|
||||||
*FLAGS*
|
_FLAGS_
|
||||||
|
|
||||||
The activity command displays an ascii histogram showing transaction
|
The activity command displays an ascii histogram showing transaction
|
||||||
counts by day, week, month or other reporting interval (by day is the
|
counts by day, week, month or other reporting interval (by day is the
|
||||||
@ -9,10 +9,8 @@ default). With query arguments, it counts only matched transactions.
|
|||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger activity --quarterly
|
||||||
$ hledger activity --quarterly
|
2008-01-01 **
|
||||||
2008-01-01 **
|
2008-04-01 *******
|
||||||
2008-04-01 *******
|
2008-07-01
|
||||||
2008-07-01
|
2008-10-01 **
|
||||||
2008-10-01 **
|
|
||||||
```
|
|
||||||
|
|||||||
@ -1,18 +1,18 @@
|
|||||||
add\
|
add
|
||||||
Prompt for transactions and add them to the journal.
|
Prompt for transactions and add them to the journal.
|
||||||
|
|
||||||
*FLAGS*
|
_FLAGS_
|
||||||
|
|
||||||
Many hledger users edit their journals directly with a text editor, or
|
Many hledger users edit their journals directly with a text editor, or
|
||||||
generate them from CSV. For more interactive data entry, there is the
|
generate them from CSV. For more interactive data entry, there is the
|
||||||
`add` command, which prompts interactively on the console for new
|
add command, which prompts interactively on the console for new
|
||||||
transactions, and appends them to the journal file (if there are
|
transactions, and appends them to the journal file (if there are
|
||||||
multiple `-f FILE` options, the first file is used.) Existing
|
multiple -f FILE options, the first file is used.) Existing transactions
|
||||||
transactions are not changed. This is the only hledger command that
|
are not changed. This is the only hledger command that writes to the
|
||||||
writes to the journal file.
|
journal file.
|
||||||
|
|
||||||
To use it, just run `hledger add` and follow the prompts. You can add as
|
To use it, just run hledger add and follow the prompts. You can add as
|
||||||
many transactions as you like; when you are finished, enter `.` or press
|
many transactions as you like; when you are finished, enter . or press
|
||||||
control-d or control-c to exit.
|
control-d or control-c to exit.
|
||||||
|
|
||||||
Features:
|
Features:
|
||||||
@ -21,50 +21,42 @@ Features:
|
|||||||
description) recent transaction (filtered by the query, if any) as a
|
description) recent transaction (filtered by the query, if any) as a
|
||||||
template.
|
template.
|
||||||
- You can also set the initial defaults with command line arguments.
|
- You can also set the initial defaults with command line arguments.
|
||||||
- [Readline-style edit
|
- Readline-style edit keys can be used during data entry.
|
||||||
keys](http://tiswww.case.edu/php/chet/readline/rluserman.html#SEC3)
|
|
||||||
can be used during data entry.
|
|
||||||
- The tab key will auto-complete whenever possible - accounts,
|
- The tab key will auto-complete whenever possible - accounts,
|
||||||
descriptions, dates (`yesterday`, `today`, `tomorrow`). If the input
|
descriptions, dates (yesterday, today, tomorrow). If the input area
|
||||||
area is empty, it will insert the default value.
|
is empty, it will insert the default value.
|
||||||
- If the journal defines a [default commodity](#default-commodity), it
|
- If the journal defines a default commodity, it will be added to any
|
||||||
will be added to any bare numbers entered.
|
bare numbers entered.
|
||||||
- A parenthesised transaction [code](#entries) may be entered
|
- A parenthesised transaction code may be entered following a date.
|
||||||
following a date.
|
- Comments and tags may be entered following a description or amount.
|
||||||
- [Comments](#comments) and tags may be entered following a
|
- If you make a mistake, enter < at any prompt to restart the
|
||||||
description or amount.
|
|
||||||
- If you make a mistake, enter `<` at any prompt to restart the
|
|
||||||
transaction.
|
transaction.
|
||||||
- Input prompts are displayed in a different colour when the terminal
|
- Input prompts are displayed in a different colour when the terminal
|
||||||
supports it.
|
supports it.
|
||||||
|
|
||||||
Example (see the
|
Example (see the tutorial for a detailed explanation):
|
||||||
[tutorial](step-by-step.html#record-a-transaction-with-hledger-add) for
|
|
||||||
a detailed explanation):
|
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger add
|
||||||
$ hledger add
|
Adding transactions to journal file /src/hledger/examples/sample.journal
|
||||||
Adding transactions to journal file /src/hledger/examples/sample.journal
|
Any command line arguments will be used as defaults.
|
||||||
Any command line arguments will be used as defaults.
|
Use tab key to complete, readline keys to edit, enter to accept defaults.
|
||||||
Use tab key to complete, readline keys to edit, enter to accept defaults.
|
An optional (CODE) may follow transaction dates.
|
||||||
An optional (CODE) may follow transaction dates.
|
An optional ; COMMENT may follow descriptions or amounts.
|
||||||
An optional ; COMMENT may follow descriptions or amounts.
|
If you make a mistake, enter < at any prompt to restart the transaction.
|
||||||
If you make a mistake, enter < at any prompt to restart the transaction.
|
To end a transaction, enter . when prompted.
|
||||||
To end a transaction, enter . when prompted.
|
To quit, enter . at a date prompt or press control-d or control-c.
|
||||||
To quit, enter . at a date prompt or press control-d or control-c.
|
Date [2015/05/22]:
|
||||||
Date [2015/05/22]:
|
Description: supermarket
|
||||||
Description: supermarket
|
Account 1: expenses:food
|
||||||
Account 1: expenses:food
|
Amount 1: $10
|
||||||
Amount 1: $10
|
Account 2: assets:checking
|
||||||
Account 2: assets:checking
|
Amount 2 [$-10.0]:
|
||||||
Amount 2 [$-10.0]:
|
Account 3 (or . or enter to finish this transaction): .
|
||||||
Account 3 (or . or enter to finish this transaction): .
|
2015/05/22 supermarket
|
||||||
2015/05/22 supermarket
|
expenses:food $10
|
||||||
expenses:food $10
|
assets:checking $-10.0
|
||||||
assets:checking $-10.0
|
|
||||||
|
|
||||||
Save this transaction to the journal ? [y]:
|
Save this transaction to the journal ? [y]:
|
||||||
Saved.
|
Saved.
|
||||||
Starting the next transaction (. or ctrl-D/ctrl-C to quit)
|
Starting the next transaction (. or ctrl-D/ctrl-C to quit)
|
||||||
Date [2015/05/22]: <CTRL-D> $
|
Date [2015/05/22]: <CTRL-D> $
|
||||||
```
|
|
||||||
|
|||||||
@ -1,416 +1,375 @@
|
|||||||
balance, bal, b\
|
balance, bal, b
|
||||||
Show accounts and their balances.
|
Show accounts and their balances.
|
||||||
|
|
||||||
*FLAGS*
|
_FLAGS_
|
||||||
|
|
||||||
The balance command is hledger\'s most versatile command. Note, despite
|
The balance command is hledger's most versatile command. Note, despite
|
||||||
the name, it is not always used for showing real-world account balances;
|
the name, it is not always used for showing real-world account balances;
|
||||||
the more accounting-aware [balancesheet](#balancesheet) and
|
the more accounting-aware balancesheet and incomestatement may be more
|
||||||
[incomestatement](#incomestatement) may be more convenient for that.
|
convenient for that.
|
||||||
|
|
||||||
By default, it displays all accounts, and each account\'s change in
|
By default, it displays all accounts, and each account's change in
|
||||||
balance during the entire period of the journal. Balance changes are
|
balance during the entire period of the journal. Balance changes are
|
||||||
calculated by adding up the postings in each account. You can limit the
|
calculated by adding up the postings in each account. You can limit the
|
||||||
postings matched, by a [query](#queries), to see fewer accounts, changes
|
postings matched, by a query, to see fewer accounts, changes over a
|
||||||
over a different time period, changes from only cleared transactions,
|
different time period, changes from only cleared transactions, etc.
|
||||||
etc.
|
|
||||||
|
|
||||||
If you include an account\'s complete history of postings in the report,
|
If you include an account's complete history of postings in the report,
|
||||||
the balance change is equivalent to the account\'s current ending
|
the balance change is equivalent to the account's current ending
|
||||||
balance. For a real-world account, typically you won\'t have all
|
balance. For a real-world account, typically you won't have all
|
||||||
transactions in the journal; instead you\'ll have all transactions after
|
transactions in the journal; instead you'll have all transactions after
|
||||||
a certain date, and an \"opening balances\" transaction setting the
|
a certain date, and an "opening balances" transaction setting the
|
||||||
correct starting balance on that date. Then the balance command will
|
correct starting balance on that date. Then the balance command will
|
||||||
show real-world account balances. In some cases the -H/\--historical
|
show real-world account balances. In some cases the -H/--historical flag
|
||||||
flag is used to ensure this (more below).
|
is used to ensure this (more below).
|
||||||
|
|
||||||
The balance command can produce several styles of report:
|
The balance command can produce several styles of report:
|
||||||
|
|
||||||
### Classic balance report
|
Classic balance report
|
||||||
|
|
||||||
This is the original balance report, as found in Ledger. It usually
|
This is the original balance report, as found in Ledger. It usually
|
||||||
looks like this:
|
looks like this:
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger balance
|
||||||
$ hledger balance
|
$-1 assets
|
||||||
$-1 assets
|
$1 bank:saving
|
||||||
$1 bank:saving
|
$-2 cash
|
||||||
$-2 cash
|
$2 expenses
|
||||||
$2 expenses
|
$1 food
|
||||||
$1 food
|
$1 supplies
|
||||||
$1 supplies
|
$-2 income
|
||||||
$-2 income
|
$-1 gifts
|
||||||
$-1 gifts
|
$-1 salary
|
||||||
$-1 salary
|
$1 liabilities:debts
|
||||||
$1 liabilities:debts
|
--------------------
|
||||||
--------------------
|
0
|
||||||
0
|
|
||||||
```
|
|
||||||
|
|
||||||
By default, accounts are displayed hierarchically, with subaccounts
|
By default, accounts are displayed hierarchically, with subaccounts
|
||||||
indented below their parent. At each level of the tree, accounts are
|
indented below their parent. At each level of the tree, accounts are
|
||||||
sorted by [account code](/manual.html#declaring-accounts) if any, then
|
sorted by account code if any, then by account name. Or with
|
||||||
by account name. Or with `-S/--sort-amount`, by their balance amount.
|
-S/--sort-amount, by their balance amount.
|
||||||
|
|
||||||
\"Boring\" accounts, which contain a single interesting subaccount and
|
"Boring" accounts, which contain a single interesting subaccount and no
|
||||||
no balance of their own, are elided into the following line for more
|
balance of their own, are elided into the following line for more
|
||||||
compact output. (Eg above, the \"liabilities\" account.) Use
|
compact output. (Eg above, the "liabilities" account.) Use --no-elide to
|
||||||
`--no-elide` to prevent this.
|
prevent this.
|
||||||
|
|
||||||
Account balances are \"inclusive\" - they include the balances of any
|
Account balances are "inclusive" - they include the balances of any
|
||||||
subaccounts.
|
subaccounts.
|
||||||
|
|
||||||
Accounts which have zero balance (and no non-zero subaccounts) are
|
Accounts which have zero balance (and no non-zero subaccounts) are
|
||||||
omitted. Use `-E/--empty` to show them.
|
omitted. Use -E/--empty to show them.
|
||||||
|
|
||||||
A final total is displayed by default; use `-N/--no-total` to suppress
|
A final total is displayed by default; use -N/--no-total to suppress it,
|
||||||
it, eg:
|
eg:
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger balance -p 2008/6 expenses --no-total
|
||||||
$ hledger balance -p 2008/6 expenses --no-total
|
$2 expenses
|
||||||
$2 expenses
|
$1 food
|
||||||
$1 food
|
$1 supplies
|
||||||
$1 supplies
|
|
||||||
```
|
|
||||||
|
|
||||||
### Customising the classic balance report
|
Customising the classic balance report
|
||||||
|
|
||||||
You can customise the layout of classic balance reports with
|
You can customise the layout of classic balance reports with
|
||||||
`--format FMT`:
|
--format FMT:
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger balance --format "%20(account) %12(total)"
|
||||||
$ hledger balance --format "%20(account) %12(total)"
|
assets $-1
|
||||||
assets $-1
|
bank:saving $1
|
||||||
bank:saving $1
|
cash $-2
|
||||||
cash $-2
|
expenses $2
|
||||||
expenses $2
|
food $1
|
||||||
food $1
|
supplies $1
|
||||||
supplies $1
|
income $-2
|
||||||
income $-2
|
gifts $-1
|
||||||
gifts $-1
|
salary $-1
|
||||||
salary $-1
|
liabilities:debts $1
|
||||||
liabilities:debts $1
|
---------------------------------
|
||||||
---------------------------------
|
0
|
||||||
0
|
|
||||||
```
|
|
||||||
|
|
||||||
The FMT format string (plus a newline) specifies the formatting applied
|
The FMT format string (plus a newline) specifies the formatting applied
|
||||||
to each account/balance pair. It may contain any suitable text, with
|
to each account/balance pair. It may contain any suitable text, with
|
||||||
data fields interpolated like so:
|
data fields interpolated like so:
|
||||||
|
|
||||||
`%[MIN][.MAX](FIELDNAME)`
|
%[MIN][.MAX](FIELDNAME)
|
||||||
|
|
||||||
- MIN pads with spaces to at least this width (optional)
|
- MIN pads with spaces to at least this width (optional)
|
||||||
- MAX truncates at this width (optional)
|
- MAX truncates at this width (optional)
|
||||||
- FIELDNAME must be enclosed in parentheses, and can be one of:
|
- FIELDNAME must be enclosed in parentheses, and can be one of:
|
||||||
|
|
||||||
- `depth_spacer` - a number of spaces equal to the account\'s
|
- depth_spacer - a number of spaces equal to the account's depth,
|
||||||
depth, or if MIN is specified, MIN \* depth spaces.
|
or if MIN is specified, MIN * depth spaces.
|
||||||
- `account` - the account\'s name
|
- account - the account's name
|
||||||
- `total` - the account\'s balance/posted total, right justified
|
- total - the account's balance/posted total, right justified
|
||||||
|
|
||||||
Also, FMT can begin with an optional prefix to control how
|
Also, FMT can begin with an optional prefix to control how
|
||||||
multi-commodity amounts are rendered:
|
multi-commodity amounts are rendered:
|
||||||
|
|
||||||
- `%_` - render on multiple lines, bottom-aligned (the default)
|
- %_ - render on multiple lines, bottom-aligned (the default)
|
||||||
- `%^` - render on multiple lines, top-aligned
|
- %^ - render on multiple lines, top-aligned
|
||||||
- `%,` - render on one line, comma-separated
|
- %, - render on one line, comma-separated
|
||||||
|
|
||||||
There are some quirks. Eg in one-line mode, `%(depth_spacer)` has no
|
There are some quirks. Eg in one-line mode, %(depth_spacer) has no
|
||||||
effect, instead `%(account)` has indentation built in. <!-- XXX retest:
|
effect, instead %(account) has indentation built in. Experimentation may
|
||||||
Consistent column widths are not well enforced, causing ragged edges unless you set suitable widths.
|
be needed to get pleasing results.
|
||||||
Beware of specifying a maximum width; it will clip account names and amounts that are too wide, with no visible indication.
|
|
||||||
--> Experimentation may be needed to get pleasing results.
|
|
||||||
|
|
||||||
Some example formats:
|
Some example formats:
|
||||||
|
|
||||||
- `%(total)` - the account\'s total
|
- %(total) - the account's total
|
||||||
- `%-20.20(account)` - the account\'s name, left justified, padded to
|
- %-20.20(account) - the account's name, left justified, padded to 20
|
||||||
20 characters and clipped at 20 characters
|
characters and clipped at 20 characters
|
||||||
- `%,%-50(account) %25(total)` - account name padded to 50
|
- %,%-50(account) %25(total) - account name padded to 50 characters,
|
||||||
characters, total padded to 20 characters, with multiple commodities
|
total padded to 20 characters, with multiple commodities rendered on
|
||||||
rendered on one line
|
one line
|
||||||
- `%20(total) %2(depth_spacer)%-(account)` - the default format for
|
- %20(total) %2(depth_spacer)%-(account) - the default format for the
|
||||||
the single-column balance report
|
single-column balance report
|
||||||
|
|
||||||
### Colour support
|
Colour support
|
||||||
|
|
||||||
The balance command shows negative amounts in red, if:
|
The balance command shows negative amounts in red, if:
|
||||||
|
|
||||||
- the `TERM` environment variable is not set to `dumb`
|
- the TERM environment variable is not set to dumb
|
||||||
- the output is not being redirected or piped anywhere
|
- the output is not being redirected or piped anywhere
|
||||||
|
|
||||||
### Flat mode
|
Flat mode
|
||||||
|
|
||||||
To see a flat list instead of the default hierarchical display, use
|
To see a flat list instead of the default hierarchical display, use
|
||||||
`--flat`. In this mode, accounts (unless depth-clipped) show their full
|
--flat. In this mode, accounts (unless depth-clipped) show their full
|
||||||
names and \"exclusive\" balance, excluding any subaccount balances. In
|
names and "exclusive" balance, excluding any subaccount balances. In
|
||||||
this mode, you can also use `--drop N` to omit the first few account
|
this mode, you can also use --drop N to omit the first few account name
|
||||||
name components.
|
components.
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger balance -p 2008/6 expenses -N --flat --drop 1
|
||||||
$ hledger balance -p 2008/6 expenses -N --flat --drop 1
|
$1 food
|
||||||
$1 food
|
$1 supplies
|
||||||
$1 supplies
|
|
||||||
```
|
|
||||||
|
|
||||||
### Depth limited balance reports
|
Depth limited balance reports
|
||||||
|
|
||||||
With `--depth N` or `depth:N` or just `-N`, balance reports show
|
With --depth N or depth:N or just -N, balance reports show accounts only
|
||||||
accounts only to the specified numeric depth. This is very useful to
|
to the specified numeric depth. This is very useful to summarise a
|
||||||
summarise a complex set of accounts and get an overview.
|
complex set of accounts and get an overview.
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger balance -N -1
|
||||||
$ hledger balance -N -1
|
$-1 assets
|
||||||
$-1 assets
|
$2 expenses
|
||||||
$2 expenses
|
$-2 income
|
||||||
$-2 income
|
$1 liabilities
|
||||||
$1 liabilities
|
|
||||||
```
|
|
||||||
|
|
||||||
Flat-mode balance reports, which normally show exclusive balances, show
|
Flat-mode balance reports, which normally show exclusive balances, show
|
||||||
inclusive balances at the depth limit.
|
inclusive balances at the depth limit.
|
||||||
|
|
||||||
<!-- $ for y in 2006 2007 2008 2009 2010; do echo; echo $y; hledger -f $y.journal balance ^expenses --depth 2; done -->
|
Multicolumn balance report
|
||||||
### Multicolumn balance report
|
|
||||||
|
|
||||||
Multicolumn or tabular balance reports are a very useful hledger
|
Multicolumn or tabular balance reports are a very useful hledger
|
||||||
feature, and usually the preferred style. They share many of the above
|
feature, and usually the preferred style. They share many of the above
|
||||||
features, but they show the report as a table, with columns representing
|
features, but they show the report as a table, with columns representing
|
||||||
time periods. This mode is activated by providing a [reporting
|
time periods. This mode is activated by providing a reporting interval.
|
||||||
interval](#reporting-interval).
|
|
||||||
|
|
||||||
There are three types of multicolumn balance report, showing different
|
There are three types of multicolumn balance report, showing different
|
||||||
information:
|
information:
|
||||||
|
|
||||||
1. By default: each column shows the sum of postings in that period, ie
|
1. By default: each column shows the sum of postings in that period, ie
|
||||||
the account\'s change of balance in that period. This is useful eg
|
the account's change of balance in that period. This is useful eg
|
||||||
for a monthly income statement: <!--
|
for a monthly income statement:
|
||||||
multicolumn income statement:
|
|
||||||
|
|
||||||
$ hledger balance ^income ^expense -p 'monthly this year' --depth 3
|
$ hledger balance --quarterly income expenses -E
|
||||||
|
Balance changes in 2008:
|
||||||
|
|
||||||
or cashflow statement:
|
|| 2008q1 2008q2 2008q3 2008q4
|
||||||
|
===================++=================================
|
||||||
|
expenses:food || 0 $1 0 0
|
||||||
|
expenses:supplies || 0 $1 0 0
|
||||||
|
income:gifts || 0 $-1 0 0
|
||||||
|
income:salary || $-1 0 0 0
|
||||||
|
-------------------++---------------------------------
|
||||||
|
|| $-1 $1 0 0
|
||||||
|
|
||||||
$ hledger balance ^assets ^liabilities 'not:(receivable|payable)' -p 'weekly this month'
|
2. With --cumulative: each column shows the ending balance for that
|
||||||
-->
|
|
||||||
|
|
||||||
``` {.shell}
|
|
||||||
$ hledger balance --quarterly income expenses -E
|
|
||||||
Balance changes in 2008:
|
|
||||||
|
|
||||||
|| 2008q1 2008q2 2008q3 2008q4
|
|
||||||
===================++=================================
|
|
||||||
expenses:food || 0 $1 0 0
|
|
||||||
expenses:supplies || 0 $1 0 0
|
|
||||||
income:gifts || 0 $-1 0 0
|
|
||||||
income:salary || $-1 0 0 0
|
|
||||||
-------------------++---------------------------------
|
|
||||||
|| $-1 $1 0 0
|
|
||||||
```
|
|
||||||
|
|
||||||
2. With `--cumulative`: each column shows the ending balance for that
|
|
||||||
period, accumulating the changes across periods, starting from 0 at
|
period, accumulating the changes across periods, starting from 0 at
|
||||||
the report start date:
|
the report start date:
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger balance --quarterly income expenses -E --cumulative
|
||||||
$ hledger balance --quarterly income expenses -E --cumulative
|
Ending balances (cumulative) in 2008:
|
||||||
Ending balances (cumulative) in 2008:
|
|
||||||
|
|
||||||
|| 2008/03/31 2008/06/30 2008/09/30 2008/12/31
|
|| 2008/03/31 2008/06/30 2008/09/30 2008/12/31
|
||||||
===================++=================================================
|
===================++=================================================
|
||||||
expenses:food || 0 $1 $1 $1
|
expenses:food || 0 $1 $1 $1
|
||||||
expenses:supplies || 0 $1 $1 $1
|
expenses:supplies || 0 $1 $1 $1
|
||||||
income:gifts || 0 $-1 $-1 $-1
|
income:gifts || 0 $-1 $-1 $-1
|
||||||
income:salary || $-1 $-1 $-1 $-1
|
income:salary || $-1 $-1 $-1 $-1
|
||||||
-------------------++-------------------------------------------------
|
-------------------++-------------------------------------------------
|
||||||
|| $-1 0 0 0
|
|| $-1 0 0 0
|
||||||
```
|
|
||||||
|
|
||||||
3. With `--historical/-H`: each column shows the actual historical
|
3. With --historical/-H: each column shows the actual historical ending
|
||||||
ending balance for that period, accumulating the changes across
|
balance for that period, accumulating the changes across periods,
|
||||||
periods, starting from the actual balance at the report start date.
|
starting from the actual balance at the report start date. This is
|
||||||
This is useful eg for a multi-period balance sheet, and when you are
|
useful eg for a multi-period balance sheet, and when you are showing
|
||||||
showing only the data after a certain start date:
|
only the data after a certain start date:
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger balance ^assets ^liabilities --quarterly --historical --begin 2008/4/1
|
||||||
$ hledger balance ^assets ^liabilities --quarterly --historical --begin 2008/4/1
|
Ending balances (historical) in 2008/04/01-2008/12/31:
|
||||||
Ending balances (historical) in 2008/04/01-2008/12/31:
|
|
||||||
|
|
||||||
|| 2008/06/30 2008/09/30 2008/12/31
|
|| 2008/06/30 2008/09/30 2008/12/31
|
||||||
======================++=====================================
|
======================++=====================================
|
||||||
assets:bank:checking || $1 $1 0
|
assets:bank:checking || $1 $1 0
|
||||||
assets:bank:saving || $1 $1 $1
|
assets:bank:saving || $1 $1 $1
|
||||||
assets:cash || $-2 $-2 $-2
|
assets:cash || $-2 $-2 $-2
|
||||||
liabilities:debts || 0 0 $1
|
liabilities:debts || 0 0 $1
|
||||||
----------------------++-------------------------------------
|
----------------------++-------------------------------------
|
||||||
|| 0 0 0
|
|| 0 0 0
|
||||||
```
|
|
||||||
|
|
||||||
Multicolumn balance reports display accounts in flat mode by default; to
|
Multicolumn balance reports display accounts in flat mode by default; to
|
||||||
see the hierarchy, use `--tree`.
|
see the hierarchy, use --tree.
|
||||||
|
|
||||||
With a reporting interval (like `--quarterly` above), the report
|
With a reporting interval (like --quarterly above), the report start/end
|
||||||
start/end dates will be adjusted if necessary so that they encompass the
|
dates will be adjusted if necessary so that they encompass the displayed
|
||||||
displayed report periods. This is so that the first and last periods
|
report periods. This is so that the first and last periods will be
|
||||||
will be \"full\" and comparable to the others.
|
"full" and comparable to the others.
|
||||||
|
|
||||||
The `-E/--empty` flag does two things in multicolumn balance reports:
|
The -E/--empty flag does two things in multicolumn balance reports:
|
||||||
first, the report will show all columns within the specified report
|
first, the report will show all columns within the specified report
|
||||||
period (without -E, leading and trailing columns with all zeroes are not
|
period (without -E, leading and trailing columns with all zeroes are not
|
||||||
shown). Second, all accounts which existed at the report start date will
|
shown). Second, all accounts which existed at the report start date will
|
||||||
be considered, not just the ones with activity during the report period
|
be considered, not just the ones with activity during the report period
|
||||||
(use -E to include low-activity accounts which would otherwise would be
|
(use -E to include low-activity accounts which would otherwise would be
|
||||||
omitted). With `--budget`, `--empty` also shows unbudgeted accounts.
|
omitted). With --budget, --empty also shows unbudgeted accounts.
|
||||||
|
|
||||||
The `-T/--row-total` flag adds an additional column showing the total
|
The -T/--row-total flag adds an additional column showing the total for
|
||||||
for each row.
|
each row.
|
||||||
|
|
||||||
The `-A/--average` flag adds a column showing the average value in each
|
The -A/--average flag adds a column showing the average value in each
|
||||||
row.
|
row.
|
||||||
|
|
||||||
Here\'s an example of all three:
|
Here's an example of all three:
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger balance -Q income expenses --tree -ETA
|
||||||
$ hledger balance -Q income expenses --tree -ETA
|
Balance changes in 2008:
|
||||||
Balance changes in 2008:
|
|
||||||
|
|
||||||
|| 2008q1 2008q2 2008q3 2008q4 Total Average
|
|| 2008q1 2008q2 2008q3 2008q4 Total Average
|
||||||
============++===================================================
|
============++===================================================
|
||||||
expenses || 0 $2 0 0 $2 $1
|
expenses || 0 $2 0 0 $2 $1
|
||||||
food || 0 $1 0 0 $1 0
|
food || 0 $1 0 0 $1 0
|
||||||
supplies || 0 $1 0 0 $1 0
|
supplies || 0 $1 0 0 $1 0
|
||||||
income || $-1 $-1 0 0 $-2 $-1
|
income || $-1 $-1 0 0 $-2 $-1
|
||||||
gifts || 0 $-1 0 0 $-1 0
|
gifts || 0 $-1 0 0 $-1 0
|
||||||
salary || $-1 0 0 0 $-1 0
|
salary || $-1 0 0 0 $-1 0
|
||||||
------------++---------------------------------------------------
|
------------++---------------------------------------------------
|
||||||
|| $-1 $1 0 0 0 0
|
|| $-1 $1 0 0 0 0
|
||||||
|
|
||||||
# Average is rounded to the dollar here since all journal amounts are
|
# Average is rounded to the dollar here since all journal amounts are
|
||||||
```
|
|
||||||
|
|
||||||
Limitations:
|
Limitations:
|
||||||
|
|
||||||
In multicolumn reports the [`-V/--value` flag](#market-value) uses the
|
In multicolumn reports the -V/--value flag uses the market price on the
|
||||||
market price on the report end date, for all columns (not the price on
|
report end date, for all columns (not the price on each column's end
|
||||||
each column\'s end date).
|
date).
|
||||||
|
|
||||||
Eliding of boring parent accounts in tree mode, as in the classic
|
Eliding of boring parent accounts in tree mode, as in the classic
|
||||||
balance report, is not yet supported in multicolumn reports.
|
balance report, is not yet supported in multicolumn reports.
|
||||||
|
|
||||||
### Budget report
|
Budget report
|
||||||
|
|
||||||
With `--budget`, extra columns are displayed showing budget goals for
|
With --budget, extra columns are displayed showing budget goals for each
|
||||||
each account and period, if any. Budget goals are defined by [periodic
|
account and period, if any. Budget goals are defined by periodic
|
||||||
transactions](journal.html#periodic-transactions). This is very useful
|
transactions. This is very useful for comparing planned and actual
|
||||||
for comparing planned and actual income, expenses, time usage, etc.
|
income, expenses, time usage, etc. --budget is most often combined with
|
||||||
\--budget is most often combined with a [report
|
a report interval.
|
||||||
interval](manual.html#report-intervals).
|
|
||||||
|
|
||||||
For example, you can take average monthly expenses in the common expense
|
For example, you can take average monthly expenses in the common expense
|
||||||
categories to construct a minimal monthly budget:
|
categories to construct a minimal monthly budget:
|
||||||
|
|
||||||
``` {.journal}
|
;; Budget
|
||||||
;; Budget
|
~ monthly
|
||||||
~ monthly
|
income $2000
|
||||||
income $2000
|
expenses:food $400
|
||||||
expenses:food $400
|
expenses:bus $50
|
||||||
expenses:bus $50
|
expenses:movies $30
|
||||||
expenses:movies $30
|
assets:bank:checking
|
||||||
assets:bank:checking
|
|
||||||
|
|
||||||
;; Two months worth of expenses
|
;; Two months worth of expenses
|
||||||
2017-11-01
|
2017-11-01
|
||||||
income $1950
|
income $1950
|
||||||
expenses:food $396
|
expenses:food $396
|
||||||
expenses:bus $49
|
expenses:bus $49
|
||||||
expenses:movies $30
|
expenses:movies $30
|
||||||
expenses:supplies $20
|
expenses:supplies $20
|
||||||
assets:bank:checking
|
assets:bank:checking
|
||||||
|
|
||||||
2017-12-01
|
2017-12-01
|
||||||
income $2100
|
income $2100
|
||||||
expenses:food $412
|
expenses:food $412
|
||||||
expenses:bus $53
|
expenses:bus $53
|
||||||
expenses:gifts $100
|
expenses:gifts $100
|
||||||
assets:bank:checking
|
assets:bank:checking
|
||||||
```
|
|
||||||
|
|
||||||
You can now see a monthly budget report:
|
You can now see a monthly budget report:
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger balance -M --budget
|
||||||
$ hledger balance -M --budget
|
Budget performance in 2017/11/01-2017/12/31:
|
||||||
Budget performance in 2017/11/01-2017/12/31:
|
|
||||||
|
|
||||||
|| Nov Dec
|
|| Nov Dec
|
||||||
======================++====================================================
|
======================++====================================================
|
||||||
assets || $-2445 [ 99% of $-2480] $-2665 [ 107% of $-2480]
|
assets || $-2445 [ 99% of $-2480] $-2665 [ 107% of $-2480]
|
||||||
assets:bank || $-2445 [ 99% of $-2480] $-2665 [ 107% of $-2480]
|
assets:bank || $-2445 [ 99% of $-2480] $-2665 [ 107% of $-2480]
|
||||||
assets:bank:checking || $-2445 [ 99% of $-2480] $-2665 [ 107% of $-2480]
|
assets:bank:checking || $-2445 [ 99% of $-2480] $-2665 [ 107% of $-2480]
|
||||||
expenses || $495 [ 103% of $480] $565 [ 118% of $480]
|
expenses || $495 [ 103% of $480] $565 [ 118% of $480]
|
||||||
expenses:bus || $49 [ 98% of $50] $53 [ 106% of $50]
|
expenses:bus || $49 [ 98% of $50] $53 [ 106% of $50]
|
||||||
expenses:food || $396 [ 99% of $400] $412 [ 103% of $400]
|
expenses:food || $396 [ 99% of $400] $412 [ 103% of $400]
|
||||||
expenses:movies || $30 [ 100% of $30] 0 [ 0% of $30]
|
expenses:movies || $30 [ 100% of $30] 0 [ 0% of $30]
|
||||||
income || $1950 [ 98% of $2000] $2100 [ 105% of $2000]
|
income || $1950 [ 98% of $2000] $2100 [ 105% of $2000]
|
||||||
----------------------++----------------------------------------------------
|
----------------------++----------------------------------------------------
|
||||||
|| 0 [ 0] 0 [ 0]
|
|| 0 [ 0] 0 [ 0]
|
||||||
```
|
|
||||||
|
|
||||||
By default, only accounts with budget goals during the report period are
|
By default, only accounts with budget goals during the report period are
|
||||||
shown. In the example above, transactions in `expenses:gifts` and
|
shown. In the example above, transactions in expenses:gifts and
|
||||||
`expenses:supplies` are counted towards `expenses` budget, but accounts
|
expenses:supplies are counted towards expenses budget, but accounts
|
||||||
`expenses:gifts` and `expenses:supplies` are not shown, as they don\'t
|
expenses:gifts and expenses:supplies are not shown, as they don't have
|
||||||
have any budgets.
|
any budgets.
|
||||||
|
|
||||||
You can use `--empty` shows unbudgeted accounts as well:
|
You can use --empty shows unbudgeted accounts as well:
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger balance -M --budget --empty
|
||||||
$ hledger balance -M --budget --empty
|
Budget performance in 2017/11/01-2017/12/31:
|
||||||
Budget performance in 2017/11/01-2017/12/31:
|
|
||||||
|
|
||||||
|| Nov Dec
|
|| Nov Dec
|
||||||
======================++====================================================
|
======================++====================================================
|
||||||
assets || $-2445 [ 99% of $-2480] $-2665 [ 107% of $-2480]
|
assets || $-2445 [ 99% of $-2480] $-2665 [ 107% of $-2480]
|
||||||
assets:bank || $-2445 [ 99% of $-2480] $-2665 [ 107% of $-2480]
|
assets:bank || $-2445 [ 99% of $-2480] $-2665 [ 107% of $-2480]
|
||||||
assets:bank:checking || $-2445 [ 99% of $-2480] $-2665 [ 107% of $-2480]
|
assets:bank:checking || $-2445 [ 99% of $-2480] $-2665 [ 107% of $-2480]
|
||||||
expenses || $495 [ 103% of $480] $565 [ 118% of $480]
|
expenses || $495 [ 103% of $480] $565 [ 118% of $480]
|
||||||
expenses:bus || $49 [ 98% of $50] $53 [ 106% of $50]
|
expenses:bus || $49 [ 98% of $50] $53 [ 106% of $50]
|
||||||
expenses:food || $396 [ 99% of $400] $412 [ 103% of $400]
|
expenses:food || $396 [ 99% of $400] $412 [ 103% of $400]
|
||||||
expenses:gifts || 0 $100
|
expenses:gifts || 0 $100
|
||||||
expenses:movies || $30 [ 100% of $30] 0 [ 0% of $30]
|
expenses:movies || $30 [ 100% of $30] 0 [ 0% of $30]
|
||||||
expenses:supplies || $20 0
|
expenses:supplies || $20 0
|
||||||
income || $1950 [ 98% of $2000] $2100 [ 105% of $2000]
|
income || $1950 [ 98% of $2000] $2100 [ 105% of $2000]
|
||||||
----------------------++----------------------------------------------------
|
----------------------++----------------------------------------------------
|
||||||
|| 0 [ 0] 0 [ 0]
|
|| 0 [ 0] 0 [ 0]
|
||||||
```
|
|
||||||
|
|
||||||
You can roll over unspent budgets to next period with `--cumulative`:
|
You can roll over unspent budgets to next period with --cumulative:
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger balance -M --budget --cumulative
|
||||||
$ hledger balance -M --budget --cumulative
|
Budget performance in 2017/11/01-2017/12/31:
|
||||||
Budget performance in 2017/11/01-2017/12/31:
|
|
||||||
|
|
||||||
|| Nov Dec
|
|| Nov Dec
|
||||||
======================++====================================================
|
======================++====================================================
|
||||||
assets || $-2445 [ 99% of $-2480] $-5110 [ 103% of $-4960]
|
assets || $-2445 [ 99% of $-2480] $-5110 [ 103% of $-4960]
|
||||||
assets:bank || $-2445 [ 99% of $-2480] $-5110 [ 103% of $-4960]
|
assets:bank || $-2445 [ 99% of $-2480] $-5110 [ 103% of $-4960]
|
||||||
assets:bank:checking || $-2445 [ 99% of $-2480] $-5110 [ 103% of $-4960]
|
assets:bank:checking || $-2445 [ 99% of $-2480] $-5110 [ 103% of $-4960]
|
||||||
expenses || $495 [ 103% of $480] $1060 [ 110% of $960]
|
expenses || $495 [ 103% of $480] $1060 [ 110% of $960]
|
||||||
expenses:bus || $49 [ 98% of $50] $102 [ 102% of $100]
|
expenses:bus || $49 [ 98% of $50] $102 [ 102% of $100]
|
||||||
expenses:food || $396 [ 99% of $400] $808 [ 101% of $800]
|
expenses:food || $396 [ 99% of $400] $808 [ 101% of $800]
|
||||||
expenses:movies || $30 [ 100% of $30] $30 [ 50% of $60]
|
expenses:movies || $30 [ 100% of $30] $30 [ 50% of $60]
|
||||||
income || $1950 [ 98% of $2000] $4050 [ 101% of $4000]
|
income || $1950 [ 98% of $2000] $4050 [ 101% of $4000]
|
||||||
----------------------++----------------------------------------------------
|
----------------------++----------------------------------------------------
|
||||||
|| 0 [ 0] 0 [ 0]
|
|| 0 [ 0] 0 [ 0]
|
||||||
```
|
|
||||||
|
|
||||||
Note, the `-S/--sort-amount` flag is not yet fully supported with
|
Note, the -S/--sort-amount flag is not yet fully supported with
|
||||||
`--budget`.
|
--budget.
|
||||||
|
|
||||||
For more examples, see [Budgeting and
|
For more examples, see Budgeting and Forecasting.
|
||||||
Forecasting](https://github.com/simonmichael/hledger/wiki/Budgeting%20and%20forecasting).
|
|
||||||
|
|
||||||
#### Nested budgets
|
Nested budgets
|
||||||
|
|
||||||
You can add budgets to any account in your account hierarchy. If you
|
You can add budgets to any account in your account hierarchy. If you
|
||||||
have budgets on both parent account and some of its children, then
|
have budgets on both parent account and some of its children, then
|
||||||
@ -427,82 +386,75 @@ To illustrate this, consider the following budget:
|
|||||||
expenses:personal:electronics $100.00
|
expenses:personal:electronics $100.00
|
||||||
liabilities
|
liabilities
|
||||||
|
|
||||||
With this, monthly budget for electronics is defined to be \$100 and
|
With this, monthly budget for electronics is defined to be $100 and
|
||||||
budget for personal expenses is an additional \$1000, which implicity
|
budget for personal expenses is an additional $1000, which implicity
|
||||||
means that budget for both `expenses:personal` and `expenses` is \$1100.
|
means that budget for both expenses:personal and expenses is $1100.
|
||||||
|
|
||||||
Transactions in `expenses:personal:electronics` will be counted both
|
Transactions in expenses:personal:electronics will be counted both
|
||||||
towards its \$100 budget and \$1100 of `expenses:personal` , and
|
towards its $100 budget and $1100 of expenses:personal , and
|
||||||
transactions in any other subaccount of `expenses:personal` would be
|
transactions in any other subaccount of expenses:personal would be
|
||||||
counted towards only towards the budget of `expenses:personal`.
|
counted towards only towards the budget of expenses:personal.
|
||||||
|
|
||||||
For example, let\'s consider these transactions:
|
For example, let's consider these transactions:
|
||||||
|
|
||||||
``` {.journal}
|
~ monthly from 2019/01
|
||||||
~ monthly from 2019/01
|
expenses:personal $1,000.00
|
||||||
expenses:personal $1,000.00
|
expenses:personal:electronics $100.00
|
||||||
expenses:personal:electronics $100.00
|
liabilities
|
||||||
liabilities
|
|
||||||
|
|
||||||
2019/01/01 Google home hub
|
2019/01/01 Google home hub
|
||||||
expenses:personal:electronics $90.00
|
expenses:personal:electronics $90.00
|
||||||
liabilities $-90.00
|
liabilities $-90.00
|
||||||
|
|
||||||
2019/01/02 Phone screen protector
|
2019/01/02 Phone screen protector
|
||||||
expenses:personal:electronics:upgrades $10.00
|
expenses:personal:electronics:upgrades $10.00
|
||||||
liabilities
|
liabilities
|
||||||
|
|
||||||
2019/01/02 Weekly train ticket
|
2019/01/02 Weekly train ticket
|
||||||
expenses:personal:train tickets $153.00
|
expenses:personal:train tickets $153.00
|
||||||
liabilities
|
liabilities
|
||||||
|
|
||||||
2019/01/03 Flowers
|
2019/01/03 Flowers
|
||||||
expenses:personal $30.00
|
expenses:personal $30.00
|
||||||
liabilities
|
liabilities
|
||||||
```
|
|
||||||
|
|
||||||
As you can see, we have transactions in
|
As you can see, we have transactions in
|
||||||
`expenses:personal:electronics:upgrades` and
|
expenses:personal:electronics:upgrades and
|
||||||
`expenses:personal:train tickets`, and since both of these accounts are
|
expenses:personal:train tickets, and since both of these accounts are
|
||||||
without explicitly defined budget, these transactions would be counted
|
without explicitly defined budget, these transactions would be counted
|
||||||
towards budgets of `expenses:personal:electronics` and
|
towards budgets of expenses:personal:electronics and expenses:personal
|
||||||
`expenses:personal` accordingly:
|
accordingly:
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger balance --budget -M
|
||||||
$ hledger balance --budget -M
|
Budget performance in 2019/01:
|
||||||
Budget performance in 2019/01:
|
|
||||||
|
|
||||||
|| Jan
|
|| Jan
|
||||||
===============================++===============================
|
===============================++===============================
|
||||||
expenses || $283.00 [ 26% of $1100.00]
|
expenses || $283.00 [ 26% of $1100.00]
|
||||||
expenses:personal || $283.00 [ 26% of $1100.00]
|
expenses:personal || $283.00 [ 26% of $1100.00]
|
||||||
expenses:personal:electronics || $100.00 [ 100% of $100.00]
|
expenses:personal:electronics || $100.00 [ 100% of $100.00]
|
||||||
liabilities || $-283.00 [ 26% of $-1100.00]
|
liabilities || $-283.00 [ 26% of $-1100.00]
|
||||||
-------------------------------++-------------------------------
|
-------------------------------++-------------------------------
|
||||||
|| 0 [ 0]
|
|| 0 [ 0]
|
||||||
```
|
|
||||||
|
|
||||||
And with `--empty`, we can get a better picture of budget allocation and
|
And with --empty, we can get a better picture of budget allocation and
|
||||||
consumption:
|
consumption:
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger balance --budget -M --empty
|
||||||
$ hledger balance --budget -M --empty
|
Budget performance in 2019/01:
|
||||||
Budget performance in 2019/01:
|
|
||||||
|
|
||||||
|| Jan
|
|| Jan
|
||||||
========================================++===============================
|
========================================++===============================
|
||||||
expenses || $283.00 [ 26% of $1100.00]
|
expenses || $283.00 [ 26% of $1100.00]
|
||||||
expenses:personal || $283.00 [ 26% of $1100.00]
|
expenses:personal || $283.00 [ 26% of $1100.00]
|
||||||
expenses:personal:electronics || $100.00 [ 100% of $100.00]
|
expenses:personal:electronics || $100.00 [ 100% of $100.00]
|
||||||
expenses:personal:electronics:upgrades || $10.00
|
expenses:personal:electronics:upgrades || $10.00
|
||||||
expenses:personal:train tickets || $153.00
|
expenses:personal:train tickets || $153.00
|
||||||
liabilities || $-283.00 [ 26% of $-1100.00]
|
liabilities || $-283.00 [ 26% of $-1100.00]
|
||||||
----------------------------------------++-------------------------------
|
----------------------------------------++-------------------------------
|
||||||
|| 0 [ 0]
|
|| 0 [ 0]
|
||||||
```
|
|
||||||
|
|
||||||
### Output format
|
Output format
|
||||||
|
|
||||||
The balance command supports [output
|
The balance command supports output destination and output format
|
||||||
destination](/manual.html#output-destination) and [output
|
selection.
|
||||||
format](/manual.html#output-format) selection.
|
|
||||||
|
|||||||
@ -1,45 +1,41 @@
|
|||||||
balancesheet, bs\
|
balancesheet, bs
|
||||||
This command displays a simple balance sheet, showing historical ending
|
This command displays a simple balance sheet, showing historical ending
|
||||||
balances of asset and liability accounts (ignoring any report begin
|
balances of asset and liability accounts (ignoring any report begin
|
||||||
date). It assumes that these accounts are under a top-level `asset` or
|
date). It assumes that these accounts are under a top-level asset or
|
||||||
`liability` account (case insensitive, plural forms also allowed).
|
liability account (case insensitive, plural forms also allowed).
|
||||||
|
|
||||||
Note this report shows all account balances with normal positive sign
|
Note this report shows all account balances with normal positive sign
|
||||||
(like conventional financial statements, unlike balance/print/register)
|
(like conventional financial statements, unlike balance/print/register)
|
||||||
(experimental).
|
(experimental).
|
||||||
|
|
||||||
*FLAGS*
|
_FLAGS_
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger balancesheet
|
||||||
$ hledger balancesheet
|
Balance Sheet
|
||||||
Balance Sheet
|
|
||||||
|
|
||||||
Assets:
|
Assets:
|
||||||
$-1 assets
|
$-1 assets
|
||||||
$1 bank:saving
|
$1 bank:saving
|
||||||
$-2 cash
|
$-2 cash
|
||||||
--------------------
|
--------------------
|
||||||
$-1
|
$-1
|
||||||
|
|
||||||
Liabilities:
|
Liabilities:
|
||||||
$1 liabilities:debts
|
$1 liabilities:debts
|
||||||
--------------------
|
--------------------
|
||||||
$1
|
$1
|
||||||
|
|
||||||
Total:
|
Total:
|
||||||
--------------------
|
--------------------
|
||||||
0
|
0
|
||||||
```
|
|
||||||
|
|
||||||
With a [reporting interval](#reporting-interval), multiple columns will
|
With a reporting interval, multiple columns will be shown, one for each
|
||||||
be shown, one for each report period. As with [multicolumn balance
|
report period. As with multicolumn balance reports, you can alter the
|
||||||
reports](#multicolumn-balance-reports), you can alter the report mode
|
report mode with --change/--cumulative/--historical. Normally
|
||||||
with `--change`/`--cumulative`/`--historical`. Normally balancesheet
|
balancesheet shows historical ending balances, which is what you need
|
||||||
shows historical ending balances, which is what you need for a balance
|
for a balance sheet; note this means it ignores report begin dates.
|
||||||
sheet; note this means it ignores report begin dates.
|
|
||||||
|
|
||||||
This command also supports [output
|
This command also supports output destination and output format
|
||||||
destination](/manual.html#output-destination) and [output
|
selection.
|
||||||
format](/manual.html#output-format) selection.
|
|
||||||
|
|||||||
@ -1,33 +1,31 @@
|
|||||||
balancesheetequity, bse\
|
balancesheetequity, bse
|
||||||
Just like [balancesheet](#balancesheet), but also reports Equity (which
|
Just like balancesheet, but also reports Equity (which it assumes is
|
||||||
it assumes is under a top-level `equity` account).
|
under a top-level equity account).
|
||||||
|
|
||||||
*FLAGS*
|
_FLAGS_
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger balancesheetequity
|
||||||
$ hledger balancesheetequity
|
Balance Sheet With Equity
|
||||||
Balance Sheet With Equity
|
|
||||||
|
|
||||||
Assets:
|
Assets:
|
||||||
$-2 assets
|
$-2 assets
|
||||||
$1 bank:saving
|
$1 bank:saving
|
||||||
$-3 cash
|
$-3 cash
|
||||||
--------------------
|
--------------------
|
||||||
$-2
|
$-2
|
||||||
|
|
||||||
Liabilities:
|
Liabilities:
|
||||||
$1 liabilities:debts
|
$1 liabilities:debts
|
||||||
--------------------
|
--------------------
|
||||||
$1
|
$1
|
||||||
|
|
||||||
Equity:
|
Equity:
|
||||||
$1 equity:owner
|
$1 equity:owner
|
||||||
--------------------
|
--------------------
|
||||||
$1
|
$1
|
||||||
|
|
||||||
Total:
|
Total:
|
||||||
--------------------
|
--------------------
|
||||||
0
|
0
|
||||||
```
|
|
||||||
|
|||||||
@ -1,37 +1,33 @@
|
|||||||
cashflow, cf\
|
cashflow, cf
|
||||||
This command displays a simple cashflow statement, showing changes in
|
This command displays a simple cashflow statement, showing changes in
|
||||||
\"cash\" accounts. It assumes that these accounts are under a top-level
|
"cash" accounts. It assumes that these accounts are under a top-level
|
||||||
`asset` account (case insensitive, plural forms also allowed) and do not
|
asset account (case insensitive, plural forms also allowed) and do not
|
||||||
contain `receivable` or `A/R` in their name. Note this report shows all
|
contain receivable or A/R in their name. Note this report shows all
|
||||||
account balances with normal positive sign (like conventional financial
|
account balances with normal positive sign (like conventional financial
|
||||||
statements, unlike balance/print/register) (experimental).
|
statements, unlike balance/print/register) (experimental).
|
||||||
|
|
||||||
*FLAGS*
|
_FLAGS_
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger cashflow
|
||||||
$ hledger cashflow
|
Cashflow Statement
|
||||||
Cashflow Statement
|
|
||||||
|
|
||||||
Cash flows:
|
Cash flows:
|
||||||
$-1 assets
|
$-1 assets
|
||||||
$1 bank:saving
|
$1 bank:saving
|
||||||
$-2 cash
|
$-2 cash
|
||||||
--------------------
|
--------------------
|
||||||
$-1
|
$-1
|
||||||
|
|
||||||
Total:
|
Total:
|
||||||
--------------------
|
--------------------
|
||||||
$-1
|
$-1
|
||||||
```
|
|
||||||
|
|
||||||
With a [reporting interval](#reporting-interval), multiple columns will
|
With a reporting interval, multiple columns will be shown, one for each
|
||||||
be shown, one for each report period. Normally cashflow shows changes in
|
report period. Normally cashflow shows changes in assets per period,
|
||||||
assets per period, though as with [multicolumn balance
|
though as with multicolumn balance reports you can alter the report mode
|
||||||
reports](#multicolumn-balance-reports) you can alter the report mode
|
with --change/--cumulative/--historical.
|
||||||
with `--change`/`--cumulative`/`--historical`.
|
|
||||||
|
|
||||||
This command also supports [output
|
This command also supports output destination and output format
|
||||||
destination](/manual.html#output-destination) and [output
|
selection.
|
||||||
format](/manual.html#output-format) selection.
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
check-dates\
|
check-dates
|
||||||
Check that transactions are sorted by increasing date. With \--date2,
|
Check that transactions are sorted by increasing date. With --date2,
|
||||||
checks secondary dates instead. With \--strict, dates must also be
|
checks secondary dates instead. With --strict, dates must also be
|
||||||
unique. With a query, only matched transactions\' dates are checked.
|
unique. With a query, only matched transactions' dates are checked.
|
||||||
Reads the default journal file, or another specified with -f.
|
Reads the default journal file, or another specified with -f.
|
||||||
|
|
||||||
*FLAGS*
|
_FLAGS_
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
check-dupes\
|
check-dupes
|
||||||
Reports account names having the same leaf but different prefixes. In
|
Reports account names having the same leaf but different prefixes. In
|
||||||
other words, two or more leaves that are categorized differently. Reads
|
other words, two or more leaves that are categorized differently. Reads
|
||||||
the default journal file, or another specified as an argument.
|
the default journal file, or another specified as an argument.
|
||||||
|
|
||||||
*FLAGS*
|
_FLAGS_
|
||||||
|
|
||||||
An example: http://stefanorodighiero.net/software/hledger-dupes.html
|
An example: http://stefanorodighiero.net/software/hledger-dupes.html
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
close, equity\
|
close, equity
|
||||||
Prints a \"closing balances\" transaction and an \"opening balances\"
|
Prints a "closing balances" transaction and an "opening balances"
|
||||||
transaction that bring account balances to and from zero, respectively.
|
transaction that bring account balances to and from zero, respectively.
|
||||||
Useful for bringing asset/liability balances forward into a new journal
|
Useful for bringing asset/liability balances forward into a new journal
|
||||||
file, or for closing out revenues/expenses to retained earnings at the
|
file, or for closing out revenues/expenses to retained earnings at the
|
||||||
end of a period.
|
end of a period.
|
||||||
|
|
||||||
*FLAGS*
|
_FLAGS_
|
||||||
|
|
||||||
The closing transaction transfers balances to \"equity:closing
|
The closing transaction transfers balances to "equity:closing balances".
|
||||||
balances\". The opening transaction transfers balances from
|
The opening transaction transfers balances from "equity:opening
|
||||||
\"equity:opening balances\". You can chose to print just one of the
|
balances". You can chose to print just one of the transactions by using
|
||||||
transactions by using the `--opening` or `--closing` flag.
|
the --opening or --closing flag.
|
||||||
|
|
||||||
If you split your journal files by time (eg yearly), you will typically
|
If you split your journal files by time (eg yearly), you will typically
|
||||||
run this command at the end of the year, and save the closing
|
run this command at the end of the year, and save the closing
|
||||||
@ -21,34 +21,33 @@ loaded. Ie, if you load just one file, the balances are initialised
|
|||||||
correctly; or if you load several files, the redundant closing/opening
|
correctly; or if you load several files, the redundant closing/opening
|
||||||
transactions cancel each other out. (They will show up in print or
|
transactions cancel each other out. (They will show up in print or
|
||||||
register reports; you can exclude them with a query like
|
register reports; you can exclude them with a query like
|
||||||
`not:desc:'(opening|closing) balances'`.)
|
not:desc:'(opening|closing) balances'.)
|
||||||
|
|
||||||
If you\'re running a business, you might also use this command to
|
If you're running a business, you might also use this command to "close
|
||||||
\"close the books\" at the end of an accounting period, transferring
|
the books" at the end of an accounting period, transferring income
|
||||||
income statement account balances to retained earnings. (You may want to
|
statement account balances to retained earnings. (You may want to change
|
||||||
change the equity account name to something like \"equity:retained
|
the equity account name to something like "equity:retained earnings".)
|
||||||
earnings\".)
|
|
||||||
|
|
||||||
By default, the closing transaction is dated yesterday, the balances are
|
By default, the closing transaction is dated yesterday, the balances are
|
||||||
calculated as of end of yesterday, and the opening transaction is dated
|
calculated as of end of yesterday, and the opening transaction is dated
|
||||||
today. To close on some other date, use: `hledger close -e OPENINGDATE`.
|
today. To close on some other date, use: hledger close -e OPENINGDATE.
|
||||||
Eg, to close/open on the 2018/2019 boundary, use `-e 2019`. You can also
|
Eg, to close/open on the 2018/2019 boundary, use -e 2019. You can also
|
||||||
use -p or `date:PERIOD` (any starting date is ignored).
|
use -p or date:PERIOD (any starting date is ignored).
|
||||||
|
|
||||||
Both transactions will include balance assertions for the
|
Both transactions will include balance assertions for the
|
||||||
closed/reopened accounts. You probably shouldn\'t use status or realness
|
closed/reopened accounts. You probably shouldn't use status or realness
|
||||||
filters (like -C or -R or `status:`) with this command, or the generated
|
filters (like -C or -R or status:) with this command, or the generated
|
||||||
balance assertions will depend on these flags. Likewise, if you run this
|
balance assertions will depend on these flags. Likewise, if you run this
|
||||||
command with \--auto, the balance assertions will probably always
|
command with --auto, the balance assertions will probably always require
|
||||||
require \--auto.
|
--auto.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
Carrying asset/liability balances into a new file for 2019, all from
|
Carrying asset/liability balances into a new file for 2019, all from
|
||||||
command line:
|
command line:
|
||||||
|
|
||||||
*Warning: we use `>>` here to append; be careful not to type a single
|
_Warning: we use >> here to append; be careful not to type a single >
|
||||||
`>` which would wipe your journal!*
|
which would wipe your journal!_
|
||||||
|
|
||||||
$ hledger close -f 2018.journal -e 2019 assets liabilities --opening >>2019.journal
|
$ hledger close -f 2018.journal -e 2019 assets liabilities --opening >>2019.journal
|
||||||
$ hledger close -f 2018.journal -e 2019 assets liabilities --closing >>2018.journal
|
$ hledger close -f 2018.journal -e 2019 assets liabilities --closing >>2018.journal
|
||||||
@ -66,7 +65,7 @@ balance assertions:
|
|||||||
expenses:food 5
|
expenses:food 5
|
||||||
assets:bank:checking -5 ; [2019/1/2]
|
assets:bank:checking -5 ; [2019/1/2]
|
||||||
|
|
||||||
Here\'s one way to resolve that:
|
Here's one way to resolve that:
|
||||||
|
|
||||||
; in 2018.journal:
|
; in 2018.journal:
|
||||||
2018/12/30 a purchase made in 2018, clearing the following year
|
2018/12/30 a purchase made in 2018, clearing the following year
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
files\
|
files
|
||||||
List all files included in the journal. With a REGEX argument, only file
|
List all files included in the journal. With a REGEX argument, only file
|
||||||
names matching the regular expression (case sensitive) are shown.
|
names matching the regular expression (case sensitive) are shown.
|
||||||
|
|
||||||
*FLAGS*
|
_FLAGS_
|
||||||
|
|||||||
@ -1,40 +1,35 @@
|
|||||||
help\
|
help
|
||||||
Show any of the hledger manuals.
|
Show any of the hledger manuals.
|
||||||
|
|
||||||
*FLAGS*
|
_FLAGS_
|
||||||
|
|
||||||
The `help` command displays any of the main [hledger
|
The help command displays any of the main hledger manuals, in one of
|
||||||
manuals](/docs.html), in one of several ways. Run it with no argument to
|
several ways. Run it with no argument to list the manuals, or provide a
|
||||||
list the manuals, or provide a full or partial manual name to select
|
full or partial manual name to select one.
|
||||||
one.
|
|
||||||
|
|
||||||
hledger manuals are available in several formats. hledger help will use
|
hledger manuals are available in several formats. hledger help will use
|
||||||
the first of these display methods that it finds: info, man, \$PAGER,
|
the first of these display methods that it finds: info, man, $PAGER,
|
||||||
less, stdout (or when non-interactive, just stdout). You can force a
|
less, stdout (or when non-interactive, just stdout). You can force a
|
||||||
particular viewer with the `--info`, `--man`, `--pager`, `--cat` flags.
|
particular viewer with the --info, --man, --pager, --cat flags.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger help
|
||||||
$ hledger help
|
Please choose a manual by typing "hledger help MANUAL" (a substring is ok).
|
||||||
Please choose a manual by typing "hledger help MANUAL" (a substring is ok).
|
Manuals: hledger hledger-ui hledger-web hledger-api journal csv timeclock timedot
|
||||||
Manuals: hledger hledger-ui hledger-web hledger-api journal csv timeclock timedot
|
|
||||||
```
|
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger help h --man
|
||||||
$ hledger help h --man
|
|
||||||
|
|
||||||
hledger(1) hledger User Manuals hledger(1)
|
hledger(1) hledger User Manuals hledger(1)
|
||||||
|
|
||||||
NAME
|
NAME
|
||||||
hledger - a command-line accounting tool
|
hledger - a command-line accounting tool
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
hledger [-f FILE] COMMAND [OPTIONS] [ARGS]
|
hledger [-f FILE] COMMAND [OPTIONS] [ARGS]
|
||||||
hledger [-f FILE] ADDONCMD -- [OPTIONS] [ARGS]
|
hledger [-f FILE] ADDONCMD -- [OPTIONS] [ARGS]
|
||||||
hledger
|
hledger
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
hledger is a cross-platform program for tracking money, time, or any
|
hledger is a cross-platform program for tracking money, time, or any
|
||||||
...
|
...
|
||||||
```
|
|
||||||
|
|||||||
@ -1,21 +1,19 @@
|
|||||||
import\
|
import
|
||||||
Read new transactions added to each FILE since last run, and add them to
|
Read new transactions added to each FILE since last run, and add them to
|
||||||
the main journal file. Or with \--dry-run, just print the transactions
|
the main journal file. Or with --dry-run, just print the transactions
|
||||||
that would be added.
|
that would be added.
|
||||||
|
|
||||||
*FLAGS*
|
_FLAGS_
|
||||||
|
|
||||||
The input files are specified as arguments - no need to write -f before
|
The input files are specified as arguments - no need to write -f before
|
||||||
each one. So eg to add new transactions from all CSV files to the main
|
each one. So eg to add new transactions from all CSV files to the main
|
||||||
journal, it\'s just: `hledger import *.csv`
|
journal, it's just: hledger import *.csv
|
||||||
|
|
||||||
New transactions are detected in the same way as print \--new: by
|
New transactions are detected in the same way as print --new: by
|
||||||
assuming transactions are always added to the input files in increasing
|
assuming transactions are always added to the input files in increasing
|
||||||
date order, and by saving `.latest.FILE` state files.
|
date order, and by saving .latest.FILE state files.
|
||||||
|
|
||||||
The \--dry-run output is in journal format, so you can filter it, eg to
|
The --dry-run output is in journal format, so you can filter it, eg to
|
||||||
see only uncategorised transactions:
|
see only uncategorised transactions:
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger import --dry ... | hledger -f- print unknown --ignore-assertions
|
||||||
$ hledger import --dry ... | hledger -f- print unknown --ignore-assertions
|
|
||||||
```
|
|
||||||
|
|||||||
@ -1,47 +1,42 @@
|
|||||||
incomestatement, is\
|
incomestatement, is
|
||||||
This command displays a simple income statement, showing revenues and
|
This command displays a simple income statement, showing revenues and
|
||||||
expenses during a period. It assumes that these accounts are under a
|
expenses during a period. It assumes that these accounts are under a
|
||||||
top-level `revenue` or `income` or `expense` account (case insensitive,
|
top-level revenue or income or expense account (case insensitive, plural
|
||||||
plural forms also allowed). Note this report shows all account balances
|
forms also allowed). Note this report shows all account balances with
|
||||||
with normal positive sign (like conventional financial statements,
|
normal positive sign (like conventional financial statements, unlike
|
||||||
unlike balance/print/register) (experimental).
|
balance/print/register) (experimental).
|
||||||
|
|
||||||
*FLAGS*
|
_FLAGS_
|
||||||
|
|
||||||
This command displays a simple [income
|
This command displays a simple income statement. It currently assumes
|
||||||
statement](http://en.wikipedia.org/wiki/Income_statement). It currently
|
that you have top-level accounts named income (or revenue) and expense
|
||||||
assumes that you have top-level accounts named `income` (or `revenue`)
|
(plural forms also allowed.)
|
||||||
and `expense` (plural forms also allowed.)
|
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger incomestatement
|
||||||
$ hledger incomestatement
|
Income Statement
|
||||||
Income Statement
|
|
||||||
|
|
||||||
Revenues:
|
Revenues:
|
||||||
$-2 income
|
$-2 income
|
||||||
$-1 gifts
|
$-1 gifts
|
||||||
$-1 salary
|
$-1 salary
|
||||||
--------------------
|
--------------------
|
||||||
$-2
|
$-2
|
||||||
|
|
||||||
Expenses:
|
Expenses:
|
||||||
$2 expenses
|
$2 expenses
|
||||||
$1 food
|
$1 food
|
||||||
$1 supplies
|
$1 supplies
|
||||||
--------------------
|
--------------------
|
||||||
$2
|
$2
|
||||||
|
|
||||||
Total:
|
Total:
|
||||||
--------------------
|
--------------------
|
||||||
0
|
0
|
||||||
```
|
|
||||||
|
|
||||||
With a [reporting interval](#reporting-interval), multiple columns will
|
With a reporting interval, multiple columns will be shown, one for each
|
||||||
be shown, one for each report period. Normally incomestatement shows
|
report period. Normally incomestatement shows revenues/expenses per
|
||||||
revenues/expenses per period, though as with [multicolumn balance
|
period, though as with multicolumn balance reports you can alter the
|
||||||
reports](#multicolumn-balance-reports) you can alter the report mode
|
report mode with --change/--cumulative/--historical.
|
||||||
with `--change`/`--cumulative`/`--historical`.
|
|
||||||
|
|
||||||
This command also supports [output
|
This command also supports output destination and output format
|
||||||
destination](/manual.html#output-destination) and [output
|
selection.
|
||||||
format](/manual.html#output-format) selection.
|
|
||||||
|
|||||||
@ -1,8 +1,7 @@
|
|||||||
prices\
|
prices
|
||||||
Print [market price directives](/manual#market-prices) from the journal.
|
Print market price directives from the journal. With --costs, also print
|
||||||
With \--costs, also print synthetic market prices based on [transaction
|
synthetic market prices based on transaction prices. With
|
||||||
prices](/manual#transaction-prices). With \--inverted-costs, also print
|
--inverted-costs, also print inverse prices based on transaction prices.
|
||||||
inverse prices based on transaction prices. Prices (and postings
|
Prices (and postings providing prices) can be filtered by a query.
|
||||||
providing prices) can be filtered by a query.
|
|
||||||
|
|
||||||
*FLAGS*
|
_FLAGS_
|
||||||
|
|||||||
@ -1,105 +1,96 @@
|
|||||||
print, txns, p\
|
print, txns, p
|
||||||
Show transaction journal entries, sorted by date.
|
Show transaction journal entries, sorted by date.
|
||||||
|
|
||||||
*FLAGS*
|
_FLAGS_
|
||||||
|
|
||||||
The print command displays full journal entries (transactions) from the
|
The print command displays full journal entries (transactions) from the
|
||||||
journal file in date order, tidily formatted. With \--date2,
|
journal file in date order, tidily formatted. With --date2, transactions
|
||||||
transactions are sorted by secondary date instead.
|
are sorted by secondary date instead.
|
||||||
|
|
||||||
print\'s output is always a valid [hledger journal](/journal.html).\
|
print's output is always a valid hledger journal.
|
||||||
It preserves all transaction information, but it does not preserve
|
It preserves all transaction information, but it does not preserve
|
||||||
directives or inter-transaction comments
|
directives or inter-transaction comments
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger print
|
||||||
$ hledger print
|
2008/01/01 income
|
||||||
2008/01/01 income
|
assets:bank:checking $1
|
||||||
assets:bank:checking $1
|
income:salary $-1
|
||||||
income:salary $-1
|
|
||||||
|
|
||||||
2008/06/01 gift
|
2008/06/01 gift
|
||||||
assets:bank:checking $1
|
assets:bank:checking $1
|
||||||
income:gifts $-1
|
income:gifts $-1
|
||||||
|
|
||||||
2008/06/02 save
|
2008/06/02 save
|
||||||
assets:bank:saving $1
|
assets:bank:saving $1
|
||||||
assets:bank:checking $-1
|
assets:bank:checking $-1
|
||||||
|
|
||||||
2008/06/03 * eat & shop
|
2008/06/03 * eat & shop
|
||||||
expenses:food $1
|
expenses:food $1
|
||||||
expenses:supplies $1
|
expenses:supplies $1
|
||||||
assets:cash $-2
|
assets:cash $-2
|
||||||
|
|
||||||
2008/12/31 * pay off
|
2008/12/31 * pay off
|
||||||
liabilities:debts $1
|
liabilities:debts $1
|
||||||
assets:bank:checking $-1
|
assets:bank:checking $-1
|
||||||
```
|
|
||||||
|
|
||||||
Normally, the journal entry\'s explicit or implicit amount style is
|
Normally, the journal entry's explicit or implicit amount style is
|
||||||
preserved. Ie when an amount is omitted in the journal, it will be
|
preserved. Ie when an amount is omitted in the journal, it will be
|
||||||
omitted in the output. You can use the `-x`/`--explicit` flag to make
|
omitted in the output. You can use the -x/--explicit flag to make all
|
||||||
all amounts explicit, which can be useful for troubleshooting or for
|
amounts explicit, which can be useful for troubleshooting or for making
|
||||||
making your journal more readable and robust against data entry errors.
|
your journal more readable and robust against data entry errors. Note,
|
||||||
Note, `-x` will cause postings with a multi-commodity amount (these can
|
-x will cause postings with a multi-commodity amount (these can arise
|
||||||
arise when a multi-commodity transaction has an implicit amount) will be
|
when a multi-commodity transaction has an implicit amount) will be split
|
||||||
split into multiple single-commodity postings, for valid journal output.
|
into multiple single-commodity postings, for valid journal output.
|
||||||
|
|
||||||
With `-B`/`--cost`, amounts with [transaction
|
With -B/--cost, amounts with transaction prices are converted to cost
|
||||||
prices](/journal.html#transaction-prices) are converted to cost using
|
using that price. This can be used for troubleshooting.
|
||||||
that price. This can be used for troubleshooting.
|
|
||||||
|
|
||||||
With `-m`/`--match` and a STR argument, print will show at most one
|
With -m/--match and a STR argument, print will show at most one
|
||||||
transaction: the one one whose description is most similar to STR, and
|
transaction: the one one whose description is most similar to STR, and
|
||||||
is most recent. STR should contain at least two characters. If there is
|
is most recent. STR should contain at least two characters. If there is
|
||||||
no similar-enough match, no transaction will be shown.
|
no similar-enough match, no transaction will be shown.
|
||||||
|
|
||||||
With `--new`, for each FILE being read, hledger reads (and writes) a
|
With --new, for each FILE being read, hledger reads (and writes) a
|
||||||
special state file (`.latest.FILE` in the same directory), containing
|
special state file (.latest.FILE in the same directory), containing the
|
||||||
the latest transaction date(s) that were seen last time FILE was read.
|
latest transaction date(s) that were seen last time FILE was read. When
|
||||||
When this file is found, only transactions with newer dates (and new
|
this file is found, only transactions with newer dates (and new
|
||||||
transactions on the latest date) are printed. This is useful for
|
transactions on the latest date) are printed. This is useful for
|
||||||
ignoring already-seen entries in import data, such as downloaded CSV
|
ignoring already-seen entries in import data, such as downloaded CSV
|
||||||
files. Eg:
|
files. Eg:
|
||||||
|
|
||||||
``` {.console}
|
$ hledger -f bank1.csv print --new
|
||||||
$ hledger -f bank1.csv print --new
|
# shows transactions added since last print --new on this file
|
||||||
# shows transactions added since last print --new on this file
|
|
||||||
```
|
|
||||||
|
|
||||||
This assumes that transactions added to FILE always have same or
|
This assumes that transactions added to FILE always have same or
|
||||||
increasing dates, and that transactions on the same day do not get
|
increasing dates, and that transactions on the same day do not get
|
||||||
reordered. See also the [import](#import) command.
|
reordered. See also the import command.
|
||||||
|
|
||||||
This command also supports [output
|
This command also supports output destination and output format
|
||||||
destination](/manual.html#output-destination) and [output
|
selection. Here's an example of print's CSV output:
|
||||||
format](/manual.html#output-format) selection. Here\'s an example of
|
|
||||||
print\'s CSV output:
|
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger print -Ocsv
|
||||||
$ hledger print -Ocsv
|
"txnidx","date","date2","status","code","description","comment","account","amount","commodity","credit","debit","posting-status","posting-comment"
|
||||||
"txnidx","date","date2","status","code","description","comment","account","amount","commodity","credit","debit","posting-status","posting-comment"
|
"1","2008/01/01","","","","income","","assets:bank:checking","1","$","","1","",""
|
||||||
"1","2008/01/01","","","","income","","assets:bank:checking","1","$","","1","",""
|
"1","2008/01/01","","","","income","","income:salary","-1","$","1","","",""
|
||||||
"1","2008/01/01","","","","income","","income:salary","-1","$","1","","",""
|
"2","2008/06/01","","","","gift","","assets:bank:checking","1","$","","1","",""
|
||||||
"2","2008/06/01","","","","gift","","assets:bank:checking","1","$","","1","",""
|
"2","2008/06/01","","","","gift","","income:gifts","-1","$","1","","",""
|
||||||
"2","2008/06/01","","","","gift","","income:gifts","-1","$","1","","",""
|
"3","2008/06/02","","","","save","","assets:bank:saving","1","$","","1","",""
|
||||||
"3","2008/06/02","","","","save","","assets:bank:saving","1","$","","1","",""
|
"3","2008/06/02","","","","save","","assets:bank:checking","-1","$","1","","",""
|
||||||
"3","2008/06/02","","","","save","","assets:bank:checking","-1","$","1","","",""
|
"4","2008/06/03","","*","","eat & shop","","expenses:food","1","$","","1","",""
|
||||||
"4","2008/06/03","","*","","eat & shop","","expenses:food","1","$","","1","",""
|
"4","2008/06/03","","*","","eat & shop","","expenses:supplies","1","$","","1","",""
|
||||||
"4","2008/06/03","","*","","eat & shop","","expenses:supplies","1","$","","1","",""
|
"4","2008/06/03","","*","","eat & shop","","assets:cash","-2","$","2","","",""
|
||||||
"4","2008/06/03","","*","","eat & shop","","assets:cash","-2","$","2","","",""
|
"5","2008/12/31","","*","","pay off","","liabilities:debts","1","$","","1","",""
|
||||||
"5","2008/12/31","","*","","pay off","","liabilities:debts","1","$","","1","",""
|
"5","2008/12/31","","*","","pay off","","assets:bank:checking","-1","$","1","","",""
|
||||||
"5","2008/12/31","","*","","pay off","","assets:bank:checking","-1","$","1","","",""
|
|
||||||
```
|
|
||||||
|
|
||||||
- There is one CSV record per posting, with the parent transaction\'s
|
- There is one CSV record per posting, with the parent transaction's
|
||||||
fields repeated.
|
fields repeated.
|
||||||
- The \"txnidx\" (transaction index) field shows which postings belong
|
- The "txnidx" (transaction index) field shows which postings belong
|
||||||
to the same transaction. (This number might change if transactions
|
to the same transaction. (This number might change if transactions
|
||||||
are reordered within the file, files are parsed/included in a
|
are reordered within the file, files are parsed/included in a
|
||||||
different order, etc.)
|
different order, etc.)
|
||||||
- The amount is separated into \"commodity\" (the symbol) and
|
- The amount is separated into "commodity" (the symbol) and "amount"
|
||||||
\"amount\" (numeric quantity) fields.
|
(numeric quantity) fields.
|
||||||
- The numeric amount is repeated in either the \"credit\" or \"debit\"
|
- The numeric amount is repeated in either the "credit" or "debit"
|
||||||
column, for convenience. (Those names are not accurate in the
|
column, for convenience. (Those names are not accurate in the
|
||||||
accounting sense; it just puts negative amounts under credit and
|
accounting sense; it just puts negative amounts under credit and
|
||||||
zero or greater amounts under debit.)
|
zero or greater amounts under debit.)
|
||||||
|
|||||||
@ -1,18 +1,16 @@
|
|||||||
print-unique\
|
print-unique
|
||||||
Print transactions which do not reuse an already-seen description.
|
Print transactions which do not reuse an already-seen description.
|
||||||
|
|
||||||
*FLAGS*
|
_FLAGS_
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
``` {.shell}
|
$ cat unique.journal
|
||||||
$ cat unique.journal
|
1/1 test
|
||||||
1/1 test
|
(acct:one) 1
|
||||||
(acct:one) 1
|
2/2 test
|
||||||
2/2 test
|
(acct:two) 2
|
||||||
(acct:two) 2
|
$ LEDGER_FILE=unique.journal hledger print-unique
|
||||||
$ LEDGER_FILE=unique.journal hledger print-unique
|
(-f option not supported)
|
||||||
(-f option not supported)
|
2015/01/01 test
|
||||||
2015/01/01 test
|
(acct:one) 1
|
||||||
(acct:one) 1
|
|
||||||
```
|
|
||||||
|
|||||||
@ -110,3 +110,4 @@ $ hledger reg -w $COLUMNS,40 # use terminal width, and set description widt
|
|||||||
This command also supports
|
This command also supports
|
||||||
[output destination](/manual.html#output-destination) and
|
[output destination](/manual.html#output-destination) and
|
||||||
[output format](/manual.html#output-format) selection.
|
[output format](/manual.html#output-format) selection.
|
||||||
|
|
||||||
|
|||||||
@ -1,97 +1,87 @@
|
|||||||
register, reg, r\
|
register, reg, r
|
||||||
Show postings and their running total.
|
Show postings and their running total.
|
||||||
|
|
||||||
*FLAGS*
|
_FLAGS_
|
||||||
|
|
||||||
The register command displays postings in date order, one per line, and
|
The register command displays postings in date order, one per line, and
|
||||||
their running total. This is typically used with a [query](#queries)
|
their running total. This is typically used with a query selecting a
|
||||||
selecting a particular account, to see that account\'s activity:
|
particular account, to see that account's activity:
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger register checking
|
||||||
$ hledger register checking
|
2008/01/01 income assets:bank:checking $1 $1
|
||||||
2008/01/01 income assets:bank:checking $1 $1
|
2008/06/01 gift assets:bank:checking $1 $2
|
||||||
2008/06/01 gift assets:bank:checking $1 $2
|
2008/06/02 save assets:bank:checking $-1 $1
|
||||||
2008/06/02 save assets:bank:checking $-1 $1
|
2008/12/31 pay off assets:bank:checking $-1 0
|
||||||
2008/12/31 pay off assets:bank:checking $-1 0
|
|
||||||
```
|
|
||||||
|
|
||||||
With \--date2, it shows and sorts by secondary date instead.
|
With --date2, it shows and sorts by secondary date instead.
|
||||||
|
|
||||||
The `--historical`/`-H` flag adds the balance from any undisplayed prior
|
The --historical/-H flag adds the balance from any undisplayed prior
|
||||||
postings to the running total. This is useful when you want to see only
|
postings to the running total. This is useful when you want to see only
|
||||||
recent activity, with a historically accurate running balance:
|
recent activity, with a historically accurate running balance:
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger register checking -b 2008/6 --historical
|
||||||
$ hledger register checking -b 2008/6 --historical
|
2008/06/01 gift assets:bank:checking $1 $2
|
||||||
2008/06/01 gift assets:bank:checking $1 $2
|
2008/06/02 save assets:bank:checking $-1 $1
|
||||||
2008/06/02 save assets:bank:checking $-1 $1
|
2008/12/31 pay off assets:bank:checking $-1 0
|
||||||
2008/12/31 pay off assets:bank:checking $-1 0
|
|
||||||
```
|
|
||||||
|
|
||||||
The `--depth` option limits the amount of sub-account detail displayed.
|
The --depth option limits the amount of sub-account detail displayed.
|
||||||
|
|
||||||
The `--average`/`-A` flag shows the running average posting amount
|
The --average/-A flag shows the running average posting amount instead
|
||||||
instead of the running total (so, the final number displayed is the
|
of the running total (so, the final number displayed is the average for
|
||||||
average for the whole report period). This flag implies `--empty` (see
|
the whole report period). This flag implies --empty (see below). It is
|
||||||
below). It is affected by `--historical`. It works best when showing
|
affected by --historical. It works best when showing just one account
|
||||||
just one account and one commodity.
|
and one commodity.
|
||||||
|
|
||||||
The `--related`/`-r` flag shows the *other* postings in the transactions
|
The --related/-r flag shows the _other_ postings in the transactions of
|
||||||
of the postings which would normally be shown.
|
the postings which would normally be shown.
|
||||||
|
|
||||||
With a [reporting interval](#reporting-interval), register shows summary
|
With a reporting interval, register shows summary postings, one per
|
||||||
postings, one per interval, aggregating the postings to each account:
|
interval, aggregating the postings to each account:
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger register --monthly income
|
||||||
$ hledger register --monthly income
|
2008/01 income:salary $-1 $-1
|
||||||
2008/01 income:salary $-1 $-1
|
2008/06 income:gifts $-1 $-2
|
||||||
2008/06 income:gifts $-1 $-2
|
|
||||||
```
|
|
||||||
|
|
||||||
Periods with no activity, and summary postings with a zero amount, are
|
Periods with no activity, and summary postings with a zero amount, are
|
||||||
not shown by default; use the `--empty`/`-E` flag to see them:
|
not shown by default; use the --empty/-E flag to see them:
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger register --monthly income -E
|
||||||
$ hledger register --monthly income -E
|
2008/01 income:salary $-1 $-1
|
||||||
2008/01 income:salary $-1 $-1
|
2008/02 0 $-1
|
||||||
2008/02 0 $-1
|
2008/03 0 $-1
|
||||||
2008/03 0 $-1
|
2008/04 0 $-1
|
||||||
2008/04 0 $-1
|
2008/05 0 $-1
|
||||||
2008/05 0 $-1
|
2008/06 income:gifts $-1 $-2
|
||||||
2008/06 income:gifts $-1 $-2
|
2008/07 0 $-2
|
||||||
2008/07 0 $-2
|
2008/08 0 $-2
|
||||||
2008/08 0 $-2
|
2008/09 0 $-2
|
||||||
2008/09 0 $-2
|
2008/10 0 $-2
|
||||||
2008/10 0 $-2
|
2008/11 0 $-2
|
||||||
2008/11 0 $-2
|
2008/12 0 $-2
|
||||||
2008/12 0 $-2
|
|
||||||
```
|
|
||||||
|
|
||||||
Often, you\'ll want to see just one line per interval. The `--depth`
|
Often, you'll want to see just one line per interval. The --depth option
|
||||||
option helps with this, causing subaccounts to be aggregated:
|
helps with this, causing subaccounts to be aggregated:
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger register --monthly assets --depth 1h
|
||||||
$ hledger register --monthly assets --depth 1h
|
2008/01 assets $1 $1
|
||||||
2008/01 assets $1 $1
|
2008/06 assets $-1 0
|
||||||
2008/06 assets $-1 0
|
2008/12 assets $-1 $-1
|
||||||
2008/12 assets $-1 $-1
|
|
||||||
```
|
|
||||||
|
|
||||||
Note when using report intervals, if you specify start/end dates these
|
Note when using report intervals, if you specify start/end dates these
|
||||||
will be adjusted outward if necessary to contain a whole number of
|
will be adjusted outward if necessary to contain a whole number of
|
||||||
intervals. This ensures that the first and last intervals are full
|
intervals. This ensures that the first and last intervals are full
|
||||||
length and comparable to the others in the report.
|
length and comparable to the others in the report.
|
||||||
|
|
||||||
### Custom register output
|
Custom register output
|
||||||
|
|
||||||
register uses the full terminal width by default, except on windows. You
|
register uses the full terminal width by default, except on windows. You
|
||||||
can override this by setting the `COLUMNS` environment variable (not a
|
can override this by setting the COLUMNS environment variable (not a
|
||||||
bash shell variable) or by using the `--width`/`-w` option.
|
bash shell variable) or by using the --width/-w option.
|
||||||
|
|
||||||
The description and account columns normally share the space equally
|
The description and account columns normally share the space equally
|
||||||
(about half of (width - 40) each). You can adjust this by adding a
|
(about half of (width - 40) each). You can adjust this by adding a
|
||||||
description width as part of \--width\'s argument, comma-separated:
|
description width as part of --width's argument, comma-separated:
|
||||||
`--width W,D` . Here\'s a diagram:
|
--width W,D . Here's a diagram:
|
||||||
|
|
||||||
<--------------------------------- width (W) ---------------------------------->
|
<--------------------------------- width (W) ---------------------------------->
|
||||||
date (10) description (D) account (W-41-D) amount (12) balance (12)
|
date (10) description (D) account (W-41-D) amount (12) balance (12)
|
||||||
@ -99,15 +89,12 @@ description width as part of \--width\'s argument, comma-separated:
|
|||||||
|
|
||||||
and some examples:
|
and some examples:
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger reg # use terminal width (or 80 on windows)
|
||||||
$ hledger reg # use terminal width (or 80 on windows)
|
$ hledger reg -w 100 # use width 100
|
||||||
$ hledger reg -w 100 # use width 100
|
$ COLUMNS=100 hledger reg # set with one-time environment variable
|
||||||
$ COLUMNS=100 hledger reg # set with one-time environment variable
|
$ export COLUMNS=100; hledger reg # set till session end (or window resize)
|
||||||
$ export COLUMNS=100; hledger reg # set till session end (or window resize)
|
$ hledger reg -w 100,40 # set overall width 100, description width 40
|
||||||
$ hledger reg -w 100,40 # set overall width 100, description width 40
|
$ hledger reg -w $COLUMNS,40 # use terminal width, and set description width
|
||||||
$ hledger reg -w $COLUMNS,40 # use terminal width, and set description width
|
|
||||||
```
|
|
||||||
|
|
||||||
This command also supports [output
|
This command also supports output destination and output format
|
||||||
destination](/manual.html#output-destination) and [output
|
selection.
|
||||||
format](/manual.html#output-format) selection.
|
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
register-match\
|
register-match
|
||||||
Print the one posting whose transaction description is closest to DESC,
|
Print the one posting whose transaction description is closest to DESC,
|
||||||
in the style of the register command. If there are multiple equally good
|
in the style of the register command. If there are multiple equally good
|
||||||
matches, it shows the most recent. Query options (options, not
|
matches, it shows the most recent. Query options (options, not
|
||||||
arguments) can be used to restrict the search space. Helps
|
arguments) can be used to restrict the search space. Helps
|
||||||
ledger-autosync detect already-seen transactions when importing.
|
ledger-autosync detect already-seen transactions when importing.
|
||||||
|
|
||||||
*FLAGS*
|
_FLAGS_
|
||||||
|
|||||||
@ -1,15 +1,15 @@
|
|||||||
rewrite\
|
rewrite
|
||||||
Print all transactions, rewriting the postings of matched transactions.
|
Print all transactions, rewriting the postings of matched transactions.
|
||||||
For now the only rewrite available is adding new postings, like print
|
For now the only rewrite available is adding new postings, like print
|
||||||
\--auto.
|
--auto.
|
||||||
|
|
||||||
*FLAGS*
|
_FLAGS_
|
||||||
|
|
||||||
This is a start at a generic rewriter of transaction entries. It reads
|
This is a start at a generic rewriter of transaction entries. It reads
|
||||||
the default journal and prints the transactions, like print, but adds
|
the default journal and prints the transactions, like print, but adds
|
||||||
one or more specified postings to any transactions matching QUERY. The
|
one or more specified postings to any transactions matching QUERY. The
|
||||||
posting amounts can be fixed, or a multiplier of the existing
|
posting amounts can be fixed, or a multiplier of the existing
|
||||||
transaction\'s first posting amount.
|
transaction's first posting amount.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
@ -29,116 +29,100 @@ spaces between account and amount.
|
|||||||
|
|
||||||
More:
|
More:
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger rewrite -- [QUERY] --add-posting "ACCT AMTEXPR" ...
|
||||||
$ hledger rewrite -- [QUERY] --add-posting "ACCT AMTEXPR" ...
|
$ hledger rewrite -- ^income --add-posting '(liabilities:tax) *.33'
|
||||||
$ hledger rewrite -- ^income --add-posting '(liabilities:tax) *.33'
|
$ hledger rewrite -- expenses:gifts --add-posting '(budget:gifts) *-1"'
|
||||||
$ hledger rewrite -- expenses:gifts --add-posting '(budget:gifts) *-1"'
|
$ hledger rewrite -- ^income --add-posting '(budget:foreign currency) *0.25 JPY; diversify'
|
||||||
$ hledger rewrite -- ^income --add-posting '(budget:foreign currency) *0.25 JPY; diversify'
|
|
||||||
```
|
|
||||||
|
|
||||||
Argument for `--add-posting` option is a usual posting of transaction
|
Argument for --add-posting option is a usual posting of transaction with
|
||||||
with an exception for amount specification. More precisely, you can use
|
an exception for amount specification. More precisely, you can use '*'
|
||||||
`'*'` (star symbol) before the amount to indicate that that this is a
|
(star symbol) before the amount to indicate that that this is a factor
|
||||||
factor for an amount of original matched posting. If the amount includes
|
for an amount of original matched posting. If the amount includes a
|
||||||
a commodity name, the new posting amount will be in the new commodity;
|
commodity name, the new posting amount will be in the new commodity;
|
||||||
otherwise, it will be in the matched posting amount\'s commodity.
|
otherwise, it will be in the matched posting amount's commodity.
|
||||||
|
|
||||||
#### Re-write rules in a file
|
Re-write rules in a file
|
||||||
|
|
||||||
During the run this tool will execute so called [\"Automated
|
During the run this tool will execute so called "Automated Transactions"
|
||||||
Transactions\"](http://ledger-cli.org/3.0/doc/ledger3.html#Automated-Transactions)
|
|
||||||
found in any journal it process. I.e instead of specifying this
|
found in any journal it process. I.e instead of specifying this
|
||||||
operations in command line you can put them in a journal file.
|
operations in command line you can put them in a journal file.
|
||||||
|
|
||||||
``` {.shell}
|
$ rewrite-rules.journal
|
||||||
$ rewrite-rules.journal
|
|
||||||
```
|
|
||||||
|
|
||||||
Make contents look like this:
|
Make contents look like this:
|
||||||
|
|
||||||
``` {.journal}
|
= ^income
|
||||||
= ^income
|
(liabilities:tax) *.33
|
||||||
(liabilities:tax) *.33
|
|
||||||
|
|
||||||
= expenses:gifts
|
= expenses:gifts
|
||||||
budget:gifts *-1
|
budget:gifts *-1
|
||||||
assets:budget *1
|
assets:budget *1
|
||||||
```
|
|
||||||
|
|
||||||
Note that `'='` (equality symbol) that is used instead of date in
|
Note that '=' (equality symbol) that is used instead of date in
|
||||||
transactions you usually write. It indicates the query by which you want
|
transactions you usually write. It indicates the query by which you want
|
||||||
to match the posting to add new ones.
|
to match the posting to add new ones.
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger rewrite -- -f input.journal -f rewrite-rules.journal > rewritten-tidy-output.journal
|
||||||
$ hledger rewrite -- -f input.journal -f rewrite-rules.journal > rewritten-tidy-output.journal
|
|
||||||
```
|
|
||||||
|
|
||||||
This is something similar to the commands pipeline:
|
This is something similar to the commands pipeline:
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger rewrite -- -f input.journal '^income' --add-posting '(liabilities:tax) *.33' \
|
||||||
$ hledger rewrite -- -f input.journal '^income' --add-posting '(liabilities:tax) *.33' \
|
| hledger rewrite -- -f - expenses:gifts --add-posting 'budget:gifts *-1' \
|
||||||
| hledger rewrite -- -f - expenses:gifts --add-posting 'budget:gifts *-1' \
|
--add-posting 'assets:budget *1' \
|
||||||
--add-posting 'assets:budget *1' \
|
> rewritten-tidy-output.journal
|
||||||
> rewritten-tidy-output.journal
|
|
||||||
```
|
|
||||||
|
|
||||||
It is important to understand that relative order of such entries in
|
It is important to understand that relative order of such entries in
|
||||||
journal is important. You can re-use result of previously added
|
journal is important. You can re-use result of previously added
|
||||||
postings.
|
postings.
|
||||||
|
|
||||||
#### Diff output format
|
Diff output format
|
||||||
|
|
||||||
To use this tool for batch modification of your journal files you may
|
To use this tool for batch modification of your journal files you may
|
||||||
find useful output in form of unified diff.
|
find useful output in form of unified diff.
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger rewrite -- --diff -f examples/sample.journal '^income' --add-posting '(liabilities:tax) *.33'
|
||||||
$ hledger rewrite -- --diff -f examples/sample.journal '^income' --add-posting '(liabilities:tax) *.33'
|
|
||||||
```
|
|
||||||
|
|
||||||
Output might look like:
|
Output might look like:
|
||||||
|
|
||||||
``` {.diff}
|
--- /tmp/examples/sample.journal
|
||||||
--- /tmp/examples/sample.journal
|
+++ /tmp/examples/sample.journal
|
||||||
+++ /tmp/examples/sample.journal
|
@@ -18,3 +18,4 @@
|
||||||
@@ -18,3 +18,4 @@
|
2008/01/01 income
|
||||||
2008/01/01 income
|
- assets:bank:checking $1
|
||||||
- assets:bank:checking $1
|
+ assets:bank:checking $1
|
||||||
+ assets:bank:checking $1
|
income:salary
|
||||||
income:salary
|
+ (liabilities:tax) 0
|
||||||
+ (liabilities:tax) 0
|
@@ -22,3 +23,4 @@
|
||||||
@@ -22,3 +23,4 @@
|
2008/06/01 gift
|
||||||
2008/06/01 gift
|
- assets:bank:checking $1
|
||||||
- assets:bank:checking $1
|
+ assets:bank:checking $1
|
||||||
+ assets:bank:checking $1
|
income:gifts
|
||||||
income:gifts
|
+ (liabilities:tax) 0
|
||||||
+ (liabilities:tax) 0
|
|
||||||
```
|
|
||||||
|
|
||||||
If you\'ll pass this through `patch` tool you\'ll get transactions
|
If you'll pass this through patch tool you'll get transactions
|
||||||
containing the posting that matches your query be updated. Note that
|
containing the posting that matches your query be updated. Note that
|
||||||
multiple files might be update according to list of input files
|
multiple files might be update according to list of input files
|
||||||
specified via `--file` options and `include` directives inside of these
|
specified via --file options and include directives inside of these
|
||||||
files.
|
files.
|
||||||
|
|
||||||
Be careful. Whole transaction being re-formatted in a style of output
|
Be careful. Whole transaction being re-formatted in a style of output
|
||||||
from `hledger print`.
|
from hledger print.
|
||||||
|
|
||||||
See also:
|
See also:
|
||||||
|
|
||||||
https://github.com/simonmichael/hledger/issues/99
|
https://github.com/simonmichael/hledger/issues/99
|
||||||
|
|
||||||
#### rewrite vs. print \--auto
|
rewrite vs. print --auto
|
||||||
|
|
||||||
This command predates print \--auto, and currently does much the same
|
This command predates print --auto, and currently does much the same
|
||||||
thing, but with these differences:
|
thing, but with these differences:
|
||||||
|
|
||||||
- with multiple files, rewrite lets rules in any file affect all other
|
- with multiple files, rewrite lets rules in any file affect all other
|
||||||
files. print \--auto uses standard directive scoping; rules affect
|
files. print --auto uses standard directive scoping; rules affect
|
||||||
only child files.
|
only child files.
|
||||||
|
|
||||||
- rewrite\'s query limits which transactions can be rewritten; all are
|
- rewrite's query limits which transactions can be rewritten; all are
|
||||||
printed. print \--auto\'s query limits which transactions are
|
printed. print --auto's query limits which transactions are printed.
|
||||||
printed.
|
|
||||||
|
|
||||||
- rewrite applies rules specified on command line or in the journal.
|
- rewrite applies rules specified on command line or in the journal.
|
||||||
print \--auto applies rules specified in the journal.
|
print --auto applies rules specified in the journal.
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
roi\
|
roi
|
||||||
Shows the time-weighted (TWR) and money-weighted (IRR) rate of return on
|
Shows the time-weighted (TWR) and money-weighted (IRR) rate of return on
|
||||||
your investments.
|
your investments.
|
||||||
|
|
||||||
*FLAGS*
|
_FLAGS_
|
||||||
|
|
||||||
This command assumes that you have account(s) that hold nothing but your
|
This command assumes that you have account(s) that hold nothing but your
|
||||||
investments and whenever you record current appraisal/valuation of these
|
investments and whenever you record current appraisal/valuation of these
|
||||||
@ -14,8 +14,8 @@ originating from unrealized profit and loss account(s) are assumed to be
|
|||||||
your investments or withdrawals.
|
your investments or withdrawals.
|
||||||
|
|
||||||
At a minimum, you need to supply a query (which could be just an account
|
At a minimum, you need to supply a query (which could be just an account
|
||||||
name) to select your investments with `--inv`, and another query to
|
name) to select your investments with --inv, and another query to
|
||||||
identify your profit and loss transactions with `--pnl`.
|
identify your profit and loss transactions with --pnl.
|
||||||
|
|
||||||
It will compute and display the internalized rate of return (IRR) and
|
It will compute and display the internalized rate of return (IRR) and
|
||||||
time-weighted rate of return (TWR) for your investments for the time
|
time-weighted rate of return (TWR) for your investments for the time
|
||||||
|
|||||||
@ -1,28 +1,25 @@
|
|||||||
stats\
|
stats
|
||||||
Show some journal statistics.
|
Show some journal statistics.
|
||||||
|
|
||||||
*FLAGS*
|
_FLAGS_
|
||||||
|
|
||||||
The stats command displays summary information for the whole journal, or
|
The stats command displays summary information for the whole journal, or
|
||||||
a matched part of it. With a [reporting interval](#reporting-interval),
|
a matched part of it. With a reporting interval, it shows a report for
|
||||||
it shows a report for each report period.
|
each report period.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
``` {.shell}
|
$ hledger stats
|
||||||
$ hledger stats
|
Main journal file : /src/hledger/examples/sample.journal
|
||||||
Main journal file : /src/hledger/examples/sample.journal
|
Included journal files :
|
||||||
Included journal files :
|
Transactions span : 2008-01-01 to 2009-01-01 (366 days)
|
||||||
Transactions span : 2008-01-01 to 2009-01-01 (366 days)
|
Last transaction : 2008-12-31 (2333 days ago)
|
||||||
Last transaction : 2008-12-31 (2333 days ago)
|
Transactions : 5 (0.0 per day)
|
||||||
Transactions : 5 (0.0 per day)
|
Transactions last 30 days: 0 (0.0 per day)
|
||||||
Transactions last 30 days: 0 (0.0 per day)
|
Transactions last 7 days : 0 (0.0 per day)
|
||||||
Transactions last 7 days : 0 (0.0 per day)
|
Payees/descriptions : 5
|
||||||
Payees/descriptions : 5
|
Accounts : 8 (depth 3)
|
||||||
Accounts : 8 (depth 3)
|
Commodities : 1 ($)
|
||||||
Commodities : 1 ($)
|
|
||||||
```
|
|
||||||
|
|
||||||
This command also supports [output
|
This command also supports output destination and output format
|
||||||
destination](/manual.html#output-destination) and [output
|
selection.
|
||||||
format](/manual.html#output-format) selection.
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
tags\
|
tags
|
||||||
List all the tag names used in the journal. With a TAGREGEX argument,
|
List all the tag names used in the journal. With a TAGREGEX argument,
|
||||||
only tag names matching the regular expression (case insensitive) are
|
only tag names matching the regular expression (case insensitive) are
|
||||||
shown. With QUERY arguments, only transactions matching the query are
|
shown. With QUERY arguments, only transactions matching the query are
|
||||||
considered.
|
considered.
|
||||||
|
|
||||||
*FLAGS*
|
_FLAGS_
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
test\
|
test
|
||||||
Run built-in unit tests.
|
Run built-in unit tests.
|
||||||
|
|
||||||
*FLAGS*
|
_FLAGS_
|
||||||
|
|
||||||
This command runs the unit tests built in to hledger-lib and hledger,
|
This command runs the unit tests built in to hledger-lib and hledger,
|
||||||
printing test names and results on stdout. If any test fails, the exit
|
printing test names and results on stdout. If any test fails, the exit
|
||||||
@ -15,7 +15,7 @@ If a numeric second argument is provided, it will set the randomness
|
|||||||
seed, for repeatable results from tests using randomness (currently none
|
seed, for repeatable results from tests using randomness (currently none
|
||||||
of them).
|
of them).
|
||||||
|
|
||||||
This is mainly used by developers, but it\'s nice to be able to
|
This is mainly used by developers, but it's nice to be able to
|
||||||
sanity-check your installed hledger executable at any time. All tests
|
sanity-check your installed hledger executable at any time. All tests
|
||||||
are expected to pass - if you ever see otherwise, something has gone
|
are expected to pass - if you ever see otherwise, something has gone
|
||||||
wrong, please report a bug!
|
wrong, please report a bug!
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user