ofxstatement-dutch


Nameofxstatement-dutch JSON
Version 1.6.0 PyPI version JSON
download
home_pagehttps://github.com/gpaulissen/ofxstatement-dutch
SummaryOFXStatement plugin for dutch financial institutions like DEGIRO, ICSCards, ING, KNAB and ASN.
upload_time2024-03-16 12:38:31
maintainer
docs_urlNone
authorGert-Jan Paulissen
requires_python
licenseGPLv3
keywords ofx banking statement beancount degiro ing icscards knab
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ofxstatement-dutch 

This project provides custom
[ofxstatement](https://github.com/kedder/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](https://pypi.org/project/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](https://docs.conda.io/en/latest/miniconda.html)

### 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":
```bash
(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)

```bash
(base) activate ofxstatement
(ofxstatement) conda list
```

### 5. Install Python in this environment

```bash
(ofxstatement) conda install python
```

### 6. Verify the location of pip

```bash
(ofxstatement) where pip
```
This should show something like C:\Users\%USERNAME%\Miniconda3\envs\ofxstatement\Scripts\pip.exe

### 7. Install ofxstatement-dutch

```bash
(ofxstatement) pip install ofxstatement-dutch
```

### 8. (optional) Install the Poppler library

Only if you need to read PDF files (ICSCards for example):
```bash
(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:

```bash
(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](https://pypi.org/project/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](https://github.com/kedder/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](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [1.6.0] - 2024-03-16

- [When there are no money transactions there should be no error message about start/end date/balance.](https://github.com/gpaulissen/ofxstatement-dutch/issues/6)

## [1.5.0] - 2024-02-18

### Fixed

- [Memo for deposit in deGIRO CSV has changed from "iDEAL storting" to "iDEAL Deposit".](https://github.com/gpaulissen/ofxstatement-dutch/issues/5)
- [Issues with release ?](https://github.com/gpaulissen/ofxstatement-dutch/issues/1)

## [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/)


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/gpaulissen/ofxstatement-dutch",
    "name": "ofxstatement-dutch",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "ofx,banking,statement,beancount,degiro,ing,icscards,knab",
    "author": "Gert-Jan Paulissen",
    "author_email": "gert.jan.paulissen@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/44/f1/006f482d781265bc505d84813c06241b3958efdc8f2dae84f7710b48d1b0/ofxstatement-dutch-1.6.0.tar.gz",
    "platform": null,
    "description": "# ofxstatement-dutch \n\nThis project provides custom\n[ofxstatement](https://github.com/kedder/ofxstatement) plugins for these dutch\nfinancial institutions:\n- DEGIRO trader platform, The Netherlands, CSV (https://www.degiro.nl/)\n- ICSCards, The Netherlands, PDF (https://icscards.nl/)\n- ING Bank, The Netherlands, CSV (https://www.ing.nl/)\n- KNAB Online Bank, The Netherlands, CSV (https://www.knab.nl/)\n- ASN Bank, The Netherlands, CSV (https://www.asnbank.nl/)\n\n`ofxstatement` is a tool to convert a proprietary bank statement to OFX\nformat, suitable for importing into programs like GnuCash or Beancount. The\nplugin for ofxstatement parses the bank statement and produces a common data\nstructure, that is then formatted into an OFX file.\n\nThe PDF is converted using the\n[pdftotext](https://pypi.org/project/pdftotext/) utility.\n\n## Installation using Miniconda (minimal conda)\n\nThis is a quick start guide meant for users on a Windows 10 platform.\n\nThese are the steps:\n\n### 1. Install [Miniconda for Python 3.x](https://docs.conda.io/en/latest/miniconda.html)\n\n### 2. Start the Anaconda prompt\n\nType Anaconda in the search box next to the Windows Start icon in the bottom left of your screen and click the Anaconda Prompt (Miniconda3).\nA command line box will open now with (base) as the prompt.\n\n### 3. Create an ofxstatement environment\n\nIn the command line box type \"conda create -n ofxstatement\":\n```bash\n(base) conda create -n ofxstatement\n```\nPlease note that (base) is the command prompt, not a command to type.\n\n### 4. Switch to the ofxstatement environment and show the installed packages (should be empty the first time)\n\n```bash\n(base) activate ofxstatement\n(ofxstatement) conda list\n```\n\n### 5. Install Python in this environment\n\n```bash\n(ofxstatement) conda install python\n```\n\n### 6. Verify the location of pip\n\n```bash\n(ofxstatement) where pip\n```\nThis should show something like C:\\Users\\%USERNAME%\\Miniconda3\\envs\\ofxstatement\\Scripts\\pip.exe\n\n### 7. Install ofxstatement-dutch\n\n```bash\n(ofxstatement) pip install ofxstatement-dutch\n```\n\n### 8. (optional) Install the Poppler library\n\nOnly if you need to read PDF files (ICSCards for example):\n```bash\n(ofxstatement) conda install -c conda-forge poppler\n```\n\n### 9. Test the installation\n\nNow a small test to see everything works if you have a KNAB CSV file:\n\n```bash\n(ofxstatement) ofxstatement convert -t nl-knab \"<CSV file>\" -\n```\n\nThe dash (-) at the end of the command ensures that the OFX output will be\nsent to the terminal and not to a file.  The double quotes are needed for\nfiles with spaces in its name like\n\"Knab transactieoverzicht spaarrekening XXXXXXXX - 2020-01-01 - 2020-05-01.csv\".\n\n### 10. Launching ofxstatement\n\nPlease remember to always start the Anaconda prompt and to activate the\nofxstatement environment first before launching ofxstatement itself, since it\nis only installed in that Conda environment.\n\nYou may create a shortcut to combine both. The target of your shortcut should be something like:\n```\nC:\\Windows\\System32\\cmd.exe /k C:\\Users\\%USERNAME%\\Miniconda3\\condabin\\activate.bat ofxstatement\n```\n\nPlease continue with the \"Usage\" section below.\n\n## Installation\n\nThis section is meant for people who do not want to follow the \"Installation\nusing Miniconda (minimal conda)\" section above.\n\n### Preconditions\n\nFor converting PDFs you have to install the poppler library first, see\n[pdftotext](https://pypi.org/project/pdftotext/).\n\n### Using pip\n\n```\n$ pip install ofxstatement-dutch\n```\n\n### Development version from source\n\n```\n$ git clone https://github.com/gpaulissen/ofxstatement-dutch.git\n$ pip install -e .\n```\n\n### Troubleshooting\n\nThis package depends on ofxstatement with a version at least 0.6.5. This\nversion may not yet be available in PyPI so install that from source like\nthis:\n```\n$ git clone https://github.com/gpaulissen/ofxstatement.git\n$ pip install -e .\n```\n\n## Test\n\nTo run the tests from the development version you can use the py.test command:\n\n```\n$ py.test\n```\n\nYou may need to install the required test packages first:\n\n```\n$ pip install -r test_requirements.txt\n```\n\n## Usage\n\n### Show installed plugins\n\nThis shows the all installed plugins, not only those from this package:\n\n```\n$ ofxstatement list-plugins\n```\n\nYou should see at least:\n\n```\nThe following plugins are available:\n\n  ...\n  nl-degiro        DEGIRO trader platform, The Netherlands, CSV (https://www.degiro.nl/)\n  nl-icscards      ICSCards, The Netherlands, PDF (https://icscards.nl/)\n  nl-ing           ING Bank, The Netherlands, CSV (https://www.ing.nl/)\n  nl-knab          KNAB Online Bank, The Netherlands, CSV (https://www.knab.nl/)\n  nl-asn           ASN Bank, The Netherlands, CSV (https://www.asnbank.nl/)\n  ...\n\n```\n\n### Convert\n\n#### DEGIRO trader platform\n\nThe DEGIRO files do not only contain money statements but also the whole\nsecurity transaction history. This tool just emits the money statements coming\nfrom or going to your associated (other) bank account. To be more specific the\ndeposits (description like \"Storting\" or \"iDEAL storting\") and transfers\n(\"Terugstorting\"). Maybe in the future the security transaction will be\nemitted too, but currently\n[ofxstatement](https://github.com/kedder/ofxstatement) only processes money\ninformation.\n\nSee also the section configuration below.\n\nUse something like this:\n\n```\n$ ofxstatement convert -t <configuration name> <file>.csv <file>.ofx\n```\n\n#### ICSCards\n\nUse something like this:\n```\n$ ofxstatement convert -t nl-icscards <file>.pdf <file>.ofx\n```\n\nOr you can convert the PDF yourself and supply the text as input:\n\n```\n$ pdftotext -layout <file>.pdf <file>.txt\n$ ofxstatement convert -t nl-icscards <file>.txt <file>.ofx\n```\n\n#### ING bank\n\nUse something like this:\n\n```\n$ ofxstatement convert -t nl-ing <file>.csv <file>.ofx\n```\n\n#### KNAB Online Bank\n\nUse something like this:\n\n```\n$ ofxstatement convert -t nl-knab <file>.csv <file>.ofx\n```\n\n#### ASN bank\n\nUse something like this:\n\n```\n$ ofxstatement convert -t nl-asn <file>.csv <file>.ofx\n```\n\n### Configuration\n\nFor DEGIRO you need to set an account id, since the statement files do not\ncontain account information.\n\n```\n$ ofxstatement edit-config\n```\n\nThis is a sample configuration (do not forget to specify the plugin for each section):\n\n```\n[degiro:account1]\nplugin = nl-degiro\naccount_id = account1\n\n[degiro:account2]\nplugin = nl-degiro\naccount_id = account2\n\n```\n\n## Change history\n\nSee the Changelog (CHANGELOG.md).\n# Changelog\n\nAll notable changes to this project will be documented in this file.\n\nThe format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),\nand this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).\n\n## [Unreleased]\n\n## [1.6.0] - 2024-03-16\n\n- [When there are no money transactions there should be no error message about start/end date/balance.](https://github.com/gpaulissen/ofxstatement-dutch/issues/6)\n\n## [1.5.0] - 2024-02-18\n\n### Fixed\n\n- [Memo for deposit in deGIRO CSV has changed from \"iDEAL storting\" to \"iDEAL Deposit\".](https://github.com/gpaulissen/ofxstatement-dutch/issues/5)\n- [Issues with release ?](https://github.com/gpaulissen/ofxstatement-dutch/issues/1)\n\n## [1.4.1] - 2022-07-19\n\n### Added\n\n- Added \"SHELL = cmd\" to Makefile for Windows\n\n### Changed\n\n- Transaction date is now 'Journaaldatum' and not 'Boekingsdatum' for ASN CSV.\n- Enhanced documentation for ASN CSV.\n- The transaction id for ASN CSV is now <'Journaaldatum' in yyyymmdd format>.<'Volgnummer transactie'>\n\n## [1.4.0] - 2022-07-19\n\n### Added\n\n- Reading CSV of the ASN Bank\n\n## [1.3.3] - 2022-01-05\n\n### Changed\n\n- Build and test behaviour reviewed\n\n## [1.3.2] - 2020-08-02\n\n### Removed\n\n- Dependency of pdftotext.\n\n## [1.3.1] - 2020-08-01\n\n### Changed\n\n- Layout of the README improved.\n- Contents of this CHANGELOG for version 1.3.0.\n\n## [1.3.0] - 2020-08-01\n\n### Added:\n\n- Added ability to parse ING balance statements.\n\n### Changed\n\n- Improved installation guide using Miniconda3\n- Improved code quality by using pycodestyle and Python typing module\n\n## [1.2.1] - 2020-05-01\n\n### Changed\n\n- Fixed bug for KNAB converter when counterparty is empty (for\n  interest for example)\n\n## [1.2.0] - 2020-03-30\n\n### Added\n\n- Added converter for:\n  * KNAB Online Bank, The Netherlands, CSV (https://www.knab.nl/).\n\n### Changed\n\n- Enhanced header handling for ING and DEGIRO.\n- Enhanced documentation.\n\n## [1.1.0] - 2020-03-26\n\n### Added\n\n- Added converter for:\n  * DEGIRO trader platform, The Netherlands, CSV (https://www.degiro.nl/).\n- Added reference to the Changelog in the Readme.\n- The Readme mentions test_requirements.txt for installing test modules.\n- More checks concerning the content (dates with start and end\ndate exclusive) that may result in a ValidationError exception.\n- Added Makefile for keeping the important operations together.\n\n### Changed\n\n- The generation af a unique OFX id did only return a counter in\ncase of duplicates.\n- The Readme mentions now my fork of the ofxstatement instead of\nhttps://github.com/kedder/ofxstatement.git.\n- The __about__.py file outputs the version number and that is\nused in the Makefile.\n- The Makefile depends now on GNU make for tagging a release.\n- MANIFEST.in now includes the Makefile and CHANGELOG.md.\n- Code refactoring.\n- Changed bank id (BIC) for ING from INGBNL2AXXX to INGBNL2A.\n\n## [1.0.1] - 2020-03-16\n\n### Changed\n\n- Added poppler library to the instructions.\n- Readme enhanced.\n\n## [1.0.0] - 2020-03-15\n\n### Added\n\n- First version to convert:\n  * ICSCards, The Netherlands, PDF (https://icscards.nl/)\n  * ING bank, The Netherlands, CSV (https://www.ing.nl/)\n\n",
    "bugtrack_url": null,
    "license": "GPLv3",
    "summary": "OFXStatement plugin for dutch financial institutions like DEGIRO, ICSCards, ING, KNAB and ASN.",
    "version": "1.6.0",
    "project_urls": {
        "Homepage": "https://github.com/gpaulissen/ofxstatement-dutch"
    },
    "split_keywords": [
        "ofx",
        "banking",
        "statement",
        "beancount",
        "degiro",
        "ing",
        "icscards",
        "knab"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3d5548dd5f563d4b140789e76b602d4d7211783aa9234c7873ec57b36aad9086",
                "md5": "ec0531f6b57a769763767364fed0718c",
                "sha256": "edcd37d5f6c0512a332f22049d3da3dacb54d21d9e713de435a6cebae58e2efd"
            },
            "downloads": -1,
            "filename": "ofxstatement_dutch-1.6.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ec0531f6b57a769763767364fed0718c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 24408,
            "upload_time": "2024-03-16T12:38:29",
            "upload_time_iso_8601": "2024-03-16T12:38:29.730633Z",
            "url": "https://files.pythonhosted.org/packages/3d/55/48dd5f563d4b140789e76b602d4d7211783aa9234c7873ec57b36aad9086/ofxstatement_dutch-1.6.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "44f1006f482d781265bc505d84813c06241b3958efdc8f2dae84f7710b48d1b0",
                "md5": "8f8444a83d91b63d62590726e48b4151",
                "sha256": "9dcd79cad1d0f5b0aa9c9784a764517f4cd3af69b37ee6c765bdb150487bb1c0"
            },
            "downloads": -1,
            "filename": "ofxstatement-dutch-1.6.0.tar.gz",
            "has_sig": false,
            "md5_digest": "8f8444a83d91b63d62590726e48b4151",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 25736,
            "upload_time": "2024-03-16T12:38:31",
            "upload_time_iso_8601": "2024-03-16T12:38:31.750412Z",
            "url": "https://files.pythonhosted.org/packages/44/f1/006f482d781265bc505d84813c06241b3958efdc8f2dae84f7710b48d1b0/ofxstatement-dutch-1.6.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-16 12:38:31",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "gpaulissen",
    "github_project": "ofxstatement-dutch",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "test_requirements": [],
    "tox": true,
    "lcname": "ofxstatement-dutch"
}
        
Elapsed time: 0.20407s