Mintage Payroll ·

Clearing the ground for Mintage

We removed the old modules and legacy admin packages, then set up the five core packages that Mintage Payroll grew from: Core, Employer, Employee, Compute and Builder.

1 min read55 commits that monthFoundationArchitecture

The month Mintage got its shape

For most of March the commit log is quiet: a scheduled background command, a CSV reader, descriptions on user roles. Then, on the last day of the month, almost everything changed at once.

In a single day the team removed the old admin module, disabled every existing module and stripped out a set of legacy admin packages the project had inherited. Rather than bending a general-purpose base into a payroll system, we cleared the ground and started the payroll structure fresh, keeping only the parts that had proven useful: authentication, permissions, auditing and the modular layout.

Five packages

In their place came five new packages, and this is the first time the Mintage name appears in the history. Core holds shared building blocks. Employer and Employee hold the two sides of the payroll relationship: the company and its settings, and the people being paid. Compute is where calculations live. Builder assembles a payroll from those pieces.

Splitting things up this way was deliberate. Payroll rules change. Tax bands move, contribution ceilings are revised, new allowances appear. Keeping the calculation logic in its own package, away from the screens and records, makes it easier to change one without breaking the other. That separation is still visible in Mintage today.

The same day brought new seeders for permissions and an admin user, updated dependencies, and a small test command for trying things out. It was a lot of change for one day, but it gave April a clean place to start.

This article was written from Mintage Payroll’s commit history for March 2021. See Mintage Payroll today