Skip to main content
Help us improve Python packaging – donate today!

Convert bank statements to Ledger

Project Description

# ToLedger
ToLedger originated as a personal project to convert my bank statements
to the open source [ledger](http://ledger-cli.org/) format. I have made
some changes to make it more generally applicable, allowing for other
banks to be added.

Currently this library is only known to work with the export files of
ING Bank (NL) and Bitstamp, but extending it for similar CSV exports
should be trivial.

```
Usage:
toledger.py <format> [options]
toledger.py <format> [options] <input>
toledger.py <format> [options] <input> <output>
toledger.py (-h | --help)

Options:
-a --append Append to the output file if it exists.
-b --balance Get the initial balance (if possible)
--from=<from> Account to get balances from.
--to=<to> Account to send transactions to.
--name=<name> Account name.
--hash Save a hash of the transaction for duplicate removal
-c --code Use the currency code, e.g. EUR
-s --symbol Use the currency symbol, e.g. €
-h --help Show the usage guidelines.
```

## Installation
Apart from downloading this repository, you can install the latest
release with ``pip install toledger``

## Contributing
If you wish to contribute to this project, here's a feature wishlist:

+ Add different formats for different banks
(see toledger/bankstatements.py)
+ Interactive mode, manually adding and changing transaction details
+ Smart transaction labeling, based on specification files or existing
Ledger files
+ Checking the output file for duplicates
+ Convert to using a Ledger library for Python, instead of writing
directly to files (better and more output formatting options)
+ Save the meta information in the output file
+ Python 2 compatibility
+ Unit tests
+ Any other suggestions are also welcome, especially if they improve
extensibility and compatibility

There are also some design conventions:

+ [PEP 8](https://www.python.org/dev/peps/pep-0008/) (within reason)
+ All options should be reachable from the command line, using
[docopt](http://docopt.org)
+ [stdin and stdout compatibility](https://docs.python.org/3/library/sys.html#sys.stdin)
+ Error handling with
[built-in exceptions](https://docs.python.org/3.6/library/exceptions.html)
(with custom messages)

Release history Release notifications

This version
History Node

2017.4.21

History Node

1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
ToLedger-2017.4.21.zip (8.2 kB) Copy SHA256 hash SHA256 Source None Apr 21, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page