A list tells you who won. A specifier tells you who lost, and why. That second part is the whole job.

Most payroll sites hand you ten logos and a star rating. That answers a question nobody asked. Your question is narrower: which provider fits my state, my headcount, my pay structure, and the accounting tool I already run. A logo grid can't answer that. It doesn't know your setup, so it can't cross anything off.

We cross things off. On purpose. In the open.

The math a list can't survive

Count the combinations. Roughly 40 payroll providers worth naming. 50 states, each with its own registration and filing rules. A handful of pay structures — W-2 salaried, W-2 hourly, 1099 contractors, a mix. Then the accounting tool you're already locked into: QuickBooks, Xero, Wave, a spreadsheet, nothing.

Multiply it out. 40 × 50 × pay structure × existing stack lands in the tens of thousands of setups. No editor sits down and ranks the best payroll for a 1099-only shop in Ohio that keeps its books in Xero. Nobody has. The grid is generic because the work of being specific is too large to do by hand.

So we don't rank the field. We invert the problem.

We hold five. We eliminate the rest.

We keep a small roster — five providers at the counter. Each one earns its slot by covering a real slice of small-business payroll: one for contractor-only, one for the QuickBooks shop, one that scales past twenty, one that runs a one-person shop from a phone. We don't stock forty because forty is noise. Five we can know cold.

For each of the four, we encode the real plan rules. Not the marketing page. The actual constraints: which pay structures a plan supports, which accounting tools it syncs to, where the per-state filing fees kick in, the headcount range where a plan is either overbuilt or about to break.

Then you answer four questions. We run your answers against the encoded rules. Whatever doesn't fit gets eliminated — and we print the reason next to the cross-off. No mystery. You see the constraint that killed it.

Anyone can name a winner. A specifier shows you the losers — and the one line that took each of them out.

An example elimination

Here is the logic running on a real setup. Feed it one input at a time and watch the roster shrink.

Setup inputWhat it rules outWhy
1099 contractors onlyQuickBooks Payroll & ADP RUNNo true contractor-only plan — you'd pay for W-2 machinery you don't run.
Solo owner, no accounting toolADP RUN (points to Roll by ADP)ADP RUN is overbuilt and quote-priced at one person; Roll by ADP runs the same filing from a phone at a flat price.
Books in XeroQuickBooks Payroll & Roll by ADPNeither syncs to Xero — you'd re-key every run by hand.
6–20 employees, growingRules out the phone-first and lean picksNames ADP RUN — it scales past 20 when the lighter tools start to strain.

Notice the last row. Elimination isn't only about killing options. When your setup points at growth, a heavier provider stays on the board as the alternate — because the rule says it earns its keep past a headcount the primary pick can't hold.

Same setup in, same answer out

The engine is deterministic. Two people with identical answers get the identical result — same primary, same eliminations, same reasons. There's no roll of the dice and no mood. The rules are written down. Run them twice, get the same output twice.

That matters because it makes us checkable. If we cross off QuickBooks Payroll for a Xero shop, you can hold us to it. The rule is stated. Either it's true or it isn't.

The four inputs, and what each can rule out

Rules and a freshness pipeline — not a black box

Two things keep this honest, and both are things the system verifiably does.

First: the rules are human-written and public. A person wrote "no contractor-only plan → rule out for 1099-only setups." You can read it. You can argue with it. It is not a hidden weighting nobody can inspect.

Second: the eligibility matrix is machine-checked, not machine-judged. The machine doesn't decide who's good. It applies the stated rules to your four answers and returns what fits. The decisions are the rules. The machine just runs them the same way every time.

The one moving part is freshness. Provider pricing and plan rules drift — a tier gets renamed, a sync gets added, a fee moves. To keep the matrix from going stale, we run a pipeline that reads provider pricing pages so our rules aren't twelve months out of date. When a plan rule changes, the encoded rule changes, and the eliminations shift with it. That's the extent of it. No scores. No confidence bands. No chatbot deciding your payroll. Rules, applied, kept current.

Updated July 2025: We stood up the pricing-page monitoring pipeline so plan-rule and fee data refresh on a schedule instead of by hand, and we tightened the contractor-only rule after a provider quietly retired a plan tier. Two eliminations changed as a result — both now carry the corrected reason.

Why we'd rather show you the losers

A winner with no reasons is a guess in a nice font. The exclusions are the proof. When you can see the providers that got crossed off — and the one line that took each one out — the survivor isn't a recommendation you have to trust. It's the one that didn't get ruled out. You can check the work.

See it rule things out for you.

The exclusions are the proof. Answer four questions and watch what gets crossed off — and why. No email.

Spec my payroll →