Migrate Data Into Eigenn
Connect source systems and backfill transaction history without treating Eigenn as a replacement general ledger.
Eigenn can synchronize supported financial systems and import transaction history from CSV. The current web app does not provide a general-purpose spreadsheet importer for customers, invoices, forecasts, or arbitrary workbook tabs.
Choose the Right Migration Method
| Source | Supported path | Best use |
|---|---|---|
| Bank feed | Connect a bank provider | Ongoing transaction and balance synchronization |
| Stripe | Connect the Stripe integration | Customers, invoices, subscriptions, payments, and Stripe-derived metrics supported by the sync |
| Accounting integration | Connect the provider under Settings → Integrations | Provider-supported customer, invoice, payment, and ledger synchronization |
| Transaction CSV | Transactions → Add → Import/backfill | Historical bank or card activity not available from a live connection |
| HTML or Markdown document | Open a document and choose Import | Insert document content into the editor |
Document import and financial-record import are separate. The document editor accepts HTML and Markdown; its Word and CSV options are shown as unavailable. Transaction CSV import is available from the Transactions workspace.
Keep the Accounting Source of Record
Use Eigenn as the operating workspace around the financial record. Keep the accounting system responsible for journal entries, close, tax adjustments, and statutory reporting unless your finance policy explicitly says otherwise.
Before migration:
- decide which connected system owns each record type
- choose the active workspace and base currency
- identify the bank account each CSV belongs to
- preserve a copy of every source file
- record the cutover date and the date range covered by each source
Do not load the same historical period from both a live integration and CSV without first deciding how duplicates will be handled.
Import Transaction History From CSV
- Open Transactions.
- Open the add menu.
- Select Import/backfill.
- Drop a CSV file or browse for one.
- Review the proposed column mapping.
- Map the required fields:
- Amount
- Date
- Description
- Optionally map Balance.
- Select the destination bank account.
- If that account has no saved currency, select the CSV currency.
- Enable Inverted amount for a credit-account export whose signs need to be reversed.
- Select Confirm import and wait for the completion message.
The file must be CSV, no larger than 5 MB, and contain a header plus at least two data rows. The import preview reads the first rows and proposes mappings; you remain responsible for confirming them.
How the Import Is Applied
- The selected account is required and must belong to the active workspace.
- The chosen currency is stored on that account as part of import submission.
- A mapped balance can update the account balance.
- Valid rows are inserted in batches.
- Rows with invalid amounts, invalid dates, or other validation errors are skipped.
- A duplicate transaction identity is skipped.
- Imported records are queued for transaction enrichment after insertion.
The success toast reports that the job completed; the current modal does not show imported, skipped, and error counts. Review the destination account after completion.
Validate a Backfill
Check a small file before importing the complete history.
- Export a representative period from the source.
- Confirm whether debits are negative or positive.
- Import the sample into the correct account.
- Compare row count, opening and closing balance, dates, descriptions, and sign direction.
- Confirm duplicates were not introduced.
- Inspect categories and reconciliation suggestions.
- Only then import the remaining periods.
The current web app has no import rollback control. If a bad import creates records, stop and assess the affected rows before deleting or editing anything in bulk.
Cut Over by Record Type
Transactions
Connect the bank source first. Use CSV only for history outside the connection's available window or for an unsupported account export.
Customers and invoices
Prefer a supported Stripe or accounting sync. There is no generic customer or invoice CSV wizard in the current web app. Create small missing sets manually, or use a documented integration or API workflow.
Documents
Upload receipts and source documents to Inbox or Vault. Import HTML or Markdown only when you want their content inserted into an editable document.
Forecasts and operating notes
Recreate the current operating assumptions in Eigenn and retain the source workbook as migration evidence. There is no arbitrary forecast-workbook importer.
Migration Limitations
- A connection can be authorized before its historical sync is complete.
- Transaction import does not display a downloadable error file.
- The modal does not expose an import history or undo action.
- CSV mapping covers amount, date, description, and optional balance; arbitrary columns are not persisted as custom transaction fields by this flow.
- Workspace export defaults affect transaction exports, not imports.
- Changing the workspace base currency is separate from importing source-currency records.
Troubleshooting
The CSV is rejected before mapping
Confirm it is a .csv file under 5 MB with a header and at least two data rows. Open the file in a text editor to check that columns are actually delimited.
The proposed mapping is wrong
Manually select the source column for Amount, Date, and Description. Do not continue until the first-row previews make sense.
Credits and debits are reversed
Return to the import settings and enable or disable Inverted amount as required by the source. Validate with a small sample before importing again.
The destination account is missing
Connect or create the bank account first, then reopen Import/backfill. The importer cannot create a destination account from the CSV.
The job completed but some rows are absent
Check for invalid amounts or dates and for duplicates already present in the workspace. Because the current modal does not expose row-level errors, retain the source file and contact support with its date range, destination account, and page URL if the gap cannot be explained.