Skip to main content

BankStatementParser is your essential tool for easy bank statement management.

Project description

Logo of Bank Statement Parser

Bank Statement Parser: Automate Your Bank Statement Processing

Bank Statement Parser banner

The Bank Statement Parser is a Python library built for Finance and Treasury Professionals

PyPI PyPI Downloads License Codecov

Overview

The Bank Statement Parser is an essential Python library for financial data management. Developed for the busy finance and treasury professional, it simplifies the task of parsing bank statements.

This tool simplifies the process of analysing CAMT and SEPA transaction files. Its streamlined design removes cumbersome manual data review and provides you with a concise, accurate report to facilitate further analysis.

Bank Statement Parser helps you save time by quickly and accurately processing data, allowing you to focus on your financial insights and decisions. Its reliable precision is powered by Python, making it the smarter, more efficient way to manage bank statements.

Key Features

  • Versatile Parsing: Easily handle formats like CAMT (ISO 20022) and beyond.
  • Financial Insights: Unlock detailed analysis with powerful calculation utilities.
  • Simple CLI: Automate and integrate with a straightforward command-line interface.

Why Choose the Bank Statement Parser

  • Designed for Finance: Tailored features for the finance sector's needs.
  • Efficiency at Heart: Transform complex data tasks into simple ones.
  • Community First: Built and enhanced by experts, for experts.

Functionality

  • CamtParser: Parse CAMT format files with ease.
  • Pain001Parser: Handle SEPA PAIN.001 files effortlessly.

Installation

Create a Virtual Environment

We recommend creating a virtual environment to install the Bank Statement Parser. This will ensure that the package is installed in an isolated environment and will not affect other projects.

python3 -m venv venv
source venv/bin/activate  # On Windows use `venv\Scripts\activate`

Getting Started

Install bankstatementparser with just one command:

pip install bankstatementparser

Usage

CAMT Files

from bankstatementparser import CamtParser

# Initialize the parser with the CAMT file path
camt_parser = CamtParser('path/to/camt/file.xml')

# Parse the file and get the results
results = camt_parser.parse()

PAIN.001 Files

from bankstatementparser import Pain001Parser

# Initialize the parser with the PAIN.001 file path
pain_parser = Pain001Parser('path/to/pain/file.xml')

# Parse the file and get the results
results = pain_parser.parse()

Command Line Interface (CLI) Guide

Leverage the CLI for quick parsing tasks:

Basic Command

python cli.py --type <file_type> --input <input_file> [--output <output_file>]
  • --type: Type of the bank statement file. Currently supported types are "camt" and "pain001".
  • --input: Path to the bank statement file.
  • --output: (Optional) Path to save the parsed data. If not provided, data is printed to the console.

Examples for CAMT Files

  1. Parse a CAMT file and print the results to the console:

    python cli.py --type camt --input path/to/camt/camt_file.xml
    

    Using the test data:

    python ./bankstatementparser/cli.py --type camt --input ./tests/test_data/camt.053.001.02.xml
    
  2. Parse a CAMT file and save the results to a CSV file:

    python cli.py --type camt --input path/to/camt/file.xml --output path/to/output/file.csv
    

    Using the test data:

    python ./bankstatementparser/cli.py --type camt --input ./tests/test_data/camt.053.001.02.xml --output ./tests/test_data/camt_file.csv
    

Examples for PAIN.001 Files

  1. Parse a PAIN.001.001.03 file and print the results to the console:
python cli.py --type pain001 --input path/to/pain.001.001.03.xml

Using the test data:

python ./bankstatementparser/cli.py --type pain001 --input ./tests/test_data/pain.001.001.03.xml
  1. Parse a PAIN.001.001.03 file and save the results to a CSV file:
python cli.py --type pain001 --input path/to/pain.001.001.03.xml --output path/to/output/file.csv

Using the test data:

python ./bankstatementparser/cli.py --type pain001 --input ./tests/test_data/pain.001.001.03.xml --output ./tests/test_data/pain_file.csv

License

The project is licensed under the terms of both the MIT license and the Apache License (Version 2.0).

Contribution

We welcome contributions to bankstatementparser. Please see the contributing instructions for more information.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Acknowledgements

We would like to extend a big thank you to all the awesome contributors of bankstatementparser for their help and support.

This repo was inspired by khorevkp/KK_Tools's innovative use of data structures and algorithms, and was forked to build upon its foundation. Thank you to Konstantin Khorev

Project details


Download files

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

Source Distribution

bankstatementparser-0.0.1.tar.gz (16.9 kB view details)

Uploaded Source

Built Distribution

bankstatementparser-0.0.1-py2.py3-none-any.whl (14.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file bankstatementparser-0.0.1.tar.gz.

File metadata

  • Download URL: bankstatementparser-0.0.1.tar.gz
  • Upload date:
  • Size: 16.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.18

File hashes

Hashes for bankstatementparser-0.0.1.tar.gz
Algorithm Hash digest
SHA256 272cbea0c33a002aa15d9991d69de7d3713299515074dff57eedb368e4499af2
MD5 7f0ebbd9bb1a06c33080f5db511c6249
BLAKE2b-256 f68da866ec3eab6ac8739bd3b95654849b7fa1d5aed11739fde74f098b3289fc

See more details on using hashes here.

File details

Details for the file bankstatementparser-0.0.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for bankstatementparser-0.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 2c2c88ce07ce058824b2ab6afa30b2741d1db3354c9325c0b99bc1b511b98520
MD5 5a6a0aab7256f2b84526e7f9f1f9a459
BLAKE2b-256 0ecc92c6c65294e49b77b01bb54708b4acf78dd0af598a34a8f4a1b2a47906d7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page