Employee Payment Management System Project in Python Code

The Employee Payment Management System Project in Python is a fully functional desktop application developed in Python that covers all of the features that IT students and computer-related courses will require for their college projects or assignments.

This Employee Payment Management System is a basic project that is meant to be a stepping stone in the development of Python projects.

It has all the features that will make it easy for every employee to get paid.

Project Output:

Employee Payment Management System Home
Employee Payment Management System Home

What Is an Employee Payment Management System Project in Python?

The Employee Management System is a way for a company to keep track of how salaries are calculated, paid out, and reported quickly and accurately.

Importance Of Employee Payment Management System

This project helps business owners save time and give their business operations more order. Payroll systems save business owners time because they can do the same payroll tasks when they need to. Structure is also important in payroll because of the legal responsibilities that come with it.

Benefits Of Employee Payment Management System

  • Cost-effective – Everyone wants to pay only for the services they use now that SaaS is available. While this is an important role, businesses want it to be managed with software that grows with them.
  • User-friendliness – Employee Payment is easy to set up with the features, options, rules, and business policies that your organization needs. All of the necessary payroll accounting entries can be set up easily, such as information on attendance, lost wages, salary structure, etc.
  • Payroll reconciliation is quick and easy – You can use a variety of payroll reconciliation tools to check that each payroll is correct in a payroll system.
  • Holiday and attendance data were automatic – Because the systems for managing information like leave, attendance, and employee information aren’t always the same, it’s hard to keep switching from one system to another for processing salaries and figuring taxes.

About the Project:

The Employee Management System is a desktop application written and designed in the Python programming language. The project is open source, and it was made for novices who wish to learn Python.

Project Details and Technology :

Project Name:Employee Payment Management System Project in Python
Abstract:This Employee Payment Management System Project in Python is a simple Python project designed to help IT students with their projects or assignments. The project was developed to handle employee payments for a faster and more accurate process.
Language/s Used:Python (GUI Based)
Python version (Recommended):3.8 or 3.9
Type:Desktop Application
Developer:Glenn Magada Azuelo
Updates:0
Employee Payment Management System Project in Python With Source Code – Project Information

The code given below is the full source code on Employee Payment Management System Project in Python

Installed Libraries!

import time
import tkinter.messagebox
from tkinter import *

Complete Source Code!

import time
import tkinter.messagebox
from tkinter import *

root = Tk()
root.title("Employee Payment System")
root.geometry('1370x720+0+0')
root.maxsize(width=1370, height=720)
root.minsize(width=1370, height=720)
root.configure(background="dark gray")

Tops = Frame(root, width=1350, height=50, bd=8, bg="dark blue")
Tops.pack(side=TOP)

f1 = Frame(root, width=600, height=600, bd=8, bg="dark gray")
f1.pack(side=LEFT)
f2 = Frame(root, width=300, height=700, bd=8, bg="dark blue")
f2.pack(side=RIGHT)

fla = Frame(f1, width=600, height=200, bd=8, bg="dark blue")
fla.pack(side=TOP)
flb = Frame(f1, width=300, height=600, bd=8, bg="dark blue")
flb.pack(side=TOP)

lbl_information = Label(Tops, font=('arial', 45, 'bold'), text="Employee Payment Management System ", relief=GROOVE,  bd=10, bg="Dark Gray", fg="Black")
lbl_information.grid(row=0, column=0)


def Exit():
    wayOut = tkinter.messagebox.askyesno("Employee Payment System", "Do you want to exit the system")
    if wayOut > 0:
        root.destroy()
        return


def Reset():
    FullName.set("")
    Address.set("")
    Wrk_Hrs.set("")
    Hrs_Wage.set("")
    Payable.set("")
    Taxable.set("")
    NetPayable.set("")
    GrossPayable.set("")
    OverTimeBonus.set("")
    CompanyAgency.set("")
    PhoneNumber.set("")
    txtPaymentSlip.delete("1.0", END)


def InformationEntry():
    txtPaymentSlip.delete("1.0", END)
    txtPaymentSlip.insert(END, "\t\tPay Slip\n\n")
    txtPaymentSlip.insert(END, "Full Name :\t\t" + FullName.get() + "\n\n")
    txtPaymentSlip.insert(END, "Home Address :\t\t" + Address.get() + "\n\n")
    txtPaymentSlip.insert(END, "Company/Agency :\t\t" + CompanyAgency.get() + "\n\n")
    txtPaymentSlip.insert(END, "Phone Number :\t\t" + PhoneNumber.get() + "\n\n")
    txtPaymentSlip.insert(END, "Hours Worked :\t\t" + Wrk_Hrs.get() + "\n\n")
    txtPaymentSlip.insert(END, "Net Payable :\t\t" + NetPayable.get() + "\n\n")
    txtPaymentSlip.insert(END, "Wages per hour :\t\t" + Hrs_Wage.get() + "\n\n")
    txtPaymentSlip.insert(END, "Tax Paid :\t\t" + Taxable.get() + "\n\n")
    txtPaymentSlip.insert(END, "Payable :\t\t" + Payable.get() + "\n\n")


def WagesForWeekly():
    txtPaymentSlip.delete("1.0", END)
    hrs_wrk_per_wek = float(Wrk_Hrs.get())
    hrs_per_wgs = float(Hrs_Wage.get())

    DuePayment = hrs_per_wgs * hrs_wrk_per_wek
    PaymentDue = "P" + str('%.2f' % DuePayment)
    Payable.set(PaymentDue)

    tax = DuePayment * 0.12
    taxable = "P" + str('%.2f' % tax)
    Taxable.set(taxable)

    PaymentNet = DuePayment - tax
    NetPayments = "P" + str('%.2f' % PaymentNet)
    NetPayable.set(NetPayments)

    if hrs_wrk_per_wek > 40:
        HoursTimeOver = (hrs_wrk_per_wek - 40) + hrs_per_wgs * 1.5
        OverTime = "P" + str('%.2f' % HoursTimeOver)
        OverTimeBonus.set(OverTime)
    elif hrs_wrk_per_wek <= 40:
        PaymentOverTime = (hrs_wrk_per_wek - 40) + hrs_per_wgs * 1.5
        HoursOverTime = "P" + str('%.2f' % PaymentOverTime)
        OverTimeBonus.set(HoursOverTime)
    return


#  Variables
FullName = StringVar()
Address = StringVar()
Hrs_Wage = StringVar()
Wrk_Hrs = StringVar()
Payable = StringVar()
Taxable = StringVar()
NetPayable = StringVar()
GrossPayable = StringVar()
OverTimeBonus = StringVar()
CompanyAgency = StringVar()
PhoneNumber = StringVar()
TimeOfOrder = StringVar()
DateOfOrder = StringVar()
DateOfOrder.set(time.strftime("%d/%m/%Y"))

# Label Widget

labelFirstName = Label(fla, text="Full Name", font=('arial', 16, 'bold'), bd=20, fg="white", bg="dark blue").grid(row=0, column=0)

labelAddress = Label(fla, text="Home Address", font=('arial', 16, 'bold'), bd=20, fg="white", bg="dark blue").grid(row=0, column=2)

labelCompanyAgency = Label(fla, text="Company/Agency", font=('arial', 16, 'bold'), bd=20, fg="white", bg="dark blue").grid(row=1,
                                                                                                              column=0)
labelPhoneNumber = Label(fla, text="Phone Number", font=('arial', 16, 'bold'), bd=20, fg="white", bg="dark blue").grid(row=1,
                                                                                                               column=2)
labelHoursWorked = Label(fla, text="Hours Worked", font=('arial', 16, 'bold'), bd=20, fg="white", bg="dark blue").grid(
    row=2, column=0)
labelHourlyRate = Label(fla, text="Hourly Rate", font=('arial', 16, 'bold'), bd=20, fg="white", bg="dark blue").grid(
    row=2, column=2)
labelTax = Label(fla, text="Tax", font=('arial', 16, 'bold'), bd=20, anchor='w', fg="white", bg="dark blue").grid(row=3,
                                                                                                                column=0)
labelOverTime = Label(fla, text="OverTime", font=('arial', 16, 'bold'), bd=20, fg="white", bg="dark blue").grid(row=3,
                                                                                                              column=2)
labelGrossPay = Label(fla, text="GrossPay", font=('arial', 16, 'bold'), bd=20, fg="white", bg="dark blue").grid(row=4,
                                                                                                              column=0)
labelNetPay = Label(fla, text="Net Pay", font=('arial', 16, 'bold'), bd=20, fg="white", bg="dark blue").grid(row=4,
                                                                                                           column=2)

# Entry Widget

txtFullname = Entry(fla, textvariable=FullName, font=('arial', 16, 'bold'), bd=16, width=22, justify='left')
txtFullname.grid(row=0, column=1)

txtAddress = Entry(fla, textvariable=Address, font=('arial', 16, 'bold'), bd=16, width=22, justify='left')
txtAddress.grid(row=0, column=3)

txtCompanyAgency = Entry(fla, textvariable=CompanyAgency, font=('arial', 16, 'bold'), bd=16, width=22, justify='left')
txtCompanyAgency.grid(row=1, column=1)

txtWrk_hrs = Entry(fla, textvariable=Wrk_Hrs, font=('arial', 16, 'bold'), bd=16, width=22, justify='left')
txtWrk_hrs.grid(row=2, column=1)

txtHrs_Wages = Entry(fla, textvariable=Hrs_Wage, font=('arial', 16, 'bold'), bd=16, width=22, justify='left')
txtHrs_Wages.grid(row=2, column=3)

txtPhoneNumber = Entry(fla, textvariable=PhoneNumber, font=('arial', 16, 'bold'), bd=16, width=22, justify='left')
txtPhoneNumber.grid(row=1, column=3)

txtGrossPayment = Entry(fla, textvariable=Payable, font=('arial', 16, 'bold'), bd=16, width=22, justify='left')
txtGrossPayment.grid(row=4, column=1)

txtNetPayable = Entry(fla, textvariable=NetPayable, font=('arial', 16, 'bold'), bd=16, width=22, justify='left')
txtNetPayable.grid(row=4, column=3)

txtTaxable = Entry(fla, textvariable=Taxable, font=('arial', 16, 'bold'), bd=16, width=22, justify='left')
txtTaxable.grid(row=3, column=1)

txtOverTimeBonus = Entry(fla, textvariable=OverTimeBonus, font=('arial', 16, 'bold'), bd=16, width=22, justify='left')
txtOverTimeBonus.grid(row=3, column=3)

# Text Widget

payslip = Label(f2, textvariable=DateOfOrder, font=('arial', 21, 'bold'), fg="white", bg="dark blue").grid(row=0,
                                                                                                           column=0)
txtPaymentSlip = Text(f2, height=22, width=34, bd=16, font=('arial', 13, 'bold'), fg="black", bg="white")
txtPaymentSlip.grid(row=1, column=0)

# buttons

ButtonSalary = Button(flb, text='Weekly Salary', padx=16, pady=16, bd=15, font=('arial', 16, 'bold'), relief="groove", width=14, fg="black",
                   bg="dark gray", command=WagesForWeekly).grid(row=0, column=0)

ButtonReset = Button(flb, text='Reset', padx=16, pady=16, bd=15, font=('arial', 16, 'bold'), relief="groove", width=14, command=Reset,
                  fg="black", bg="dark gray").grid(row=0, column=1)

ButtonPaySlip = Button(flb, text='View Payslip', padx=16, pady=16, bd=15, font=('arial', 16, 'bold'), relief="groove", width=14,
                    command=InformationEntry, fg="black", bg="dark gray").grid(row=0, column=2)

ButtonExit = Button(flb, text='Exit System', padx=16, pady=16, bd=15, font=('arial', 16, 'bold'), relief="groove", width=14, command=Exit,
                 fg="black", bg="dark gray").grid(row=0, column=3)

root.mainloop()


This project also includes a downloadable Project With Source Code for free, just find the downloadable source code below and click to start downloading.

By the way, if you are new to python programming and you don’t have any idea what Python IDE to use, I have here a list of Best Python IDE for Windows, Linux, Mac OS for you.

Additionally, I also have here How to Download and Install Latest Version of Python on Windows.

To start executing an Employee Payment Management System Project in Python, make sure that you have installed Python on your computer.

Steps on how to run the project :

Time needed: 5 minutes

These are the steps on how to run an Employee Payment Management System Project in Python

  • Step 1: Download Source Code

    First, find the downloadable source code below and click to start downloading the source code file.
    Criminal Record Management System Project In Java Download Button

  • Step 2: Extract File

    Next, after finished to download the file, go to the file location and right-click the file and click extract.
    Employee Payment Management System Project in Python Extract File

  • Step 3: Open Project Path and Open CMD (Command Prompt).

    For you to run the project, you just need to open the project path and type CMD. The first thing you need to do is type py main.py in the command prompt. After that, just wait for a few seconds to load the system.
    Employee Payment Management System Project in Python Execute Project

Download the Source Code below!

Summary

This Article is a way to enhance and develop our skills and logic ideas which is important in practicing the python programming language which is the most well-known and most usable programming language in many companies.

Inquiries

If you have any questions or suggestions about the Employee Payment Management System Project in Python please feel free to leave a comment below.

Leave a Comment