A maintenance month before year end
November was a short month, and almost all of its work pointed at the same goal: getting year-to-date figures right before year end.
Year-end is when employers reconcile and report on the whole year, so the year-to-date numbers matter more than at any other time. We changed the year-to-date engine to count how many periods each employee was actually paid a basic salary, rather than assuming they were on payroll for every period. Because it is based on the periods where a basic salary was actually paid, it reflects people who joined or left partway through the year. That figure is now stored alongside the employee's year-to-date totals, and the payroll engine and remuneration module were updated together so it flows into exports.
Getting the spreadsheet right
The year-to-date spreadsheet export had problems with its totals. It took four commits on the same day to get them right, which is a fair picture of how this kind of work really goes: fix, check against the source figures, find the next edge case, fix again. The export also now uses consistent number formatting so columns line up and read cleanly.
Lastly, rebuilding a full year of payroll figures can take a while. We removed the time limit on the rebuild command so it can run to completion instead of stopping part way through.
Not glamorous, but it meant year-end reports were in better shape going into December.
This article was written from Mintage Payroll’s commit history for November 2022. See Mintage Payroll today