ledgerai
Script to transform CSV files into beancount accounting files.
Usage
To transform CSV data into Beancount run toldg via python-poetry.
poetry -P ${LEDGER_DATA_ROOT} run toldg
To visualize the data with fava install all
dependencies via python-poetry, enable the venv and run fava from there.
poetry install
eval "$(poetry env activate)"
fava your_ledger.beancount
Architecture
The script takes a directory in which it recursively searches for CSV and LDG files. From these files, it generates a single ledger accounting file that includes all transactions.
Ledger files are appended to the output file without modifications.
However, the transaction for the CSV files are extended with their account2 information, i.e, the category of the transaction. Optionally, these transactions can also get a more meaningful description and tags.
The mapping information are stored in a file mappings.json. It maps a unique
identifier for each transaction (based on the filename and full CSV row) to a
respective account2.