Skip to content

obscurecat64/StatementSensei

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Statement Sensei helps converts bank statement PDFs to CSVs using the monopoly CLI library. The offline version of the app is available on the releases page.

🎉 Statement Sensei is now live! 🎉

Try it out:
https://statementsensei.streamlit.app/

Usage

Statement Sensei can be run as an offline application on Windows, MacOS or Linux.

The offline application runs Streamlit locally, and uses a WebView window to view the browser frontend at http://localhost:8501.

Currently supported banks:

Bank Credit Statement Debit Statement
Citibank
DBS/POSB
HSBC
Maybank
OCBC
Standard Chartered
UOB
ZKB

Installation

Warning

The offline app may raise security warnings during installation.

Specifically on MacOS, the application will show an "app is damaged and can't be opened" error.

These security warnings happen because the release binaries are unsigned, and are incorrectly flagged as malware.

To get around this, follow these steps for MacOS / Windows.

The Windows Defender alert can be bypassed by clicking "More info" -> "Run anyway".

Development

Install dependencies with Poetry:

poetry install
poetry shell

To run the consumer-facing application:

python entrypoint.py

To run the application in developer mode:

streamlit run webapp/app.py

Otherwise, to run the application as a container:

docker compose up

If running locally with docker: you can either store passwords in an environment variable as a string

export PDF_PASSWORDS='["pass123", "otherpw123"]'

or otherwise store them in an .env file in the project root:

echo 'PDF_PASSWORDS=["foo"]' > .env

Features

  • Supports uploading multiple bank statements
  • Allows unlocking of PDFs using user-provided credentials via the frontend

About

PDF to CSV conversion for your bank statements

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 77.7%
  • Rust 10.7%
  • Shell 3.4%
  • TypeScript 2.6%
  • CSS 2.4%
  • Dockerfile 2.2%
  • HTML 1.0%