Project Report
Project Report
SUPERVISOR CERTIFICATE
This project is entitled “Electricity Billing System” is bona fide work submitted by “Mr.
Adarsh Raj –12001086” for partial fulfilment of BCA ((Bachelor of Computer
Applications) Semester 6th by DAV University, Jalandhar during the academic session
January 2023 to May2023.
Assistant Professor
DAV University,
Jalandhar
STUDENT DECLARATION
This is to clarify that the project is entitled “Electricity Billing System” completed during
the session January 2023 to May 2023 for BCA (Bachelor of Computer Applications)
degree is a bona fide piece of work and all the sources used to complete the project are
duly acknowledged. In case the project report or any part of it, is found to be a copied or
quoted without reference, I shall be solely held accountable for the repercussions arising
there from.
Course: BCA
ACKNOWLEDGMENT
With immense pleasure, we are presenting the "Electricity Billing System" Project report
as part of the curriculum of 'Bachelor of Computer Application'. We wish to thank all the
people who gave us unending support.
I/we express my / our profound thanks to my project guide “Dr. Rajdeep Kaur” project
in-charge Prof. “Dr. Arvind Mahindru” and all those who have indirectly guided and
helped us in the preparation of this project.
Guidance and deadlines play a very important role in the successful completion of the
project on time. We also convey our gratitude to our internal project guide “Dr. Rajdeep
Kaur”, for having constantly guided the development of the project.
Finally, a note of thanks to the Department of Computer Science & Applications, both
teaching and non-teaching staff for their cooperation extended to us. We thank our parents
for their constant support and encouragement. Last, but not least, we would like to thank
our peers and friends.
ADARSH RAJ
TABLE OF CONTENTS
7. Conclusion 48
8. Future Scope 49
9. Reference 50
LIST OF FIGURES
LIST OF TABLES
ABSTRACT
Electricity consumers are often faced with the problem of inaccuracy and delay in
monthly billing due to some drawbacks. Thus, it is essential to have an efficient system
for such purposes via electronic platform with consideration to proximity. The proposed
system automates the conventional process of paying electricity bill by visiting the
Electricity Board which is tiresome and time consuming. It is also designed to automate
the electricity bill calculation and payment for user convenience. The system is developed
with Java swings as the base programming language which can be used to develop
websites, web applications and web services. The Microsoft Structured Query Language
(SQL) server is also used for creating back-end database. The system would be having
two logins: the administrative and user login. The administrator can view the user's
account details and can add the customer's information of consuming units of energy of
the current month in their account. The Admin must feed the system with the electricity
usage data into respective user’s account. The system then calculates the electricity bill
for every user and updates the information into their account every month. Users can then
view their electricity bill and pay before the month end.
CHAPTER 1
INTRODUCTION
Electricity Billing System is a software-based application.
To design the billing system more service oriented and simple, the following features
have been implemented in the project. The application has high speed of performance
with accuracy and efficiency.
The software provides facility of data sharing, it does not require any staff as in the
conventional system. Once it is installed on the system only the meter readings are to be
given by the admin where customer can view all details, it has the provision of security
restriction.
The electricity billing software calculates the units consumed by the customer and makes
bills, it requires small storage for installation and functioning. There is provision for
debugging if any problem is encountered in the system.
The system excludes the need of maintaining paper electricity bill, administrator does not
have to keep a manual track of the users, users can pay the amount without visiting the
office. Thus, it saves human efforts and resources.
1.1 Preamble
We, the owners of our project, respect all customers and make them happy with our
service.
The main aim of our project is to satisfy customer by saving their time by payment
process, maintaining records, and allowing the customer to view his/her records and
permitting them to update their details.
The firm handles all the work manually, which is very tedious and mismatched.
The manual system is suffering from a series of drawbacks. Since whole of the bills is to
be maintained with hands the process of keeping and maintaining the information is very
tedious and lengthy to customer. It is very time consuming and laborious process because,
staff need to be visited the customers place every month to give the bills and to receive the
payments. For this reason, we have provided features Present system is partially
automated(computerized), existing system is quite laborious as one must enter same
information at different places.
❖ This project system excludes the need of maintaining paper electricity bill as all the
electricity bill records are managed electronically.
❖ Administrator doesn't have to keep a manual track of the users. The system
automatically calculates fine.
❖ Users don't have to visit to the office for bill payment.
❖ There is no need of delivery boy for delivery bills to user's place.
❖ Thus, it saves human efforts and resources.
CHAPTER 2
The conventional system of electricity billing is not so effective; one staff must visit each
customer’s house to note the meter readings and collect the data. Then, another staff must
compute the consumed units and calculate the money to be paid. Again, the bills prepared
are to be delivered to customers. Finally, individual customer must go to electricity office
to pay their dues.
Hence, the conventional electricity billing system is uneconomical, requires many staffs to
do simple jobs and is a lengthy process overall. In order to solve this lengthy process
billing, a web based computerized system is essential. This proposed electricity billing
system project overcomes all these drawbacks with the features. It is beneficial to both
consumers and the company which provides electricity.
With the new system, there is reduction in the number of staffs to be employed by the
company. The working speed and performance of the software is faster with high
performance which saves time. Furthermore, there is very little chance of miscalculation
and being corrupted by the staffs.
Hardware Requirements:
Software Requirements:
CHAPTER 3
Database design is one of the most important factors to keep in mind if you are concerned
with application performance management. By designing your database to be efficient in
each call it makes and to effectively create rows of data in the database, you can reduce the
amount of CPU needed by the server to complete your request, thereby ensuring a faster
application.
A Data Flow Diagram (DFD) is a traditional visual representation of the information flows
within a system. A neat and clear DFD can depict the right amount of the system
requirement graphically. It can be manual, automated, or a combination of both.
It shows how data enters and leaves the system, what changes the information, and where
data is stored.
The objective of a DFD is to show the scope and boundaries of a system as a whole. It may
be used as a communication tool between a system analyst and any person who plays a part
in the order that acts as a starting point for redesigning a system. The DFD is also called as
a data flow graph or bubble chart.
It provides an overview of
BILL
MANAGEMENT
CONNECTION CUSTOMER
MANAGEMENT MANAGEMENT
ELECTRICITY
BILLING
SYSTEM
PAYMENT
MANAGEMENT SYSTEM USER
MANAGEMENT
LOGIN
MANAGEMENT
An entity relationship diagram (ERD) shows the relationships of entity sets stored in a
database. An entity in this context is an object, a component of data. An entity set is a
collection of similar entities. These entities can have attributes that define its properties.
There are two reasons to create a database diagram. You’re either designing a new schema
or you need to document our existing structure.
If you have an existing database you need to document, you create a database diagram
using data directly from your database. You can export your data base structure as a CSV
file (there are some scripts on how to do this here), then have a program generate the ERD
automatically.
Figure 3.1.1 describes the ER diagram of Electricity Billing System. It has 5 entities namely
login, customer, tax, bill, and meter info. The entities have attributes which are primary
and foreign and attributes. The primary attributes are underlined.
ER Diagram:
A primary key is a table column that can be used to uniquely identify every row of the
table. Any column that has this property, these columns are called candidate key. A
composite primary key is a primary key consisting of more than one column. A foreign is
a column or combination of columns that contains values that are found in the primary key
of some table.
All the attributes of each table are interconnected by foreign key which is primary key in
another column and composite key. Primary key cannot be null. The fact that many foreign
key values repeat simply reflects the fact that its one-to-many relationship. In one-to-many
relationship, the primary key has the one value and foreign key has many values.
Figure 3.1.2 is a Schema diagram of Electricity Billing System which has six tables i.e.,
login, customer, tax, rent, bill, and meter_info where each table contain attributes some
with primary key, foreign key. In the login table there are 6 attributes "meter_no”,
"username”, “password”, "user”, "question”, "answer”. The customer table has 7 attributes
"name”, "meter_no"(primary key), "address”, "city”, "state”, “email”, "phone”. The rent
table has 3 attributes "cost_per_unit"(primary key), " meter_rent”, "service_charge". The
tax table has 3 attributes " service_tax”, "swacch_bharat_cess”, "gst”. The bill table has 5
attributes "meter_no"(foreign key that references the primary key of the customer table
meter_no), "month”, "units”,"total_bill”, "status”. The meter_info table has 6 attributes
"meter_no"(foreign key that references the primary key of the customer table meter_no),
"meter_location”, "meter_type”, "phase_code”, " bill_type”, "days ".
Schema Diagram:
Login
Meter No Username Password User Question Answer
Customer
Name Meter Address City State Email Phone
No
Rent
Cost Per Unit Meter Rent Service Rent
Tax
Service Tax Swacch bharat cess GST
Bill
Meter No Month Units Total Bill Status
Meter
Info No Meter
Meter Meter Phase Bill Type Days
Location Type Code
Figure 5 is a Schema diagram of the Electricity Billing System which has six tables i.e.,
login, customer, tax, rent, bill, and meter_info where each table contains attributes some
with a primary key, foreign key. In the login table, there are 6 attributes "meter_no",
"username", "password", "user", "question", and "answer". The customer table has 7
attributes "name”, "meter_no"(primary key), "address”, "city”, "state”, "email", and
"phone". The rent table has 3 attributes "cost_per_unit"(primary key), " meter_rent”, and
"service_charge". The tax table has 3 attributes " service_tax”, "swachh_Bharat_cess", and
"GST". The bill table has 5 attributes "meter_no"(foreign key that references the primary
key of the customer table meter_no), "month”, "units”,"total_bill”, "status”. The
meter_info table has 6 attributes "meter_no"(foreign key that references the primary key
of the customer table meter_no), "meter_location”, "meter_type”, "phase_code”, "
bill_type”, "days ".
3.2 Normalization
Let’s discuss about anomalies first then we will discuss normal forms with examples.
Anomalies in DBMS There are three types of anomalies that occur when the database is
not normalized. These are –Insertion, update and deletion anomaly.
Customer
CHAPTER 4
IMPLEMENTATION
❖ Adding Customer: Here admin can add new customer to the customer list who
started using electricity bill system.
❖ Searching Deposit Details: Here admin can search according to meter number and
month to view deposit details.
❖ Viewing Details: Here admin and user can view customer details and about details.
❖ Adding Tax: Here admin can add tax details.
❖ Updating Customer: Here customer can update his/her details by using meter_no
of the customer.
❖ Delete Customer: Here admin can delete details based on meter number.
Insert statement:
Update statement:
• An SQL UPDATE statement changes the data of one or more records in a table.
Either all the rows can be updated, or a subset may be chosen using a condition.
• The UPDATE syntax would be as follows: UPDATE table_name SET
column_name =value, column_name=value... [WHERE condition].
• The following SQL statement update's a new record in the “customer” table:
UPDATE TABLE customer SET email= [email protected] WHERE meter_no
=”12345”.
Delete statement:
Create statement:
• The CREATE TABLE Statement is used to create tables to store data. Integrity
Constraints like primary key, unique key, foreign key can be defined for the
columns while creating the table.
• The syntax would be as follows: CREATETABLE table_name (column1datatype,
column2datatype, column3 datatype, columnN datatype, PRIMARY KEY (one or
more columns)).
➢ The following SQL statement creates a table “customer” table: create table
customer (name varchar (30), meter_no varchar (20) primary key, address
varchar (50), city varchar (20), state varchar (30), email varchar (30), phone
varchar (30));
➢ The following SQL statement creates a table “login” table: create table login
(meter_no varchar (30), username varchar (30), password varchar (30), user
varchar (30), question varchar (40), answer varchar (30));
➢ The following SQL statement creates a table “tax” table: create table tax
(cost_per_unit int (20) primary key, meter_rent int (20), service_charge int
(20), service_tax int (20), swacch_bharat_cess int (20), gst int (20));
➢ The following SQL statement creates a table “bill” table: create table bill
(meter_no varchar (20), foreign key(meter_no) references
customer(meter_no) on delete cascade, month varchar (20), units int (20),
total_bill int (20), status varchar (40));
➢ The following SQL statement creates a table “meter_info” table: create
table meter_info (meter_no varchar (30), foreign key(meter_no) references
customer(meter_no) on delete cascade, meter_location varchar (10),
meter_type varchar (15), phase_code int (5), bill_type varchar (10), days int
(5));
✓ Start system
✓ Enter login name and password
✓ On clicking the login button
✓ Connect to database
✓ Query database to know whether user credentials are correct
✓ If not, deny access and return login page with an error message
✓ If correct, check if credentials for administrator
✓ If yes, allow login
✓ Set admin session, re-direct administrator to admin login page
✓ If no, allow login set user session
✓ Re-direct user to user home page
Login:
• This program will allow the admin to enter the username and password.
• If the entered credentials are correct, then the login will be successful otherwise
need to be signup.
• If admin forgets password, it can be retrieved by giving username and answer for
security question.
• After successful login the admin will be redirected to admin portal page where
he/she can do following activities.
NewCustomer:
• This program will allow the admin to enter the customer details and automatically
generates unique meter number.
• If customer name, address, city, state, email and phone number is entered, insert the
values into customer
while next=true
Submit the details of customer that has been entered by clicking onto next button.
• If we need to cancel the particulars that has been entered click onto cancel option.
• If we need to submit the particulars that has been entered click onto submit option.
CustomerDetails:
DepositDetails:
• This program will allow the admin to view bill details. If we need to sort the
particulars based on meter_no and month.
• If we need to search the particulars that has been viewed click onto search option.
• If we need to print the particulars that has been viewed click onto print option.
TaxDetails:
• This program will allow the admin to add tax details. insert the values into tax
else print error
Submit the details of tax that has been entered by clicking onto submit button.
• If we need to cancel the particulars that has been entered click onto cancel option.
CalculateBill:
• This program will allow the admin to calculate total_bill when units consumed are
inserted where meter_no and month is selected.
Submit the details of tax that has been entered by clicking onto submit button.
• If we need to cancel the particulars that has been entered click onto cancel option.
DeleteBill:
• This Program will allow the admin to delete the customer info when meter_no is
selected.
• If we need to delete the particulars that has been saved click onto delete option.
• If we need to cancel the particulars that has been entered click onto back option.
About:
• This program will allow the admin to view details of the project in short.
• If we need to exit the particulars that has been viewed click onto exit option.
Login:
• This program will allow the customer to enter the username and password. If the
entered credentials are correct, then the login will be successful otherwise need to
be signup with the meter_no which is given by admin.
• If customer forgets password, it can be retrieved by giving username and answer
for security question. After successful login the customer will be redirected to
customer portal page where he/she can do following activities.
UpdateInfo1:
• This program will allow the customer to update the customer details. If customer
address, city, state, email and phone number is updated, update the values into
customer else print error, update the details of customer that has been updated by
clicking onto update button.
• If we need to cancel the particulars that has been updated, click onto back option.
ViewInfo:
• This program will allow the customer to view his/her own details.
• If we need to go back from the particulars that has been viewed click onto back
option.
PayBill:
• This program will allow the customer to view bill details and redirects to pay
• The bill where status will be updated.
• If we need to cancel the particulars that has been viewed click onto back option.
• If we need to pay the bill amount that has been viewed click onto pay option.
BillDetails:
GenerateBill:
• This program will allow the customer to generate bill when meter_no and month is
selected.
• Generate the details by clicking on generatebill button.
About:
• This program will allow the customer to view details of the project in short.
• If we need to exit the particulars that has been viewed click onto exit option.
NOTE: Utility (notepad, browser, calculator), query and logout are given to both customer
and admin portals.
CHAPTER 5
TESTING
This chapter gives the outline of all the testing methods that are carried out to get a bug
free application.
Different levels of testing are used in the testing process; each level of testing aims to test
different aspects of the system. The basic levels are unit testing, integration testing, system
testing and acceptance testing.
Unit testing focuses verification effort on the smallest unit of software design the module.
The software built, is a collection of individual modules. In this kind of testing exact flow
of control for each module was verified. With detailed design consideration used as a guide,
important control paths are tested to uncover errors within the boundary of the module.
The second level of testing is called integration testing. In this, many class-tested modules
are combined into subsystems, which are then tested. The goal here is to see if all the
modules can be integrated properly. We have been identified and debugged.
Here the entire application is tested. The reference document for this process is the
requirement document, and the goal is to see IF the application meets its requirements.
Each module and component of ethereal was thoroughly tested to remove bugs through a
system testing strategy. Test cases were generated for all possible input sequences and the
output was verified for its correctness.
Step 2.1 The screen appears when the A window for generating bill,
customer login and selects any one update customer details, view
of the menus from the click of the details, generating bill
mouse
CHAPTER 6
6.1 TABLES:
The given below table is a snapshot of backend view of the localhost and the structures of
the tables present in Electricity Billing System. The tables present are login, customer, tax,
bill, meter_info.
✓ The login is used to store the details of login’s admin and customer with meter_no.
✓ The customer is used to store details of customer.
✓ The tax is used to store tax values.
✓ The rent is used to store rent values.
✓ The bill is used to store details of bill of meter.
✓ The meter_info is used to store information of meter placed.
✓
Login Table:
Customer Table:
Tax Table:
Bill Table:
Meter_Info Table:
6.2 SNAPSHOTS:
CONCLUSION
After all the hard work is done for electricity bill management system is here. It is a
software which helps the user to work with the billing cycles, paying bills, managing
different DETAILS under which are working etc.
This software reduces the amount of manual data entry and gives greater efficiency. The
User Interface of it is very friendly and can be easily used by anyone.
It also decreases the amount of time taken to write details and other modules.
• Extensibility: This software is extendable in ways that its original developers may not
expect. The following principles enhances extensibility like hide data structure, avoid
traversing multiple
Links or methods avoid case statements on object type and distinguish public and private
operations.
Sharing of newly written code within a project and reuse of previously written code on new
projects.
• Understand ability: A method is understandable if someone other than the creator of the
method can understand the code (as well as the creator after a time lapse). We use the
method, which small and coherent helps to accomplish this.
• Cost-effectiveness: Its cost is under the budget and make within given time period. It is
desirable to aim for a system with a minimum cost subject to the condition that it must
satisfy the entire requirement.
Scope of this document is to put down the requirements, clearly identifying the information
needed by the user, the source of the information and outputs expected from the system.
LIMITATIONS:
REFERENCE
Book Reference
Websites
➢ http://www.github.com
➢ https://www.youtube.com/watch?v=iWitVuW2D1o&t=4s
➢ www.stackoverflow.com
➢ www.google.com
➢ http://www.javatpoint.com/
➢ https://www.geeksforgeeks.org/
➢ https://netbeans.apache.org/download/nb17/
➢ https://www.mysql.com/downloads/