doc: more manual updates, alphabetise commands
This commit is contained in:
parent
45f5507ff6
commit
e5ae0a8f51
253
doc/manual.md
253
doc/manual.md
@ -60,16 +60,26 @@ enter some transactions. Or, save this
|
|||||||
[sample file](https://raw.github.com/simonmichael/hledger/master/data/sample.journal) as
|
[sample file](https://raw.github.com/simonmichael/hledger/master/data/sample.journal) as
|
||||||
`.hledger.journal` in your home directory. Now try commands like these:
|
`.hledger.journal` in your home directory. Now try commands like these:
|
||||||
|
|
||||||
$ hledger # show available commands
|
$ hledger
|
||||||
$ hledger add # add more transactions to the journal file
|
# show available commands
|
||||||
$ hledger balance # all accounts with aggregated balances
|
$ hledger add
|
||||||
$ hledger balance --help # show help for balance command
|
# add more transactions to the journal file
|
||||||
$ hledger balance --depth 1 # only top-level accounts
|
$ hledger balance
|
||||||
$ hledger register # show a register of postings from all transactions
|
# all accounts with aggregated balances
|
||||||
$ hledger reg income # show postings to/from income accounts
|
$ hledger balance --help
|
||||||
$ hledger reg checking # show postings to/from checking account
|
# show help for balance command
|
||||||
$ hledger reg desc:shop # show postings with shop in the description
|
$ hledger balance --depth 1
|
||||||
$ hledger activity # show transactions per day as a bar chart
|
# only top-level accounts
|
||||||
|
$ hledger register
|
||||||
|
# show account postings, with running total
|
||||||
|
$ hledger reg income
|
||||||
|
# show postings to/from income accounts
|
||||||
|
$ hledger reg 'assets:some bank:checking'
|
||||||
|
# show postings to/from this checking account
|
||||||
|
$ hledger print desc:shop
|
||||||
|
# show transactions with shop in the description
|
||||||
|
$ hledger activity -W
|
||||||
|
# show transaction counts per week as a bar chart
|
||||||
|
|
||||||
## Data formats
|
## Data formats
|
||||||
|
|
||||||
@ -357,7 +367,7 @@ hledger will parse and ignore ledger-style historical price directives:
|
|||||||
; Historical price directives look like: P DATE COMMODITYSYMBOL UNITPRICE
|
; Historical price directives look like: P DATE COMMODITYSYMBOL UNITPRICE
|
||||||
; These say the euro's exchange rate is $1.35 during 2009 and
|
; These say the euro's exchange rate is $1.35 during 2009 and
|
||||||
; $1.40 from 2010/1/1 on.
|
; $1.40 from 2010/1/1 on.
|
||||||
P 2009/1/1 € $1.35
|
P 2009/1/1 € $1.35
|
||||||
P 2010/1/1 € $1.40
|
P 2010/1/1 € $1.40
|
||||||
|
|
||||||
#### Comments
|
#### Comments
|
||||||
@ -693,29 +703,29 @@ though not every one is applicable in all cases:
|
|||||||
|
|
||||||
```
|
```
|
||||||
General flags:
|
General flags:
|
||||||
-f --file=FILE use a different input file. For stdin, use -
|
-f --file=FILE use a different input file. For stdin, use -
|
||||||
--rules-file=RFILE CSV conversion rules file (default: FILE.rules)
|
--rules-file=RFILE CSV conversion rules file (default: FILE.rules)
|
||||||
--alias=OLD=NEW display accounts named OLD as NEW
|
--alias=OLD=NEW display accounts named OLD as NEW
|
||||||
--ignore-assertions ignore any balance assertions in the journal
|
--ignore-assertions ignore any balance assertions in the journal
|
||||||
-b --begin=DATE include postings/txns on or after this date
|
-b --begin=DATE include postings/txns on or after this date
|
||||||
-e --end=DATE include postings/txns before this date
|
-e --end=DATE include postings/txns before this date
|
||||||
-D --daily multiperiod/multicolumn report by day
|
-D --daily multiperiod/multicolumn report by day
|
||||||
-W --weekly multiperiod/multicolumn report by week
|
-W --weekly multiperiod/multicolumn report by week
|
||||||
-M --monthly multiperiod/multicolumn report by month
|
-M --monthly multiperiod/multicolumn report by month
|
||||||
-Q --quarterly multiperiod/multicolumn report by quarter
|
-Q --quarterly multiperiod/multicolumn report by quarter
|
||||||
-Y --yearly multiperiod/multicolumn report by year
|
-Y --yearly multiperiod/multicolumn report by year
|
||||||
-p --period=PERIODEXP set start date, end date, and/or reporting interval
|
-p --period=PERIODEXP set start date, end date, and/or reporting interval
|
||||||
all at once (overrides the flags above)
|
all at once (overrides the flags above)
|
||||||
--date2 --aux-date use postings/txns' secondary dates instead
|
--date2 --aux-date use postings/txns' secondary dates instead
|
||||||
-C --cleared include only cleared postings/txns
|
-C --cleared include only cleared postings/txns
|
||||||
-U --uncleared include only uncleared postings/txns
|
-U --uncleared include only uncleared postings/txns
|
||||||
-R --real include only non-virtual postings
|
-R --real include only non-virtual postings
|
||||||
--depth=N hide accounts/postings deeper than N
|
--depth=N hide accounts/postings deeper than N
|
||||||
-E --empty show empty/zero things which are normally omitted
|
-E --empty show empty/zero things which are normally omitted
|
||||||
-B --cost show amounts in their cost price's commodity
|
-B --cost show amounts in their cost price's commodity
|
||||||
-h --help show general help or (after command) command help
|
-h --help show general help or (after command) command help
|
||||||
--debug=N show debug output if N is 1-9 (default: 0)
|
--debug=N show debug output if N is 1-9 (default: 0)
|
||||||
--version show version information
|
--version show version information
|
||||||
```
|
```
|
||||||
|
|
||||||
Read on for some additional notes.
|
Read on for some additional notes.
|
||||||
@ -728,15 +738,16 @@ words, can be relative to today's date, and assume 1 when less-significant date
|
|||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
| `2009/1/1`, `2009/01/01`, `2009-1-1`, `2009.1.1` | simple dates, several separators allowed |
|
|--------------------------------------------------|------------------------------------------------------|
|
||||||
|
| `2009/1/1`, `2009/01/01`, `2009-1-1`, `2009.1.1` | simple dates, several separators allowed |
|
||||||
| `2009/1`, `2009` | same as above - a missing day or month defaults to 1 |
|
| `2009/1`, `2009` | same as above - a missing day or month defaults to 1 |
|
||||||
| `1/1`, `january`, `jan`, `this year` | relative dates, meaning january 1 of the current year|
|
| `1/1`, `january`, `jan`, `this year` | relative dates, meaning january 1 of the current year|
|
||||||
| `next year` | january 1 of next year |
|
| `next year` | january 1 of next year |
|
||||||
| `this month` | the 1st of the current month |
|
| `this month` | the 1st of the current month |
|
||||||
| `this week` | the most recent monday |
|
| `this week` | the most recent monday |
|
||||||
| `last week` | the monday of the week before this one |
|
| `last week` | the monday of the week before this one |
|
||||||
|
| `lastweek` | spaces are optional |
|
||||||
| `today`, `yesterday`, `tomorrow` | |
|
| `today`, `yesterday`, `tomorrow` | |
|
||||||
| `-pmonthlyfrom2/1tonextmonth` | the spaces are optional |
|
|
||||||
|
|
||||||
### Reporting interval
|
### Reporting interval
|
||||||
|
|
||||||
@ -811,7 +822,7 @@ tree, down to level N. Use this when you want a summary with less detail.
|
|||||||
|
|
||||||
## Queries
|
## Queries
|
||||||
|
|
||||||
Part of hledger's usefulness is being able to report on just a precise subset of your data.
|
One of hledger's strengths is being able to quickly report on precise subsets of your data.\
|
||||||
Most commands accept an optional query expression, written as arguments after the command name,
|
Most commands accept an optional query expression, written as arguments after the command name,
|
||||||
to filter the data by date, account name or other criteria. Query expressions are also used
|
to filter the data by date, account name or other criteria. Query expressions are also used
|
||||||
in the [web ui](#web)'s search form.
|
in the [web ui](#web)'s search form.
|
||||||
@ -865,7 +876,7 @@ are combined as follows:
|
|||||||
- any of the account terms AND
|
- any of the account terms AND
|
||||||
- all the other terms.
|
- all the other terms.
|
||||||
|
|
||||||
### Query arguments vs options
|
### Query arguments or options ?
|
||||||
|
|
||||||
On the command line, some of the query terms above can also be expressed as command-line flags.
|
On the command line, some of the query terms above can also be expressed as command-line flags.
|
||||||
Generally you can mix and match query arguments and flags, and the resulting query will be their intersection.
|
Generally you can mix and match query arguments and flags, and the resulting query will be their intersection.
|
||||||
@ -875,11 +886,17 @@ Remember that a `-p` [period](#period-expressions) flag will cause any other `-b
|
|||||||
## Commands
|
## Commands
|
||||||
|
|
||||||
hledger provides a number of subcommands out of the box; run `hledger` with no arguments to see a list.
|
hledger provides a number of subcommands out of the box; run `hledger` with no arguments to see a list.
|
||||||
|
The most-used commands are probably
|
||||||
|
[balance](#balance),
|
||||||
|
[register](#register),
|
||||||
|
[print](#print)
|
||||||
|
and [accounts](#accounts).
|
||||||
|
|
||||||
More [add-on commands](#add-ons) will appear if you install additional `hledger-*` packages,
|
More [add-on commands](#add-ons) will appear if you install additional `hledger-*` packages,
|
||||||
or if you put programs or scripts named `hledger-NAME` in your PATH.
|
or if you put programs or scripts named `hledger-NAME` in your PATH.
|
||||||
|
|
||||||
To select which command to run, write it as the first command-line
|
To choose a command, write it as the first command-line argument.
|
||||||
argument. You can write its full name (eg `balance`), or one of the
|
You can write its full name (eg `balance`), or one of the
|
||||||
standard short aliases displayed in parentheses in the command list
|
standard short aliases displayed in parentheses in the command list
|
||||||
(eg `bs`), or any unambiguous prefix of a command (eg `inc`).
|
(eg `bs`), or any unambiguous prefix of a command (eg `inc`).
|
||||||
|
|
||||||
@ -951,77 +968,27 @@ Here's [an example](step-by-step#record-a-transaction-with-hledger-add).
|
|||||||
date ? [2013/04/09]: <CTRL-D>
|
date ? [2013/04/09]: <CTRL-D>
|
||||||
$
|
$
|
||||||
-->
|
-->
|
||||||
|
|
||||||
### Reports
|
### Reports
|
||||||
|
|
||||||
These are the commands for actually querying your ledger.
|
Here are the built-in commands for reporting useful information from your journal,
|
||||||
|
which hledger's main purpose. (The original commands inherited from Ledger were, simplest first:
|
||||||
|
[print](#print), [register](#register) and [balance](#balance).)
|
||||||
|
|
||||||
#### accounts
|
#### accounts
|
||||||
|
|
||||||
This command lists matched account names, in a flat list by default, or in hierarchy
|
This command lists matched account names, in a flat list by default, or in hierarchy
|
||||||
with the `--tree` flag. With no query arguments, all account names are listed.
|
with the `--tree` flag. With no query arguments, all account names are listed.
|
||||||
|
|
||||||
#### print
|
#### activity
|
||||||
|
|
||||||
The print command displays full transactions from the journal file,
|
The activity command displays an ascii bar chart showing
|
||||||
tidily formatted and showing all amounts explicitly. The output of
|
transaction counts by day, week, month or other reporting interval
|
||||||
print is always a valid hledger journal, but it does always not
|
(by day is the default).
|
||||||
preserve all original content exactly (eg directives).
|
|
||||||
|
|
||||||
hledger's print command also shows all unit prices in effect, or (with
|
|
||||||
-B/--cost) shows cost amounts.
|
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
$ hledger print
|
$ hledger activity -p weekly dining
|
||||||
$ hledger print employees:bob | hledger -f- register expenses
|
|
||||||
|
|
||||||
#### register
|
|
||||||
|
|
||||||
The register command displays postings, one per line, and their running
|
|
||||||
total. With no [query terms](#queries), this is not all that different
|
|
||||||
from [print](#print):
|
|
||||||
|
|
||||||
$ hledger register
|
|
||||||
|
|
||||||
More typically, use it to see a specific account's activity:
|
|
||||||
|
|
||||||
$ hledger register assets:bank:checking
|
|
||||||
|
|
||||||
The `--historical`/`-H` flag adds the balance from any prior postings
|
|
||||||
to the running total, to show the actual running account balance.
|
|
||||||
|
|
||||||
The `--depth` option limits the amount of sub-account detail displayed:
|
|
||||||
|
|
||||||
$ hledger register assets:bank:checking --depth 2
|
|
||||||
|
|
||||||
The `--average`/`-A` flag shows the running average posting amount
|
|
||||||
instead of the running total (so, the final number displayed is the
|
|
||||||
average for the whole report period). This flag implies `--empty` (see below).
|
|
||||||
It works best when showing just one account and one commodity.
|
|
||||||
|
|
||||||
The `--related`/`-r` flag shows the *other* postings in the transactions
|
|
||||||
of the postings which would normally be shown.
|
|
||||||
|
|
||||||
The `--width`/`-w` option adjusts the width of the output. By default,
|
|
||||||
this is 80 characters. To allow more space for descriptions and account
|
|
||||||
names, use `-w N` to increase the width to N characters (the argument is required).
|
|
||||||
|
|
||||||
With a [reporting interval](#reporting-interval) register shows
|
|
||||||
aggregated summary postings, within each interval:
|
|
||||||
|
|
||||||
$ hledger register --monthly rent
|
|
||||||
$ hledger register --monthly -E food --depth 4
|
|
||||||
|
|
||||||
One summary posting will be shown for each account in each interval.
|
|
||||||
Summary postings with a zero amount are not shown; use the `--empty`/`-E` flag to show them.
|
|
||||||
|
|
||||||
If necessary, use the `--depth` option to summarise the accounts.
|
|
||||||
It's often most useful to see just one line per interval.
|
|
||||||
|
|
||||||
When using report intervals, the report's normal start/end dates are
|
|
||||||
"enlarged" to contain a whole number of intervals, so that the first
|
|
||||||
and last intervals will be "full" and comparable to the others.
|
|
||||||
|
|
||||||
#### balance
|
#### balance
|
||||||
|
|
||||||
@ -1177,13 +1144,6 @@ Or, if you'd like to export the balance sheet:
|
|||||||
The default output format is `%20(total) %2(depth_spacer)%-(account)`.
|
The default output format is `%20(total) %2(depth_spacer)%-(account)`.
|
||||||
|
|
||||||
|
|
||||||
#### incomestatement
|
|
||||||
|
|
||||||
This command displays a simple
|
|
||||||
[income statement](http://en.wikipedia.org/wiki/Income_statement). It
|
|
||||||
currently assumes that you have top-level accounts named `income` (or
|
|
||||||
`revenue`) and `expense` (plural forms also allowed.)
|
|
||||||
|
|
||||||
#### balancesheet
|
#### balancesheet
|
||||||
|
|
||||||
This command displays a simple
|
This command displays a simple
|
||||||
@ -1201,14 +1161,74 @@ period. It currently assumes that cash accounts are under a top-level
|
|||||||
account named `asset` and do not contain `receivable` or `A/R` (plural
|
account named `asset` and do not contain `receivable` or `A/R` (plural
|
||||||
forms also allowed.)
|
forms also allowed.)
|
||||||
|
|
||||||
#### activity
|
#### incomestatement
|
||||||
|
|
||||||
The activity command displays a simplistic textual bar chart showing
|
This command displays a simple
|
||||||
transaction counts by day, week, month or other reporting interval.
|
[income statement](http://en.wikipedia.org/wiki/Income_statement). It
|
||||||
|
currently assumes that you have top-level accounts named `income` (or
|
||||||
|
`revenue`) and `expense` (plural forms also allowed.)
|
||||||
|
|
||||||
|
#### print
|
||||||
|
|
||||||
|
The print command displays full transactions from the journal file,
|
||||||
|
tidily formatted and showing all amounts explicitly. The output of
|
||||||
|
print is always a valid hledger journal, but it does always not
|
||||||
|
preserve all original content exactly (eg directives).
|
||||||
|
|
||||||
|
hledger's print command also shows all unit prices in effect, or (with
|
||||||
|
-B/--cost) shows cost amounts.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
$ hledger activity -p weekly dining
|
$ hledger print
|
||||||
|
$ hledger print employees:bob | hledger -f- register expenses
|
||||||
|
|
||||||
|
#### register
|
||||||
|
|
||||||
|
The register command displays postings, one per line, and their running
|
||||||
|
total. With no [query terms](#queries), this is not all that different
|
||||||
|
from [print](#print):
|
||||||
|
|
||||||
|
$ hledger register
|
||||||
|
|
||||||
|
More typically, use it to see a specific account's activity:
|
||||||
|
|
||||||
|
$ hledger register assets:bank:checking
|
||||||
|
|
||||||
|
The `--historical`/`-H` flag adds the balance from any prior postings
|
||||||
|
to the running total, to show the actual running account balance.
|
||||||
|
|
||||||
|
The `--depth` option limits the amount of sub-account detail displayed:
|
||||||
|
|
||||||
|
$ hledger register assets:bank:checking --depth 2
|
||||||
|
|
||||||
|
The `--average`/`-A` flag shows the running average posting amount
|
||||||
|
instead of the running total (so, the final number displayed is the
|
||||||
|
average for the whole report period). This flag implies `--empty` (see below).
|
||||||
|
It works best when showing just one account and one commodity.
|
||||||
|
|
||||||
|
The `--related`/`-r` flag shows the *other* postings in the transactions
|
||||||
|
of the postings which would normally be shown.
|
||||||
|
|
||||||
|
The `--width`/`-w` option adjusts the width of the output. By default,
|
||||||
|
this is 80 characters. To allow more space for descriptions and account
|
||||||
|
names, use `-w N` to increase the width to N characters (the argument is required).
|
||||||
|
|
||||||
|
With a [reporting interval](#reporting-interval) register shows
|
||||||
|
aggregated summary postings, within each interval:
|
||||||
|
|
||||||
|
$ hledger register --monthly rent
|
||||||
|
$ hledger register --monthly -E food --depth 4
|
||||||
|
|
||||||
|
One summary posting will be shown for each account in each interval.
|
||||||
|
Summary postings with a zero amount are not shown; use the `--empty`/`-E` flag to show them.
|
||||||
|
|
||||||
|
If necessary, use the `--depth` option to summarise the accounts.
|
||||||
|
It's often most useful to see just one line per interval.
|
||||||
|
|
||||||
|
When using report intervals, the report's normal start/end dates are
|
||||||
|
"enlarged" to contain a whole number of intervals, so that the first
|
||||||
|
and last intervals will be "full" and comparable to the others.
|
||||||
|
|
||||||
#### stats
|
#### stats
|
||||||
|
|
||||||
@ -1290,7 +1310,7 @@ See the package page for more.
|
|||||||
[hledger-web](http://hackage.haskell.org/package/hledger-web)
|
[hledger-web](http://hackage.haskell.org/package/hledger-web)
|
||||||
provides a web-based user interface for viewing and modifying your ledger.
|
provides a web-based user interface for viewing and modifying your ledger.
|
||||||
It includes an account register view that is more useful than the command-line register, and basic data entry and editing.
|
It includes an account register view that is more useful than the command-line register, and basic data entry and editing.
|
||||||
Try it out at http://demo.hledger.org.
|
You can see it running at [demo.hledger.org](http://demo.hledger.org).
|
||||||
|
|
||||||
web-specific options:
|
web-specific options:
|
||||||
|
|
||||||
@ -1430,11 +1450,12 @@ using one of these modes is quite recommended.
|
|||||||
|
|
||||||
These were written with Ledger in mind, but also work with hledger files:
|
These were written with Ledger in mind, but also work with hledger files:
|
||||||
|
|
||||||
| Emacs | http://www.ledger-cli.org/3.0/doc/ledger-mode.html |
|
|----------------|----------------------------------------------------|
|
||||||
| Vim | https://github.com/ledger/ledger/wiki/Getting-started-with-Vim |
|
| Emacs | <http://www.ledger-cli.org/3.0/doc/ledger-mode.html> |
|
||||||
| Sublime Text | https://github.com/ledger/ledger/wiki/Using-Sublime-Text |
|
| Vim | <https://github.com/ledger/ledger/wiki/Getting-started-with-Vim> |
|
||||||
| Textmate | https://github.com/ledger/ledger/wiki/Using-TextMate-2 |
|
| Sublime Text | <https://github.com/ledger/ledger/wiki/Using-Sublime-Text> |
|
||||||
| Text Wrangler | https://github.com/ledger/ledger/wiki/Editing-Ledger-files-with-TextWrangler |
|
| Textmate | <https://github.com/ledger/ledger/wiki/Using-TextMate-2> |
|
||||||
|
| Text Wrangler | <https://github.com/ledger/ledger/wiki/Editing-Ledger-files-with-TextWrangler> |
|
||||||
|
|
||||||
<!-- Some related LedgerTips:
|
<!-- Some related LedgerTips:
|
||||||
https://twitter.com/LedgerTips/status/504061626233159681
|
https://twitter.com/LedgerTips/status/504061626233159681
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user