Se Project Report On Biling System
Se Project Report On Biling System
Se Project Report On Biling System
A GROUP PROJECT
ON
BILLING SYSTEM
BY
Daya Shankar Thapa (10407/19)
Kiran Khanal (10413/19)
Manjul Tamang (10417/19)
Nishan Neyohang (10424/19)
DECLARATION
This is to certify that we have completed the Group Project entitled “Billing System” under
the guidelines of “Manoj Giri” in partial fulfilment of the requirements for the course of
Software Engineering at Nepal Commerce Campus, Tribhuvan University. This is our
original work and we have not submitted it earlier elsewhere.
ii
This is to certify that the Group Project entitled “Billing System” is an academic work done
by “Daya Shankar Thapa, Kiran Khanal, Manjul Tamang and Nishan Neyohang” submitted
in the partial fulfillment of the requirements for the course of Software Engineering at
Nepal Commerce Campus, Tribhuvan University under my guidance and supervision. To
the best of my knowledge, the information presented by them in the group project report has
not been submitted earlier.
………………….
Manoj Giri
Supervisor
25 September 2023
iii
ACKNOWLEDGEMENT
We would like to express our heartfelt gratitude to Mr. Manoj Giri for being an exceptional
mentor throughout the course of our project. He was not only a supervisor but also a guide,
providing me with invaluable insights, guidance, and support. His knowledge and expertise
in the field were instrumental in shaping the direction of the project and ensuring that it met
the required standards. We are grateful for the time and effort they took to meet with us
regularly to discuss our progress and provide feedback. Their constructive criticism and
encouragement have been essential in motivating us to put our best efforts forward.
We would also like to thank Nepal Commerce Campus for giving us the opportunity to
develop such a project and heightening our practical knowledge and expertise in the
development field.
Lastly, we also express our deepest appreciation to my friends for their feedback and
suggestions throughout the development of the project.
Finally, we would like to apologize to all the other unnamed people who have helped us in
various ways with the completion of our project.
iv
TABLE OF CONTENTS
TITLE PAGE…………………………..………………………………………………….. i
DECLARATION ................................................................................................................... ii
ACKNOWLEDGEMENT .................................................................................................... iv
EXECUTIVE SUMMARY................................................................................................... ix
CHAPTER I ........................................................................................................................... 1
INTRODUCTION ................................................................................................................. 1
CHAPTER II .......................................................................................................................... 4
CHAPTER IV ...................................................................................................................... 18
CHAPTER V........................................................................................................................ 27
CONCLUSION .................................................................................................................... 27
vi
REFERENCES..................................................................................................................... 29
vii
TABLE OF FIGURES
Figure 1: Class Diagram of Billing System ........................................................................... 7
Figure 2: Use Case Diagram of Billing System (Admin) ...................................................... 8
Figure 3: Use case Diagram of Billing System (Cashier) ...................................................... 9
Figure 4: Activity Diagram of the Billing System ............................................................... 10
Figure 5: Sequence Diagram of Login Process .................................................................... 11
Figure 6: Sequence Diagram of User Creation Process ....................................................... 12
Figure 7: Sequence Diagram for Creating Sales Bill ........................................................... 13
Figure 8: Sequence Diagram for Creating Purchase Bill ..................................................... 14
Figure 9: Sequence Diagram for Generating Sales Report .................................................. 15
Figure 10: Sequence Diagram for Generating Sales Report ................................................ 16
Figure 11: State Diagram of the Billing System .................................................................. 17
Figure 12: Context Diagram of Sales ................................................................................... 18
Figure 13: Context Diagram of Purchase ............................................................................. 19
Figure 14: Deployment Diagram ......................................................................................... 20
viii
EXECUTIVE SUMMARY
ix
CHAPTER I
INTRODUCTION
1.1 Introduction
In the dynamic landscape of modern business operations, the significance of a robust billing
system cannot be overstated. It serves as the backbone of financial transactions, offering a
seamless and efficient mechanism for generating sales and purchase bills. This pivotal tool
has been meticulously developed to not only simplify the often-intricate task of billing but
also to catalyze enhanced efficiency across various facets of business operations. With a
keen focus on the needs and challenges faced by businesses, this billing system represents a
transformative leap towards automating and optimizing financial processes.
At its core, this billing system is designed to expedite the billing process, making it more
streamlined and user-friendly. By harnessing cutting-edge technology, it eliminates the
traditional complexities associated with creating bills, reducing the chances of errors and
ensuring precision in financial documentation. The system's intuitive interface empowers
businesses of all scales to generate bills with remarkable ease, regardless of their industry or
sector.
Moreover, this billing system goes beyond the simple generation of bills. It acts as a
comprehensive repository, diligently recording sales and purchase transactions. This
archival feature not only ensures compliance with auditing requirements but also provides
invaluable insights into the financial health of the business. Through meticulous record-
keeping, businesses can track their cash flows, monitor expenses, and make informed
decisions to steer their growth trajectory.
In a rapidly evolving business environment, efficiency is the key to success, and this billing
system serves as a catalyst for achieving just that. By automating repetitive tasks and
minimizing the margin for human error, it frees up valuable time and resources that can be
redirected towards strategic initiatives. Businesses can optimize their processes, reduce
overhead costs, and ultimately improve their bottom line.
As businesses navigate the challenges of today's competitive landscape, this billing system
stands as a valuable ally, driving efficiency and empowering smarter decision-making for
sustained growth and success.
Currently, many businesses still rely on manual methods of invoicing, payment recording,
and customer account management, which can be time-consuming, prone to errors, and
difficult to keep track of. This can result in delayed payments, missed invoices, and poor
cash flow management. Therefore, there is a need for a centralized, automated platform to
manage billing information for businesses.
To address this problem, we propose the development of a Billing System using Java. The
system will provide users with a centralized, automated platform to manage their billing
information, including invoicing, payment recording, and customer account management.
The system will be designed to be easy to use and navigate, with a user-friendly interface. It
will also be secure and reliable, with user authentication and authorization.
1. Create Invoices: Users will be able to create invoices for their customers with automated
calculations.
2. Manage Customers: Users will be able to manage their customer's information, including
contact details, billing addresses.
3. Record Payments: The system will be able to record payments made by customers,
including the payment method used.
4. View Invoices: Users will be able to view a list of their invoices, including payment status
and due dates.
5. Reports: The system will be able to generate reports, such as a list of unpaid invoices,
sales reports, and customer statements.
By implementing the Billing System, businesses will be able to save time and reduce errors
in their billing processes. This will improve their cash flow management and ensure that they
are able to keep track of their invoicing and payment activities more effectively. Overall, the
proposed solution will enable businesses to manage their billing information in a more
efficient, automated, and centralized manner.
1.3 Objectives
1.4.1 Scope
1.4.2 Limitations
i. Only the developer has the capability to customize the entire system.
ii. Integrating the billing system with existing software and systems is complex and
time-consuming.
iii. Migrating existing sales and purchase data into the new system is challenging,
especially if the data is disorganized or incompatible with the system's format.
CHAPTER II
REQUIREMENT ANALYSIS
The requirement analysis process ensures a clear understanding of all aspects of the billing
system, guiding the development and implementation phases to meet the organization's
specific needs and objectives. The requirements analysis is broken down into two sections
namely functional requirements and non-functional requirements and they are described
below:
2.1 Functional Requirements
i. Generate Sales and Purchase Bill: The billing system has the capability to generate
sales and purchase bill. This bill will provide a detailed overview of the business's
purchase and sales transactions.
ii. Sales Report: The billing system has the ability to generate both sales and purchase
reports efficiently. Authorized users will have access to these features, allowing them
to select custom or predefined date ranges (such as daily or monthly). The generated
sales reports will include details like total revenue, transaction count, product-level
sales data, historical comparisons, sales trends, and tax information. Similarly,
purchase reports comprise total expenditure, transaction count, product-level
purchase information, historical comparisons, purchase trends, and tax data.
iii. Record Sales and Purchase Transactions: The billing system is also tasked with
efficiently recording both sales and purchase transactions. Authorized users will have
the capability to input and manage these transactions, including essential details such
as product/service information, quantity, unit price, customer/vendor information,
and payment methods.
iv. User authentication and authorization: User authentication and authorization are
fundamental aspects of the billing system's security and user access control.
Authorized users will undergo a secure authentication process, typically involving
usernames and strong, encrypted passwords. Once authenticated, users will be
subject to role-based authorization, ensuring that they can only access and perform
actions within the system that align with their designated roles and responsibilities.
Non-functional requirements define the characteristics and qualities that a system should
possess, aside from its specific functionality. Unlike functional requirements that focus on
what the system does, non-functional requirements focus on how the system performs and
behaves. Some non-functional requirements for food order system are listed below:
i. The system should have a user-friendly interface, intuitive navigation, and clear
instructions to ensure ease of use for all system users.
ii. The system should be compatible with various devices, operating systems, and web
browsers.
iii. The system should be highly reliable and available, minimizing downtime and
ensuring that data is consistently accessible.
iv. The system should ensure the accuracy, consistency, and integrity of customer and
staff data.
v. The system should be able to handle an increasing number of users, customer records,
and transactions as the restaurant grows without degrading performance.
Technical feasibility for a billing system involves evaluating whether the proposed system
can be developed, implemented, and integrated effectively within the existing technological
environment. It requires a thorough assessment of the technical aspects, including the
required hardware, software, and infrastructure. The first step is to ensure that the technology
stack chosen for development is compatible with the organization's current IT architecture
and aligns with its long-term technology strategy. Assessing scalability is crucial to
determine if the system can handle an increasing volume of transactions and data as the
business grows. Additionally, analyzing the performance and response time of the system
under varying loads is essential to guarantee optimal user experience.
CHAPTER III
SYSTEM DESIGN
System design is the phase in the software development or engineering process where
detailed specifications and plans are created for how a system or software application will
be constructed and implemented.
The class diagram for the billing system consists of four main classes: Vendor, User,
Customer, and Billing System. The Vendor class represents the system provider, while the
User class embodies individuals who interact with the system to generate bills for Customers.
Customers are represented in the Customer class, indicating the entities with whom business
transactions occur. Finally, the Billing System class encapsulates the core functionalities for
creating, storing, and managing bills. Associations between these classes illustrate how the
Vendor owns the system, Users utilize it to generate bills for Customers, and the link between
Users and Customers in the billing process, providing a visual overview of their relationships
within the system.
In the use case diagram for the billing system, the primary actor, the Admin User, holds key
responsibilities within the system. They can log in securely, create new users, initiate the
creation of both purchase and sales bills, and access detailed purchase and sales reports, as
well as historical transaction data. These functionalities empower the Admin User to
efficiently manage and monitor financial transactions within the organization. Regular
Users, an additional actor, can log in and extend the "Create Purchase Bill" and "Create Sales
Bill" use cases, allowing them to actively participate in the billing process under the guidance
of the Admin User. The "Print Bill" use case extends the "Create Bill" functionalities,
enabling Users to generate physical copies of bills. Overall, this use case diagram effectively
captures the interactions and responsibilities of the system's actors and illustrates the flow of
actions within the billing system.
An activity diagram is a type of UML (Unified Modeling Language) diagram used to model
and visually represent the flow of activities, actions, and behaviors within a system, process,
or workflow. Activity diagrams are versatile tools that help describe both high-level
processes and detailed procedural workflows in a clear and intuitive manner. Activity
diagrams are versatile tools that help describe both high-level processes and detailed
procedural workflows in a clear and intuitive manner. They are particularly useful for
business process modeling, software system design, and understanding complex workflows
10
• The "User" actor provides their credentials to the "User Interface" module.
• The "User Interface" module sends the provided credentials to the "Database"
module for verification.
• The "Database" module verifies the credentials.
• If the credentials are valid, the "Database" sends a verification successful message to
the "User Interface," which in turn notifies the "User" that the login is successful.
• If the credentials are invalid, the "Database" sends a verification failed message to
the "User Interface," which then notifies the "User" that the login has failed.
11
12
• The User requests the creation of a sales bill through the "User Interface" by
providing customer details, particulars, quantity, price, and payment mode.
• The "Billing System" calculates the total price, including VAT, based on the
provided information.
• The sales bill is stored in the Database.
• The "Billing System" acknowledges the creation of the sales bill and proceeds to
print it.
• The Printer prints the sales bill.
• The "Billing System" informs the "User Interface" that the sales bill has been printed.
• The "User Interface" notifies the User that the sales bill is ready.
13
• The User requests the creation of a purchase bill through the "User Interface" by
providing party details, particulars, quantity, price, and payment mode.
• The "Billing System" calculates the total price, including VAT, based on the
provided information.
• The purchase bill is stored in the Database.
• The "Billing System" acknowledges the creation of the purchase bill and proceeds to
print it.
• The Printer prints the purchase bill.
• The "Billing System" informs the "User Interface" that the purchase bill has been
printed.
• The "User Interface" notifies the User that the purchase bill is ready.
14
15
16
A state diagram, also known as a state machine diagram, is a type of UML (Unified Modeling
Language) diagram used to model and visually represent the various states and transitions
that an object, component, or system can undergo during its lifecycle or in response to
external events.
17
CHAPTER IV
Context diagrams show the interactions between a system and other actors (external factors)
with which the system is designed to interface. System context diagrams can be helpful in
understanding the context which the system will be part of.
The Customer initiates the process by making a payment for a purchase. This payment
transaction is external to the billing system but triggers a series of actions within it. The User,
who interacts with the billing system, receives the payment from the Customer and adds
essential details such as customer information and product details to the system. This data
entry step is crucial for generating accurate bills and maintaining records.
18
Next, the billing system takes over, performing calculations to determine the total quantity
and price for the items purchased. Simultaneously, it stores a record of this transaction in its
database, ensuring that a comprehensive history of sales is maintained for future reference
and reporting purposes.
As the final step, the billing system generates the bill, incorporating the calculated details
and transaction specifics. This bill is sent to the Printer, an external component. The User
retrieves the printed bill from the Printer and provides it to the Customer. This physical copy
of the bill serves as a formal record of the transaction, offering transparency and
documentation for both the business and the Customer.
The Supplier initiates the purchase process by supplying goods to the Vendor. This external
action is essential to maintaining inventory and facilitating sales. The Vendor, acting as an
intermediary, receives the goods from the Supplier.
Once the goods are received, the User, who interacts with the billing system, plays a pivotal
role. They add detailed information about the received products, including product
19
descriptions and prices, into the system. This step is crucial for accurate inventory
management and later billing.
With the product information entered, the billing system calculates the total amount due to
the Supplier for the goods received. Simultaneously, it generates a purchase bill, reflecting
the details of the transaction.
A deployment diagram in the Unified Modeling Language models the physical deployment
of artifacts on nodes. To describe a web site, for example, a deployment diagram would show
what hardware components exist, what software components run on each node, and how the
different pieces are connected.
20
The deployment diagram for the billing system delineates a three-tier architecture
comprising the Client Tier, Application Tier, and Data Tier. In the Client Tier, the billing
software interface resides, facilitating user interactions. Communication with the
Application Tier is established through local function calls and shared memory, ensuring
rapid and efficient data exchange. The Application Tier consists of a Business Logic Layer,
responsible for processing and managing billing operations, and a Data Access Layer, which
facilitates interaction with the Data Tier. Local socket communication links the Application
Tier with the Data Tier, where SQL Server stored procedures are hosted. This separation of
tiers and well-defined communication channels allows for scalability, maintainability, and
robustness in the billing system's architecture, ensuring smooth operation and effective
management of billing processes.
• Backend Logic: Java is employed to develop the backend logic of the billing system.
This includes implementing the business rules, calculations, and data processing
functions required for creating bills, handling transactions, and managing user
interactions.
• User Interfaces: Java allows for the creation of user-friendly interfaces for
administrative users. Graphical User Interfaces (GUIs) of the billing system is
designed using Java's Swing or JavaFX libraries, providing a seamless and intuitive
experience for users during bill creation and management.
efficiently. These stored procedures are especially valuable for generating bills,
performing financial calculations, and aggregating data for reports.
4.3 Testing
Testing in software engineering is a crucial phase of the software development life cycle
(SDLC) that involves systematically evaluating a software application or system to ensure
that it meets its specified requirements, functions correctly, and behaves as expected. Testing
plays a pivotal role in delivering high-quality software that is reliable, secure, and free from
defects
Test Case
Test Scenario ID TS001 ID TC001
To verify that the user can
Test Case successfully login to the Test
High
Description system using valid Priority
credentials.
Only authenticated
No credentials are Post-
Pre-Requisite users are allowed to
currently logged in Requisite
access the system
Expected
S.No Action Inputs Actual Output
Output
Launch
1 Login Page
system
22
Enter Email:
invalid user@gma
email and il.com
password Password:
Incorrect
and press Admin123
2 username
login button
and password
Test Case
Test Scenario ID TS001 ID TC002
23
The user
An input from to enter the Post- information is
Pre-Requisite
user details Requisite stored in the
database.
Expected
S.No Action Inputs Actual Output
Output
Name:
Testing
Username:
Enter user test123 Create User
1
details Password: Page
******
User Role:
Cashier
System Testing is a crucial phase in the software testing process that focuses on evaluating
a complete and fully integrated software system. It is conducted to ensure that the entire
24
software application, encompassing all its components, functions, and interfaces, meets its
specified requirements and performs as expected within its intended environment.
Test Case
Test Scenario ID TS001 ID TC003
Expected
S.No Action Inputs Actual Output
Output
Party Name:
ABC Traders
Party PAN:
123456
Address:
Kathmandu
Create
Enter sales Payment
1 User
information Mode: Cash
Page
Transaction
Date: 2023-09-
24
Product
Details
25
Button on Saved
2
Successf
ully
26
CHAPTER V
CONCLUSION
5.1 Discussions
5.2 Conclusion
In conclusion, the billing system project has successfully achieved its core objectives,
demonstrating its effectiveness in streamlining and enhancing various aspects of financial
management within the organization. First and foremost, the development of a user-friendly
interface has significantly improved the efficiency of creating sales and purchase bills.
Automation of calculations and invoice generation has not only reduced the risk of manual
errors but has also considerably reduced processing time, ultimately boosting productivity
and accuracy.
Furthermore, the establishment of a centralized repository for sales and purchase records has
provided a structured and organized approach to data management. This repository serves as
a valuable resource for maintaining transaction history, facilitating audits, and ensuring data
consistency across the organization.
Lastly, the inclusion of reporting and analytics features has added a layer of intelligence to
the billing system. Vendors can now access key financial metrics such as revenue, expenses,
27
and profit margins, enabling them to make informed decisions and gain valuable insights
into their financial performance. This empowers vendors to optimize their business
strategies, identify areas for improvement, and ultimately drive growth and profitability.
In essence, the billing system project has not only simplified and accelerated billing
processes but has also transformed financial management into a more data-driven and
insightful endeavor. It stands as a testament to the power of technology in enhancing business
operations and decision-making, ultimately contributing to the success and efficiency of the
organization.
28
REFERENCES
Smith, A., & Brown, C. (2019). Design and Implementation of an Efficient Billing System. In
Proceedings of the International Conference on Information Systems (ICIS), 123-134.
Zhang, M., & Lin, S. (2018). An Improved Billing System for Cloud Computing. IEEE
Transactions on Cloud Computing, 6(3), 678-691.
29