44 lines
1.8 KiB
Markdown
44 lines
1.8 KiB
Markdown
import\
|
|
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
|
|
that would be added. Or with --catchup, just mark all of the FILEs'
|
|
transactions as imported, without actually importing any.
|
|
|
|
_FLAGS
|
|
|
|
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 journal, it's just:
|
|
`hledger import *.csv`
|
|
|
|
New transactions are detected in the same way as print --new:
|
|
by assuming transactions are always added to the input files in increasing date order,
|
|
and by saving `.latest.FILE` state files.
|
|
|
|
The --dry-run output is in journal format, so you can filter it, eg
|
|
to see only uncategorised transactions:
|
|
|
|
```shell
|
|
$ hledger import --dry ... | hledger -f- print unknown --ignore-assertions
|
|
```
|
|
|
|
### Importing balance assignments
|
|
|
|
Entries added by import will have their posting amounts made explicit (like `hledger print -x`).
|
|
This means that any [balance assignments](https://hledger.org/hledger.html#balance-assignments) in imported files must be evaluated;
|
|
but, imported files don't get to see the main file's account balances.
|
|
As a result, importing entries with balance assignments
|
|
(eg from an institution that provides only balances and not posting amounts)
|
|
will probably generate incorrect posting amounts.
|
|
To avoid this problem, use print instead of import:
|
|
|
|
```shell
|
|
$ hledger print IMPORTFILE [--new] >> $LEDGER_FILE
|
|
```
|
|
|
|
(If you think import should leave amounts implicit like print does,
|
|
please test it and send a pull request.)
|
|
|
|
### Commodity display styles
|
|
|
|
Imported amounts will be formatted according to the canonical [commodity styles](hledger.html#commodity-display-style)
|
|
(declared or inferred) in the main journal file. |