For most businesses that do work rather than ship boxes, wages are the biggest number on the page and the one nobody can break down. sparx records who worked, for how long, on what, and at what rate, then turns it into a real figure instead of a line you type in and hope. It is not payroll, and it never will be.
$29/mo flat · however many people · 14 days free, no card
his hourly wage
$28.0022%: tax, comp, insurance
+ $6.16one of three people who worked it
$273.28Against a $1,240 invoice. Nobody at Ridgeline could have told you that number before, because it was never written down anywhere it could be added up.
Call it forty an hour, near enough. It was near enough once. Since then somebody had a raise, your insurance went up, and one job in five takes half a day longer than the one you priced it against, and none of that announced itself. It just quietly came out of what you kept.

Not because it is bad at its job, because its job is a different one. Payroll exists to pay people accurately and file what has to be filed, and it does that. Then you ask the question you actually had, and it has nothing to answer with, because it has never heard of a job.
Every figure is right, everyone got paid, and the filings went out on time. That is what a payroll system is for, and sparx will never try to take that job from it.
Payroll never saw a rebuild. It saw a fortnight, four people, and a gross figure: in a month that also held nineteen other jobs, two warranty callbacks and a day everybody spent tidying the yard. Nothing in that report knows which hours belong to which work, because nobody ever wrote it down anywhere it could be counted.
So the honest answer from a payroll system is that it cannot say. And the answer you end up with is a feeling: it took longer than you quoted, but you got paid, so it probably came out fine.
A time clock records the hour. A payroll bureau prices it. Neither has ever seen the job, because the job lives in a different system, so the two halves never meet, and the biggest number in your business stays an estimate. sparx is already holding the job.
A pay rate here has a start date. Give somebody a raise and the old rate closes the day before the new one opens, so an hour worked in March is still costed at March’s rate. Systems that store the rate on the person quietly rewrite every job that person has ever touched the moment you edit it.
Clocking in can name the job, and a typed entry can too, because the job is already in this database. That one field is the whole difference between a timesheet and a cost: without it you have hours, with it you have what the work took.
Approve a timesheet and those hours are costed at the rate in force on each day, marked up by your employer costs, and filed as spending under Wages: split by business, and charged to the jobs they named. Nobody estimates anything.
Somebody taps in on a phone in the yard, or types “3.5 on the Ellison job” back at the desk on Friday. Both are real ways people work and both are first-class here: the only thing that matters is that the hour lands somewhere with the job attached before the memory of it goes.
diagnosis and strip-down
8.0 h$273.28refit and road test
4.5 h$142.74parts run and clean-up
2.0 h$53.68Costed at each person’s rate for the day they worked it, employer costs included.
A phone clock for the people on the floor. A duration typed straight in for the ones who would rather write it down once at the end of the day. A bulk import for the fortnight you are catching up on. All three become the same kind of entry, so nothing downstream has to care which it was.
What you rostered and what actually happened are separate records here, on purpose. Every scheduling product eventually treats them as one number, and the moment it does, the difference between the week you planned and the week you paid for disappears, and that difference is usually where the money went.
Hours wait for approval before they reach a single figure anywhere else. A timesheet that pushed itself into your profit the moment somebody clocked out would mean every mistyped shift moved the month before anyone had looked at it.
Your share of payroll taxes, workers’ comp, insurance: the part that never appears on anybody’s wage but comes out of the same money. Tell sparx once what that adds up to as a percentage and every hour after it is costed honestly. Leave it out and your labor figure runs fifteen to thirty percent light, which is exactly the kind of wrong that feels fine right up until the year-end.
his hourly wage
$28.0022%: the share that never reaches his pocket
+ $6.16Eight of those went into the Ellison job. That is $273.28 of a $1,240 invoice, and it is a number nobody at Ridgeline could have told you before, because it was never written down in one place.
Marta’s first fortnight was logged before anybody got round to recording what she earns. Sixty-two hours, all real, none of them costable.
So sparx does not cost them at zero. The timesheet says sixty-two hours are unpriced, the period total says “so far” instead of pretending to be finished, and the wage figure it files is short by exactly that much and says so. A zero here becomes a zero in your profit, and you would read that as a fortnight where the work was free.
Add her rate afterwards, dated from her first day, and the fortnight prices itself. Nothing else moves. Everyone else’s March is untouched, because their rates were already the rates in force.
Approve a fortnight and those hours are costed at each day’s rate, marked up by your employer costs, and filed as spending under Wages: split across your businesses, and charged to the jobs the hours named. If you run Finance, that is the wages slice below arriving on its own. If you don’t, the hours and the total are still yours.
Both numbers are right, and the gap between them is the 22% that never reaches anybody’s pocket. Ridgeline had been doing this arithmetic with the smaller figure, which made labor look like a third of the month rather than more than a third, and made every job quoted off that assumption a little thinner than it appeared.
Somebody on a salary is being paid this month whether or not they clocked anything, so they appear in the figure whether or not they clocked anything. A system that costed only what got logged would quietly leave the biggest wages in most businesses out of the total, because salaried people are exactly the ones who never clock.
If somebody works across both of the things you own, their hours cost each one separately: the workshop’s wages and the parts counter’s wages are two figures, not one divided by guesswork.
Every job ranked by what you kept on it, worst first, because the one that lost money is the one you can still do something about. The hours are what make this possible: without them a job’s cost is its parts, and parts were never the part you were getting wrong.
The Farrow rebuild came in at twenty-six hours against the sixteen it was quoted at, and that is the entire difference between a job that made $300 and one that lost twelve dollars. Nobody was careless. It just took longer, and until the hours were written against the job, there was nothing anywhere that could say so.
Job-by-job profit is the Finance module’s screen. Team is what puts the labor into it; run them together and the ranking includes what the work actually took.
Not a feeling about how long that kind of job takes: the hours the last four actually took, at what they actually cost. The estimate stops being the thing you are most nervous about, and the job that always ran long stops being the one you keep taking.

sparx does not withhold tax, does not file anything, does not administer a benefit, and does not pay anybody, not in this version and not in a later one. Becoming a tax filer in fifty states is a different company, and the people who already do it have spent a decade earning the trust it takes.
What sparx owes your payroll bureau is the hours, and that is what it hands over: every approved hour for the period, per person, with their id in your payroll system on the row so nobody is matching names in a spreadsheet at eight on a Friday.
EMP-0114
80.00 h$2,732.80EMP-0119
80.00 h$2,537.60EMP-0122
80.00 h$2,147.20Hours in decimal, because that is what a payroll system parses: the screens say “7h 30m” because that is what a person reads. Any hours nobody could price are in the hours column and flagged separately, never dropped: they still have to be paid.
The cost figure is the argument. This is the part you use on a Monday morning, and the reason a business with nine people on the floor keeps it open rather than opening it once a fortnight.
Lay next week out over however many sittings it takes and release it in one act, so nobody is reading a half-finished rota off the wall. Approved time off is already on the same grid, which is how "who is actually free on Thursday" stops being a question you answer from memory.
Requests arrive in a queue that shows what is waiting on you rather than everything that ever happened. Approve one and those days come off the rota, and if that person is bookable by your customers, the booking system stops offering them, then starts again if the leave is withdrawn.
A ticket, a license, an inspection certificate. Each with as much notice as you actually need, because the one you renew by post is not the one you renew online. Expired shows red on the roster before you assign the job. And a qualification that never expires is recorded as exactly that, so it never nags you.
The technician who has never opened sparx still has hours, a rate, and a license with a date on it, and is very often the person whose cost matters most. Nobody here needs a login to exist, and nobody is charged for having one.
No per-person charge, nothing metered by how many hours you record, and no separate bill for the people who never sign in. Four numbers worth knowing before you look at the one that matters.
place the hours and the job both live: labor cost is read, never estimated
a month, flat, whether you have three people or thirty · never per seat
logins required · the tech who never opens sparx still has hours and a rate
records per shift: what you rostered, and what actually happened
Flat, whether you have three people or thirty. Not per seat, because charging by the head would put a price on the exact thing this module is for. Free for fourteen days, and we don’t ask for a card.
What it does, what it deliberately doesn’t, and what it costs: answered straight. Fourteen days free, and we don’t ask for a card.
No, and it is not going to. sparx does not withhold tax, does not file anything with anybody, does not administer benefits, and never pays a person. That boundary is permanent, not a version-one cut: becoming a tax filer in fifty states is a different company, and the people who already do it have spent a decade earning the trust it takes. What sparx does is the part your payroll provider cannot: record what people worked, on which job, at what it cost you, and hand the hours over so payroll can do its job accurately.
Fourteen days free, no card, and no contract at the end of it. Turn it off the day it stops earning its $29 and every hour, rate and record you entered stays yours: exportable in full, from a button, without asking anyone.