Sales by Rep · QuickBooks Online

QuickBooks Online has no Sales by Rep report. Here is everything that breaks because of it.

Twelve problems people actually hit, each with what you see, why it happens, and what the fix costs you. Sources are named and dated. Useful whether or not you ever buy anything.

The short answer

QuickBooks Online does not include a Sales by Rep report at any subscription tier, Advanced included. It is not tier-gated; it is absent (re-verified 2026-08-07). Intuit's own help documentation states that QuickBooks Online does not have a calculation feature for sales commissions, and prescribes Class or Location tracking as the workaround. Meanwhile the Desktop-to-Online converter demotes the REP field to a custom field of initials, severed from the employee record.

The data survives the migration. The reporting does not. Everything below follows from those two facts.

01The attribution problems

01 The report is simply gone after migrating

What you see: Reports has no Sales by Rep Summary or Detail, and searching finds nothing.

Why: The report is a Desktop feature. It was never built for QuickBooks Online, and no plan tier adds it.

What to do: If you still have the Desktop file, run Reports → Sales → Sales by Rep Detail and export it for every period you may need to defend. Once that file is retired, the export is the only record of who was credited with what, and it cannot be reconstructed from QuickBooks Online alone.

02 The rep field arrived as initials with no person attached

What you see: A custom field on the invoice containing something like “ER”, and no employee link anywhere.

Why: Intuit's own converter creates that custom field for Desktop migrants. It is free text, not a record.

What to do: Treat the initials as recoverable data, not as loss. They stay readable through the QuickBooks Online API, so a mapping from initials to real people is enough to rebuild attribution.

03 The report runs but the rep column is empty

What you see: Sales by Customer Detail returns rows, but every rep reads “no sales rep”.

Why: Any report keyed on a rep record finds nothing, because the attribution now lives on a custom field.

What to do: Open an invoice from before the migration and look at the custom fields at the bottom. Initials there mean nothing was lost: it is a reporting problem, not a data problem. Add that custom field as a column on Sales by Customer Detail for the closest native equivalent.

04 Two reps share initials and their numbers merged

What you see: One tag carrying two people's sales, and totals nobody can defend.

Why: Initials are not unique. Two people sharing a first and last initial land on the same tag, silently.

What to do: Map every distinct tag to exactly one human before running numbers, and check for collisions explicitly rather than assuming.

05 The same rep is spelled three ways

What you see: “E. Ruiz”, “Elena Ruiz” and “ER” appearing as three separate people in every report.

Why: The field is free text with no validation, and it is retyped on every transaction.

What to do: Agree one exact spelling per rep and keep the list somewhere shared. Fixing it later means editing historical invoices one at a time.

02The workarounds, and what each costs

06 Class-per-rep hits a wall

Prescribed by: Intuit's help documentation, and by third-party commission guides as the recommended route.

What it costs: Every transaction must be tagged by hand, which is where most commission errors start. It collides with using Classes for their real purpose, such as departments or product lines. QuickBooks Online Plus caps classes and locations at 40 combined. And one class per line means no splits, so two reps on one deal cannot be expressed at all.

07 Location-per-rep collides with real locations

Prescribed by: Intuit's help documentation lists it; commission guides advise against it.

What it costs: One location per transaction, no line-level attribution, no splits, and it becomes unusable the moment you have actual locations to track.

08 Custom fields run out below Advanced

What it costs: Below QuickBooks Online Advanced you get three custom fields in total. Spending one on sales rep means it is not available for anything else, and the field remains unvalidated free text regardless of tier.

09 Paid-when-collected plans force a manual walk

What you see: No way to report payment status per invoice against a rep.

What it costs: The documented method is to walk each customer, check the payment status of every invoice, and record the result in a spreadsheet, every period. It is the most labour intensive workaround in circulation.

Decide this explicitly: whether commission earns when the invoice is issued or when the money arrives. It determines which month the expense belongs in, and it is the most common source of disputes later.

10 The spreadsheet loop drifts

What you see: Export sales, apply rates by hand, re-key the result. It works, and it degrades.

What it costs: The three failure modes that show up when paid statements are replayed against the rules are the same invoice paid in two different months, reps paid on tax-inclusive totals when the plan says pre-tax, and initials that no longer map to a person. None of them are visible without a document-level comparison.

11 The accrual journal entry stays manual

What you see: Debit commission expense, credit commission payable, cleared when paid, typed by someone every period.

What it costs: Even commission-software guides that document the QuickBooks workaround concede this step stays manual. Period matching is the real concern: the month commission is earned is often not the month it is paid.

12 “Use a third-party app” never names one

What you see: Guides and forum answers agree that automatic rep assignment needs an app, and then stop.

Why it matters: That unnamed slot is why the question keeps being asked. It is worth checking whether any tool you evaluate actually reads QuickBooks Online, rather than reading a CRM and mentioning QuickBooks in prose. Several published QuickBooks commission guides come from vendors whose own integrations list contains no QuickBooks connector.

Verify before you trust any rebuild

Whatever route you take, reconcile it once against a known-good number: one rep, one month, pre-tax, against the Desktop baseline. In our July 2026 controlled test migration a rebuilt total came out at $21,077.23 against Desktop's $20,573.25 for the same rep and period. That is a $504 phantom raise on one rep, and it would have been paid without anyone noticing.

If you kept the Desktop export, you can read it back with no account and nothing stored: the migration check lists which reps it names, how many documents carry one, and the revenue behind them. The step-by-step recovery guide lives on the FAQ.

Rebuild the run, not just the report.
Statements per rep · every line traced · the journal entry previewed before it posts
Connect QuickBooks