What QB USA Payroll actually does
You give it a month's worth of payroll paperwork — ADP registers, ADP invoices and the insurance carriers' bills. It works out what every person cost, which company they belong to, and which account each part of that cost lands in. Then it checks its own answer six different ways before showing it to you.
Where each number comes from
This is the heart of the process. Different kinds of money are read from different documents, and never from the wrong one:
| Kind of cost | Read from |
|---|---|
| Wages, overtime, PTO, bonus, car allowance | The ADP register |
| Payroll taxes, ADP service fees, 401k match, cell allowance | The ADP invoice |
| Insurance premiums | The carrier bills (UNUM, BCBS) plus the invoice's benefit adjustments |
| Accrual | Worked out from the previous run's main entry |
| Who each person is | The employee roster stored in Meridian, not a file |
Words you will see
Upload — the file set
- The ADP payroll registers for the month — one per pay date.
- The ADP invoices — one per company per pay date.
- The carrier bills — UNUM and BCBS.
- The period and fiscal year this payroll belongs to.
Drop them all in together. Meridian sorts them by what is inside them, not by what they are called — with one exception.
register_YYYY-MM-DD.csv, using the pay date — for example
register_2026-07-15.csv. Everything else can be named anything.
If a file is misnamed or missing, the run will tell you at this stage rather than producing an entry that is quietly short.
The three settings
For this process a period is a calendar month, so Meridian can show you the end date under the field, and it cross-checks your choice against the dates in the files you uploaded. If they disagree it says so in a sentence.
2025, FY25 or 25, or
pick from the list. It is checked against the files along with the period.Leave it alone unless you mean to change it. Meridian records whether the number was the derived one or one you typed, so an override is visible later as a deliberate act.
Roster review — two lists, two different questions
Before it can book anything, Meridian needs to know how to code every person who was paid. This screen shows you what it cannot answer on its own, and what it can answer but thinks you should see.
Prompts — you must answer these
Someone on this payroll cannot be coded yet: a new hire, or someone whose details changed. The run cannot go forward until every prompt has an answer. Each prompt states in plain words why it is being asked; that sentence is the whole point of the screen, so read it rather than pattern-matching on the name.
Alerts — you are being told, not asked
Someone's stored coding disagrees with what ADP sent this month. Meridian already has an answer and will use the stored one. The alert exists so a real change — a transfer, a promotion, a department move — does not slide past unnoticed. You can read them and carry on.
The choice that matters on every answer
| Option | What it does | Use it when |
|---|---|---|
| Save permanently | Writes the person's coding into the roster. Every future run uses it. | This is how the person should be coded from now on — a new hire, a real transfer. |
| This run only | Applies to this run and is discarded when it ends. | A one-off: a correction for this period that must not leak into next period. |
The choice is shown at the control, never hidden behind a tooltip, because it is the difference between fixing a month and changing a record.
Preview and the six gates
Meridian now shows you what it intends to book, and the result of six cross-checks. A gate adds the same money up two different ways, from two different documents, and compares. A gate that passes is silent; a gate that fails shows you the expected figure, the figure it got, and exactly who is responsible.
| Gate | What it compares |
|---|---|
| G1 Gross wages |
Gross wages on ADP's invoice against gross pay on ADP's register, per company per pay date. Two different ADP reports — so this is the first sign that the right files were uploaded for the right period. |
| G2 Per person |
Each person's GROSS on the invoice against what was booked into their earnings buckets — salary, hourly, overtime, PTO, bonus, car allowance. |
| G3 Invoice total |
Everything booked except carrier benefits against the invoice's Total Amount — the actual bill from ADP. |
| G4 Invoice self-check |
The invoice against itself: its per-employee table totals the same as its per-department table. ADP does not always export the per-department table; when it is absent there is nothing to cross-foot and Meridian does not raise the gate at all, rather than report the whole invoice as a variance. G1 and G3 still cover that invoice. |
| G5 Carrier premiums |
Premiums booked onto people against the carrier's own control total, per company per carrier. |
| G6 Identity |
Every person paid resolves to exactly one identity — nobody merged with a namesake, nobody dropped. |
What a failure usually means
Meridian writes a plain-language explanation beside every failed gate. The common shapes:
Declaring a failed gate
A failed gate does not stop you permanently. When you have looked at it and are satisfied — a known reversal, a leaver on a carrier bill — you declare it, which records that a named person accepted it, at a time, on this run. The run cannot finish while a failed gate sits undeclared.
The nine journal entries
One month of input produces nine entries: for each of three payroll variants, two main entries — one per pay date — plus one accrual entry.
| Variant | Company | Entity | Entries |
|---|---|---|---|
| Salaried | Stella Mattina Health, Inc. | HW3 | 2 main + 1 accrual |
| Hourly | Stella Mattina, LLC | DJ8 | 2 main + 1 accrual |
| Salaried | Stella Mattina, LLC | DJ8 | 2 main + 1 accrual |
Each is labelled Main or Accrual on the results screen.
Before you upload anything
- Check the tie-out strip: total debits must equal total credits.
- Check that every failed gate you accepted is one you actually looked at.
- Download the bundle from the button in the top right.
- Load the entries into the accounting system the way you normally do.
The run stays in Runs permanently — its figures, its gates and who declared what — as the audit trail.
Run states and troubleshooting
What each status means
| Status | What is happening | What you do |
|---|---|---|
| Parsing | Sorting and reading your files. | Wait. |
| Waiting on you | Roster prompts to answer, or gates to declare. | Open the run and answer them. |
| Ready to book | Everything answered. Nothing has been produced yet. | Start it. |
| Booking | Building the nine entries. | Wait. You can close the tab. |
| Booked | Finished. Files ready. | Check the tie-out, download. |
| Failed | Something went wrong that is not your data. | Report it, with the run open. |
| Expired | Left unfinished too long. | Start a new run. |
| Superseded | A later run replaced this one for the period. | Use the newer run. |
Common questions
| Problem | Answer |
|---|---|
| A register was rejected | Check the name. It must be register_YYYY-MM-DD.csv with the pay
date. This is the one file whose name carries information. |
| The period cross-check disagrees with me | Believe the files first. They carry the pay dates; your memory of which month you are booking is the part more likely to be wrong. |
| The start button will not light up | A period has not been picked. Nothing is preselected on purpose. |
| Every gate failed | Almost always the wrong month's files, or a missing invoice. G1 is designed to catch exactly that. |
| Where is the Exceptions sheet? | With the run's output files. Read it before investigating an equal-and- opposite gate pair. |
| Can I undo a declaration? | Re-parse the run. Gates are recomputed from the current files rather than remembered. |
| Someone is missing from the entries | Check G6. If a person could not be resolved to one identity, nothing is booked for them by design. |
| I cannot see QB USA Payroll in the menu | Your account has not been granted it. An administrator adds it under Settings → Roles. Note that it is a separate permission from QB MX Payroll — holding one does not give you the other. |