people and payroll
if Rosa was underpaid, who else was?
Illustrative only. Brindlewood, its agreement and its figures are fictional, and the workings are not an interpretation of any award, enterprise agreement or law.
Leah Morton runs payroll at Brindlewood Produce Packers, a Brisbane business with about 60 staff. One payday, Rosa, a packer, came to her with a pay query. A fortnight earlier she had worked 45 hours in one week, and none of the extra 7 hours had been paid as overtime.
Leah checked, and Rosa was right. Under the agreement, hours past 38 in a week are overtime. The payroll system had been counting hours across the whole fortnight instead. The next week Rosa worked 31 hours, so her fortnight came to 76: exactly two weeks of ordinary hours, and no overtime.
That was the easy part. The system had been counting this way for years, so anyone who had worked a long week followed by a short one could have been underpaid too. And each pay period had to be checked against the rates of its day: pay rates had gone up every July, and a new agreement had started at the end of 2024. Checking everyone, pay period by pay period, back to July 2023, would have meant weeks in a spreadsheet.
checking everyone, not just Rosa
She gave Pyxta, our platform, the timesheets from the rostering system, the pay records from the payroll system, and the enterprise agreements. Then she asked:
"For every pay period in the last two years, was each person paid what the agreement at the time required? And if not, by how much?"
pyxta's first answer misses it too
Pay period 26 February to 10 March 2024 · eight of Brindlewood's staff
For these eight people, Pyxta's first answer matched the payroll system to the cent. None of them had been underpaid.
Leah knew that was wrong. Rosa had worked another 45-hour week in that fortnight, and every hour of it had been paid as ordinary time. Pyxta had read the agreement the same way the payroll system had. It is an easy mistake to make: elsewhere, the same agreement describes 38 hours a week as an average over a fortnightly roster.
Leah points at one shift
She picked out Rosa's Friday, the day that took her past 38 hours, and marked its last 7 hours as overtime. From that one correction, Pyxta worked out the rule: under this agreement, overtime is counted week by week. It then showed her how that would change the figures.
Underpaid: $0.00 → $88.20 · Rosa Tran
Those 7 hours had already been paid at her ordinary rate of $25.20. What was missing was the extra half: 7 × $12.60 = $88.20. Leah accepted the change. She did not have to write a rule, or explain one.
pyxta finds two more
Pay period 26 August to 8 September 2024, after the July pay rise · Underpaid: $40.95 · Callum Drees
Callum Drees, a senior packer, worked 41 hours one week and 35 the next. The payroll system paid him 76 ordinary hours, as it always had. This time Pyxta counted 3 of those hours as overtime. They had been paid at his new ordinary rate of $27.30, so he was short the extra half: $40.95. Leah did not have to point it out again.
Anika Sorell had two identical sick-leave entries on the same day, and had been paid for both. Was one of them meant for a different day, or was the same day entered twice? Nothing in the records could settle it, so Pyxta held the second entry back and left the call to Leah. She decided it had been entered twice: Anika had been overpaid $198.74.
every number shows where it came from
Leah opened Callum's Thursday shift to see where his $40.95 came from. Pyxta showed her three things.
The timesheet line: 5:30 am to 5:00 pm, half an hour for lunch, 11 hours. His Monday to Wednesday already came to 30, so the last 3 hours took his week past 38.
The clause the rule comes from: clause 15 on page 10, where the agreement calls overtime "extra hours":
15.1 Hours worked beyond 38 in any week are extra hours.
15.2 Extra hours are paid at time and a half: 150% of the employee's base rate of pay.
The rate he was on that day: $27.30 an hour, the senior packer's rate from 1 July to 15 December 2024.
why not just ask AI?
We tried. In October 2026 we anonymised data from a real payroll review: ten employees, six pay periods, the enterprise agreement and the award pay guides. We gave it to one AI model five times, with exactly the same data and instructions, and asked what each person should have been paid.
We got five different answers. Wherever the agreement left something open to interpretation, the model made its own call, and it made it differently each time. It counted overtime three different ways, and one answer found no overtime at all.
Then we added the business's own interpretation of the rules, written the way Pyxta captures them. Every answer now agreed with the review on nine of the ten employees, and one agreed on all ten. In the other four, the model ignored one of the business's rules for the tenth employee, because the reason for that rule had not been captured.
That is the difference. In our test, the AI interpreted and applied the rules from scratch every time. Pyxta works out an answer once, records the steps it took, and repeats those exact steps next time, so the same pay records always give the same answer. And when the agreement leaves a question open to interpretation, someone like Leah answers it once, and Pyxta keeps that answer and uses it from then on.
which of your answers still lives in someone's spreadsheet?
If a pay query has just turned into a full review, tell us about it in a sentence or two. One of us will reply within two working days and will say whether we can help or not.