A Streamlit web application that automatically extracts, analyzes, and visualizes your spending from PDF bank statements.
- Extracts date, merchant, and amount from PDF bank statements. (Verified RBC, Rogers, and CIBC)
- Filter transactions and reports by any time period you choose.
- Download all extracted and categorized transactions as a CSV file.
- Summary: See total income, expenses, and a pie chart by category.
- Favorite Stores: View your most-visited merchants ranked by spend or frequency.
- Trend Analysis: Track your spending over time with a line chart.
- Net Spend Table: Compare net spending by category across different time periods.
-
Clone the repository:
git clone https://github.com/purpledragon-ca/Bank_Statement_Analyzer.git cd Bank_Statement_Analyzer -
Install dependencies:
pip install -r requirements.txt
-
Run the Streamlit app:
streamlit run app.py
-
Open your browser to the URL provided by Streamlit (usually
http://localhost:8501).
You can customize the merchant name mapping and spending categories by editing the following files:
-
merchant_map.json: Use this to group different merchant names under a single, standard name. For example, map"Walmart Store #123"and"WALMART.COM"to"Walmart".{ "Walmart Store #123": "Walmart", "WALMART.COM": "Walmart" } -
category.json: Define your spending categories and the keywords (standardized merchant names) that belong to them.{ "Groceries": ["Walmart", "SUPERSTORE", "SAFEWAY"], "Entertainment": ["Netflix", "Spotify"], "Restaurants": ["STARBUCKS"] }
- User-friendly ways to modify Categories.
