Project Report
Project Report
1
burden on users to manually calculate and categorize their expenses, increasing the
likelihood of oversight.
To address these challenges, this project proposes a web-based Expense Management
System that will provide an intuitive, automated, and efficient platform for tracking
and managing financial transactions.
1.3 OBJECTIVES
The primary objectives of this project are as follows:
To design and develop a user-friendly web-based Expense Management System
that enables individuals to track and manage their financial transactions
efficiently.
To develop a secure multi-user authentication system that enables individuals to
create and manage personal accounts while maintaining privacy and data security.
To allow users to edit, update, or delete expense entries, ensuring flexibility in
managing financial records.
2
progressive web applications (PWA) in transforming websites into mobile-friendly
applications, ensuring seamless interaction across various devices.
While these implementations differ in technical execution, they share common goals
of improving financial literacy, streamlining expense management, and providing
users with intuitive tools to track and visualize their spending habits. The literature
underscores the growing demand for automated and secure expense-tracking solutions,
driven by advancements in AI, voice recognition, and cloud technologies. These
insights contribute to the foundation of the Expense Record System project, guiding
the integration of key features such as voice commands, data visualization, and OCR
for receipt scanning to enhance usability and efficiency.
3
1.6 SCOPE AND LIMITATIONS
The Expense Management System is designed to provide individuals and small
businesses with a structured, efficient, and user-friendly platform for tracking and
managing their financial transactions. The system allows users to record income and
expenses, categorize transactions, set budget limits, and generate detailed financial
reports with graphical representations. Developed as a web-based application, it
ensures accessibility across different devices and browsers while maintaining a secure,
scalable, and responsive user experience. The system also supports multi-user
authentication, enabling individuals to manage their financial data securely. However,
despite its advantages, the system has certain limitations. It does not integrate with
external banking systems or financial APIs, requiring users to manually input their
transactions. Additionally, receipt scanning and OCR-based data extraction are not
currently implemented, limiting automation in data entry. The system relies on an
internet connection, making it unavailable for offline use. While it is optimized for
small businesses and personal finance tracking, it lacks enterprise-level financial
management features, such as tax calculations and multi-currency support. Future
enhancements may include mobile app development, AI-driven expense analysis, and
automated financial forecasting to further improve usability and efficiency.
4
References
This chapter includes a comprehensive list of sources referenced throughout the report,
such as journal articles, books, and online resources, formatted in APA style. It
ensures proper attribution of scholarly work and adherence to academic standards.
Any additional resources studied but not directly cited in the document can be
included in the bibliography section. Tools like Zotero can be used to manage
citations efficiently.
Appendices
The appendices include supplementary materials such as source code snippets,
screenshots of the system interface, sample outputs, and any other documentation
relevant to the understanding and replication of the project.
5
CHAPTER II: SYSTEM DEVELOPMENT PROCESS
2.1 ANALYSIS
The analysis phase of the project involves understanding the requirements, defining
the problem scope, and identifying the key components and technologies to be used.
In this expense management system, this project aims to simplify the expense
recording and tracking process and make it convenient for users.
Functional Requirements
Functional requirements define the core operations of the system that are necessary
for managing expenses, user accounts, and reports. The key functional requirements
of the system are as follows:
1. User Authentication and Authorization: The system must allow users to register,
log in, and manage their accounts with different access levels (e.g., user and
admin).
2. Expense Entry and Management: Users should be able to add, edit, delete, and
categorize their expenses based on predefined or custom categories.
3. Transaction Search and Filtering: Users should be able to search for specific
transactions and filter them based on date, category, or amount for quick retrieval.
4. Multi-User Support: The system should allow multiple users to manage their
individual expense records securely.
5. Dashboard Overview: The system should provide a dashboard displaying a
summary of recent transactions, total income and total expenses.
6. Expense Categorization: Users should be able to select categories for their
transactions to ensure better organization and tracking.
7. Report Generation: The system must generate detailed expense reports and allow
users download the reports.
Non-Functional Requirements
Non-functional requirements define the performance, security, and usability standards
of the system. The key non-functional requirements are as follows:
1. System Performance: The system should provide a fast and responsive user
interface, ensuring that page loads and data retrieval take no longer than a few
seconds.
2. Data Integrity – Financial records should be accurately stored and updated
without data corruption or loss.
6
3. User-Friendly Interface – The system should have an intuitive design with easy
navigation, ensuring a seamless user experience for both technical and non-
technical users.
4. Security and Authentication – User data should be securely stored using
password hashing and role-based access controls to prevent unauthorized access.
5. Scalability – The system should be scalable to accommodate an increasing
number of users without significant performance degradation.
7
Figure 2.1: Use Case Diagram of Expense Management System
8
Secondary Actor None
Description The actor fills up the required
information and the information is stored
in the database.
Precondition User is not registered yet.
Post Condition User account is created and ready for
(Success Scenario) login.
Failure Scenario Incomplete or invalid details prevent
registration. Database is not updated.
Table 2.3: Use Case Description of Expense Management System (Add Budget)
Use-Case Identifier UC3- Add Budget
Primary Actor User
Secondary Actor None
Description Users can set a budget for expense
tracking.
Precondition User must be logged in.
Post Condition Budget is set and saved to the system.
(Success Scenario)
Failure Scenario Invalid budget amount prevents saving.
Table 2.5: Use Case Description of Expense Management System (Add Income)
Use-Case Identifier UC5- Add Income
Primary Actor User
Secondary Actor None
9
Description The user should be able to add income.
Precondition To add the income the user should be
logged in to the system.
Post Condition The income details are stored in the
(Success Scenario) database.
Failure Scenario The income is not set and the database is
not updated.
Table 2.6: Use Case Description of Expense Management System (Add Expense)
Use-Case Identifier UC6- Add Expense
Primary Actor User
Secondary Actor None
Description The user should be able to add expense.
Precondition To add the expense the user should be
logged in to the system.
Post Condition The expense details are stored in the
(Success Scenario) database.
Failure Scenario The expense is not set and the database is
not updated.
Table 2.7: Use Case Description of Expense Management System (Add Date)
Use-Case Identifier UC7- Add Date
Primary Actor User
Secondary Actor None
Description Users attach a date to an expense or an
income.
Precondition To attach the date the user should be
logged in to the system.
Post Condition Date is saved with the expense or income
(Success Scenario) record.
Failure Scenario Invalid date format leads to error.
Table 2.8: Use Case Description of Expense Management System (Add Bill)
Use-Case Identifier UC7- Add Bill
Primary Actor User
Secondary Actor None
Description Users add a bill to the system.
Precondition To attach the bill the user should be
10
logged in to the system.
Post Condition Bill is recorded in the system.
(Success Scenario)
Failure Scenario Missing details or incorrect information
prevents bill addition.
Table 2.9: Use Case Description of Expense Management System (Add Image)
Use-Case Identifier UC9- Add Image (Extended from Add
Bill)
Primary Actor User
Secondary Actor None
Description Users can optionally add an image to a
bill.
Precondition Add Bill must be in progress.
Post Condition Image is attached to the bill.
(Success Scenario)
Failure Scenario Image upload fails due to unsupported
format.
11
Post Condition Profile is updated successfully.
(Success Scenario)
Failure Scenario Invalid details or missing fields prevent
updates.
12
Precondition User and admin must be logged in.
Post Condition All listed categories are displayed.
(Success Scenario)
Failure Scenario No categories available results in an
empty list.
Table 2.15: Use Case Description of Expense Management System (View Report)
Use-Case Identifier UC15- View Report
Primary Actor Admin
Secondary Actor None
Description Admin views detailed reports of income
and expenditure.
Precondition Admin must be logged in.
Post Condition On request the report is displayed..
(Success Scenario)
Failure Scenario No data leads to an empty report.
Object Modelling
The class diagram and object diagram define the system’s objects, attributes, their
relationships and functionalities.
13
The class diagram of the Expense Management System represents the core structure
of the system by modeling the essential classes, their attributes, and the relationships
among them. The primary classes include User, Category, and Expense. The User
class contains attributes such as user_id, username, password, and role, which are
used for authentication and access control within the system. The Category class
manages the various types of expense categories and includes category_id and
category_name. The Expense class holds information related to financial transactions,
including expense_id, item, price, details, expense_date, category_id, added_on, and
added_by. There exists a one-to-many relationship between User and Expense each
user can record multiple expenses and between Category and Expense each category
can group multiple transactions. This diagram provides a blueprint for the system’s
database structure and supports a scalable and modular approach to development.
The object diagram illustrates a snapshot of the system’s data at a particular moment
during runtime by showcasing instances of the classes defined in the class diagram.
For example, an object of the User class may represent a user named "john_doe" with
the role of a standard user. A Category object may represent a category such as
"Food" with a unique identifier. An Expense object linked to these may represent a
transaction like "Lunch," with a price of "500," dated "2025-03-01," categorized
under "Food," and added by "john_doe." These object instances confirm the
relationships and interactions established in the class diagram. The object diagram is
especially useful for validating the design by providing a concrete view of how the
system's data is organized and utilized during execution.
2.2 DESIGN
The design phase transforms the system’s requirements and analysis into a structured
blueprint, ensuring a clear and efficient implementation. This chapter presents an
object-oriented design approach, refining analysis diagrams and introducing
14
additional diagrams such as the component diagram, deployment diagram, database
schema.
To provide a comprehensive system design, following diagrams are introduced,
detailing system components, deployment architecture, and database schema.
Login Interface
The login interface provides a secure authentication system where users enter their
credentials to access their respective user or admin accounts. With a clean and simple
design, the login page ensures ease of access while maintaining security, promptly
flagging any errors if the information provided deviates from the specified
requirements. The login button is prominently displayed, and input fields for
username and password are clearly labeled.
Admin Dashboard
The Admin Dashboard is tailored to provide full control over the system’s expense
management and user access. It features a category management section where
administrators can add, edit, or delete different expense categories. Each category is
displayed in a structured table with unique identification numbers and options for
editing or deleting entries. Furthermore, the admin panel enables monitoring of users.
Similar to the user dashboard, the admin interface includes a sidebar for quick
navigation, allowing administrators to switch between different functionalities
15
seamlessly. With a sleek and professional design, the admin dashboard enhances
efficiency and provides a comprehensive overview of the system’s data.
User Dashboard
The User Dashboard is designed to provide a seamless and intuitive experience for
users managing their expenses. Upon logging in, users are greeted with a visually
appealing interface that presents key financial insights at a glance. The dashboard
prominently displays expense summaries, including today's expenses, yesterday’s
expenses, weekly, monthly, and yearly expenses. The information is neatly arranged
in colorful cards that make it easy for users to quickly analyze their spending patterns.
Additionally, a sidebar navigation menu is provided, allowing users to efficiently
move between different sections, such as adding new expenses, viewing detailed
reports, and logging out. The clear layout and minimalist design ensure an efficient
and user-friendly experience.
16
options like “Reset” and “Download Data” are available for convenience. The clean
layout, intuitive controls, and straightforward data presentation ensure that users can
effortlessly track and analyze their financial activities over time.
17
under “Wedding Expenses.” A total amount is calculated and displayed at the bottom
of the table. The format ensures clarity and transparency, helping users review
specific expense details and better manage their budgets.
Deployment Diagram
A Deployment Diagram visually represents how software components are physically
distributed across different nodes (servers, devices). It helps in understanding how the
system is hosted, deployed, and interacts in a real-world environment. The
deployment structure consists of:
1. Web Server
Device: Hosts the homepage on the web server.
Role: Serves as the entry point for users accessing the system via a web
browser.
2. Application Server
Device: Manages back-end processing.
Components include User Module, Expense Tracker, Report Generator,
Admin Module.
3. Database Server (DB Server)
Device: Store and manage data.
Artifact: Database for storing user credentials, expenses, categories and
reports.
Role: Centralized data storage and retrieval for all system transactions.
The system follows a distributed architecture, where requests from the web server are
processed by the application server, which then communicates with the database
server for data storage and retrieval.
18
Figure 2.10: Deployment Diagram of Expense Management System
Component Diagram
A Component Diagram represents the different components of the system and their
dependencies. The Expense Management System consists of the following
components:
1. User Interface Component: Handles user interactions and displays data. This
component also manages user login, registration, and user session handling.
2. Expense Management Component: Processes expense-related operations like
adding, updating, and deleting transactions.
3. Report Component: Generates reports based on financial transactions, date and
categories.
4. Database Component: Stores and retrieves data from MySQL.
19
Sequence Diagram
Sequence diagrams are dynamic modeling approaches used in object oriented based
projects. The sequence diagram is the communication between the system objects or
classes.
The Sequence Diagram illustrates the dynamic interaction within the Expense
Management System. The User initiates actions such as adding expenses and viewing
budget reports. The process begins from the Dashboard, where the user sends a
request to the Expense module to add a new expense. The Expense module interacts
with the Category component to retrieve or add categories, ensuring each expense is
properly categorized. Once a category is selected or added, the system processes the
expense and updates the database. If the user wishes to view their budget, the system
fetches and compiles relevant data through the Budget module, which in turn
communicates with the Database to retrieve necessary records. The system then
generates and presents a detailed budget report to the user. This sequence ensures
efficient communication between components such as Expense, Category, Budget,
and Database, providing the user with accurate tracking and reporting of their
financial activities. The diagram highlights the logical flow of requests and responses,
ensuring data integrity and smooth user experience in managing personal expenses.
State Diagram
A state diagram, also known as a state machine diagram or state chart diagram, is a
visual representation of the possible states an object or system can be in and the
transitions between those dstates, triggered by events or conditions.
20
Figure 2.13: State Diagram of Expense Management System
The state diagram of the Expense Management System visually illustrates the flow of
user interaction through various system states. It begins at the login screen, where the
user authenticates and is directed to the dashboard. From there, the system waits for
the user's action, offering options such as adding income or expenses, tracking
expenses, or generating reports. Each option leads to a specific state—inputting data
in the income/expense state, viewing transactions in the expense tracker, or accessing
summaries in the report generator. All these paths ultimately converge at the process
transaction state, where data is handled and stored, concluding with the receive details
state, which signifies the successful completion of the process.
Activity Diagram
Activity diagrams are graphical representations of workflows of stepwise activities
which represents the flow of one activity to another activity.
In the given activity diagram, the process begins with an initial interaction. The user
logs in to the system according to their role, whether that is user or an admin. The
admin can view details regarding the categories and the users in the system. The
admin can accordingly manage the users and categories by performing activities such
as adding, updating/modifying or deleting. The user in the system can also perform
various different actions such as viewing, adding or modifying expenses, viewing and
downloading various filtered reports.
21
Figure 2.14: Activity Diagram of Expense Management System
Database Schema
The database schema represents the structure of the MySQL database, including
tables, attributes, primary key, foreign keys and their relationships. Key tables include:
22
Users Table: The User Table stores information about users who interact with the
system. Each user is uniquely identified by a user_id, which serves as the primary key.
The table also contains the username (used for login credentials), password for
authentication which has been hashed using the hash function, and role, which
differentiates between a regular user and an administrator. The role field determines
the level of access within the system, ensuring security and proper authorization for
managing expenses and categories.
Expense Table: The Expenses Table is crucial for tracking and managing various
expenditures within the system. This table contains fields such as:
expense_id: A unique identifier for each expense entry.
item: A description of the purchased item or service.
price: The amount spent on the item.
details: Additional information regarding the expense.
expense_date: The date the expense was incurred.
category_id: A reference to the Category Table, linking each expense to a specific
category.
added_on: Timestamp indicating when the expense was recorded.
added_by: The user who added the expense.
Category Table: The Category Table stores details about different expense categories.
The fields in this table include:
category_id: A unique identifier for each category.
category_name: The name of the expense category (e.g., Food, Travel, School
Fees, etc.).
2.3 IMPLEMENTATION
The implementation of the expense management system involves integrating various
components, including user authentication, expense management and report
generation. The system consists of both user and admin interfaces, where customers
can browse various expenses, add them to their expenses, and collect reports, while
the admin oversees users, expenses, and reports. The implementation section of the
Expense Management System report outlines the practical realization of the system’s
design using modern web development technologies. It details how the frontend was
developed using HTML, CSS, and JavaScript to create a responsive and user-friendly
interface, while the backend was implemented using PHP for server-side scripting and
MySQL for database management. The section describes how different components
such as user authentication, expense entry, category management, and report
generation were coded and integrated to ensure seamless functionality. It also covers
the tools and platforms used during development, including Visual Studio Code for
coding, [Link] for diagramming, and Excel for handling report data. The
implementation section translates the conceptual design into a working system and
demonstrates how the core features were developed to meet the project's objectives.
23
2.3.1 Tools and Techniques Used
The Expense Management System is developed using the modern web technologies.
The selection of tools and technologies is crucial in ensuring that the system is both
functional and efficient. The following technologies were chosen based on their
suitabality for different parts of the project:
24
Excel: Microsoft Excel is a spreadsheet software used for organizing and
analyzing data. It supports various formats, including csv files which can be used
in this project to download expense related reports for analysis.
The User Authentication Module ensures secure access by allowing users to register,
log in, and manage their credentials. It includes features such as password hashing
and role-based access control to differentiate between regular users and administrators.
The Expense Module enables users to add, update, delete, and view their expenses.
Each expense entry includes fields like item name, price, date, category, and
additional details, ensuring comprehensive tracking of financial transactions.
The Report Module provides functionality to generate detailed expense reports based
on selected filters such as date range or category. It allows users to view summaries
and download reports in tabular format, facilitating data-driven decision-making.
The Admin Module grants privileged users access to manage system-wide settings,
such as user accounts and category lists. It allows administrators to view registered
users, assign roles, and oversee category configurations.
The Dashboard Module offers a centralized visual summary of key financial metrics,
such as today’s, weekly, and monthly expenses. This module improves usability by
providing a quick overview of spending patterns through colorful cards and charts.
25
Finally, the User Module is responsible for handling user-specific operations such as
profile management, password updates, and personalized expense views. Together,
these modules work cohesively to deliver a secure, efficient, and intuitive platform for
personal and small business expense management.
2.3.3 Testing
The techniques used for testing this project are Unit Testing and Integration Testing.
These testing techniques were used in order to ensure a seamless system.
1. Unit Testing: Each module such as user login, admin login, adding expenses and
categories, modifying or deleting users in the project is tested independently.
2. Integration Testing: After each individual module is tested independently, the
modules are integrated into a system and then tested again for seamless integration
between modules.
26
Table 2.20: Test Case of Add Expense
Unit Effected Input Data Actual Result Expected Result Remarks
Add Expense Category=Test New Expense New Expense is Pass
Item=Shoes is added. added.
Price=5000
Details=test
Expense
Date=01/03/2025
27
Figure 2.15: Power BI Dashboard of Expense Management System
The dashboard showcases various interactive visualizations of one report. The bar
chart on the left displays the total amount spent per category, with School Fees being
the highest. The chart on the right breaks down expenses by month and item,
revealing that April had the highest expenditure mainly due to Seventh Semester Fees.
The pie chart presents the distribution of item count across categories, highlighting
that Food and School Fees had the most frequent transactions. A filter section on the
top and right allows users to drill down data by category, item, and date range. The
table at the bottom lists individual expense items along with their associated details
such as category, date, and price. Finally, the card on the right shows the total sum of
all expenses, which is NPR 79,000 in this filtered view.
28
CHAPTER III: CONCLUSION AND
RECOMMENDATION
3.1 SUMMARY
This project focused on the design and development of a web-based Expense
Management System aimed at improving how individuals and small businesses record,
manage, and analyze their financial transactions. The system was built using PHP and
MySQL for the backend, and HTML, CSS, and JavaScript for the frontend. Key
features include secure user authentication, categorization of expenses, report
generation, and role-based access for administrators and users. The system supports
real-time tracking of expenses through a responsive dashboard, offering users
valuable insights into their spending habits. Throughout the development process, the
Waterfall Model was followed to ensure a systematic approach from requirements
gathering to implementation and testing.
3.2 CONCLUSION
The implementation of the Expense Management System successfully addresses the
limitations of traditional manual expense tracking by offering a structured, efficient,
and user-friendly digital platform. The system allows users to log their income and
expenses, categorize transactions, and generate reports that aid in financial planning
and control. Secure login mechanisms ensure that data is protected and accessible
only to authorized users. Administrators have control over user accounts and
categories, making the system manageable and scalable. By integrating modern web
technologies and a relational database, the system achieves its goal of simplifying
financial management while maintaining data accuracy and accessibility.
3.3 RECOMMENDATION
To enhance the system's usability and performance in future versions, several
improvements are recommended. First, integrating banking APIs and payment
gateways could automate the process of importing transactions, reducing manual
entry and human error. Secondly, implementing OCR (Optical Character Recognition)
for scanning and extracting data from physical receipts would further streamline
expense recording. Development of a mobile application version would increase
accessibility, allowing users to manage their finances on the go. Additional features
like AI-based expense analysis, budget forecasting, multi-currency support, tax
calculation, and offline functionality with data synchronization are also suggested to
expand the system's applicability to a wider user base. These enhancements would
transform the Expense Management System into a more intelligent, automated, and
globally accessible financial management tool.
29
REFERENCES
30
APPENDICES
Code Listings
Login System
This code snippet demonstrates how users authenticate by checking their credentials
against the database.
31
Expense Entry Form
This section includes a simple HTML form and a JavaScript function for validating
user input before submitting an expense entry.
32
User Management Code
This section includes a simple PHP code and SQL for managing the users in the
Expense Management System.
33
Download Report Code
This section includes a simple PHP code and SQL to allow users to download their
expense report for a set or predefined filters set in the reports section of the Expense
Management System.
34
Screenshots of the System
Figure: Login
35
Figure: Add User
36
Figure: Expense Page
37