# ledgerai Script to transform CSV files into [beancount](https://beancount.github.io/docs/beancount_language_syntax.html) 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. ```bash poetry -P ledgerai run toldg ``` To visualize the data with [fava](https://beancount.github.io/fava/), enable the venv and run `fava` from there. ```bash 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*.