Reference checks
- Customer, supplier, product, account, tax-code, and payment-term names match active QuickBooks records.
- Company and currency are correct for the intended import.
- Document numbers and external references are not already in use.
Row checks
- Required headers are present once and spelled consistently.
- Dates are real dates, amounts are numeric, and quantities are positive where required.
- Each document's lines balance to the expected subtotal, tax, and total.
- Blank rows, formulas returning empty strings, and hidden stale values are removed.
Safe import sequence
- Run a read-only validation.
- Correct the sheet and revalidate until clean.
- Post a tiny representative batch.
- Verify it in QuickBooks, then continue.
- Retain created record IDs and errors in the sheet.
Bills need the same checks, and have no native import at all
Everything above applies whether the sheet is invoices, bills, or customers. Bills are the sharper case: QuickBooks Online has no native bill import to fall back on if validation goes wrong. See bulk importing bills into QuickBooks Online for that case specifically.
Duplicate names on the reference check aren't always a sheet error, sometimes they're the sign that a customer got reimported instead of updated. See why reimporting customers into QuickBooks Online creates duplicates before treating a near-duplicate as noise.
Run these checks against live QuickBooks data
QuickBooks Bulk Importer resolves references and reports row-level errors before anything is posted.
See QuickBooks Bulk Importer