src/toldg | ||
.gitignore | ||
.pre-commit-config.yaml | ||
LICENSE | ||
poetry.lock | ||
pyproject.toml | ||
README.md |
ledgerai
Script to transform CSV files into beancount accounting files.
Usage
To transform CSV data into Beancount first install the package via
poetry install
.
You can then run toldg
from the directory where your configuration
file and your ledger data is located.
poetry -P ledgerai run toldg
To visualize the data with fava, enable the venv and run fava
from there.
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.