Beyond the monthly cycle
After a quieter June, July picked up quickly. Many businesses do not pay everyone monthly, so the first big step was adding weekly and fortnightly payroll cycles, with their own controllers and seed data. Getting the three cycles to agree on dates and periods took several rounds of fixes and continued into later months.
The paperwork side of payroll
The main work of the month was exports. Calculating pay is only half the job; the other half is producing the documents people need to hand to staff, banks and the authorities. In a few busy weeks we added a PAYE export as CSV, an NIS schedule, an insurance export, and Excel workbooks for the full payroll, for deductions and for payroll adjustments.
We also built printed outputs: PDF pay labels and a signature sheet for staff who collect pay in person. Two libraries were added this month for PDF and spreadsheet generation, and they carried most of the reporting work for the rest of the year.
Payroll staff tend to judge a system by these outputs. A calculation that is correct but cannot be handed in on the right form does not save anyone time.
Closing a payroll
The other important addition was closing a payroll. When a period is closed, the system copies employees and their settings into the next period, so nobody has to re-enter them. We fixed an early bug in moving from one year to the next, and added the ability to remove an employee from a payroll and restore them later. File uploads also arrived.
This article was written from Mintage Payroll’s commit history for July 2021. See Mintage Payroll today