Every migration from Notion to accounting software is a reckoning: which data survives intact, which arrives mangled, and which simply vanishes. We tested the full export-import cycle with real Notion databases—including customer records, invoices, and chart-of-accounts mappings—and imported them into QuickBooks Online. The result: a clear map of where manual reconciliation is unavoidable, and where you can trust the automation. If you're running invoices, client records, or transaction history in Notion and planning to move to QuickBooks, read this before you export. The gaps are predictable and fixable, but only if you know where to look. The nine data orphans: what fails to map Most migration disasters aren't dramatic crashes—they're silent orphans. A field that exists in Notion has no equivalent in QuickBooks. A customer name imports but loses its linked invoices. A transaction posts but the GL account doesn't exist yet. Here are the nine most common failures: Multi-select customer tags. Notion allows a customer record to have multiple tags ("VIP", "Retainer", "Monthly"). QuickBooks has no multi-select field in the Customer detail form. Result: the export drops all but the first tag, or imports nothing at all depending on your export method. Fix: pre-migration, consolidate tags into a single "Customer Type" field or use QB's custom fields if your plan allows. Relationship maps between contacts and invoices. If your Notion CRM links a contact to their invoices via a relation field, that relationship doesn't port over. QB imports each as a separate entity. The customer record arrives, the invoices arrive, but QB has no way to know which invoice belongs to which customer unless the customer name is embedded in the invoice line itself. Fix: export invoices with the customer name hard-coded in a column; QB can then match on name during import. Invoice line-item projects or cost centers. Notion invoices often tag each line to a project or cost center. QB's import wizard doesn't map to job codes or cost centers at the line level during a bulk import. You get the invoice total, not the itemized allocation. Fix: post-import, manually code each invoice's lines to the correct job in QB, or export line items separately and use QB's API for bulk-coded import. GL account hierarchies. Notion might store accounts in a tree (Assets > Current Assets > Cash > Operating Account). QB's chart of accounts is flat during import unless you pre-create the hierarchy and match names exactly. If you import "Operating Account" but QB expects "Operating Account - USD", the match fails and creates a duplicate. Fix: build your QB chart of accounts before export; export from Notion with the exact QB account names. Partial or conditional transactions. If Notion has a "memo" or "notes" field that contains conditional logic or formatted text (bold, italic, links), QB strips the formatting and pastes raw text. More critically, if Notion's transaction record includes a conditional field (e.g., "Tax Amount = Amount × 0.06 if TaxCode = 'GST'"), QB doesn't execute that logic. You import a raw number. Fix: pre-export, calculate and freeze all conditional fields in Notion; export as static values. Customer payment terms and recurring billing flags. Notion might track "Net 30" or "Auto-renewal" in a record. QB has no standard import field for payment terms unless you manually map them to a custom field during import, and recurring billing is handled separately in QB's subscription module , not in a customer import. Fix: after import, manually set payment terms in each QB customer profile; recurring invoices must be set up in QB's own recurring transaction template. Multi-currency or multi-entity transactions. If Notion tracks invoices in USD, SGD, and IDR, QB's import doesn't split them into separate books. Single-currency QBO accounts default to one currency and convert everything else on import, often mangling the historical exchange rates. Fix: export in base currency only; if you need multi-currency, migrate to QB's multi-currency feature or use a separate book for each currency. Credit memos and adjustments linked to original invoices. Notion might have a separate "Credit Memos" table with a link back to the original invoice. QB can import the credit memo, but the link is lost. QB sees two unrelated transactions. Reconciliation becomes manual. Fix: export credit memos with the original invoice number hard-coded in a column; QB can then match and apply the credit when you import. User or team assignment fields. If Notion tracks which team member owns a customer or invoice, QB doesn't have an equivalent owner field at import time on free or starter plans. Fix: upgrade to QB's team member roles feature; map Notion users to QB team members before import; post-import, manually assign records. Which invoice sequences survive: the test results We exported 47 invoices from a Notion database structured as a simple table: Invoice Number, Date, Customer