The Payroll Management System in Python automates employee salary calculations. It manages payroll by storing employee data, computing salaries with deductions and taxes, and generating payslips. The system ensures accuracy, reduces manual effort, and provides an intuitive interface for efficient payroll processing and record-keeping.
The Payroll Management System is a Python-based application designed to manage employee payroll efficiently. The system leverages the Tkinter library for its graphical user interface (GUI) and uses SQL (SQLite) for data management. This application facilitates tasks such as adding employees, calculating salaries, generating pay slips, and maintaining payroll records.
- Employee Management: Add, update, and delete employee records.
- Salary Calculation: Automatic computation of salaries based on predefined criteria.
- Pay Slip Generation: Create and print pay slips for employees.
- Data Storage: Persist data in an SQLite database.
- User-Friendly Interface: Easy-to-navigate GUI built with
Tkinter. - Reports: Generate reports on employee payroll data.
To run this project, you need the following installed on your machine:
- Python 3.x
- Tkinter (usually included with Python)
- SQLite (bundled with Python as part of the
sqlite3module)
-
Clone the Repository
git clone https://github.com/officialkapilydv/PayRoll-Management-System.git
-
Navigate to the Project Directory
cd payroll-management-system -
Install Dependencies
Make sure
tkinterandsqlite3are available with your Python installation. If you're using a virtual environment, activate it:python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Run the Application
python main.py
-
Run the application by executing
main.pyin your terminal or command prompt:python main.py
-
The main window will appear, presenting the dashboard for payroll management.
-
Employee Management
- Add Employee: Input employee details like name, designation, salary, etc.
- Update Employee: Modify existing employee records.
- Delete Employee: Remove an employee from the system.
-
Payroll Processing
- Calculate Salary: Enter parameters and calculate the net salary.
- Generate Pay Slip: Create and save pay slips for individual employees.
-
Reports
- View Payroll Report: Generate and view comprehensive payroll reports.
- Menu Bar: Navigate through different modules using the menu options.
- Forms: Enter data into forms for adding or updating records.
- Tables: View lists of employees, payroll details, etc.
- Buttons: Use buttons for actions like save, delete, calculate, etc.
payroll-management-system/
│
├── database/
│ └── payroll.db # SQLite database file
│
├── gui/
│ ├── main.py # Entry point of the application
│ ├── add_employee.py # Module for adding employees
│ ├── update_employee.py # Module for updating employee records
│ ├── generate_payslip.py# Module for generating pay slips
│ └── view_reports.py # Module for viewing reports
│
├── models/
│ ├── employee.py # Employee model
│ ├── payroll.py # Payroll model
│
└── README.md # This readme file
employee_id(INTEGER, Primary Key)name(TEXT)designation(TEXT)department(TEXT)basic_salary(REAL)
payroll_id(INTEGER, Primary Key)employee_id(INTEGER, Foreign Key)pay_period(TEXT)gross_salary(REAL)net_salary(REAL)
Contributions are welcome! Here’s how you can help:
- Fork the repository
- Create a new branch (
git checkout -b feature/your-feature) - Commit your changes (
git commit -am 'Add new feature') - Push to the branch (
git push origin feature/your-feature) - Create a Pull Request
For any inquiries or feedback, please contact:
- Kapil Yadav
- Email: [kapilyadav2625@gmail.com]
- GitHub: officialkapilydv
Thank you for using the Payroll Management System! Your contributions and feedback are invaluable.