Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/deepakg/beancount-abnamro
Beancount importer for ABN AMRO's plain text (.TAB) statement exports.
https://github.com/deepakg/beancount-abnamro
Last synced: about 1 month ago
JSON representation
Beancount importer for ABN AMRO's plain text (.TAB) statement exports.
- Host: GitHub
- URL: https://github.com/deepakg/beancount-abnamro
- Owner: deepakg
- Created: 2024-01-21T16:28:19.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-01-21T17:48:52.000Z (11 months ago)
- Last Synced: 2024-01-24T09:10:56.110Z (11 months ago)
- Language: Python
- Size: 5.86 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
- awesome-beancount - ABN AMRO Bank
README
## Synopsis
ABN AMRO Bank in the Netherlands lets you export your bank statements to plain text (.TAB) files. This importer (beancount-abnamro) helps you convert them to beancount transactions that you can append to your ledger.## Installation
This module isn't available on PyPI yet so you'll have to install in manually. A sample statement and configuration file is included in the repository.## Usage
Assuming you already have beancount installed and have configured it to use this importer, you should be able to run bean-extract.```
bean-extract config.py TXT231209180908.TAB
```(Don't forget to change `TXT231209180908.TAB` to the filename of the statement you are trying to import)
## Miscellany
Under the lib/ folder of this repository, you'll find a file called `vendor_map.py`. This file contains a dictionary that maps the name of the vendor to the account. You'll very likely want to edit this file to use your own expense accounts and modify vendor names.`vendor_map.py`
```
vendor_map = {
"KLM": "Expenses:Travel:Transport",
"Spotify AB by Adyen": "Expenses:Subscriptions:Spotify",
"Tokyo Ramen Iki": "Expenses:Eatout",
}
```You could also leave the dictionary bank if you prefer to balance your books by hand. I personally prefer to map the most common transactions automatically and then use [fava](https://beancount.github.io/fava/) to look deeper.
You'll also see a file called bank_utils.py. It tries to parse transaction descriptions that ABN AMRO uses to a sensible, beancount friendly payee and narration. Each year I come across certain transaction descriptions (let's say around 1 in 1000) that defy all existing parsing logic. You can customize the `unparsable_name` and `unparsable_description` methods to handle those. By default these methods simply return whatever you pass to them.