;doc: update command docs
This commit is contained in:
parent
4f4426dc24
commit
a2a1124680
@ -1,6 +1,6 @@
|
|||||||
add
|
add
|
||||||
|
|
||||||
Record new transactions with interactive prompting in the console.
|
Add new transactions to a journal file, with interactive prompting.
|
||||||
|
|
||||||
Flags:
|
Flags:
|
||||||
--no-new-accounts don't allow creating new accounts
|
--no-new-accounts don't allow creating new accounts
|
||||||
@ -40,6 +40,8 @@ Notes:
|
|||||||
this symbol for you. It does not do this; we assume that if you are
|
this symbol for you. It does not do this; we assume that if you are
|
||||||
using a D directive you prefer not to see the commodity symbol
|
using a D directive you prefer not to see the commodity symbol
|
||||||
repeated on amounts in the journal.
|
repeated on amounts in the journal.
|
||||||
|
- add creates entries in journal format; it won't work with timeclock or
|
||||||
|
timedot files.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
|
|||||||
@ -50,7 +50,7 @@ matches uniquely.
|
|||||||
|
|
||||||
Transactions involving subaccounts of this account will also be shown.
|
Transactions involving subaccounts of this account will also be shown.
|
||||||
aregister ignores depth limits, so its final total will always match a
|
aregister ignores depth limits, so its final total will always match a
|
||||||
balance report with similar arguments.
|
historical balance report with similar arguments.
|
||||||
|
|
||||||
Any additional arguments form a query which will filter the transactions
|
Any additional arguments form a query which will filter the transactions
|
||||||
shown. Note some queries will disturb the running balance, causing it to
|
shown. Note some queries will disturb the running balance, causing it to
|
||||||
|
|||||||
@ -15,9 +15,6 @@ Use the -s/--speed SPEED option to set your preferred playback speed, eg
|
|||||||
-s4 to play at 4x original speed or -s.5 to play at half speed. The
|
-s4 to play at 4x original speed or -s.5 to play at half speed. The
|
||||||
default speed is 2x.
|
default speed is 2x.
|
||||||
|
|
||||||
Other asciinema options can be added following a double dash, eg -- -i.1
|
|
||||||
to limit pauses or -- -h to list asciinema's other options.
|
|
||||||
|
|
||||||
During playback, several keys are available: SPACE to pause/unpause, .
|
During playback, several keys are available: SPACE to pause/unpause, .
|
||||||
to step forward (while paused), CTRL-c quit.
|
to step forward (while paused), CTRL-c quit.
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,7 @@ $ hledger import bank1-checking.csv bank1-savings.csv
|
|||||||
|
|
||||||
$ hledger import *.csv
|
$ hledger import *.csv
|
||||||
|
|
||||||
Import preview
|
Import dry run
|
||||||
|
|
||||||
It's useful to preview the import by running first with --dry-run, to
|
It's useful to preview the import by running first with --dry-run, to
|
||||||
sanity check the range of dates being imported, and to check the effect
|
sanity check the range of dates being imported, and to check the effect
|
||||||
@ -40,7 +40,7 @@ $ hledger import --dry-run bank.csv | hledger -f- -I print unknown
|
|||||||
You could also run this repeatedly to see the effect of edits to your
|
You could also run this repeatedly to see the effect of edits to your
|
||||||
conversion rules:
|
conversion rules:
|
||||||
|
|
||||||
$ watchexec -- 'hledger import --dry-run bank.csv | hledger -f- -I print unknown'
|
$ watchexec -- "hledger import --dry-run bank.csv | hledger -f- -I print unknown"
|
||||||
|
|
||||||
Once the conversion and dates look good enough to import to your
|
Once the conversion and dates look good enough to import to your
|
||||||
journal, perhaps with some manual fixups to follow, you would do the
|
journal, perhaps with some manual fixups to follow, you would do the
|
||||||
@ -164,30 +164,53 @@ directives or inferred from the journal's amounts.
|
|||||||
|
|
||||||
Related: CSV > Amount decimal places.
|
Related: CSV > Amount decimal places.
|
||||||
|
|
||||||
|
Import archiving
|
||||||
|
|
||||||
|
When importing from a CSV rules file (hledger import bank.rules), you
|
||||||
|
can use the archive rule to enable automatic archiving of the data file.
|
||||||
|
After a successful import, the data file (specified by source) will be
|
||||||
|
moved to an archive folder (data/, next to the rules file,
|
||||||
|
auto-created), and renamed similar to the rules file, with a date. This
|
||||||
|
can be useful for troubleshooting, detecting variations in your banks'
|
||||||
|
CSV data, regenerating entries with improved rules, etc.
|
||||||
|
|
||||||
|
The archive rule also causes import to handle source glob patterns
|
||||||
|
differently: when there are multiple matched files, it will pick the
|
||||||
|
oldest, not the newest.
|
||||||
|
|
||||||
Import special cases
|
Import special cases
|
||||||
|
|
||||||
If you have a download whose file name varies, you could rename it to a
|
Deduplication
|
||||||
fixed name after each download. Or you could use a CSV source rule with
|
|
||||||
a suitable glob pattern, and import from the .rules file instead of the
|
|
||||||
data file.
|
|
||||||
|
|
||||||
Here's a situation where you would need to run import with care: say you
|
|
||||||
download bank.csv, but forget to import it or delete it. And next month
|
|
||||||
you download it again. This time your web browser may save it as
|
|
||||||
bank (2).csv. So now each of these may have data not included in the
|
|
||||||
other. And a source rule with a glob pattern would match only the most
|
|
||||||
recent file. So in this case you should import from each one in turn, in
|
|
||||||
the correct order, taking care to use the same filename each time:
|
|
||||||
|
|
||||||
$ hledger import bank.csv
|
|
||||||
$ mv 'bank (2).csv' bank.csv
|
|
||||||
$ hledger import bank.csv
|
|
||||||
|
|
||||||
Here are two kinds of "deduplication" which import does not handle (and
|
Here are two kinds of "deduplication" which import does not handle (and
|
||||||
generally should not, since these can happen legitimately in financial
|
should not, because these can happen legitimately in financial data):
|
||||||
data):
|
|
||||||
|
|
||||||
- Two or more of the new CSV records are identical, and generate
|
- Two or more of the new CSV records are identical, and generate
|
||||||
identical new journal entries.
|
identical new journal entries.
|
||||||
- A new CSV record generates a journal entry identical to one(s) already
|
- A new CSV record generates a journal entry identical to one(s) already
|
||||||
in the journal.
|
in the journal.
|
||||||
|
|
||||||
|
Varying file name
|
||||||
|
|
||||||
|
If you have a download whose file name varies, you could rename it to a
|
||||||
|
fixed name after each download. Or you could use a CSV source rule with
|
||||||
|
a suitable glob pattern, and import from the .rules file.
|
||||||
|
|
||||||
|
Multiple versions
|
||||||
|
|
||||||
|
Say you download bank.csv, import it, but forget to delete it from your
|
||||||
|
downloads folder. The next time you download it, your web browser will
|
||||||
|
save it as (eg) bank (2).csv. The source rule's glob patterns are for
|
||||||
|
just this situation: instead of specifying source bank.csv, specify
|
||||||
|
source bank*.csv. Then hledger -f bank.rules CMD or
|
||||||
|
hledger import bank.rules will automatically pick the newest matched
|
||||||
|
file (bank (2).csv).
|
||||||
|
|
||||||
|
Alternately, what if you download, but forget to import or delete, then
|
||||||
|
download again ? Now each of bank.csv and bank (2).csv might contain
|
||||||
|
data that's not in the other, and not in your journal. In this case,
|
||||||
|
it's best to import each of them in turn, oldest first (otherwise,
|
||||||
|
overlap detection could cause new records to be skipped). Enabling
|
||||||
|
import archiving ensures this. Then
|
||||||
|
hledger import bank.rules; hledger import bank.rules will import and
|
||||||
|
archive first bank.csv, then bank (2).csv.
|
||||||
|
|||||||
@ -38,10 +38,10 @@ spaces between account and amount.
|
|||||||
|
|
||||||
More:
|
More:
|
||||||
|
|
||||||
$ 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 with
|
Argument for --add-posting option is a usual posting of transaction with
|
||||||
an exception for amount specification. More precisely, you can use '*'
|
an exception for amount specification. More precisely, you can use '*'
|
||||||
@ -71,12 +71,12 @@ 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.
|
||||||
|
|
||||||
$ 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:
|
||||||
|
|
||||||
$ 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
|
||||||
|
|
||||||
@ -89,7 +89,7 @@ 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.
|
||||||
|
|
||||||
$ 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:
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user