PDF parsing for Singaporean banks
Project description
Monopoly is a Python library that converts Singapore bank statement PDFs to CSV using pdftotext
Supported banks:
Bank | Credit Statement | Debit Statement |
---|---|---|
Citibank | :white_check_mark: | :x: |
DBS | :white_check_mark: | :white_check_mark: |
HSBC | :white_check_mark: | :x: |
OCBC | :white_check_mark: | :white_check_mark: |
Standard Chartered | :white_check_mark: | :x: |
Install
Clone the repo
git clone https://github.com/benjamin-awd/monopoly.git
Install dependencies using Homebrew
brew install make
make setup
Usage
Monopoly can be run as a Python package, allowing you to extract, transform and write bank statements to a CSV file.
To see how Monopoly works, you can run this example
python3 src/monopoly/examples/single_statement.py
If you need to run monopoly on a password protected file, ensure that passwords are set in the .env file:
cp .env.template env
If you have multiple statements from the same bank with different passwords (e.g. HSBC statements), make sure to set both passwords in an array format like so:
HSBC_PDF_PASSWORDS=["password1","password2"]
Features
- Unlocks PDFs using user-provided credentials
- Statements can be parsed with the CLI, or manually with the bank processor class.
- Support for cashback transactions and refunds
- Monopoly can be run on Google Cloud as a scheduled Cloud Run job, which opens up more sophisticated use-cases like historical analysis and personal finance visualization
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
monopoly_sg-0.7.3.tar.gz
(212.1 kB
view hashes)
Built Distribution
monopoly_sg-0.7.3-py3-none-any.whl
(218.4 kB
view hashes)
Close
Hashes for monopoly_sg-0.7.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f1e8a209b326b53ef35a2a185ee925d6bdf16a51dd342dc3e0ede0ed3bf35c7b |
|
MD5 | 7b631b6a7e7d680f3ecc6f43d3f1d131 |
|
BLAKE2b-256 | db26d3dab3c978030e7665180fbfd7bfadcede829d0a76da2b2afa62fdfe5e4f |