Skip to content

Latest commit

Β 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“Š Bank Statement Analysis

πŸ’° Bank Statement Processing & Financial Analysis Platform

A web-based application built with PHP and MySQL for uploading, processing and analyzing bank statements in multiple formats including PDF, CSV and TXT.

The system extracts transaction data from uploaded statements and converts raw financial information into structured data and useful reports.


πŸš€ Project Overview

Bank Statement Analysis is designed to simplify the process of analyzing large amounts of financial transaction data.

             πŸ“„ Bank Statement
                    β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚           β”‚           β”‚
        β–Ό           β–Ό           β–Ό
       PDF         CSV         TXT
        β”‚           β”‚           β”‚
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                    β”‚
                    β–Ό
             πŸ“₯ File Upload
                    β”‚
                    β–Ό
             πŸ” Data Parser
                    β”‚
                    β–Ό
             🧹 Data Processing
                    β”‚
                    β–Ό
             πŸ—„οΈ MySQL Database
                    β”‚
                    β–Ό
             πŸ“Š Analysis Engine
                    β”‚
                    β–Ό
             πŸ“ˆ Reports

✨ Key Features

πŸ“€ Statement Upload

Upload bank statements in multiple formats:

  • πŸ“„ PDF
  • πŸ“Š CSV
  • πŸ“ TXT

πŸ” Statement Parsing

The application processes uploaded statements and extracts important transaction information.

Example data:

Transaction Date
Description
Reference Number
Debit
Credit
Balance
Transaction Type

πŸ“Š Financial Analysis

The system can analyze transaction data to provide useful financial insights.

Analysis Areas

  • Total Credits
  • Total Debits
  • Transaction Count
  • Opening Balance
  • Closing Balance
  • Monthly Transactions
  • Debit / Credit Summary
  • Transaction Categories
  • Account Activity

πŸ“ˆ Reporting

Generate structured reports from processed bank statement data.

Bank Statement
      β”‚
      β–Ό
Transaction Processing
      β”‚
      β–Ό
Data Analysis
      β”‚
      β”œβ”€β”€ Credit Summary
      β”œβ”€β”€ Debit Summary
      β”œβ”€β”€ Transaction Summary
      └── Balance Analysis
      β”‚
      β–Ό
Financial Report

πŸ—„οΈ Database

The application uses MySQL for storing processed transaction information and application data.

PHP Application
      β”‚
      β–Ό
Data Processing
      β”‚
      β–Ό
MySQL Database
      β”‚
      β–Ό
Transactions
      β”‚
      β–Ό
Reports / Analysis

πŸ› οΈ Tech Stack

Backend

  • PHP 8+
  • MySQL
  • Server-side processing

Frontend

  • HTML5
  • CSS3
  • JavaScript
  • Responsive UI

Document Processing

  • PDF Parsing
  • CSV Processing
  • TXT Processing
  • Structured Data Extraction

Development

  • Composer / PHP dependencies
  • Git
  • GitHub
  • MAMP / XAMPP / Apache

πŸ“ Project Structure

bank_statement_analyis/
β”‚
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ config/
β”‚   β”œβ”€β”€ controllers/
β”‚   β”œβ”€β”€ services/
β”‚   β”œβ”€β”€ models/
β”‚   └── ...
β”‚
β”œβ”€β”€ docs/
β”‚   β”œβ”€β”€ PROJECT_DOCUMENTATION.pdf
β”‚   β”œβ”€β”€ PROJECT_DOCUMENTATION.md
β”‚   └── Bank_Statement_Analysis_Presentation.pptx
β”‚
β”œβ”€β”€ .gitignore
└── README.md

The exact internal structure may vary depending on the current implementation.


βš™οΈ Requirements

Before running the project, install:

  • PHP 8+
  • MySQL 5.7+ / 8+
  • Apache / Nginx
  • Composer
  • MAMP / XAMPP / LAMP

πŸš€ Installation

1. Clone the Repository

git clone https://github.com/Nandhasv05/bank_statement_analyis.git

2. Navigate to the Project

cd bank_statement_analyis

3. Install Dependencies

If Composer dependencies are configured:

composer install

πŸ” Environment Configuration

Create your local configuration based on the project requirements.

Example:

APP_ENV=local
APP_DEBUG=true

DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=bank_statement_analysis
DB_USERNAME=root
DB_PASSWORD=

Never commit database passwords, API keys or other sensitive credentials to GitHub.


πŸ—„οΈ Database Setup

Create the MySQL database:

CREATE DATABASE bank_statement_analysis;

Configure the database connection according to your environment.


▢️ Running the Application

If using MAMP/XAMPP:

htdocs/
   β”‚
   └── bank_statement_analyis/

Then access the application through your local Apache server.

Example:

http://localhost/bank_statement_analyis/

πŸ“„ Supported File Processing

PDF

The application processes PDF bank statements and extracts transaction information.

PDF
 β”‚
 β–Ό
PDF Parser
 β”‚
 β–Ό
Extract Text
 β”‚
 β–Ό
Identify Transactions
 β”‚
 β–Ό
Structured Data

CSV

CSV statements can be processed directly into structured transaction records.

CSV File
 β”‚
 β–Ό
Read Rows
 β”‚
 β–Ό
Validate Columns
 β”‚
 β–Ό
Process Transactions
 β”‚
 β–Ό
MySQL

TXT

Text-based bank statements can also be parsed and processed.


πŸ”„ Transaction Processing

Raw Statement
      β”‚
      β–Ό
File Validation
      β”‚
      β–Ό
Statement Parser
      β”‚
      β–Ό
Transaction Extraction
      β”‚
      β–Ό
Data Validation
      β”‚
      β–Ό
Database Storage
      β”‚
      β–Ό
Financial Analysis
      β”‚
      β–Ό
Report Generation

πŸ“Š Example Analysis

The application can transform raw transactions such as:

Date        Description       Debit     Credit     Balance
----------------------------------------------------------
01-08-2026  Salary              -       25,000     25,000
03-08-2026  Rent              5,000        -       20,000
05-08-2026  Grocery           2,000        -       18,000
10-08-2026  Transfer              -       5,000     23,000

into useful summaries:

Total Credits     : β‚Ή30,000
Total Debits      : β‚Ή7,000
Transactions      : 4
Closing Balance   : β‚Ή23,000

πŸ“š Project Documentation

Detailed project documentation is available inside the docs directory.

Documentation

πŸ“„ PROJECT_DOCUMENTATION.pdf
πŸ“ PROJECT_DOCUMENTATION.md
πŸ“Š Bank_Statement_Analysis_Presentation.pptx

πŸ§ͺ Testing

Recommended testing tools:

  • Browser Developer Tools
  • MySQL Client
  • PHP Error Logs
  • Postman (where applicable)

πŸ”’ Security Considerations

Because this project handles financial information, security is important.

Recommended practices:

  • Validate uploaded files
  • Restrict allowed file extensions
  • Limit upload size
  • Sanitize user input
  • Use prepared SQL statements
  • Protect database credentials
  • Secure uploaded files
  • Implement authentication
  • Avoid exposing sensitive transaction data
  • Keep .env and credentials outside public repositories

πŸš€ Future Improvements

  • AI-powered transaction categorization
  • Automatic expense classification
  • Spending pattern detection
  • Monthly financial insights
  • Interactive charts
  • Dashboard analytics
  • Excel export
  • PDF report generation
  • Multiple bank format support
  • User authentication
  • Role-based access
  • REST API
  • Docker deployment
  • AWS deployment
  • Automated testing

πŸ’‘ Future AI Analysis

One planned improvement is intelligent transaction analysis.

Bank Statement
      β”‚
      β–Ό
Transaction Extraction
      β”‚
      β–Ό
AI Classification
      β”‚
      β”œβ”€β”€ Food
      β”œβ”€β”€ Shopping
      β”œβ”€β”€ Travel
      β”œβ”€β”€ Bills
      β”œβ”€β”€ Salary
      └── Transfers
      β”‚
      β–Ό
Financial Insights
      β”‚
      β–Ό
User Dashboard

πŸ‘¨β€πŸ’» Developer

Nandhakumar S V

Full Stack Developer

Core Technologies

Frontend
β”œβ”€β”€ React
β”œβ”€β”€ Next.js
β”œβ”€β”€ React Native
β”œβ”€β”€ TypeScript
└── JavaScript

Backend
β”œβ”€β”€ PHP
β”œβ”€β”€ Node.js
β”œβ”€β”€ Express.js
└── REST APIs

Database
β”œβ”€β”€ MySQL
└── PostgreSQL

Cloud / DevOps
β”œβ”€β”€ AWS
β”œβ”€β”€ Docker
β”œβ”€β”€ Nginx
└── CI/CD

🌐 Portfolio

https://nandhakumarsvdev.netlify.app/


πŸ’Ό Freelance Development

BuildNexDev

I also develop custom software solutions for businesses through BuildNexDev.

Services include:

🌐 Business Websites
πŸ’» Web Applications
πŸ“± Mobile Applications
πŸ› οΈ Admin Dashboards
πŸ”Œ REST APIs
πŸ’³ Payment Integration
☁️ Cloud Deployment
πŸ”§ Maintenance

🌐 https://buildnexdev.in/


πŸ”— Connect With Me


πŸ“Š Turning raw financial data into meaningful insights.

Built with PHP + MySQL

⭐ If you like this project, consider giving it a star!

About

πŸ“Š Bank Statement Analysis platform for uploading, parsing and analyzing PDF, CSV and TXT bank statements.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages