diff options
author | John Wiegley <johnw@newartisans.com> | 2009-11-12 01:43:47 -0500 |
---|---|---|
committer | John Wiegley <johnw@newartisans.com> | 2009-11-12 02:40:29 -0500 |
commit | fea1b42fa9ee55b5ded9cb9adfe087bcde573a18 (patch) | |
tree | 864a1e3a0758c80722c63eafcdf571e3fe304164 /doc/ledger.1 | |
parent | 013965d0ce1b20e3f8814f65a0d3593c6789bcd7 (diff) | |
download | fork-ledger-fea1b42fa9ee55b5ded9cb9adfe087bcde573a18.tar.gz fork-ledger-fea1b42fa9ee55b5ded9cb9adfe087bcde573a18.tar.bz2 fork-ledger-fea1b42fa9ee55b5ded9cb9adfe087bcde573a18.zip |
All commands are now documented in the man page
Diffstat (limited to 'doc/ledger.1')
-rw-r--r-- | doc/ledger.1 | 298 |
1 files changed, 261 insertions, 37 deletions
diff --git a/doc/ledger.1 b/doc/ledger.1 index 10fda0c5..6007aec3 100644 --- a/doc/ledger.1 +++ b/doc/ledger.1 @@ -1,4 +1,4 @@ -.Dd March 15, 2009 +.Dd November 12, 2009 .Dt ledger 1 .Sh NAME .Nm ledger @@ -9,45 +9,52 @@ ledger .Op Ar options .Op Ar arguments .Sh DESCRIPTION -Ledger is a command-line accounting tool providing the user access to the -power of double-entry accounting. It is only a reporting tool, which means it -never modifies your data files, nor can it be used to create or remove data. +Ledger is a command-line accounting tool based on the power and completeness +of double-entry accounting. It is only a reporting tool, which means it never +modifies your data files, but it does offers a large selection of reports, and +different ways to customize them to your liking. .Pp .Sh COMMANDS -Ledger accepts several top-level commands, each of which is used to generate a -different report. Most of them accept a +Ledger accepts several top-level commands, each of which generates a different +kind of basic report. Most of them accept a .Ar report-query -argument, in order to determine what to report. To understand what is -accepted by +argument, in order to determine what should be reported. To understand the +syntax of a .Ar report-query , see the section on .Sx QUERIES . -In its most basic form, simply specifying one or more strings will produce a +In its most basic form, simply specifying one or more strings produces a report for all accounts containing those strings. .Pp -If no command at all is given, Ledger enters a +If no command is given, Ledger enters a .Tn REPL , or command loop, allowing several commands to be executed against the same dataset without reparsing. .Pp -The following is a summary of all the reporting commands accepted by Ledger: +The following is a complete list of reporting commands accepted by Ledger: .Pp -.Bl -tag -width foo -.It Nm balance Oo Ar query Oc -Produce a balance report showing subtotals for matching leaf accounts, and -aggregate totals for all the parents of those accounts. The most common -options with this command are: +.Bl -tag -width balance +.It Nm balance Oo Ar report-query Oc +Produces a balance report showing totals for all matching accounts, and +aggregate totals for parents of those accounts. Options most commonly used +with this command are: .Pp .Bl -tag -compact -width "--collapse (-n)" +.It Fl \-basis Pq Fl B +Report in terms of cost basis, not amount or value. This is the only form of +report which is guaranteed to always balance to zero, when no +.Ar report-query +is specified. .It Fl \-collapse Pq Fl n -Only show totals in the top-most accounts. +Only show totals for the top-most accounts. .It Fl \-empty Pq Fl E -Show matching accounts whose total happens to be zero. +Also show accounts whose total is zero. .It Fl \-flat -Rather than displaying a hierarchical tree, flatten it to show only subtotals -for accounts directly matching the query. +Rather than display a hierarchical tree, flatten the report to show subtotals +for only accounts matching +.Ar report-query . .It Fl \-no\-total -Suppress the final total usually shown at the bottom of the report. +Suppress the summary total shown at the bottom of the report (when not zero). .El .Pp The synonyms @@ -55,31 +62,198 @@ The synonyms and .Nm b are also accepted. -.It Nm csv Oo Ar query Oc +.It Nm budget Oo Ar report-query Oc +A special balance report which includes three extra columns: the amount +budgeted during the reporting period, how spending differed from the budget, +and the percentage of budget spent (exceeds 100% if you go over budget). +Note that budgeting requires one or more +.Do +periodic transactions +.Dc +to be defined in your data file(s). See the manual for more information. +.It Nm cleared Oo Ar report-query Oc +A special balance report which adds two extra columns: the cleared balance for +each account, and the date of the most recent cleared posting in that account. +For this accounting to be meaningful, the cleared flag must be set on at least +one posting. See the manual for more information. +.It Nm csv Oo Ar report-query Oc +Report of postings matching the +.Ar report-query +in CSV format (comma-separated values). Useful for exporting data to a +spreadsheet for further analysis or charting. +.It Nm draft Oo Ar draft-template Oc +Generate and display a new, properly formatted Ledger transaction by comparing +the +.Ar draft-template +to the transactions in your data file(s). For more information on draft +templates and using this command to quickly create new transactions, see the +section +.Sx DRAFTS . +.Pp +The synonyms +.Nm entry +and +.Nm xact +are also accepted. .It Nm emacs Oo Ar query Oc +Outputs posting and transaction data in a format readily consumed by the Emacs +editor, in a series of Lisp forms. This is used by the +.Li ledger.el +Emacs mode to process reporting data from Ledger. +.Pp The synonym .Nm lisp is also accepted. -.It Nm equity Oo Ar query Oc -.It Nm generate -.It Nm prices Oo Ar query Oc -.It Nm pricesdb Oo Ar query Oc -.It Nm print Oo Ar query Oc -.It Nm register Oo Ar query Oc +.It Nm equity Oo Ar report-query Oc +Prints a series of transactions that balance current totals for +accounts matching the +.Ar report-query +in a special account called +.Li Equity:Opening Balances . +The purpose of this report is to close the books for a prior year, while using +these equity transactions to carry forward those balances. +.It Nm prices Oo Ar report-query Oc +Reports prices for all commodities in postings matching the +.Ar report-query . +The prices are reported with the granularity of a single day. +.It Nm pricesdb Oo Ar report-query Oc +Reports prices for all commodities in postings matching the +.Ar report-query . +Prices are reported down to the second, using the same format as the +.Li ~/.pricedb +file. +.It Nm print Oo Ar report-query Oc +Prints out the full transactions of any matching postings using the same +format as they would appear in a data file. This can be used to extract +subsets from a Ledger file to transfer to other files. +.It Nm push Oo Ar options Oc +In the +.Tn REPL , +this command pushes a set of command-line options, so that they will apply to +all subsequent reports. +.It Nm pop +In the +.Tn REPL , +pops any option settings that have been pushed. +.It Nm register Oo Ar report-query Oc +List all postings matching the +.Ar report-query . +This is one of the most common commands, and can be used to provide a variety +of useful reports. Options most commonly used +with this command are: +.Pp +.Bl -tag -compact -width "--collapse (-n)" +.It Fl \-average Pq Fl A +Show the running average, rather than a running total. +.It Fl \-current Pq Fl c +Don't show postings beyond the present day. +.It Fl \-exchange Ar commodity Pq Fl X +Render all values in the given +.Ar commodity , +if a price conversion rate can be determined. Rates are always displayed +relative to the date of the posting they are calculated for. This means a +.Nm register +report is a historical value report. For current values, it may be preferable +to use the +.Nm balance +report. +.It Fl \-gain Pq Fl G +Show any gains (or losses) in commodity values over time. +.It Fl \-head Ar number +Only show the top +.Ar number +postings. +.It Fl \-invert +Invert the value of amounts shown. +.It Fl \-market Pq Fl V +Show current market values for all amounts. This is determined in a somewhat +magical fashion. It is probably more straightforward to use +.Fl \-exchange Pq Fl X . +.It Fl \-period Ar time-period Pq Fl p +Show postings only for the given +.Ar time-period . +.It Fl \-related Pq Fl r +Show postings that are related to those that would have been shown. It has +the effect of displaying the +.Do +other side +.Dc +of the values. +.It Fl \-sort Ar value-expression Pq Fl S +Sort postings by evaluating the given +.Ar value-expression . +Note that a comma-separated list of expressions is allowed, in which case each +sorting term is used in order to determine the final ordering. For example, +to search by date and then amount, one would use: +.Li -S 'date, amount' . +.It Fl \-tail Ar number +Only show the last +.Ar number +postings. +.It Fl \-uncleared Pq Fl U +Only show uncleared (i.e., recent) postings. +.El +.Pp +There are also several grouping options that can be useful: +.Pp +.Bl -tag -compact -width "--collapse (-n)" +.It Fl \-by-payee Pq Fl P +Group postings by common payee names. +.It Fl \-daily Pq Fl D +Group postings by day. +.It Fl \-weekly Pq Fl W +Group postings by week (starting on Sundays). +.It Fl \-start-of-week Ar day-name +Set the start of each grouped way to the given +.Ar day-name . +.It Fl \-monthly Pq Fl M +Group postings by month. +.It Fl \-quarterly +Group postings by fiscal quarter. +.It Fl \-yearly Pq Fl Y +Group postings by year. +.It Fl \-dow +Group postings by the day of the week on which they took place. +.It Fl \-subtotal Pq Fl s +Group all postings together. This is very similar to the totals shown by the +.Nm balance +report. +.El +.Pp The synonyms .Nm reg and .Nm r are also accepted. -.It Nm reload -Used solely by the -.It Nm xact Oo Ar date Oc -The synonym -.Nm entry -is also accepted. -.Tn REPL , -and causes an immediate reloading of all journal files in the session. -.It Nm stats Oo Ar query Oc +.It Nm server +This command requires that Python support be active. If so, it starts up an +HTTP server listening for requests on port 9000. This provides an alternate +interface to creating and viewing reports. Note that this is very much a +work-in-progress, and will not be fully functional until a later version. +.It Nm stats Oo Ar report-query Oc +Provides summary information about all the postings matching +.Ar report-query . +It provides information such as: +.Bl -bullet -offset indent -compact +.It +Time range of all matching postings +.It +Unique payees +.It +Unique accounts +.It +Postings total +.It +Uncleared postings +.It +Days since last posting +.It +More... +.El +.It Nm xml Oo Ar report-query Oc +Outputs data relating to the current report in XML format. It includes all +accounts and commodities involved in the report, plus the postings and the +transactions they are contained in. See the manual for more information. .El .Pp .Sh OPTIONS @@ -349,6 +523,56 @@ for example: .It Nm xact .El .Pp +.Sh DRAFTS +.Pp +.Sh FORMATS +.Pp +.Sh DEBUG COMMANDS +In addition to the regular reporting commands, Ledger also accepts several +debug commands: +.Bl -tag -width balance +.It Nm args Oo Ar report-query Oc +Accepts a +.Ar report-query +as its argument and displays it back to the user along with a complete +analysis of how Ledger interpreted it. Useful if you want to understand how +report queries are translated into value expressions. +.It Nm eval Oo Ar value-expression Oc +Evaluates the given +.Ar value-expression +and prints the result. For more on value expressions, see the section +.Sx EXPRESSIONS . +.It Nm format Oo Ar format-string Oc +Accepts a +.Ar format-string +and displays an analysis of how it was parsed, and what it would look like +applied to a sample transaction. For more on format strings, see the section +.Sx FORMATS . +.It Nm generate +Generates 50 randomly composed yet valid Ledger transactions. +.It Nm parse Oo Ar value-expression Oc +Parses the given +.Ar value-expression +and display an analysis of the expression tree and its evaluated value. For +more on value expressions, see the section +.Sx EXPRESSIONS . +.It Nm python Oo Ar file Oc +Invokes a Python interpreter to read the given +.Ar file . +What is special about this is that the ledger module is builtin, not read from +disk, so it doesn't require Ledger to be installed anywhere, or the shared +library variants to be built. +.It Nm reload +Used only in the +.Tn REPL , +it causes an immediate reloading of all data files for the current session. +.It Nm template Oo Ar draft-template Oc +Accepts a +.Ar draft-template +and displays information about how it was parsed. See the section on +.Sx DRAFTS . +.El +.Pp .Sh SEE ALSO .Xr beancount 1, .Xr hledger 1 |