Employee_Payroll_System_Report
Employee_Payroll_System_Report
Report By:
G.Samith– AP23110011498
U.Naveen – AP23110011502
V.Rohith – AP23110011508
1|Page
CONTENTS:
Project BackgroundOverview of Employee Payroll System
1. Description of the Project
Overview
Objectives
Database design
2. ER Diagram
Description of ER diagram
PROJECT BACKGROUND
2|Page
Project Overview
The Employee Payroll System is a software application designed to automate and manage
the salary processing functions of an organization. It streamlines the entire payroll cycle —
from storing employee details, calculating monthly salaries, applying deductions and
allowances, to generating detailed payslips and payroll reports. The system reduces manual
workload and eliminates errors commonly associated with manual salary calculations.
This system allows HR and finance teams to manage employee records, compute net pay
based on predefined salary structures, and ensure timely and accurate payments. It supports
features such as HRA, DA, tax, provident fund deductions, bonuses, and leave-based salary
adjustments. Additionally, it provides secure role-based access to ensure that only authorized
users can modify sensitive payroll data.
Ideal for small to medium-sized businesses, the system enhances transparency, improves
efficiency, and ensures compliance with statutory requirements. With built-in reporting tools,
it also aids management in analyzing payroll expenses and making informed financial
decisions. The Employee Payroll System is a reliable, user-friendly, and scalable solution for
modern businesses aiming to simplify payroll management and improve employee
satisfaction.
.
3|Page
Descrpiption of the Project
The Employee Payroll System project is a full-fledged software solution developed to
manage payroll processes of an organization in a streamlined and automated manner. The
project is developed using Python (or another tech stack like Java, PHP, or web frameworks
depending on scope), and aims to facilitate the HR and accounting departments by providing
a fast, reliable, and secure way to process employee payments.
System Architecture:
The system follows a modular architecture where different components (like employee
management, payroll calculation, and reporting) are organized into logical units, making the
system easy to maintain and scale.
Objective:
The primary objective of the Employee Payroll System is to automate the process of
calculating employee salaries, managing payroll data, and generating payslips accurately and
efficiently. This project aims to develop a software solution that can handle the payroll
functions of an organization, reducing manual errors and streamlining the HR and accounting
tasks associated with employee payments.
This system is designed to meet the needs of companies that want to:
Maintain accurate records of employee salaries
Calculate salary components such as HRA, DA, and deductions like PF and tax
Improve the speed and accuracy of payroll processing
Provide employees with detailed and transparent salary statements
Ensure legal compliance by maintaining statutory deductions and payments
Minimize human intervention in repetitive payroll calculations
Enhance confidentiality and security of payroll data
Enable scalable and modifiable structures that can support organizational growth
Integrate attendance and leave systems for dynamic salary adjustments
Overview:
The Employee Payroll System is a software application designed to manage and streamline
the process of calculating and distributing salaries to employees within an organization. This
system is built to handle all aspects of payroll management — from capturing employee
details, computing salaries, managing deductions and allowances, to generating payslips and
reports.
In a traditional payroll setup, organizations manually calculate salaries, apply deductions, and
create payslips, which is not only time-consuming but prone to human errors. This system
4|Page
automates all these functions and ensures that calculations are accurate, consistent, and
transparent.
Key Modules in the System:
1. Employee Management Module
o Stores personal and professional details of employees
o Includes salary structures, job roles, department, and contact details
2. Salary Computation Module
o Calculates base salary, HRA, DA, bonuses, overtime, tax, PF, etc.
o Allows customization based on company policy or employee agreements
3. Payslip Generation Module
o Creates detailed digital or printable payslips
o Includes salary breakdown, bank details, and payment confirmation
4. Reporting Module
o Generates monthly, quarterly, and annual payroll reports
o Helps management in decision-making and financial planning
5. User Authentication and Access Control
o Ensures that only authorized users can access or modify payroll data
o Admins can create users and assign permissions
6. Integration Capabilities
o Can be connected with attendance and HR systems
o Capable of being extended to support direct bank transfers or third-party APIs
Database Design:
The Employee Payroll System database is structured to meet the rules of Third Normal
Form (3NF) to eliminate redundancy and ensure data integrity. The system consists of
several entities including Employee, Department, Qualification, Payroll, and Leave, each
serving a distinct role within the database.
1. Employee Table
The core of the system is the Employee table, which stores personal and employment-related
information such as employee ID, name, email, password, gender, age, and nationality. Each
employee is associated with a department and a qualification, represented by foreign keys
(department_id and qualification_id) linking to the Department and Qualification tables,
respectively. This design avoids duplicating department or qualification data for each
employee.
5|Page
2. Department Table
The Department table captures details about each department within the organization,
including its unique ID, name, description, and total number of staff. Instead of repeating
department details in the Employee table, this design maintains them separately and connects
via a foreign key.
3. Qualification Table
The Qualification table records academic or professional credentials associated with
employees. It includes attributes like grade, level, field, and university. Each employee
references one qualification via qualification_id. This separation allows multiple employees
to share the same qualification record, promoting normalization.
4. Payroll Table
The Payroll table tracks each employee’s salary details. It includes fields like salary, bonus,
leave deductions, and the total salary after deductions. The payroll_id is the primary key, and
it has a foreign key employee_id linking it to the Employee table. This ensures that each
payroll record is associated with a specific employee, and allows historical payroll tracking.
5. Leave Table
The Leave table manages employee leave records. It contains a unique leave ID, leave type
(e.g., sick leave, vacation), number of days taken, and a foreign key linking it to the
corresponding employee_id. This design supports multiple leave entries per employee, while
maintaining normalized data.
6|Page
Efficient queries for generating payroll reports, leave summaries, and employee
profiles.
Entity-Relationship
Diagram 7|Page
Description of ER diagram
8|Page
The ER (Entity-Relationship) diagram of the Employee Payroll System represents the logical
structure of how employee and payroll data is managed in an organization. It defines key
entities, their attributes, and the relationships between them to ensure efficient data storage,
processing, and retrieval.
At the center of the diagram is the Employee entity, which stores essential details such as
employee_id, emp_name, email, password, gender, age, and nationality. Each employee is
associated with a specific Department and a Qualification. The Department entity contains
attributes like department_id, department_name, description, and total_staffs, helping
categorize employees by their work units. The Qualification entity includes qualification_id,
grade, level, university, and field, describing the educational or professional background of
employees.
Payroll-related data is managed through the Payroll entity, which records financial
information such as salary, bonus, leave, and total, and is uniquely identified by payroll_id. It
is directly linked to each employee, ensuring that salary records are individualized and up-to-
date.
The Leave entity allows tracking of employee leave requests. It contains leave_id, type (e.g.,
sick, casual), and days, and is connected to the employee through a relationship indicating
that an employee may apply for multiple leaves.
The relationships between entities are clearly defined: an employee belongs to one
department and has one qualification, but can have multiple payroll and leave entries. This
one-to-many and one-to-one relationship structure ensures data normalization and avoids
redundancy.
Overall, this ER diagram provides a clear blueprint for developing a relational database
system that supports payroll processing, HR management, and employee data organization in
a structured and efficient manner.
.
9|Page
Employee Table
Attributes: employee_id, emp_name, email, password, gender, age, nationality,
department_id
Department Table
Attributes: department_id, department_name, description, total_staffs
Payroll Table
Attributes: payroll_id, employee_id, salary, bonus, leave, total
Leave Table
Attributes: leave_id, employee_id, type, days
Qualification Table
Attributes: qualification_id, employee_id, grade, level, university, field
Description of Tables:
10 | P a g e
Employee Table
Attribute Description
Department Table
Attribute Description
Payroll Table
Attribute Description
11 | P a g e
Leave Table
Attribute Description
Qualification Table
Attribute Description
12 | P a g e
3. Normalized Payroll Table
Attributes: payroll id, employee id (Foreign Key), salary, bonus, leave days, total salary
4. Normalized Leave Table
Attributes: leave_ id, employee_ id (Foreign Key), leave_ type, days
5. Normalized Qualification Table
Attributes: qualification _id, employee _id (Foreign Key), grade, education_ level, university
_id (Foreign Key), field
6. Normalized University Table
Attributes: university_ id, university_ name, location
7. Normalized Leave_ Type Table (Optional normalization)
Attributes: leave _type_ id, leave_ type_ name
SQL Queries
JOINS
1. List employees with their department names
SELECT e.emp_name, d.department_name
FROM Employee e
JOIN Department d ON e.department_id = d.department_id;
13 | P a g e
-- 2. Get payroll details with employee names
SELECT e.emp_name, p.salary, p.bonus, p.total_salary
FROM Employee e
JOIN Payroll p ON e.employee_id = p.employee_id;
AGGREGATE FUNCTIONS
1. Total salary paid to all employees
SELECT SUM(total_salary) AS Total_Paid
FROM Payroll;
14 | P a g e
FROM Payroll;
GROUPING
1. Total payroll per department
SELECT d.department_name, SUM(p.total_salary) AS Dept_Total_Pay
FROM Payroll p
JOIN Employee e ON p.employee_id = e.employee_id
JOIN Department d ON e.department_id = d.department_id
GROUP BY d.department_name;
15 | P a g e
FROM Leave
GROUP BY leave_type;
Creation of VIEWS
1. View: View_Employee_Payroll
Purpose: Shows payroll info with employee details.
sql
CREATE VIEW View_Employee_Payroll AS
16 | P a g e
SELECT
e.employee_id,
e.emp_name,
e.gender,
e.age,
d.department_name,
p.salary,
p.bonus,
p.leave_days,
p.total_salary
FROM Employee e
JOIN Payroll p ON e.employee_id = p.employee_id
JOIN Department d ON e.department_id = d.department_id;
2. View: View_Leave_Summary
Purpose: Summary of leave taken by employees.
CREATE VIEW View_Leave_Summary AS
SELECT
e.employee_id,
e.emp_name,
l.leave_type,
SUM(l.days) AS total_leave_days
FROM Employee e
JOIN Leave l ON e.employee_id = l.employee_id
GROUP BY e.employee_id, e.emp_name, l.leave_type;
3. View: View_Qualified_Employees
Purpose: Employees with their qualifications and university info.
CREATE VIEW View_Qualified_Employees AS
SELECT
e.employee_id,
17 | P a g e
e.emp_name,
q.education_level,
q.grade,
q.field,
u.university_name
FROM Employee e
JOIN Qualification q ON e.employee_id = q.employee_id
JOIN University u ON q.university_id = u.university_id;
4. View: View_Department_Stats
Purpose: Employee count and total salary per department.
CREATE VIEW View_Department_Stats AS
SELECT
d.department_id,
d.department_name,
COUNT(e.employee_id) AS total_employees,
SUM(p.total_salary) AS total_salary_paid
FROM Department d
JOIN Employee e ON d.department_id = e.department_id
JOIN Payroll p ON e.employee_id = p.employee_id
GROUP BY d.department_id, d.department_name;
5. View: View_Employee_Leave_Percentage
Purpose: Calculates percentage of leave taken (bonus: for analytics).
CREATE VIEW View_Employee_Leave_Percentage AS
SELECT
e.employee_id,
e.emp_name,
p.leave_days,
p.salary,
18 | P a g e
ROUND((p.leave_days / 30.0) * 100, 2) AS leave_percentage -- Assuming 30-day month
FROM Employee e
JOIN Payroll p ON e.employee_id = p.employee_id;
References:
1. Silberschatz, A., Korth, H. F., & Sudarshan, S. (2019). Database System Concepts
(7th ed.). McGraw-Hill Education.
2. Elmasri, R., & Navathe, S. B. (2015). Fundamentals of Database Systems (7th ed.).
Pearson Education.
3. Rob, P., & Coronel, C. (2007). Database Systems: Design, Implementation, and
Management. Cengage Learning.
19 | P a g e
4. W3Schools. (2024). SQL Tutorial. Retrieved from https://www.w3schools.com
5. TutorialsPoint. (2024). DBMS - Entity Relationship Model. Retrieved from
https://www.tutorialspoint.com
6. GeeksforGeeks. (2024). SQL Joins and Queries. Retrieved from
https://www.geeksforgeeks.org
7. Oracle SQL Documentation. (2024). Retrieved from
https://docs.oracle.com/en/database/
8. Stack Overflow. (2024). Community-based help on SQL syntax and relational queries.
https://stackoverflow.com/
9. DatabaseStar. (2024). SQL GROUP BY Tutorial
10. MySQL Documentation (2024). MySQL 8.0 Reference Manual
11. YouTube – The Net Ninja. (2024). SQL & Database Design Full Course – Learn how
to design a database.
12. IBM Cloud Docs. (2024). Database Normalization: 1NF, 2NF, 3NF
13. Lucidchart. (2024). ER Diagram Tool & Examples
14. DBDesigner & DrawSQL. (2024). Used for designing and visualizing the ER
Diagram. https://drawsql.app
15. Personal Experience and Faculty Guidance (2024). Practical application and
conceptual validation from classroom and project development work.
20 | P a g e