Payroll buying questions are not “who has the best brand.” They are “what is published, what requires a quote, what changes the bill, and who is still legally on the hook if a deposit or W-2 is late.” ADP, Gusto, and Paychex answer those questions differently — and only one of the three publishes a full small-business price ladder online.
This guide is for small-business buyers comparing those three products as of 2026-09-11. It puts a decision table up front, walks plan-level tax filing and support boundaries, shows two labeled cost scenarios (with unknown charges left blank), ends with a provider-switch and bookkeeping checklist, and keeps Beancount’s role to bookkeeping — not payroll tax filing.
Decision table: what you can know before a sales call
| Buying question | Gusto | Paychex Flex® | ADP RUN® (1–49 employees) |
|---|---|---|---|
| How do you learn the price? | Published plan ladder on Gusto’s pricing page | Quote required — compare packages has no public dollar card | Quote required — RUN packages publish features; CTA is “Get pricing” |
| Billing rhythm you should confirm | Monthly base + per-person | Ask: base, PEPM, setup, per-run, discounts | Ask: base, PEPM, per-payroll fee, frequency |
| Payroll-run frequency | Unlimited / off-cycle runs at no extra charge on Gusto plans | Confirm whether run frequency changes the quote | Official FAQ: fees increase with frequency; per-payroll processing fees are common |
| State coverage | Simple = single-state; Plus / Premium = multi-state | Confirm states and local jurisdictions on the quote | Multi-jurisdiction tax tooling listed on Essential+ |
| Tax filing & year-end forms | Full-service federal/state/local filing, W-2s / 1099s / 940 / 941 on Gusto plans | Confirm Taxpay® / payroll tax administration is in the base package you are buying | W-2 & 1099 forms and tax filing listed Included on Essential+ |
| Support tier in the base plan | Basic on Simple / Plus; Priority is an add-on; Premium includes Priority + Dedicated Service Advisor | Online (chat), Enhanced (phone/email), Premium (advisors / specialist can run payroll) — confirm which SKU | 24/7 customer support listed on Essential; deeper HR packages available |
| Optional depth (not a “winner”) | Premium HR experts; Priority Support add-on | HR PEO and HR Pro product options | HR Pro / Complete Payroll & HR Plus packages; larger ADP platforms exist for bigger orgs |
Treat every dollar cell that is not Gusto’s published ladder as unknown until quote. Absence from a marketing page is not proof a fee is free — or that it exists.
Why the tax side of the buy still sits with you
Payroll mistakes are not abstract. The IRS failure-to-deposit penalty (page updated 24-Feb-2026) applies to the unpaid deposit and does not stack: 2% (1–5 days late), 5% (6–15 days), 10% (more than 15 days), and 15% if the tax remains unpaid more than 10 days after the IRS’s first notice. Those percentages cover deposits not made on time, in the right amount, or in the right way.
Information-return penalties (W-2s and many 1099s) are by calendar year the returns are due, not a timeless band. For returns and statements due in calendar year 2026, the IRS information-return penalty table and Instructions for Forms 1099 use:
| Timing | Per-return amount (2026) |
|---|---|
| ≤ 30 days late | $60 |
| 31 days after due date through August 1 | $130 |
| After August 1 or not filed | $340 |
| Intentional disregard | $680 |
Separate penalties can apply for failure to file (IRC §6721) and failure to furnish payee statements (IRC §6722). For small businesses — average annual gross receipts of $5 million or less for the three most recent tax years ending before the calendar year the returns are due — the 2026 after-August-1 / not-filed annual maximum is $1,366,000 per penalty type. Larger-business annual maximums are higher; do not treat a ~$3.5M–$4M large-business figure as the small-business cap.
Penalties land on you as the employer. Some providers (ADP RUN’s tax-filing detail is one example) advertise that if they make a filing or deposit error on work they perform, they pay resulting fines — that is a contractual indemnity, not a rewrite of who the IRS assesses. Unresolved payroll-tax issues also do not migrate away when you change vendors; a switch starts a new process, it does not erase prior exposure.
Published vs quote: what each provider actually discloses
Gusto — published Simple / Plus / Premium ladder
Gusto publishes plan prices. As of 2026-09-11, its official pricing page lists (treat as published list prices; confirm live before you buy):
| Plan | Base / month | Per person / month | Notable boundary |
|---|---|---|---|
| Simple | $49 | $6 | Single-state; Basic support |
| Plus | $80 | $12 | Multi-state; Basic support (Priority / HR add-ons available) |
| Premium | $180 | $22 | Priority support + Dedicated Service Advisor |
A contractor-only tier also appears on that page with a promotional $0 base in some indexings — treat promos as temporary until you confirm the ongoing rate. Gusto plans include unlimited payroll runs, automatic tax calculation/filing, and W-2 / 1099 generation without a separate “tax filing SKU.” Phone and chat during business hours plus a 24/7 help center are part of the documented support model; Priority Support is a priced add-on on Simple (indexed as roughly $30/mo + $3 PEPM) rather than proof that phone support “doesn’t exist.”
Paychex — quote-required Flex packages
Paychex’s compare-payroll-solutions page documents package names (Flex Select / Pro / Enterprise, HR Pro, HR PEO) and support layers. It does not publish a dollar rate card. Any starting-price rumor, “cheapest of the three” ranking, setup fee, direct-deposit fee, or per-run fee you see elsewhere is unverified here — put those lines on your quote checklist instead of treating them as facts.
What you can take from the official compare page: Taxpay® / payroll tax administration is part of the product narrative (confirm it is in your quoted SKU), support SKUs run from Online through Premium, and an HR PEO option exists if you want a deeper HR/benefits bundle. Mid-year switch timing and YTD balancing help appear in Paychex FAQs; use them as process questions, not price claims.
ADP RUN — quote-required package matrix for 1–49 employees
For this comparison, stick to RUN Powered by ADP® packages aimed at 1–49 employees (Essential / Enhanced / Complete Payroll & HR Plus / HR Pro). Other ADP platforms exist for larger organizations; they are out of scope for dollar talk here because this packages page is already quote-gated.
Official matrix language (as of 2026-09-11): direct deposit, W-2 & 1099 forms, and tax filing are listed as Included on Essential and above — do not assume “year-end forms are always an ADP RUN add-on.” 24/7 customer support is listed on Essential. The packages FAQ states there is no long-term contract required. Cost FAQs state that payroll fees increase with pay frequency and that a per-payroll processing fee is common — so weekly vs monthly is a priced input even when the public page shows no dollars.
ADP also states that if ADP makes an error on deposits or returns it files, ADP pays resulting fines/penalties. Read that as scoped indemnity, not a general transfer of IRS assessment.
Two labeled cost scenarios (inputs declared; unknowns blank)
These are fictional teams for math practice. They are not recommendations, break-even rules, or “cheapest overall” rankings.
Scenario A — 5 employees, one state, monthly payroll, wants a published price
Declared inputs: 5 active people paid each month · single state · monthly pay cycle · no time-tracking / multi-state / named-advisor extras required for the Gusto column.
Gusto Simple (published math only):
\$49 base + (5 × \$6 PEPM) = \$79 / monthWeekly vs monthly does not change that published monthly total under Gusto’s unlimited-run rule (same $79 under these assumptions).
Paychex and ADP RUN: leave blanks on the quote — do not invent totals.
| Line item | Gusto Simple | Paychex (ask) | ADP RUN (ask) |
|---|---|---|---|
| Monthly base | $49 | ___ | ___ |
| PEPM × 5 | $30 | ___ | ___ |
| Per-payroll / per-run fees | $0 (unlimited runs) | ___ | ___ (expect frequency sensitivity) |
| Setup / implementation | Not on the published ladder — confirm | ___ | ___ |
| Tax filing / Taxpay® | Included on plan | Confirm in quote | Listed included on Essential+ — confirm $ |
| Support tier in quote | Basic (included) | Online / Enhanced / Premium? | 24/7 Essential vs higher HR package? |
| Illustrative known total | $79 / mo | Unknown | Unknown |
Scenario B — same 5 employees, but multi-state (or needs time tracking)
Declared inputs: still 5 people · now multi-state (or time tracking that pushes you off Simple) · monthly pay cycle.
Gusto Plus (published math only):
\$80 base + (5 × \$12 PEPM) = \$140 / monthThat is not a claim that Plus is cheaper than a Paychex or ADP quote — those columns remain unknown until priced. It is a claim that Simple’s single-state boundary is the wrong Gusto SKU for this input set.
| Line item | Gusto Plus | Paychex (ask) | ADP RUN (ask) |
|---|---|---|---|
| Monthly base | $80 | ___ | ___ |
| PEPM × 5 | $60 | ___ | ___ |
| Multi-state / local filings | In plan boundary | Confirm jurisdictions | Confirm jurisdictions |
| Time tracking / HR add-ons | Confirm if needed beyond Plus | Confirm | Confirm package tier |
| Illustrative known total | $140 / mo | Unknown | Unknown |
Frequency variant (same headcount, weekly payroll): Gusto’s published monthly total under Scenarios A/B stays the same if you stay on the same plan (unlimited runs). For ADP RUN, treat weekly frequency as an unknown uplift on top of any base quote — the FAQ says fees rise with frequency, but the public page does not publish the dollar. For Paychex, ask the quote to price your actual run cadence.
Support-heavy variant (no dollars): if the buying requirement is “named advisor / phone-heavy support,” compare SKUs — Gusto Priority add-on or Premium, Paychex Enhanced/Premium, ADP Essential 24/7 vs HR Pro — still without crowning a winner from review-site averages.
Side-by-side snapshot (no headcount ranking)
| Gusto | Paychex | ADP RUN | |
|---|---|---|---|
| Starting price | Published ladder (e.g. Simple $49 + $6 PEPM as of 2026-09-11) | Quote required | Quote required |
| Pricing transparency | List prices online | Sales quote | Sales quote |
| Unlimited payroll runs | Yes on plans | Unknown / confirm | Often frequency-priced (FAQ) |
| Tax filing & W-2/1099 | Included on plans | Confirm Taxpay® on quote | Listed included on Essential+ |
| Best-fit rule in this article | Match plan boundaries to state count, support SKU, and add-ons | Same — from the quote | Same — from the quote + frequency |
A quick framework for choosing
Instead of asking “which is the best payroll provider,” ask:
- How often do you run payroll? If the candidate prices per run, get frequency into the quote before you compare base fees. Gusto’s unlimited-run model keeps published monthly math stable across weekly vs monthly under the scenarios above; ADP’s FAQ says frequency moves the bill.
- Single-state or multi-state? That alone can move Gusto from Simple to Plus. Put every work state on the Paychex/ADP quote worksheet.
- Which support SKU are you actually buying? Basic vs Priority vs Dedicated (Gusto), Online vs Enhanced vs Premium (Paychex), Essential 24/7 vs higher HR packages (ADP) — compare the named tier, not undated star ratings.
- What is published vs what is still blank? A complete Paychex or ADP comparison includes base, PEPM, setup, per-run/per-payroll, tax-filing SKU, and support tier. Until those cells are filled, you do not have a total.
None of these providers is “wrong.” The expensive mistake is treating a marketing starting price — or a third-party review average — as the bill you will actually pay.
Provider-switch checklist (chronological)
A mid-year move is workable; an unverified cutover is not. Work the steps in order. Penalties and unpaid deposits stay with you as the employer (see the IRS section above) — a new vendor starts a new process; it does not absorb prior exposure or replace your filing calendar.
1. Scope and cutover date (before the first parallel run)
| Obtain / decide | Why |
|---|---|
| Last pay date on the old provider and first pay date on the new one | Avoids a double pay or a missed cycle |
| Which tax quarter the cutover sits in (Form 941 / equivalent state periods) | Mid-quarter switches need YTD continuity across two systems |
| Who files each remaining deposit and return for the old period | Confirm in writing with both vendors — do not assume auto-handoff |
| Work states + local jurisdictions on the new SKU | Matches the buying table’s state-coverage row |
2. Employee / YTD records and open liabilities (export from the old system)
Pull these before you lose portal access:
- Employee roster, pay types, bank/ACH details, and current withholding elections
- Year-to-date gross, net, employee withholding, and employer tax by person (and by state if multi-state)
- PTO / benefit balances the new provider will carry forward
- Open payroll tax liabilities (federal, state, local) and any unfiled returns the old provider still owns
- The last complete payroll register and the bank settlement that funded it
Hand the YTD totals to the new provider (or re-key them) so W-2s and quarterly returns do not restart at zero mid-year.
3. Expected filings through cutover
List every deposit and information return still due under the old EIN/process through the cutover date, then every one the new provider will take from day one. Keep copies of acknowledgments. Unresolved payroll-tax issues do not migrate away when you change vendors.
4. Old-provider access and archives
Download PDF/CSV payroll registers, tax filings, and year-to-date reports you may need for W-2 corrections or an audit. Confirm how long the old portal stays readable after cancelation. Do not close the account until step 5 passes.
5. Reconciliation before the prior system is “closed”
Treat the cutover as verified only when the totals below match across (a) the old provider’s final register, (b) the bank cash that left for that pay, and (c) the bookkeeping entry you post for the same period. Compare field-by-field — there is no verified native ADP/Gusto/Paychex → Beancount connector in this guide; you work from the provider’s own export.
| Field to compare | Provider export | Bank / cash | Books (ledger) |
|---|---|---|---|
| Gross wages | Pay-period total | — | Wage / salary expense |
| Employee withholdings (FIT, FICA, state, local, garnishments) | By tax type | — | Payroll tax liabilities (credit until remitted) |
| Employer taxes (FICA match, FUTA/SUTA, etc.) | Employer column | — | Employer payroll-tax expense + liability |
| Benefits (employer + employee portions) | Benefit lines | — | Benefit expense / liability split as billed |
| Net pay / direct deposit | Net column | ACH / check total leaving operating cash | Clearing or wage-payable zero-out |
| Cash disbursement (net + tax remittances on that run) | Funding / ACH summary | Same-day bank outflow(s) | Sum of cash credits on the payroll entry |
Worked comparison (one fictional pay period — replace with your export):
Provider register: gross \$12,000.00
employee withholdings \$3,100.00
employer taxes \$918.00
employer benefits \$400.00
net pay \$8,900.00
Bank: \$8,900.00 employee ACH + tax/benefit remittance ACHs that match the register
Books: Expenses:Wages \$12,000.00
Expenses:PayrollTaxes \$918.00
Expenses:Benefits \$400.00
Liabilities:PayrollWithheld \$3,100.00
Liabilities:EmployerPayrollTax \$918.00
Liabilities:BenefitsPayable \$400.00
Assets:Bank \$8,900.00Cutover is verified when: gross − employee withholdings = net; net equals the employee bank ACH; employer tax and benefit lines on the register equal the liability credits you booked; and any same-day tax remittance ACH equals the liability you cleared. If a line does not match, fix the books or the provider totals before canceling the old portal.
Keep payroll runs in the ledger (honest limit)
Whichever provider you choose, every pay cycle still needs wages, tax liabilities, benefits, and cash in the general ledger — categorized and reconciled to the bank. A provider can file employment taxes correctly while the ledger is still wrong. Beancount records those postings; it does not calculate or file payroll taxes for you.
After you export a reviewed payroll or bank CSV, the browser CSV to Beancount converter turns that spreadsheet into draft entries you inspect before pasting into a ledger. It is a conversion helper for your reviewed file — not a payroll processor and not a verified native connector for ADP, Gusto, or Paychex. For account layout and first postings, see Getting started.






