Skip to main content

fints2ledger

Build Status Coverage Status PyPI version

A tool for downloading transactions from FinTS banking APIs and sorting them into a ledger journal.

pyfints is used to download the transactions. A list of compatible banks can be found there. This tool was tested with ing-diba only.

Install

pip install fints2ledger

Create a config.yml file with the following contents and replace values in the fints category: (This file will also be atomatically created if missing)

fints:
  blz: "<your bank's BLZ>"
  account: "<your account number>"
  password: "<your banking password>"
  endpoint: <your bank fints endpoint> # e.g.: https://fints.ing-diba.de/fints/ for ING-Diba

ledger:
  prompts: 
    - credit_account
    - debit_account
  autocomplete:
    accounts:
      - credit_account
      - debit_account
  defaults:
    debit_account: assets:bank:checking
  md5:
    - date
    - payee
    - purpose
    - amount

Usage

Run

fints2ledger

This will download the transactions from the last year and tries to convert them to a ledger journal.

A list of available command line arguments:

usage: fints2ledger [-h] [--no-csv] [--no-ledger] [--csv-file CSVFILE]
                    [--ledger-file LEDGERFILE]

Converting transactions from fints apis to ledger.

optional arguments:
  -h, --help            show this help message and exit
  --no-csv              exclude conversion from fints to csv (default: not
                        excluded)
  --no-ledger           exclude conversion from csv to ledger (default: not
                        excluded)
  --csv-file CSVFILE    file to store/load csv transactions to/from (default:
                        transactions.csv)
  --ledger-file LEDGERFILE
                        file to store ledger entries to (default:
                        ledger.journal)
  --date START          start date to pull the FinTS entires from (fromat:
                        2017/12/31 or 17/12/31, default: last year)
  --separator SEPARATOR
                        character used as separator in csv file (default: ;)

Template File

A template file with the name template.txt will be automaticall generated. It will be user to create the ledger entries. It looks something like

{date} {payee} {posting} {purpose}
    ; md5sum: {md5sum}
    {debit_account:<60}    {currency} {debit}
    {credit_account:<60}    {currency} {credit}

Each name inside curly brackets can specify a value that can come from either a named csv column, a default value (from the config.yml) or an input prompt (also from the config.yml).

Converting from csv to ledger without requesting a FinTS API

With the argument --no-csv the program will not create a csv file with banking transactions itself (default ist fints -> csv -> ledger). Instead, it will convert directly from a csv file to ledger. This is useful when all transactions have already been downloaded or when converting from another source than FinTS to ledger.

The csv file must provide a headline which names the columns. The column names are then used to fill the values in the template file. Example:

date;amount;currency;payee;posting;purpose
2017/04/26;167.31;EUR;Billy, Bill;bonus;for vacation
2017/04/27;-130;EUR;John, Smith;debit entry;monthly electricity payment

Metadata

Release files for fints2ledger 0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fints2ledger 0.4
File Size Uploaded
fints2ledger-0.4.tar.gz 7.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fints2ledger 0.4
File Interpreter ABI Platform
fints2ledger-0.4-py3-none-any.whl Python 3 none any Details

Total release size: 16.9 kB

Release files / fints2ledger-0.4.tar.gz

Download URL fints2ledger-0.4.tar.gz
Size 7.1 kB
Tags Source
SHA-256 checksum
How to use checksums
869e10137679229a1120303f81e777163f473ca2d697a210aaea9632e6b74217
BLAKE2b-256 checksum
How to use checksums
079c012e8f69ad85a45fb66d26f9f69ff99dde14fbe2040bc62b8c67c0033f7c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / fints2ledger-0.4-py3-none-any.whl

Download URL fints2ledger-0.4-py3-none-any.whl
Size 9.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0b13f2f401ece9674ec1e961c6912d9426133308ee17a5ebd2c4cfd7942c2f86
BLAKE2b-256 checksum
How to use checksums
2cdcad7bda1e42357e38c3d89e8fefe3aeb071f2e90a439bd8605474e053383d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

This release

0.4 This release

2 release files

0.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page