OFXStatement plugin for dutch financial institutions like DEGIRO, ICSCards, ING, KNAB and ASN.
Project description
ofxstatement-dutch
This project provides custom ofxstatement plugins for these dutch financial institutions:
- DEGIRO trader platform, The Netherlands, CSV (https://www.degiro.nl/)
- ICSCards, The Netherlands, PDF (https://icscards.nl/)
- ING Bank, The Netherlands, CSV (https://www.ing.nl/)
- KNAB Online Bank, The Netherlands, CSV (https://www.knab.nl/)
- ASN Bank, The Netherlands, CSV (https://www.asnbank.nl/)
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 using Miniconda (minimal conda)
This is a quick start guide meant for users on a Windows 10 platform.
These are the steps:
1. Install Miniconda for Python 3.x
2. Start the Anaconda prompt
Type Anaconda in the search box next to the Windows Start icon in the bottom left of your screen and click the Anaconda Prompt (Miniconda3). A command line box will open now with (base) as the prompt.
3. Create an ofxstatement environment
In the command line box type "conda create -n ofxstatement":
(base) conda create -n ofxstatement
Please note that (base) is the command prompt, not a command to type.
4. Switch to the ofxstatement environment and show the installed packages (should be empty the first time)
(base) activate ofxstatement
(ofxstatement) conda list
5. Install Python in this environment
(ofxstatement) conda install python
6. Verify the location of pip
(ofxstatement) where pip
This should show something like C:\Users%USERNAME%\Miniconda3\envs\ofxstatement\Scripts\pip.exe
7. Install ofxstatement-dutch
(ofxstatement) pip install ofxstatement-dutch
8. (optional) Install the Poppler library
Only if you need to read PDF files (ICSCards for example):
(ofxstatement) conda install -c conda-forge poppler
9. Test the installation
Now a small test to see everything works if you have a KNAB CSV file:
(ofxstatement) ofxstatement convert -t nl-knab "<CSV file>" -
The dash (-) at the end of the command ensures that the OFX output will be sent to the terminal and not to a file. The double quotes are needed for files with spaces in its name like "Knab transactieoverzicht spaarrekening XXXXXXXX - 2020-01-01 - 2020-05-01.csv".
10. Launching ofxstatement
Please remember to always start the Anaconda prompt and to activate the ofxstatement environment first before launching ofxstatement itself, since it is only installed in that Conda environment.
You may create a shortcut to combine both. The target of your shortcut should be something like:
C:\Windows\System32\cmd.exe /k C:\Users\%USERNAME%\Miniconda3\condabin\activate.bat ofxstatement
Please continue with the "Usage" section below.
Installation
This section is meant for people who do not want to follow the "Installation using Miniconda (minimal conda)" section above.
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/)
nl-asn ASN Bank, The Netherlands, CSV (https://www.asnbank.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
ASN bank
Use something like this:
$ ofxstatement convert -t nl-asn <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.6.0] - 2024-03-16
[1.5.0] - 2024-02-18
Fixed
- Memo for deposit in deGIRO CSV has changed from "iDEAL storting" to "iDEAL Deposit".
- Issues with release ?
[1.4.1] - 2022-07-19
Added
- Added "SHELL = cmd" to Makefile for Windows
Changed
- Transaction date is now 'Journaaldatum' and not 'Boekingsdatum' for ASN CSV.
- Enhanced documentation for ASN CSV.
- The transaction id for ASN CSV is now <'Journaaldatum' in yyyymmdd format>.<'Volgnummer transactie'>
[1.4.0] - 2022-07-19
Added
- Reading CSV of the ASN Bank
[1.3.3] - 2022-01-05
Changed
- Build and test behaviour reviewed
[1.3.2] - 2020-08-02
Removed
- Dependency of pdftotext.
[1.3.1] - 2020-08-01
Changed
- Layout of the README improved.
- Contents of this CHANGELOG for version 1.3.0.
[1.3.0] - 2020-08-01
Added:
- Added ability to parse ING balance statements.
Changed
- Improved installation guide using Miniconda3
- Improved code quality by using pycodestyle and Python typing module
[1.2.1] - 2020-05-01
Changed
- Fixed bug for KNAB converter when counterparty is empty (for interest for example)
[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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ofxstatement-dutch-1.6.0.tar.gz
.
File metadata
- Download URL: ofxstatement-dutch-1.6.0.tar.gz
- Upload date:
- Size: 25.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9dcd79cad1d0f5b0aa9c9784a764517f4cd3af69b37ee6c765bdb150487bb1c0 |
|
MD5 | 8f8444a83d91b63d62590726e48b4151 |
|
BLAKE2b-256 | 44f1006f482d781265bc505d84813c06241b3958efdc8f2dae84f7710b48d1b0 |
File details
Details for the file ofxstatement_dutch-1.6.0-py3-none-any.whl
.
File metadata
- Download URL: ofxstatement_dutch-1.6.0-py3-none-any.whl
- Upload date:
- Size: 24.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | edcd37d5f6c0512a332f22049d3da3dacb54d21d9e713de435a6cebae58e2efd |
|
MD5 | ec0531f6b57a769763767364fed0718c |
|
BLAKE2b-256 | 3d5548dd5f563d4b140789e76b602d4d7211783aa9234c7873ec57b36aad9086 |