Paying hourly contractors without arguments
One of our agents had a day summary that read: planned 9 to 5, worked 9 to 5, and underneath, "7 hours 3 minutes worked, 57 minutes short".
They had been at the desk all day.
The maths was right, which is what made it maddening. The record of their day had holes in it. Their laptop had dropped off the network a few times, each drop had closed their session, and the time until they noticed and checked in again counted as nothing. One bad connection, and a person who worked a full shift was about to be paid for seven hours.
We caught it because someone looked at that summary and didn't believe it. That's the part that stayed with us. A pay system that is only right when somebody doubts it is not right.
Here is what we do now, at a size where we can no longer remember everyone's week.
A dropped connection is not an absence
The first fix was direct. If a session closes because the connection went away and the person is back within ten minutes, the session reopens as if it never closed. No hole, no manual correction, no awkward message to a manager.
The wider lesson was about where hours come from. Ours are recorded as people work: one click to check in, then their status through the day. There's nothing to collect on Friday. But it also means the recording has to survive real life, like sleeping laptops, bad wifi and power cuts, or the record will be wrong in the worker's disfavour, quietly.
Managers look at the odd days only
Most days are ordinary and nobody should have to approve them. If a manager has to click through forty normal shifts to find the two strange ones, they'll stop looking.
So only the strange ones are flagged: a short shift, a late start, a gap. The manager has four options. Accept it as it is. Excuse it, because the power went out or the late start was agreed. Adjust it, because the record is wrong. Or reject it.
Whichever they pick, it's saved with their name and the reason. This matters more than it sounds. Six weeks later someone will ask about that Tuesday, and "I think somebody approved it" is not an answer.
Related: when an agent tells us in advance they'll be late and a manager approves, the planned start moves. Otherwise the day would be judged against a start time everyone had already agreed to change.
A Saturday is not a short day
Someone who comes in on a day off for four hours has done you a favour. A system that compares every day to a full shift will mark that as four hours short. Work on an unscheduled day counts as overtime here, full stop.
Pay is calculated in one place
This one is technical, and it's the mistake we'd warn anyone about.
We used to work out pay in more than one part of the system: once for the payslip, once for a report, once for a projection. They were supposed to agree. For hourly people they did. For someone on a monthly amount they didn't, and the totals came out badly wrong in a way that was obvious the moment a human looked at them.
Now there is one calculation, and everything reads from it. Hourly is hours times rate. A monthly amount is prorated by working days if someone starts mid-month. A flat fee is a flat fee. If you run payroll off spreadsheets, the equivalent is one sheet that everything else links to, not three sheets with the same formula pasted in.
Base pay and bonus are separate lines
Base pay is for the hours. A bonus is for the result. We keep them as two lines on the payslip, and the bonus follows a score built from things we chose to count for that campaign.
One rule goes with it: the bonus is fixed when the pay period closes. Otherwise a correction made three weeks later changes a number on a payslip that has already been sent, and nobody trusts a payslip that changes.
Payday itself
The payslip is drafted from the recorded hours when the period ends. Someone reviews the draft. It's emailed as a PDF and sits in the person's own portal. We pay them the way we always have, then mark it paid so both sides see the same status.
What's missing from that list is retyping. No one copies hours from one tool into another, which is where most pay mistakes are born.
Each person can also see their own days, including the ones that were adjusted and why. A question on Tuesday, with the record open in front of both people, takes two minutes. The same question on payday takes an afternoon and some goodwill.
What we use
This is how MyVA works, because it's what we needed: hours from check-in and status (time tracking), flagged days and overtime (performance), payslips with the bonus as its own line (payslips and invoices), and the agreement that sets the rate signed in the same place (contracts). It doesn't move the money and it isn't a payroll company.
Rules for contractors differ by country. Treat this as how one team does it, not as legal advice.
Run your whole team in one place.