Description
This script allows to read PDF bank statements from the GLS Bank. Even so, the banks online manager supports exporting of CSV files, this works only for the past three month whereas PDF account statements are kept for at least two years.
So if, you forced to automatically analyse past bank transactions, this script will help you.
The tool also supports reading the CSV files (which include more information), so you can analyse them.
I also tested it with Banking records from the Triodos Bank and it works well. They both using the same banking system, so maybe also other "Volksbank" or "Raiffeisenbank" work as well. Write me an issue
I tested it with the following Banking records so far:
- GLS 2014-2020
- Triodos 2020
Dependencies
python >= 3.6pdftotext(part of poppler-utils)jupyter-notebook[Optional]
Installation
Variant One
Install using pip install bank-statement-reader
Advantage:
- Easy to install
Disadvantage:
- some features like the
booking/personal.pyfile depend on modifying the package the package source before installing, which won't work using this method
Variant Two
Clone the repro locally, create and activate a new virtual environment
and run pip install -e . within the project folder.
Usage
After installation, you have a new command statement2csv available.
usage: statement2csv [-h] [--out out.csv] statement.pdf [statement.pdf ...]
Convert banking statements (PDF & CSV) to an analysed standard csv form.
positional arguments:
statement.pdf files to open and convert
optional arguments:
-h, --help show this help message and exit
--out out.csv csv file to write the results to
If no filename is given, the file will be saved to
basename_first_file_%date_string%.csv.
%date_string% will be always replaced to 'YYYY-mm-dd_to_YYYY-mm-dd'
start date to end date
Another way to use the project is to use jupyter-notebook for fast analysing data.
See example.ipynb for an idea how to use it.
Data Protection Note
As bank statement data is highly sensitive, only very general rules for categorizing were pushed to this git.
Use src/bank_statement_reader/bookings/personal.py for customizations of categories and payees.
You only to create this file with a content like the following, and it will be used automatically.
from bank_statement_reader.booking.booking_base import BookingBase
class Booking(BookingBase):
def _set_payee(self, value: str):
"""your custom functions here"""
super()._set_payee(value)
def _get_category(self):
"""your custom stuff here"""
return super()._get_category()
Metadata
Release files for bank-statement-reader 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bank_statement_reader-0.1.2.tar.gz | 25.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bank_statement_reader-0.1.2-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 43.2 kB
Release files / bank_statement_reader-0.1.2.tar.gz
| Download URL | bank_statement_reader-0.1.2.tar.gz |
|---|---|
| Size | 25.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
792c58e200b97781d6d4fc19f784cf4f8ec24e68cbfcc8da9b30cd0422fa8f51
|
|
BLAKE2b-256 checksum How to use checksums |
08db31dd00f27657454f3c9cc06f1e9ff0c99e5bb88addb8fabdbcdb5ce0efe5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.6.12
|
Release files / bank_statement_reader-0.1.2-py2.py3-none-any.whl
| Download URL | bank_statement_reader-0.1.2-py2.py3-none-any.whl |
|---|---|
| Size | 17.5 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
bc83132569cf88ce2f5b58c940d626f97529c54792d421a76378157b83b14a03
|
|
BLAKE2b-256 checksum How to use checksums |
b14dd98b7d5ab378b973913d6d95c1236a1a96daef1190f6a1ece5e3d5a784ba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.6.12
|