DesignX

TSP Manpower Company: Payroll system

Introduction

Managing payroll for over 150 contract workers and internal staff is no easy task, especially when it’s done manually using Excel sheets. This was the daily reality for TSP Manpower, a staffing company based in Colombo, Sri Lanka. Errors, inefficiencies, and the sheer amount of time it took to calculate salaries were becoming a significant burden for their team.

To solve this, we worked with TSP Manpower to design and develop a custom payroll management system that revolutionizes how they handle payroll. This system allows their admin team to add employee details, set pay rates, and calculate salaries with precision based on work categories like normal workdays, overtime, holidays, and Sundays. With everything centralized and automated, they no longer have to rely on error-prone spreadsheets.

This web application is built using cutting-edge tools like Next.js, React, and MySQL, making it fast, reliable, and secure. The user-friendly interface ensures that admin staff can easily navigate dashboards to manage employees, pay rates, and payroll records. Plus, with built-in features to generate pay slips in PDF format, the system makes reporting and documentation a breeze.

Since implementing this system, TSP Manpower has experienced a noticeable improvement in efficiency and accuracy. What once took hours of manual effort is now handled in just a few clicks, giving the team more time to focus on growing their business and supporting their employees.

tsp payroll start page

Problem Domain

Before adopting the payroll management system, TSP Manpower faced a host of challenges due to their reliance on Excel sheets for calculating salaries. As a staffing company managing over 150 employees—comprising both contract workers and internal staff—the manual nature of their payroll process created significant inefficiencies, inaccuracies, and frustration for the management team. Let’s dive deeper into the problems they were encountering:

1. Time-Consuming Processes

Every month, the admin staff at TSP Manpower had to manually enter work hours for each employee into an Excel sheet. They had to input different types of work data, such as:

  • Normal workdays
  • Overtime hours
  • Holiday shifts
  • Sunday hours

This process was not only repetitive but also incredibly time-intensive. For a workforce exceeding 150 employees, even small mistakes in data entry required hours of rechecking and recalculation, further delaying payroll generation.

2. Prone to Human Errors

Since everything was done manually, errors were inevitable:

  • Incorrect formulas in Excel cells could skew the calculations.
  • Misentered pay rates could lead to overpayments or underpayments.
  • Missing work hour records caused discrepancies in employee salaries. These errors often resulted in employee dissatisfaction, complaints, and a loss of trust in the payroll system.

3. Difficulty in Handling Complex Pay Structures

The company’s pay structure included various rates for different types of work:

  • Overtime rates
  • Sunday work rates
  • Holiday allowances While Excel sheets could store basic calculations, managing such complex rate structures was challenging and frequently caused confusion. Admins had to manually cross-check every entry against the respective pay rate, which increased the likelihood of mistakes.

4. Lack of Centralized Employee Data

With employee details scattered across different files and sheets, finding or updating information was cumbersome. For example:

  • Searching for an employee’s EPF number or NIC/passport details required navigating through multiple sheets.
  • Keeping employee records up to date (e.g., when new employees joined or old ones left) was chaotic and inefficient.

This lack of centralization meant that the team was wasting precious time on non-productive tasks, leaving less room for strategic decision-making.

5. Inadequate Reporting and Documentation

TSP Manpower struggled to generate payslips and payroll reports quickly. With their manual system:

  • Generating a detailed payslip for each employee was a tedious process that often resulted in inconsistencies.
  • There was no easy way to keep a comprehensive history of payroll records for future reference or audits.

As the business grew, this lack of robust reporting became a critical bottleneck.

6. Limited Scalability

The reliance on Excel sheets worked when the company had fewer employees, but as the workforce grew, the limitations of this system became increasingly apparent. The admins found themselves overwhelmed by the sheer volume of data they had to manage manually. Without automation, the system could not keep up with the company’s scaling needs.

7. Employee Complaints and Dissatisfaction

Errors in salary calculations frequently led to underpayments, which naturally upset employees. Handling these complaints meant even more work for the admin team, who had to double-check calculations and address concerns one by one. This created unnecessary friction between employees and management.

A Typical Scenario Before Implementation

Imagine the admin team preparing the payroll for the month. The process starts with gathering data from attendance logs, which is often incomplete or misaligned. They spend hours compiling the work hours of each employee into the Excel sheet.

Next, they manually calculate salaries by applying different pay rates for overtime, Sunday work, and holidays. At this stage, errors begin to creep in. A wrong formula in the Excel sheet causes the overtime pay for several employees to be miscalculated. The team doesn’t notice this until employees start pointing it out after receiving their salaries. Now, the team must revisit the entire payroll, locate the errors, and correct them—a process that could take days.

Meanwhile, some employees are frustrated with their payslips. Since the payslip format is generated manually, discrepancies in salary breakdowns add to the confusion. Employees flood the admin team with questions, further delaying the payroll cycle. This not only affects the admin team’s productivity but also erodes employee morale and trust.

On top of this, the company is growing, and with every new hire, the workload increases. The manual system becomes increasingly unsustainable, and the admin staff struggle to keep up with the demands of payroll processing.

Frustrated worker

User Personas

Common Requirements for Both Personas

  • A secure, role-based system to ensure only authorized users can manage sensitive data.
  • An intuitive dashboard that provides quick access to core features like employee details, pay rates, and payroll calculations.
  • Detailed, error-free reports that are ready for compliance and employee distribution.

These personas were used to guide the design and development of the payroll system, ensuring it met the unique needs of both end users.

Problem Solving

Approach to Solving the Problem

To address the challenges faced by TSP Manpower, we followed a structured and agile approach to develop the TSP Payroll Management System. This ensured that the system was delivered efficiently while meeting all the client’s needs. Below, we’ll explain the process step-by-step through the Software Development Life Cycle (SDLC) stages, emphasizing the agile methodology and incremental sprints.

Requirement Gathering

The project began with an in-depth discussion with TSP Manpower’s management team. We held several meetings to understand their existing workflow, pain points, and future aspirations for the payroll process. Key stakeholders, including the HR and payroll teams, provided valuable input on:

  • The types of data they needed to manage (e.g., employee details, pay rates, attendance, and payroll hours).
  • Their expectations for salary calculations, reports, and payslips.
  • Specific requirements for managing overtime, holidays, and Sunday rates.
  • Pain points in their current Excel-based workflow.

Additionally, we reviewed samples of their existing Excel sheets, payroll records, and payslips to ensure the system would align with their current process but eliminate inefficiencies.

Business Analysis

Using the gathered requirements, we performed a detailed business analysis to:

  • Identify workflows that could be automated.
  • Map out the relationships between various data entities (e.g., employees, pay rates, payroll records).
  • Define user roles and permissions (e.g., admin users with access to all modules).
  • Determine the technical stack and tools required to build the system.

The analysis revealed that the project could be broken into six main modules: Employee Management, Pay Rates Management, Payroll Management, Payslip Report Generation, EPF Report Generation, and Payment Reports.

Designing the System

We translated the requirements into a high-level system design. This included:

  • Database Design: Designing the schema for storing employee details, pay rates, attendance, and payroll data in a MySQL database.
  • UI/UX Design: Creating wireframes and mockups for each module to ensure the interface was intuitive and user-friendly.
  • System Architecture: Building a modular architecture using jsto ensure scalability and maintainability.

The system was designed to allow seamless CRUD operations (Create, Read, Update, Delete) for all modules while integrating with NextAuth for secure user authentication.

Development in Agile Sprints

Sprint 1: Employee Management Module

  • Built the foundation for the system with a dashboard for adding, viewing, updating, and deleting employee details.
  • Allowed admins to store information like employee name, EPF number, NIC/passport number, and employment type.
  •  

Sprint 2: Pay Rates Module

  • Developed a module for defining and managing pay rates, including normal day rates, overtime rates, Sunday rates, and holiday allowances.
  • Integrated search and filter features to make rate management efficient.
  •  
  • Sprint 3: Payroll Management Module

  • Implemented the core functionality to record and calculate payroll based on attendance, work hours, and pay rates.
  • Automated salary calculations by linking attendance records with pay rates.
  • Allowed admins to manage normal workdays, overtime hours, holidays, and Sunday work for each employee.
    •  
  • Sprint 4: Payslip Report Module

  • Created functionality to generate detailed payslips in PDF format.
  • Ensured that payslips displayed breakdowns of salaries, including workdays, overtime pay, and allowances.
  • Designed a clean and professional layout for the PDF reports.
    •  
  •  
  • Sprint 5: EPF Report Module

  • Added a feature to generate EPF reports for compliance and easy submission to relevant authorities.
  • Allowed admins to export EPF details for all employees in a specific payroll cycle.
    •  
  • Sprint 6: Payment Reports Module

  • Built a comprehensive reporting module to generate payment summaries for auditing and management purposes.
  • Included filters for time periods, employee categories, and pay components.
    •  
  •  
  •  
  • At the end of each sprint, we held a demo session with TSP Manpower to showcase the completed module and gather feedback for improvements.

Testing and Quality Assurance

  • Throughout the development process, we ensured rigorous testing at each stage:

    • Unit Testing: To validate individual components and functions.
    • Integration Testing: To ensure that different modules worked together seamlessly.
    • User Acceptance Testing (UAT): At the end of each sprint, the client tested the delivered module in real-world scenarios and provided feedback for refinements.

    The iterative feedback loop ensured that any issues were resolved promptly and that the final product met the client’s expectations.

Deployment and Training

  • We deployed the system to TSP Manpower’s server, ensuring it was secure and optimized for performance. We also provided training sessions for the admin staff to familiarize them with the system. A user manual was included to guide them through everyday tasks like managing payroll and generating reports.

Post Deployment Support

  • After deployment, we are currently providing ongoing support on a monthly basis to address any issues and make minor adjustments based on real-world usage. We also ensured the system was scalable, allowing TSP Manpower to handle an increasing workforce without issues.

Final Outcome

By following an agile, sprint-based approach, we were able to deliver a robust payroll system within three months. The client appreciated the incremental delivery, which allowed them to start using the system even before the entire project was completed. This system has transformed TSP Manpower’s payroll process, saving time, improving accuracy, and reducing administrative headaches.

Technologies

The TSP Payroll Management System was built using a modern and robust technology stack to ensure scalability, performance, and ease of use. Here’s a brief description of the technologies used:

  • Next.js (React Framework): The core framework for building the system’s front-end and server-side logic. Its powerful features like server-side rendering (SSR) and static site generation (SSG) made the application fast and SEO-friendly.
  • React: Used to create an intuitive and dynamic user interface with reusable components, ensuring a smooth user experience for managing employees, pay rates, and payroll data.
  • MySQL: The relational database used for securely storing and managing employee details, pay rates, attendance, and payroll data. MySQL’s robustness ensured data integrity and quick retrieval for salary calculations and reports.
  • Tailwind CSS: For designing a modern and responsive UI. Tailwind CSS helped create a clean, professional look while ensuring the system worked seamlessly across different devices.
  • RESTful APIs: Built to enable efficient communication between the front-end and back-end, allowing data to be securely fetched and updated across all modules.
  • NextAuth: Implemented for secure authentication, providing role-based access control to ensure only authorized admin users could perform sensitive payroll operations.
  • Context API: Used for state management to share data efficiently across different components of the application without unnecessary complexity.
  • JS PDF: Integrated to dynamically generate professional-looking payslips and reports in PDF format, streamlining documentation and reporting tasks.
  • Git and GitHub: For version control and collaboration, ensuring the development process was smooth, trackable, and well-documented.

 

This combination of technologies allowed us to create a scalable, user-friendly, and secure payroll management system tailored to TSP Manpower’s needs.

Skip to content