Transactions that migrate
The migration imports transactional records in dependency order, after accounts and classifications are mapped. Each source record becomes a DualEntry record of a mapped type, visible on the Data Sync step with a link to both the source record and the DualEntry record it created. The table below lists the source record types each connector imports.
These land as the equivalent DualEntry record rather than as summary journal entries, so a migrated bill is a bill, with its vendor, lines, and open balance intact. On the Data Sync step you can convert an individual source record into any of the DualEntry transaction types by hand when the automatic mapping picked the wrong one.
Master data that migrates
Master data imports before transactions, because a transaction cannot be created until the records it references exist. The table below lists what migrates and any conditions on the import.
DualEntry also creates fallback accounts for source lines that have no mappable account:
[QuickBooks] Default Expense, [QuickBooks] Default Income, [Xero] Default Income, and [Xero] Unpaid Expense Claims. They appear on the Accounts Mapping step and can be mapped to a real account or deactivated, but never skipped. Treat a balance in one as a mapping gap to close before you tie out.
Attachments
Attachment behavior is the largest single difference between the two sources, and it is worth confirming before you cancel the old subscription. Xero. Source attachments migrate. Documents attached to Xero transactions are downloaded and attached to the corresponding DualEntry record, so invoice PDFs and receipts arrive with the transaction. QuickBooks. Attachments do not migrate. Migrated QuickBooks records arrive with no attachments at all. Plan either a separate export of QuickBooks attachments to upload individually to the corresponding DualEntry records, or continued read-only access to QuickBooks for historical source documents. Which you choose usually depends on your audit cycle. If an auditor will ask for supporting documents on migrated transactions, export them and attach them in DualEntry, where each record holds up to 25 files of 10 MB each. If the migrated periods are already audited and closed, read-only access to the old system is normally enough. Attachments you add later can go on through OCR document upload or on the record itself.What does not migrate
These are out of scope by design. Each needs a decision during cutover rather than a workaround afterwards.- Historical revenue recognition schedules. In-flight contracts are recreated in DualEntry using the cutover date and accumulated revenue fields, which preserve total contract value while generating entries only from cutover forward. See migrate mid-life contracts.
- Prepaid and fixed asset amortization schedules. Recreate these as amortization schedules or fixed assets, using the catch-up fields to carry accumulated balances rather than re-amortizing from the start.
- Reconciliation history. Bank reconciliations completed in the old system do not carry over. Migrated bank transactions arrive unreconciled and reconcile forward in DualEntry.
- Approval history. Which person approved a bill in the source system is not imported. The DualEntry audit trail starts at migration.
- Budgets, saved reports, and report layouts. Rebuild these in the custom report builder and budgeting.
- Users, roles, and permissions. Configure these in DualEntry under Configuration → Company.
- Payroll detail. Payroll arrives as journal entries from a payroll integration going forward rather than as migrated payroll runs.
What arrives through a connector instead
Some data is deliberately not part of the migration because an ongoing integration is the better source for it. Connect these during cutover so there is no gap between the last migrated day and the first connected day. The table below lists each data type and where to set up the connection.
A connector and a migration can both point at the same source system for a period. Confirm the connector’s cutoff date so it does not re-import transactions the migration already brought across.

