PRESIDENCY THE INTERNATIONAL SCHOOL
BHIWADI, KHAIRTHAL TIZARA, RAJASTHAN
COMPUTER SCIENCE (083)
PROJECT REPORT ON
PAYROLL MANAGEMENT SYSTEM
ACADEMIC SESSION: 2025-26
SUBMITTED TO: SUBMITTED BY:
MS. NEETU PATEL NAME- PranavSinghal
(PGT Computer Science) CLASS - XII C
ROLL NO - 12320
CERTIFICATE
This is to certify that the project work titled “Payroll
Management System” has been successfully
completed by Pranav Singhal, student of Class XII, in
partial fulfilment of the requirements for the Computer
Science practical examination, as prescribed by the
Central Board of Secondary Education (CBSE) for the
academic year 2025 – 26.
The project has been carried out under my supervision
and is the original work of the student.
Principal :
Ms. Shalini Malhotra
Date :
Internal Examiner: External Examiner :
Ms. Neetu Patel Name:
(PGT Computer Science) Designation :
Sign : Sign :
ACKNOWLEDGEMENT
I would like to express my sincere gratitude to all those
who have contributed to the successful completion of
this Computer Science Project.
I am grateful to my Computer Science teacher, Ms.
Neetu Patel, for her constant guidance, encouragement,
and valuable insights throughout the course of this
project. Her support played a crucial role in shaping the
outcome of my work.
I would also like to extend my sincere thanks to our
respected Principal, Ms. Shalini Malhotra, and the
school management for encouraging students to apply
theoretical knowledge in practical settings by providing
the necessary facilities and a conducive environment for
learning and exploration.
It was truly a privileged experience to work under the
guidance of extremely supportive school staff members
who proactively addressed all queries related to project
guidelines. This project has been a valuable learning
experience and has deepened my understanding of the
subject.
Pranav Singhal
Class - XII C
Index
S.NO CONTENTS Teachers
signature
1. Introduction of the
Topic
2. Objectives and
scope
3. Hardware and
software
requirements
4. Source Code
5. Testing and Result
6. Conclusion
7. Bibliography
INTRODUCTION OF PAYROLL MANAGEMENT
SYSTEM
A Payroll Management System is a comprehensive software solution designed to automate,
manage, and streamline the process of paying employees in an organization. It handles
various components of payroll such as salary calculation, tax deductions, benefits, bonuses,
leave encashments, and the generation of payslips. This system eliminates the need for
manual payroll processing, significantly reducing errors and administrative workload. Payroll
is not just about issuing salaries—it also involves compliance with labor laws, government
regulations, and organizational policies, making it a critical component of any business
operation.
The core objective of a Payroll Management System is to ensure that employees are paid
accurately and on time, while adhering to all legal requirements related to compensation. It
simplifies complex tasks such as calculating taxes, provident fund contributions, insurance
premiums, and other statutory deductions. This system also keeps a detailed record of each
employee’s financial transactions, which is essential for audits and financial planning.
Moreover, it supports employee satisfaction by ensuring transparency and consistency in
payment, which can improve retention and trust in the organization.
Modern Payroll Management Systems come with a wide array of features including
employee information management, attendance and leave tracking, tax filing support, salary
structuring, and automated bank transfers. These systems are often integrated with HR and
accounting software to create a centralized platform for managing human resources and
financial data. Advanced systems may also offer cloud-based access, multi-user support,
customizable reports, and real-time analytics, enabling organizations to manage payroll from
anywhere with high security and accuracy.
The benefits of implementing a Payroll Management System are extensive. For
organizations, it reduces administrative burden, minimizes the risk of compliance penalties,
and enhances operational efficiency. It ensures data security by encrypting sensitive
information and provides role-based access control. For employees, it offers self-service
portals where they can view their salary slips, tax documents, and leave balances without HR
intervention. Additionally, timely and error-free payments foster a more productive and
motivated workforce, contributing positively to the overall organizational performance.
OBJECTIVE AND SCOPE
The Payroll Management System (PMS) is developed to automate, simplify, and
optimize the process of managing employee salaries, wages, bonuses, deductions, and
compliance with government regulations. The primary objective of the system is to
ensure timely and accurate salary payments by automating all the critical functions of
payroll processing. It eliminates the need for manual calculations, reduces the likelihood
of human error, and enhances the overall efficiency of the payroll department. With
built-in formulas and logic, the system ensures that salaries are calculated correctly
based on various factors such as attendance, working hours, leaves taken, overtime,
bonuses, and applicable deductions including taxes and insurance.
A key objective of the system is to maintain complete transparency and accuracy in
financial transactions related to employee compensation. It generates detailed payslips,
tax statements, and other statutory reports required for both employees and regulatory
authorities. The system can be configured to meet the specific policies and salary
structures of the organization, thereby accommodating diverse employee categories
such as full-time, part-time, contract, and hourly-based workers. It also provides
seamless integration with biometric attendance systems, leave management modules,
and accounting software, making the entire payroll workflow smooth and efficient.
From a management perspective, the system provides powerful tools for generating
various reports related to payroll expenditure, tax liabilities, and departmental salary
summaries. These insights help in better budgeting, forecasting, and financial planning.
Moreover, the Payroll Management System plays a vital role in ensuring compliance
with labor laws and tax regulations by automatically updating tax calculations and
generating required documents for legal audits. This reduces the administrative burden
and ensures that the organization remains compliant with all statutory requirements.
In terms of scope, the Payroll Management System covers a wide range of functions,
including employee database management, salary structure configuration, payroll
processing, generation of payslips, management of loans and advances, tax calculation,
compliance reporting, bank transfer processing, and user role-based access control. The
system also enables secure data storage and backup, ensuring the confidentiality and
integrity of sensitive payroll information. Overall, the system is designed to be a
comprehensive, reliable, and scalable solution that supports both HR and finance
departments in managing employee compensation efficiently and accurately, while also
improving employee trust and satisfaction through timely and transparent payroll
services.
Hardware and Software Requirements
HARDWARE REQUIREMENTS
Computer for coding and typing the required documents of the project.
Printer to print the required documents of the project.
Compact drive.
Processor: Pentium quad core
Ram: 64 mb
Hard disk: 20 gb
SOFTWARE REQUIREMENTS
Operating system: windows 10
Python 3: for execution of program
Mysql: for storing data in the database
Python–mysql connector: for database connectivity and Microsoft word,
for presentation of output
SOURCE CODE
import mysql.connector
import datetime
from tabulate import tabulate
db = input("Enter name of your database: ")
mydb = mysql.connector.connect(
host="localhost",
user="root",
passwd="ACE@2009",
auth_plugin="mysql_native_password"
)
mycursor = mydb.cursor()
sql = f"create database if not exists {db}"
mycursor.execute(sql)
print("Database created successfully")
mycursor.execute(f"use {db}")
Tablename = input("Name of table to be created: ")
query = f"""
create table if not exists {Tablename} (
empno int primary key,
name varchar(15) not null,
job varchar(15),
basicsalary float,
DA float,
HRA float,
Gross_Salary float,
Tax float,
NetSalary float
)
"""
mycursor.execute(query)
print(f"Table {Tablename} created successfully...")
while True:
print("\n\n" + "*" * 95)
print("\t\t\t\t\tMain Menu")
print("*" * 95)
print("\t1. Add Employee records")
print("\t2. Display Record of all Employees")
print("\t3. Display Record of a particular Employee")
print("\t4. Delete Records of all Employees")
print("\t5. Delete Record of a particular Employee")
print("\t6. Modify a record")
print("\t7. Display Payroll")
print("\t8. Display Salary Slip of all Employees")
print("\t9. Display Salary Slip of a particular Employee")
print("\t10. Exit")
choice = int(input("Enter choice: "))
if choice == 1:
try:
print("Enter employee information:")
empno = int(input("Enter employee no: "))
mname = input("Enter employee name: ")
mjob = input("Enter employee job: ")
mbasic = float(input("Enter basic salary: "))
if mjob.upper() == "OFFICER":
mda = mbasic * 0.5
mhra = mbasic * 0.35
mta = mbasic * 0.2
elif mjob.upper() == "MANAGER":
mda = mbasic * 0.45
mhra = mbasic * 0.3
mta = mbasic * 0.15
else:
mda = mbasic * 0.4
mhra = mbasic * 0.25
mta = mbasic * 0.1
mgross = mbasic + mda + mhra
mnet = mgross - mta
rec = (empno, mname, mjob, mbasic, mda, mhra, mgross, mta, mnet)
query = f"insert into {Tablename} values (%s,%s,%s,%s,%s,%s,%s,%s,
%s)"
mycursor.execute(query, rec)
mydb.commit()
print("Record added successfully.")
except:
print("Something went wrong")
elif choice == 2:
try:
query = f"select * from {Tablename}"
mycursor.execute(query)
records = mycursor.fetchall()
print(tabulate(records, headers=["empno", "name", "job", "basic
salary", "DA", "HRA", "Gross Salary", "Tax", "Net salary"],
tablefmt="fancy_grid"))
except:
print("Something went wrong")
elif choice == 3:
try:
en = int(input("Enter employee no. of the record to be displayed: "))
query = f"select * from {Tablename} where empno = {en}"
mycursor.execute(query)
record = mycursor.fetchone()
if record:
print(f"\nRecord of employee no. {en}")
print(record)
else:
print("Nothing to display")
except:
print("Something went wrong")
elif choice == 4:
try:
ch = input("Do you want to delete all the records? (y/n): ")
if ch.upper() == "Y":
mycursor.execute(f"delete from {Tablename}")
mydb.commit()
print("All records are deleted.")
except:
print("Something went wrong")
elif choice == 5:
try:
en = int(input("Enter employee no. of the record to be deleted: "))
query = f"delete from {Tablename} where empno={en}"
mycursor.execute(query)
mydb.commit()
if mycursor.rowcount > 0:
print("Deletion done")
else:
print(f"Employee no {en} not found")
except:
print("Something went wrong")
elif choice == 6:
try:
en = int(input("Enter employee no. of the record to be modified: "))
query = f"select * from {Tablename} where empno={en}"
mycursor.execute(query)
record = mycursor.fetchone()
if not record:
print(f"empno {en} does not exist")
else:
mname = record[1]
mjob = record[2]
mbasic = record[3]
print(f"empno: {record[0]}")
print(f"name: {record[1]}")
print(f"job: {record[2]}")
print(f"basic: {record[3]}")
print(f"DA: {record[4]}")
print(f"HRA: {record[5]}")
print(f"gross: {record[6]}")
print(f"net: {record[8]}")
print("-" * 30)
print("Type value to modify below or press enter for no change")
x = input("Enter name: ")
if len(x) > 0:
mname = x
x = input("Enter job: ")
if len(x) > 0:
mjob = x
x = input("Enter Basic Salary: ")
if len(x) > 0:
mbasic = float(x)
query = f"update {Tablename} set name='{mname}', job='{mjob}',
basicsalary={mbasic} where empno={en}"
mycursor.execute(query)
mydb.commit()
print("Record modified.")
except:
print("Something went wrong")
elif choice == 7:
try:
query = f"select * from {Tablename}"
mycursor.execute(query)
records = mycursor.fetchall()
print("\n" + "*" * 95)
print("Employee Payroll".center(90))
print("*" * 95)
now = datetime.datetime.now()
print(f"Current Date and Time: {now.strftime('%Y-%m-%d %H:%M:
%S')}")
print("*" * 95)
print("%5s %15s %10s %8s %8s %8s %9s %8s %9s" % ("empno",
"name", "job", "Basic", "DA", "HRA", "Gross", "Tax", "Net"))
print("*" * 95)
for rec in records:
print("%4d %15s %10s %8.2f %8.2f %8.2f %9.2f %8.2f %9.2f" %
(rec[0], rec[1], rec[2], rec[3], rec[4], rec[5], rec[6], rec[7], rec[8]))
except:
print("Something went wrong")
elif choice == 8:
try:
query = f"select * from {Tablename}"
mycursor.execute(query)
now = datetime.datetime.now()
print("\n" + "*" * 95)
print("Salary Slip".center(90))
print("*" * 95)
print(f"Current Date and Time: {now.strftime('%Y-%m-%d %H:%M:
%S')}")
records = mycursor.fetchall()
for rec in records:
print("%4d %15s %10s %8.2f %8.2f %8.2f %9.2f %8.2f %9.2f" %
(rec[0], rec[1], rec[2], rec[3], rec[4], rec[5], rec[6], rec[7], rec[8]))
except:
print("Something went wrong")
elif choice == 9:
try:
en = int(input("Enter employee number whose pay slip you want to
retrieve: "))
query = f"select * from {Tablename} where empno={en}"
mycursor.execute(query)
now = datetime.datetime.now()
print("\n" + "*" * 95)
print("Salary Slip".center(90))
print("*" * 95)
print(f"Current Date and Time: {now.strftime('%Y-%m-%d %H:%M:
%S')}")
print(tabulate(mycursor, headers=["empno", "name", "job", "basic
salary", "DA", "HRA", "Gross Salary", "Tax", "Net salary"],
tablefmt="fancy_grid"))
except Exception as e:
print("Something went wrong", e)
elif choice == 10:
break
else:
print("Wrong choice ....")
Output Snapshot
CONCLUSION
The successful implementation of the Payroll Management System marks a
significant step toward modernizing and optimizing the HR and financial operations
of an organization. This system automates the complex and repetitive tasks involved
in payroll processing, such as calculating salaries, deducting taxes, managing
employee benefits, and generating payslips. By eliminating manual procedures, it
reduces the risk of human error and ensures a higher degree of accuracy and
reliability.
One of the most significant advantages of this system is its ability to handle payroll
operations with greater speed and efficiency. Employee data can be easily
managed, and salary computations are done with consistency and precision. The
inclusion of modules for attendance tracking, leave management, and statutory
compliance (such as tax and provident fund calculations) further extends the utility
and value of the system.
In addition to operational benefits, the Payroll Management System provides
increased transparency and better record-keeping. Employees have access to their
salary details and payment history, which helps build trust and reduces payroll-
related queries. From a managerial standpoint, the system allows for easier
monitoring and reporting, which aids in decision-making and auditing processes.
Moreover, the system supports scalability, making it adaptable for organizations of
varying sizes and structures. It lays a foundation for integrating with other enterprise
systems such as accounting software, HRM platforms, and ERP solutions, thereby
contributing to a more unified digital workplace.
In conclusion, the Payroll Management System is a robust, user-friendly, and
scalable solution that improves payroll accuracy, reduces administrative burden,
enhances compliance, and supports overall organizational efficiency. It represents a
vital technological advancement for businesses aiming to achieve streamlined and
cost-effective human resource management.
BIBLIOGRAPHY
For successfully completing my project file I have taken help from the
following
Websites:
1. www.scribd.com
2. www.itsourcecode.com
3. www.youtube.com
4. www.python.org
Books:
1. Computer Science class 12 Sumita Arora
2. Computer Science Class 12 Kips