Expense Management System Project Report
Expense Management System Project Report
on
EXPENSE MANAGEMENT SYSTEM
Submitted for the partial fulfilment of the requirement for the
Award of Degree for
MASTER OF COMPUTER APPLICATIONS-MCA
By
DOLU MOHAN
(3901-24-864-010)
Under the Guidance
of
Dr. Md. GHOUSE MOHIUDDIN
CERTIFICATE
This is to certify that the project entitled “ EXPENSE MANAGEMENT SYSTEM” is successfully
completed by DOLU MOHAN bearing Hall Ticket NO: 3901-24-864-010, under the Guidance of
[Link] MOHIUDDIN for the partial fulfilment of the requirement for the award of the degree of
Master of Computer Applications from Palamuru University during the academic year 2025-2026.
This Bonafide project work, carried out by him for academic purpose and not been submitted to any other
University or Institution for any other degree or Diploma.
HOD PRINCIPAL
Evaluation of Report
1.
2.
DEPARTMENT OF COMPUTER SCIENCE
UNIVERSITY PG COLLEGE PALAMURU UNIVERSITY
MAHABUBNAGAR -509001
(Accredited by NAAC with ‘B’ Grade)
DECLARATION OF GUIDE
“EXPENSE MANAGEMENT SYSTEM” is a genuine work carried out by DOLU MOHAN, [Link]:
3901-24-864-003, student of MCA II year during the academic year 2025-2026 from
Palamuru University Mahabubnagar, under my guidance and supervision
This project work has not been produced to any other University/Institution for the award of any other
degree of diploma
SIGNATURE OF GUIDE
Name:
Designation:
DECLARATION
I hereby declare that the work presented in this project report titled “EXPENSE MANAGEMENT
SYSTEM” is genuine work done by me in partial fulfilment for the award of Master of Computer
Application degree Offered by PALAMURU UNIVERSITY for the academic year 2025-2026 and it has not
previously formed the basis for the award of any degree of diploma
DOLU MOHAN
[Link]-3901-24-864-010
ACKNOWLEDGEMENT
At every outset, I express my gratitude to the almighty Lord for showering His grace and blessings upon me
to complete this project.
Although my name appears on the cover of this book, many people have contributed in some form or
another to this project's development. I could not have completed this project without the assistance and
support of each of the following, and I sincerely thank them all.
I wish to place on record my deep sense of gratitude to the Principal [Link] Sudhan Reddy Garu
for his valuable suggestions and advice. I also express my deep sense of gratitude to HOD Dr. Md. Ghouse
Mohiuddin for his immense support, suggestions and technical advice in completing the project work and
throughout the course. I also extend my thanks to other Faculty members for their cooperation during my
course.
Finally, I would like to thank my friends for their support in helping me to complete this project.
DOLU MOAHN
[Link]-3901-24-864-010
ABSTRACT
The Expense Management System (EMS) is an innovative digital solution designed to streamline the
process of tracking, recording, and managing expenses for individuals and businesses. Powered by
modern web and cloud technologies, the system automates manual financial processes, ensuring
accuracy, security, and efficiency. It enables users to record, categorize, and analyze expenses in real time
while generating insightful analytical reports. With features such as customizable dashboards, budget
controls, receipt management, and automated workflows, the EMS enhances financial transparency and
accountability. By addressing the growing need for efficient financial tools, the proposed system
empowers users to make informed financial decisions and practice disciplined fiscal management in
today’s digital era.
The Expense Tracker is a computerized expense management system that aims to simplify and streamline the
tracking of daily expenses for individuals, both paid and unpaid. The system is designed to replace manual paper-
based processes with a computerized system that maintains records and facilitates easy access to data. This system
is built using the MERN stack, which includes MongoDB, [Link], [Link], and [Link], providing a full-stack
JavaScript development experience.
With this system, organizations can automate the process of expense reporting, approval, and reimbursement, thereby
reducing manual effort and increasing productivity. The system integrates with accounting systems and credit card
providers to provide real-time data flow, ensuring that expenses are accurately recorded.
The system provides a user-friendly interface that allows users to submit expenses, attach receipts, and monitor the
status of their reimbursement requests. The application features an intuitive dashboard that displays an overview of all
expenses, enabling administrators to analyze expenses, identify trends, and make informed decisions based on data.
The Expense Management System also provides features such as automated expense categorization, policy
compliance checks, and receipt scanning, ensuring that expenses meet company guidelines. The application is highly
scalable and can be customized to fit the specific needs of each organization.
Overall, the Expense Management System built using the MEAN stack provides a comprehensive solution for
organizations looking to manage their expenses efficiently. It offers real-time data flow, automation, and
customization options, making it a valuable tool
CHAPTER 1
PROJECT DESCRIPTION
1.1 INTRODUCTION
We are developing an php application named as “Expense Tracker” and this application
is used to manage the application user‘s daily expenses in a more efficient and manageable
way. By using this application we can reduce the manual calculations for their daily
expenses and keep the track of the expenditure. In this application, user can provide his
income to calculate his total expenses per day and these results will stored for unique user.
This application has many limitations which can be overcome in future. The main purpose
of this application is to track all the expenses made by a user. The user can generate report
of his expenses based on the transaction date of the expenses or category of items. This
application will be deployed on separate web server and application server. And for load
balancing, it will be deployed on two web servers and application servers. This Expense
Tracker application falls in the Finance Category and serves the important purpose of
managing finances which is a very important part of one’s life. The software product went
through the design, development, and the testing phase as a part of the Software
Development Lifecycle. The application’s interface is designed using custom art elements,
the functionality is implemented using php, and the phase of testing the product was
accomplished successfully. The application is not much user intensive but just comprises of
having them enter the expense amount, date, category, merchant and other optional
attributes (taking picture of the receipts, entering notes about the expense, adding
subcategories to the categories). With this entered information, the user is able to see the
expense details daily, weekly, monthly, and yearly in figures, graphs, PDF format, and can
print them as well if a printer is detected or scanned nearby. All these topics have been
explained in detail in their respective chapters. The aim of this is to provide a solution for
this application users on how to manage finances in any circumstance by keeping track of
their expenses every day. Ultimately, this contributes to societal well-being. Expense
tracker is complete to track your all the expenses bared by your pocket or based by you &
manage your personal finance. So that you can trace where your money goes as well as
from where money comes in, you can limit & plan accordingly. A feature rich tracking
application with numerous powerful tools like, Income/Expense, Bills, Accounts, Reports
etc. Not only
that, app has all the information yet not un-secure as it does not ask to save any sensitive
data for its operations. Budgeting is an integral part of the society. Budget Tracking
involves recording and analyzing the incomes and expenses of a person or an organization
over a particular period of time. Today, since we are living in a hurry up and get it done
society, many people are looking forward to efficient ways to budget their time and money.
During the recent years, some research has been car-ride out on household budget .It has
been noted that in most cases, budget management is being done mentally and never being
put on paper which makes Expense Tracking very difficult. This is probably due to the fact
that many people do not know how to do it or do not have an appropriate means that will do
Expense Tracking and Analia-sis for them. Budgeting also requires us to look ahead and
formalize future goals. By establish a budget, people can set goals for achieving a certain
level of income and monitor their expenses. Many home based and small-business owners
have observed that their increase in profit margins did not occur until they had a written
revenue goal and a method with which to monitor expenses .Expense Tracking is important
because it helps us to keep track of our expenditures based on the incomes made. It also
allows us to plan for future projects and expenditures. Being able to Ana-lyse and compare
income and expenses over a period of time, by calculating monthly/yearly prof-it’s and
expenses as well as deviations, help us to take important decisions. Bankruptcy and future
budgets can also be predicted via the data fed during expense tracking.
CHAPTER 2
LITERATURE REVIEW.
EXISTING SYSTEM:
If we want to balance a income and expense for each month we have to do it manually
but we can’t do this for each and every month those who have a lot of income and expenses, so
to reduce the stress for the person and make easy to calculate the income and expense, this php
application has been so much helpful for a person to avoid the manual way calculating his
income and expenses. In this application we have features like add expenses categories add
income so that we can add what are the income and expenses has been done for a month. But it
can used to perform calculation on income and expenses to overcome this problem we propose
the new application.
DISADVANTAGES OF EXISTING SYSTEM:
In this php application we are going to develop this by adding some extra features. In
expenses we have some expense feature like add expenses we can add new expense for a month,
add categories , export expenses (it will remain as a specific date how much expense has taken
for a month), remove export files (it will remove the remainder for the month), view expenses
(we can view what are all expense for a month). In income tracker some of the features like add
income, add category, categories, export income, remove export files, and view expenses. In add
income (we can add new income for a month), add categories (we can add new categories for a
month), export income (it will remind us in a date what we have given i.e. from date and to date),
remove export files (it will remove the remainder what we have given to remind). By adding
these features it helps the users to work more efficient and in an effective manner. This
eliminates the drawback of the existing system application.
1.2.3 PHP
PHP is server side back end programming language. It executes in server along with
maximum all available web servers like Apache, IIS (Internet Information Server) etc.., and
return the response as required MIME type. It is a Pre Process Hypertext, we could do many
things on server by using PHP on server and co-ordinate with DB server for CURD (Create,
Update, Read, and Delete) actions. Front end in the seance, UI which intact the users, it can done
by HTML, or any others. And UI Behavior is defined in UI back end Languages (Scripting
languages) via: Java script, VB script
PHP started out as a small open source project that evolved as more and more people found out
how useful it was. Rasmus Lerdorf unleashed the first version of PHP way back in 1994.
PHP is a server side scripting language that is embedded in HTML. It is used to manage
dynamic content, databases, session tracking, even build entire e-commerce sites.
PHP supports a large number of major protocols such as POP3, IMAP, and LDAP. PHP4
added support for Java and distributed object architectures (COM and CORBA), making n-tier
development a possibility for the first time.
MySQL is a popular choice of database for use in web applications, and is a central
component of the widely used LAMP open source web application software stack—LAMP is an
acronym for "Linux, Apache, MySQL, Perl/PHP/Python." Free-software-open source projects
that require a full-featured database management system often use MySQL.
For commercial use, several paid editions are available, and offer additional functionality.
Applications which use MySQL databases include: TYPO3, Joomla, Word Press, phpBB,
MyBB, Drupal and other software built on the LAMP software stack. MySQL is also used in
many high-profile, large-scale World Wide Web products, including Wikipedia, Google (though
not for searches), ImagebookTwitter, Flickr, [Link], and YouTube.
Inter images
MySQL is primarily an RDBMS and ships with no GUI tools to administer MySQL
databases or manage data contained within the databases. Users may use the included command
line tools, or use MySQL "front-ends", desktop software and web applications that create and
manage MySQL databases, build database structures, back up data, inspect status, and work with
data records. The official set of MySQL front-end tools, MySQL Workbench is actively
developed by Oracle, and is freely available for use.
Graphical
MySQL ships with some command line tools. Third-parties have also developed tools to
manage a MySQL server, some listed below. Maatkit - a cross-platform toolkit for MySQL,
PostgreSQL and Memcached, developed in Perl Maatkit can be used to prove replication is
working correctly, fix corrupted data, automate repetitive tasks, and speed up servers. Maatkit is
included with several GNU/Linux distributions such as CentOS and Debian and packages are
available for Programming. MySQL works on many different system platforms, including AIX,
BSDi, FreeBSD, HP-UX, eComStation, i5/OS, IRIX, Linux, Mac OS X, Microsoft Windows,
NetBSD, Novell NetWare, OpenBSD, OpenSolaris, OS/2 Warp, QNX, Solaris, Symbian,
SunOS, SCO Open Server, SCO UnixWare, Sanos and Tru64. A port of MySQL to OpenVMS
also exists. MySQL is written in C and C++. Its SQL parser is written in yacc, and a home-
brewed lexical analyzer. Many programming languages with language-specific APIs include
libraries for accessing MySQL databases. These include MySQL Connector/Net for integration
with Microsoft's Visual Studio (languages such as C# and VB are most commonly used) and the
JDBC driver for Java. In addition, an ODBC interimage called MyODBC allows additional
programming languages that support the ODBC inter image to communicate with a MySQL
database, such as ASP or ColdFusion. The HTSQL - URL-based query method also ships with a
MySQL adapter, allowing direct interaction between a MySQL database and any web client via
structured URLs.
Features
As of April 2009, MySQL offered MySQL 5.1 in two different variants: the open source
MySQL Community Server and the commercial Enterprise Server. MySQL 5.5 is offered under
the same licenses. They have a common code base and include the following features:
Cross-platform support
Stored procedures
Triggers
Cursors
Updatable Views
Information schema
Strict mode (ensures MySQL does not truncate or otherwise modify data to conform to an
underlying data type, when an incompatible value is inserted into that type)
X/Open XAdistributed transaction processing (DTP) support; two phase commit as part of this,
using Oracle's InnoDB engine
Multiple storage engines, allowing one to choose the one that is most effective for each table in
the application (in MySQL 5.0, storage engines must be compiled in; in MySQL 5.1, storage
engines can be dynamically loaded at run time): Native storage engines (MyISAM, Falcon,
Merge, Memory (heap), Federated, Archive, CSV, Black hole, Cluster, EXAMPLE, Maria, and
InnoDB, which was made the default as of 5.5). Partner-developed storage engines (solidDB,
NitroEDB, ScaleDB, TokuDB, Infobright (formerly Brighthouse), Kickfire, XtraDB, IBM DB2).
InnoDB used to be a partner-developed storage engine, but with recent acquisitions, Oracle now
owns both MySQL core and InnoDB.
CHAPTER 3
SYSTEM DESIGN
DFDs:
Symbol Description
A data flow.
LEVEL 0
DFD Level 0 is also called a Context Diagram. It’s a basic overview of the whole system
or process being analyzed or modeled. It’s designed to be an at-a-glance view, showing the
system as a single high-level process, with its relationship to external entities. It should be easily
understood by a wide audience, including stakeholders, business analysts, data analysts and
developers. A context diagram gives an overview and it is the highest level in a data flow
diagram, containing only one process representing the entire system. It should be split into major
processes which give greater detail and each major process may further split to give more detail.
Level 0 DFD must balance with the context diagram it describes. Input going into a process is
different from outputs leaving the process. Data stores are first shown at this level.
User
Expense
Tracking
Database
DFD Level 1 provides a more detailed breakout of pieces of the Context Level Diagram.
You will highlight the main functions carried out by the system, as you break down the high-
level process of the Context Diagram into its sub – processes. Level 1 - interaction between 2
different business applications. This is primarily used to explain the process to business and tech
leads, QA leads. As described previously, context diagrams (level 0 DFDs) are diagrams where
the whole system is represented as a single process. A level 1 DFD notates each of the main sub-
processes that together form the complete system. We can think of a level 1 DFD as an
“exploded view” of the context diagram.
New
User Database
user
No Yes
Login Register
Add expense
View expense
Compare expenses
A system architecture or systems architecture is the conceptual model that defines the
structure, behavior, and more views of a system. An architecture description is a formal
description and representation of a system, organized in a way that supports reasoning about the
structures and behaviors of the system. System architecture can comprise system components,
the externally visible properties of those components, the relationships (e.g. the behavior)
between them. It can provide a plan from which products can be procured, and systems
developed, that will work together to implement the overall system. There have been efforts to
formalize languages to describe system architecture; collectively these are called architecture
description languages (ADLs).
EXPENSE TRACKER SYSTEM
USER
Register
Login
Add expense
Expense graph
An allocated arrangement of physical elements which provides the design solution for a
consumer product or life-cycle process intended to satisfy the requirements of the
functional architecture and the requirements baseline.
Architecture comprises the most important, pervasive, top-level, strategic inventions,
decisions, and their associated rationales about the overall structure (i.e., essential
elements and their relationships) and associated characteristics and behavior.
If documented, it may include information such as a detailed inventory of current
hardware, software and networking capabilities; a description of long-range plans and
priorities for future purchases, and a plan for upgrading and/or replacing dated equipment
and software.
An architecture diagram is a graphical representation of a set of concepts that are part of
architecture, including their principles, elements and components. Architecture diagram
can help system designers and developers visualize the high-level, overall structure of
their system or application, in order to ensure the system meets their users' needs. Using
architecture diagram, you can also describe patterns that are used throughout the design.
It's somewhat like a blueprint that you use as a guide, so that you and your colleagues can
discuss, improve and follow.
ASSUMPTIONS
A system architecture or systems architecture is the conceptual model that defines the
structure, behavior, and more views of a system. An architecture description is a formal
description and representation of a system, organized in a way that supports reasoning about the
structures and behaviors of the system. System architecture can comprise system components,
the externally visible properties of those components, the relationships (e.g. the behavior)
between them. It can provide a plan from which products can be procured, and systems
developed, that will work together to implement the overall system. There have been efforts to
formalize languages to describe system architecture; collectively these are called architecture
description languages (ADLs).
EXPENSE TRACKER SYSTEM
USER
Register
Login
Add expense
Expense graph
An allocated arrangement of physical elements which provides the design solution for a
consumer product or life-cycle process intended to satisfy the requirements of the
functional architecture and the requirements baseline.
Architecture comprises the most important, pervasive, top-level, strategic inventions,
decisions, and their associated rationales about the overall structure (i.e., essential
elements and their relationships) and associated characteristics and behavior.
If documented, it may include information such as a detailed inventory of current
hardware, software and networking capabilities; a description of long-range plans and
priorities for future purchases, and a plan for upgrading and/or replacing dated equipment
and software.
An architecture diagram is a graphical representation of a set of concepts that are part of
architecture, including their principles, elements and components. Architecture diagram
can help system designers and developers visualize the high-level, overall structure of
their system or application, in order to ensure the system meets their users' needs. Using
architecture diagram, you can also describe patterns that are used throughout the design.
It's somewhat like a blueprint that you use as a guide, so that you and your colleagues can
discuss, improve and follow.
ASSUMPTION
DATABASE DESIGN
After discussing with other groups, we came up with following database schema. We
agreed with the schema of separating items with transaction because we want to keep track of the
items. Our team tried to make specific categorization for specific user so user can name his own
categories, as he likes.
DATA DICTIONARY
Table design
1 acharyak182@[Link] Food
2 acharyak182@[Link] Education
3 acharyak182@[Link] Transport
4 acharyak182@[Link] Medical
5 acharyak182@[Link] Grocery
6 acharyak182@[Link] entertainment
1 acharyak182@[Link] 10000 11
2 acharyak182@[Link] 5000 10
3.3 RELATIONSHIP DIAGRAM
USER
4.1.1 USER MODULE
Registration: The user has to register into the system providing his
personal details. The user will enter their individual details to be a user in
the developed php application. Thus while registering they can also get the
username and password for login session.
Login: The user has to login into the system to add or view the expenses
details, the user is remembered once he logs in until he logs out saving his
time to login every time.
Add Expenses: The user is allowed to add expenses refer to also adding a
picture related to the details. The user can add picture or leaves empty
without adding picture. Thus it helps the user to describe the event they are
posting.
View Expenses: The user can view the expenses details the user has been
selected from the admin. The expenses details can’t be viewed by
everyone which are in public. Thus the expenses transaction details will be
blocked if the user feels uncomfortable.
Added List: User can also view the list of expenses added by him and
action taken by admin if any. The list can be viewed by the user which
they posted in public. If they wish to delete they can delete it