Abstract – Science and technology with all its fascinating advancements has been taking human life standards to the next level. The whole world will be literally jammed without these innovations. This project is an innovation, which makes the way of paying electricity bill simple compared to other existing projects. This project has been implemented using Java Swing as front end and MySQL as back end. The purpose of the project is to build an application program to reduce the manual work for managing the amount of units consumed by the customers and generating the electricity bill according to the type of customer – individual or commercial. It displays the details of the customers, units consumed by them and bill history. It enables them pay their bill if not paid. The date of payment will be updated while paying the bill. It maintains error free database and easily incorporates the future developments and changes.Keywords: Java Swing, MySQL, Electricity bill, Type of customer, Bill history, Bill payment.I. INTRODUCTIONIt is a new concept of paying electricity bill using Java Swing and MySQL, where the other existing methods of electricity bill management use Java, PHP, Python, C#, MS Access server. This system is made to keep the records about the bills of the customers. The administrator can manage all the accounts; the registered users like individual customers, commercial customers can only manage their own accounts and they cannot see any details of other customers. This system helps in maintaining the bill and payments. There are four modules namely Registration, Login, Admin and Billing screen.II. SOFTWARE DESCRIPTIONA. JAVAJava is a computer language with a difference. It is a purely object oriented. It has having many features of C++. It can also say that this may be a complete language available today. This language can be used for doing web-based programs. Java supports• Data abstraction and encapsulation.• Inheritance.• Polymorphism.• Dynamic binding.B. BENEFITS AND APPLICATION OF OOPSSince oops supports inheritance and polymorphism, it eliminates redundant codes and extend the use of existing classes. Therefore, we can build the programs on a classic working model. This saves development of time and disc space. This ensures higher productivity. Data hiding helps the programmer to build secure applications. It is easy to have multiple objects to coexist and better possibility of up gradation. Software complexity can easily manage. Following are the features of java.• Compiled and interpreted.• Platform in depended and portable• Object oriented• Robust and secure• Distributed• Familiar, simple and small• Multithreaded and interactive• High performance• Dynamic and extensibleJava compiler compiles and interprets the source code, and generates machine code that can be directly run by the JRE. Since this code is platform independent it can be ported to any system we use or work on. This feature enables the programmer to develop browser programs. Actually, java provides unlimited number of cacheable applets and applications.Each and every thing in java is represented in objects. All the data and objects are rests inside the objects and classes. Java provides many safeguards, it has strict run time and compile time checking, security issue is more concerned for the programming people. Java provides safeguards to code written it is designed as garbage collected language relieving the programmers virtually all memory management problems.C. JAVA SWINGSwing API is a set of extensible GUI Components to ease the developer’s life to create JAVA based Front End/GUI Applications. It is built on top of AWT API and acts as a replacement of AWT API, since it has almost every control corresponding to AWT controls. Swing component follows aModel-View-Controller architecture to fulfill the following criteria.• A single API is to be sufficient to support multiple look and feel.• API is to be model driven so that the highest level API is not required to have data.• API is to use the Java Bean model so that Builder Tools and IDE can provide better services to the developers for use.MVC ArchitectureSwing API architecture follows loosely based MVC architecture in the following manner.• Model represents component’s data.• View represents visual representation of the component’s data.• Controller takes the input from the user on the view and reflects the changes in Component’s data.Swing Features• Light Weight ? Swing components are independent of native Operating System’s API as Swing API controls are rendered mostly using pure JAVA code instead of underlying operating system calls.• Rich Controls ? Swing provides a rich set of advanced controls like Tree, Tabbed Pane, slider, color picker, and table controls.• Highly Customizable ? Swing controls can be customized in a very easy way as visual appearance is independent of internal representation.• Pluggable look-and-feel ? SWING based GUI Application look and feel can be changed at run-time, based on available values.D. MYSQLMySQL is the most popular Open Source Relational SQL Database Management System. MySQL is one of the best RDBMS being used for developing various web-based software applications.RDBMSA Relational Data Base Management System (RDBMS) is a software that• Enables us to implement a database with tables, columns and indexes.• Guarantees the Referential Integrity between rows of various tables.• Updates the indexes automatically.• Interprets an SQL query and combines information from various tables.RDBMS Terminology• Database ? A database is a collection of tables, with related data.• Table ? A table is a matrix with data. A table in a database looks like a simple spreadsheet.• Redundancy ? Storing data twice, redundantly to make the system faster.• Primary Key ? A primary key is unique. A key value cannot occur twice in one table. With a key, we can only find one row.• Foreign Key ? A foreign key is the linking pin between two tables.• Compound Key ? A compound key (composite key) is a key that consists of multiple columns, because one column is not sufficiently unique.• Referential Integrity ? Referential Integrity makes sure that a foreign key value always points to an existing row.III. FLOW CHARTFigure 1: Flow ChartIV. MODULE DESCRIPTIONA. REGISTRATIONThis screen contains various fields like first name, last name, address line1, address line2, city, state, pin code, contact number, type of customer, username, password. At first, administrator should also register his/her details. Choices for the type of customer are admin, individual and commercial. If any field is left empty, a pop-up will be displayed after submission. After the successful submission of the details, a message named “Successfully registered” will be displayed and login screen will appear.Figure 2: Registration ScreenB. LOGINThis screen contains various fields like username and password. There are two different buttons called login and signup. A user has to register his/her details to use this scheme. If he/she has already registered, only he has to login using username and password, which he/she has entered during registration. If the user is an administrator, admin screen will be displayed. If the user is an individual customer or a commercial customer, billing screen will be displayed. This will happen because of the following inward processes. Once the user has logged in, type of customer will be fetched from the database by comparing the username and password entered. Based on the type of customer the required screen will be called.Figure 3: Login ScreenC. ADMINISTRATORAfter the administrator has logged in, admin screen will be displayed. This screen contains various fields like user id, units consumed, month and year. Administrator has to fill the details of the above fields. He knows only the user id of the customer. Bill amount will be calculated depending upon the type of customer using the units entered by administrator. There will be different types of tariffs for different types of customers. Administrator has to update the details every month.Figure 4: Admin ScreenD. CUSTOMER BILLThe fields in the billing screen include details of the customer, latest bill information, bill history, logout button. Every field is displayed using panel. So, totally four panels are employed.Details of the customer, which is in the first panel include name, address, contact number and type of customer.Latest bill information, which is in the second panel displays the bill details of current month and pay button.If the user has already paid, pay button will not be enabled. If user has not paid, he/she can pay by clicking the pay button.Bill history which is in the third panel includes columns such as year, month, payment date, payment status and units consumed. Once the user has paid the bill amount, payment date and payment status will be updated.Logout button is placed in fourth panel. The layout used in this billing screen is Grid layout.Figure 5: Customer Bill ScreenV. TOOLS USEDA. NETBEANSNetBeans is a software development platform written in Java. The NetBeans Platform allows applications to be developed from a set of modular software components called modules. The NetBeans IDE is primarily intended for development in Java, but also supports other languages, in particular PHP, C/C++ and HTML5. NetBeans is cross-platform and runs on Microsoft Windows, macOS, Linux, Solaris and other platforms supporting a compatible JVM.B. FEATURES OF NETBEANSMavenAround the world, a key term that comes up repeatedly in the context of NetBeans is “Maven”. The fact that no plugins need to be installed to use Maven and that Maven projects do not need to be imported, but can simply be opened, is a key feature appreciated by NetBeans user.Out of the boxA key feature of NetBeans is the short time difference between installing it and beginning to create meaningful applications in it. Despite its significant plugin ecosystem, not much is needed to be installed or configured, since everything is available “out of the box” as soon as we start it up.Java EditorThe language-aware NetBeans editor detects errors while we type and assists us with documentation popups and smart code completion – all with the speed and simplicity of the lightweight text editor. Of course, the Java editor in NetBeans is much more than a text editor – it indents lines, matches words and brackets and highlights source code syntactically and semantically.Java EENetBeans tools for the Java EE platform are developed in close cooperation with the Java EE, Glass Fish, and Web Logic teams to provide the tightest integration and easiest possible use of the Java EE specification.Internet of ThingsDirectly from NetBeans, we can create, test, debug, deploy, and profile applications that will run on the Raspberry Pi, mobile phones, PDAs, set-top boxes, and other mobile and embedded systems.ConfigurabilityThe NetBeans workspace can easily be modified. We can customize the buttons in the toolbar or drag and reposition tabs in the application frame to suit our individual workflow and undock tabs and drag them outside the application frame, even onto a different monitor and change keyboard shortcuts to match our own preferencesGit and MercurialWithout requiring to install any plugins, NetBeans automatically lets us work easily and intuitively with a wide range of popular versioning systems, specifically Git, Mercurial, and Subversion..VI. CONCLUSIONElectricity Bill Management System using Java Swing and MySQL has been developed with the help of NetBeans IDE effectively. It is simple and user friendly. Since this system is implemented in Java, it is platform independent. It has wide scope for future expansion. All the manual as well as paper works can be fully eliminated in the billing branch. The accuracy and reliability are surely increased. It makes sure that unauthorized personal cannot execute this program. This system provides secured processing without any threats.REFERENCES1. Mobile Based Electricity Billing System (MoBEBIS)-M.R.M.S.B. Rathnayaka, I.D.S. Jayasinghe, EnitJayanth, S.I Swarnajith M.A.S.C.Manamendra, G.Wimalaratne, International Journal of Scientific and Research Publications, Volume 3, Issue 4, April 2013 5 ISSN 2250-3153.2. Electricity Power Bill Management System Project Report, http://ignousupport.blogspot.in/p/electricity-power-bill-management.html.3. Payment Billing Product Project | JSP Projects – javatpoint, https://www.javatpoint.com/payment-billing-product-project.4. Modernization of Metering, Billing and CollectionSystem, the Customer Relationship Management-Tripta Thakur, Gayatri Agnihotri and Chaturbhuj Ahirwar,Indian Institute of Technology, Kharagpur 721302,December 27-29, 2002.5. Automatic Electric Bill Generation System-Syed Assra Shah, Bachelor of Engineering (ECE), University Of Kashmir J, Srinagar, India, IOSR Journal of Electronics and Communication Engineering (IOSR-JECE),e-ISSN: 2278-2834,p- ISSN: 2278-8735.Volume 12, Issue 4, Ver. III (Jul.-Aug. 2017), PP 75-79.