Back

Migrating Your Data from Another System via Import

The system lets you import your data from an external file instead of entering it manually record by record, across a number of core screens: Clients, Products, Expenses and Incomes, Journal Entries, Invoices, Assets, and more. The system does not have a single “accounting data migration wizard” that imports your chart of accounts, client balances, and a full year of transactions in one click; instead, there is a separate import screen for each entity, each with its own format and rules. This guide explains which forms support import, the import steps themselves, how the system handles duplicate records, and what is actually available for migrating your financial data specifically.

🛈

Note before you start: the file format currently accepted across all import screens is CSV and Xlsx.

Forms That Support Import

Entity Location of the Import Button
Clients Top of the clients list
Products Top of the products list
Expenses / Incomes Top of the expenses or incomes list
Journal Entries Top of the journal entries list
Sales Invoices Top of the invoices list
Assets Top of the assets list
Suppliers Top of the suppliers list
Price List Items From inside the price list screen
Payslips From inside the payslips screen
Attendance Log / Days From inside the attendance screen
Bank Statement From inside the bank account screen
Stocktaking Sheet From inside the stocktaking screen

There is no import screen for the chart of accounts itself; instead, you already have an existing chart of accounts that you can edit and add to — this is covered in detail in the “Migrating Your Financial Data” section below.

Import Steps

  1. From the form’s list (such as Clients or Journal Entries), click the “Import” button.
  2. In the “Import Options” step, choose your file via the “File to Import” field, set the “Delimiter” (the character separating columns in your file), and enable “Import the first row of the file” only if the first row is actual data rather than column headers. On screens that offer it, you can first click “Download Example” to see exactly which columns are expected.
  3. In the “Map Fields” step, match each “System Field” with its corresponding “Field in the File” via “Choose Column”; the system tries to guess the match automatically based on similar column names, and you can correct it manually.
  4. On screens that support it, enable “Update existing records with the new data” if you want to update existing records instead of duplicating them, and choose the field used for matching (details in the next section).
  5. Click “Next Step” to complete the import. A message then appears summarizing the number of records added, updated, and failed.

Handling Invalid Rows

The file must contain more than one column, and the number of columns in each row must match the number of columns in the header row; otherwise, the entire file is rejected.

Some screens (such as Journal Entries and Invoices) have a “Skip errors during import” option: if left disabled and a single row is invalid, the entire import is rejected and no records are added. If enabled, only the valid records are imported and the invalid rows are skipped.

How the System Handles Duplicate Records

  • Clients: matching can be based on email, client number, primary phone, or secondary phone.
  • Products: matching is based on product name, product code, or barcode.
  • Expenses and Incomes: there is no option to update existing records at all; every row in the file always creates a new record, even if it duplicates a previous row’s data.
  • Journal Entries, Invoices, and the rest of the newer import screens: you choose the field used for matching yourself, from a dropdown in the field-mapping step.
  • Assets: an exception to the above — there is no option to update existing records at all; every import only creates new assets.
  • Invoices: if the client name in the file doesn’t match an existing client, the system automatically creates a new client rather than rejecting the row.
  • Journal Entries and Invoices: rows sharing the same entry number or invoice number are grouped into a single multi-line document, rather than a separate document being created for each row.

Row Count Limits

Form Maximum
Journal Entries 10,000 rows
Invoices 10,000 rows
Payslips 5,000 rows

Migrating Your Financial Data Specifically

This section clarifies precisely what is and isn’t actually available for anyone looking to migrate their accounting data from a previous system:

  • Available: importing general journal entries via a single file, so that each group of rows sharing the same entry number represents one entry with its debit and credit lines, with the ability to specify the account, cost center, and tax for each line.
  • Available: the “Opening Balance” field for each client within the client import screen, to migrate clients’ outstanding (receivable) balances from your previous system.
  • Not available: any bulk import of the chart of accounts itself; accounting accounts must be created manually one by one before importing any entries that reference them.
  • Not available: importing a trial balance as a ready-made feature, though its data can be imported by importing journal entries instead.
  • Not available: a dedicated wizard for “opening balances” at the general accounting level. The practical alternative is to record a single opening entry via journal entry import, referencing the system’s built-in “Opening Balances” account.

The suggested practical order for migrating your financial data:

  1. Set up your chart of accounts manually first (there is no bulk import for it).
  2. Import your clients, filling in the opening balance column for each client with an outstanding balance from the previous system.
  3. Import one (or more) opening entries to record the rest of your account balances, referencing the built-in “Opening Balances” account as the offsetting side.
  4. Import the rest of your data (products, open invoices, expenses…), each through its own import screen.

Frequently Asked Questions

  • Can I import an Excel file directly? The currently guaranteed format is CSV. Some screens show an option to upload Excel, but it’s safest to export your data as a CSV file to avoid any issues.
  • Can I import my chart of accounts all at once? No, there is no import screen for the chart of accounts; accounts are created manually one by one.
  • How do I migrate my clients’ opening balances? Through the opening balance field in the client import screen.
  • How do I migrate the rest of my account opening balances (other than clients)? By importing an opening journal entry that references the system’s built-in “Opening Balances” account.
  • What happens if one of the rows in my file is invalid? In Journal Entries and Invoices, the entire import is rejected unless you enable “Skip errors during import”; the rest of the screens skip invalid rows and import the remainder.
  • Can suppliers be imported? There is currently no import screen for suppliers.