Skip to main content

OFXStatement plugin for dutch financial institutions like DEGIRO, ICSCards, ING and KNAB.

Project description

ofxstatement-dutch

This project provides custom ofxstatement plugins for these dutch financial institutions:

ofxstatement is a tool to convert a proprietary bank statement to OFX format, suitable for importing into programs like GnuCash or Beancount. The plugin for ofxstatement parses the bank statement and produces a common data structure, that is then formatted into an OFX file.

The PDF is converted using the pdftotext utility.

Installation

Preconditions

For converting PDFs you have to install the poppler library first, see pdftotext.

Using pip

$ pip install ofxstatement-dutch

Development version from source

$ git clone https://github.com/gpaulissen/ofxstatement-dutch.git
$ pip install -e .

Troubleshooting

This package depends on ofxstatement with a version at least 0.6.5. This version may not yet be available in PyPI so install that from source like this:

$ git clone https://github.com/gpaulissen/ofxstatement.git
$ pip install -e .

Test

To run the tests from the development version you can use the py.test command:

$ py.test

You may need to install the required test packages first:

$ pip install -r test_requirements.txt

Usage

Show installed plugins

This shows the all installed plugins, not only those from this package:

$ ofxstatement list-plugins

You should see at least:

The following plugins are available:

  ...
  nl-degiro        DEGIRO trader platform, The Netherlands, CSV (https://www.degiro.nl/)
  nl-icscards      ICSCards, The Netherlands, PDF (https://icscards.nl/)
  nl-ing           ING Bank, The Netherlands, CSV (https://www.ing.nl/)
  nl-knab          KNAB Online Bank, The Netherlands, CSV (https://www.knab.nl/)
  ...

Convert

DEGIRO trader platform

The DEGIRO files do not only contain money statements but also the whole security transaction history. This tool just emits the money statements coming from or going to your associated (other) bank account. To be more specific the deposits (description like "Storting" or "iDEAL storting") and transfers ("Terugstorting"). Maybe in the future the security transaction will be emitted too, but currently ofxstatement only processes money information.

See also the section configuration below.

Use something like this:

$ ofxstatement convert -t <configuration name> <file>.csv <file>.ofx

ICSCards

Use something like this:

$ ofxstatement convert -t nl-icscards <file>.pdf <file>.ofx

Or you can convert the PDF yourself and supply the text as input:

$ pdftotext -layout <file>.pdf <file>.txt
$ ofxstatement convert -t nl-icscards <file>.txt <file>.ofx

ING bank

Use something like this:

$ ofxstatement convert -t nl-ing <file>.csv <file>.ofx

KNAB Online Bank

Use something like this:

$ ofxstatement convert -t nl-knab <file>.csv <file>.ofx

Configuration

For DEGIRO you need to set an account id, since the statement files do not contain account information.

$ ofxstatement edit-config

This is a sample configuration (do not forget to specify the plugin for each section):

[degiro:account1]
plugin = nl-degiro
account_id = account1

[degiro:account2]
plugin = nl-degiro
account_id = account2

Change history

See the Changelog (CHANGELOG.md).

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

[1.2.0] - 2020-03-30

Added

- Added converter for:
	* KNAB Online Bank, The Netherlands, CSV (https://www.knab.nl/).

Changed

- Enhanced header handling for ING and DEGIRO.
- Enhanced documentation.

[1.1.0] - 2020-03-26

Added

- Added converter for:
	* DEGIRO trader platform, The Netherlands, CSV (https://www.degiro.nl/).
- Added reference to the Changelog in the Readme.
- The Readme mentions test_requirements.txt for installing test modules.
- More checks concerning the content (dates with start and end
date exclusive) that may result in a ValidationError exception.
- Added Makefile for keeping the important operations together.

Changed

- The generation af a unique OFX id did only return a counter in
case of duplicates.
- The Readme mentions now my fork of the ofxstatement instead of
https://github.com/kedder/ofxstatement.git.
- The __about__.py file outputs the version number and that is
used in the Makefile.
- The Makefile depends now on GNU make for tagging a release.
- MANIFEST.in now includes the Makefile and CHANGELOG.md.
- Code refactoring.
- Changed bank id (BIC) for ING from INGBNL2AXXX to INGBNL2A.

[1.0.1] - 2020-03-16

Changed

- Added poppler library to the instructions.
- Readme enhanced.

[1.0.0] - 2020-03-15

Added

- First version to convert:
	* ICSCards, The Netherlands, PDF (https://icscards.nl/)
	* ING bank, The Netherlands, CSV (https://www.ing.nl/)

Project details


Download files

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

Files for ofxstatement-dutch, version 1.2.0
Filename, size File type Python version Upload date Hashes
Filename, size ofxstatement_dutch-1.2.0-py3-none-any.whl (17.5 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size ofxstatement-dutch-1.2.0.tar.gz (14.9 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page