Built for shift teams:
Designed for EU Working Time rules
|
Back to blog
Payroll & Compliance

We tested payroll adjustments: bonuses, allowances, deductions, and locked runs

Payroll isn't just hours times rate. It's bonuses, meal allowances, salary advances, insurance deductions, and the rule that a paid run can't be silently changed. We built a test for that too — 2 out of 2 passed.

CT

By Chegatta Team

3 min read

Share

Payroll has a second half.

The first half is: did we count the hours right? That's what our Portuguese payslip test and restaurant stress test cover.

The second half is: now that we have gross pay, what gets added, what gets taken off, and can someone change a paid run after the fact?

We built a test for the second half too. Here's what we verified.

What we tested

We set up individual employee additions and deductions through the engine's JSON-driven earnings components — the same mechanism the real payroll flow uses:

  • Bonuses and allowances — configurable as taxable or non-taxable, subject to Social Security or not.
  • Salary advance recovery — a deduction tied to a prior advance.
  • Insurance deductions — fixed monthly amounts.

We also tested the engine's locking behavior: once a payroll run is approved, it should refuse further recalculation.

What we found

2 out of 2 tests passed, 0 failures.

  1. Individual additions and deductions — bonuses, allowances, advance recovery, and insurance all applied cleanly per employee, with the right taxable/non-taxable and Social Security treatment. No double-counting.
  2. Payroll locking — calculations attached to an approved payroll run correctly threw an exception when we tried to recalculate them without going through the proper correction path.

None of the existing tests regressed. The isolation we proved in the stress tests still held: employee A's bonus didn't leak into employee B's calculation.

Why this matters

If you run payroll for real people, three things need to be true:

  • Additions and deductions are configurable, not hard-coded. You don't want a dev to touch the engine every time you add a new allowance type.
  • Locking is real. A paid or approved run can't be silently overwritten by a stray recalculation.
  • Isolation holds under additions too. A bonus for one employee doesn't inflate another's pay.

We verified all three. The engine is configurable through the same JSON component mechanism the rest of the payroll flow uses, and approved runs are locked.

What we're honest about

We didn't build a full multi-step adjustment approval workflow UI in this phase. The core calculation and locking are solid; the richer approval transition experience is an extension on top. We say so in our own audit.

We also didn't certify the tax tables with an accountant. The math is correct and configurable. Statutory specifics need a local review before you run real payroll — that's true for any payroll product, and we say so openly.

Where this fits

CT

About Chegatta

Chegatta is a verified, compliant attendance platform for staffing agencies and businesses. Our team writes practical guides on attendance, payroll compliance and preventing time theft.

Related posts

Instant 2-Minute Setup • No Credit Card Required

Start Running Accurate Shift Roster & GPS Clock-In Today

Zero hardware cost. Automate time tracking, shift verification and banking-grade SEPA payroll exports.

14 days full accessZero setup hardwareCancel anytime