The Payroll Comparison Tool is a Python-based application that helps human resources and payroll professionals efficiently compare two sets of payroll data. It enables users to identify differences in salary components, allowances, and other benefits between two payroll periods, making the payroll auditing process faster and more manageable.
-
User-Friendly Interface: The tool provides an intuitive graphical interface to easily load and compare payroll datasets.
-
Data Comparison: Compare salary components such as Basic Pay, HRA, DA, Perks, CMPF, CMPS, and Employee IDs.
-
Threshold Configuration: Customize threshold values for specific comparisons like HRA or DA, allowing better control over what is considered a discrepancy.
-
Export Comparison Results: Save the comparison results as an Excel file for documentation and future reference.
To use the Payroll Comparison Tool, follow these installation steps:
-
Clone this repository to your local machine:
git clone https://github.com/your_username/payroll-comparison-tool.git
-
Navigate to the project directory:
cd payroll-comparison-tool
-
Set up a virtual environment (optional but recommended):
python -m venv venv venv\Scripts\activate # On Windows source venv/bin/activate # On macOS and Linux
-
Install the required dependencies:
pip install -r requirements.txt
Follow these steps to run the Payroll Comparison Tool:
-
Run the application:
python payroll_comparison_tool.py
-
Load the previous payroll dataset using the "Load Previous Payroll" button.
-
Load the current payroll dataset using the "Load Current Payroll" button.
-
Select the comparison type from the available options (e.g., Basic Pay, HRA, DA, Perks, CMPF, CMPS, Employee IDs).
-
Configure any specific thresholds (e.g., for HRA or DA comparison) if applicable.
-
Click the corresponding "Compare" button to perform the comparison.
-
The results will be displayed in a new window, and you can save the comparison data as an Excel file.
To convert the Payroll Comparison Tool into a standalone executable application, you can use PyInstaller. PyInstaller bundles the Python application and its dependencies into a single executable file, making it easy to distribute and run without requiring a Python interpreter.
Follow these steps to create the executable:
-
Set Up Virtual Environment (Optional but Recommended)
First, create a virtual environment to isolate the project's dependencies from your system-wide Python installation:
python -m venv venv
On Windows, activate the virtual environment:
venv\Scripts\activate
On macOS and Linux:
source venv/bin/activate
-
Install Required Dependencies
Ensure you are in the project directory and install the necessary dependencies using
pip
:pip install -r requirements.txt
pip install pyinstaller
-
Create Standalone Executable
Once all the dependencies are installed, you can use PyInstaller to create the standalone executable:
pyinstaller --onefile payroll.py
PyInstaller will bundle the Python application and its dependencies into a single executable file.
-
Locate the Executable
After the build process completes, navigate to the
dist
directory inside your project folder. You will find the standalone executable there.- On Windows, the executable will have a
.exe
extension (e.g.,payroll.exe
). - On macOS, it will be an application bundle (e.g.,
payroll.app
). - On Linux, it will be a binary file without an extension (e.g.,
payroll
).
- On Windows, the executable will have a
-
Run the Standalone Executable
To execute the standalone application, double-click the
.exe
file on Windows, the application bundle on macOS, or run the binary file on Linux.The application should launch without needing a Python interpreter or any additional dependencies.
Now you have successfully created a standalone executable for the Payroll Comparison Tool, allowing users to run the tool on compatible systems without requiring Python or any external libraries.
If you find any issues or have suggestions for improvement, feel free to create a new issue or submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.