data migration

Import Data from Spreadsheets

Import customers, suppliers, products, opening balances and open invoices into IntBooks from CSV or Excel, with column mapping, preview and undo.

By IntBooks Editorial Team · Last updated:

IntBooks’s Data Migration tool brings your existing records in from CSV or Excel files. This article covers what you can import, how column mapping works, and how to check and undo an import.

What you can import

Data typeNotes
Chart of accountsOnly if you’re not keeping the default Malaysian chart
Opening balancesDebits must equal credits
CustomersName, TIN, registration number, contact details
SuppliersName, TIN, registration number, contact details
ContactsPeople linked to your customers and suppliers
ProductsItems and services
Inventory balancesOpening stock quantities
Tax codes
Open invoicesUnpaid customer invoices at your cut-over date
Open billsUnpaid supplier bills at your cut-over date
LeadsFor the CRM

Files can be CSV or Excel (.xlsx or .xls), up to 10,000 rows and 10 MB per file.

Historical journal entries aren’t imported. Bank transactions come in separately, through Import Bank Statement in Bank Recon.

Step 1: Export from your existing system

Export each list from your old system as CSV or Excel.

  • QuickBooks Online, Xero, Bukku and QNE: IntBooks has ready-made column mappings for their exports. For QuickBooks Online, Xero and Bukku, you can also connect your account and fetch the data directly.
  • Other software (e.g. SQL Account, AutoCount, MYOB) and spreadsheets: export or save a CSV or Excel file with a header row naming each column. IntBooks maps the columns for you, and you check the result.

Step 2: Start a migration

Go to Data Migration and start a new migration. Import in this order, so each step can reference the records from the one before:

  1. Chart of accounts, if you’re replacing the default
  2. Customers and suppliers, which every transaction refers to
  3. Products
  4. Opening balances
  5. Open invoices and bills

Step 3: Upload and map your columns

Upload your file. IntBooks matches your columns to its fields, using a preset if your file came from a supported system. Review each mapping and correct any it got wrong. You can save a mapping to reuse next time.

Columns you don’t map are ignored, so extra columns don’t cause errors.

Step 4: Review the preview

Before anything is saved, IntBooks shows a preview of what will be created or updated, with any validation problems. For each problem you can:

  • Fix the record in the preview
  • Choose what happens to conflicts: skip, update the existing record, or stop
  • Download the errors as a CSV, fix your source file, and upload it again

Step 5: Run the import

Approve the preview to import. The import allows partial success: valid rows are imported, and rows that fail are listed with their errors so you can fix them and import them again.

Step 6: Check the result

After the import, compare IntBooks against your old system:

  • Record counts: customers, suppliers and products
  • Receivables and payables: outstanding totals should match your old system at the cut-over date
  • Trial balance: opening balances should balance

IntBooks also shows a readiness report that counts missing fields, such as customers without a TIN, which you’ll need before you issue e-invoices.

Undoing an import

You can undo a migration within 24 hours. Undoing removes the records that migration created. After 24 hours the option expires, because other transactions may have started to depend on those records.

Run in parallel for a month

We recommend running your old system and IntBooks side by side for one full month. At month-end, produce the Profit & Loss, Balance Sheet and Trial Balance from both, and compare them line by line. Differences are much easier to fix before you archive the old system.

Common issues

My customers’ TINs look wrong

LHDN TINs are a prefix plus digits: C for companies, D for partnerships, PT for LLPs, IG for individuals, and so on. Non-individual TINs end in 0 (LHDN TIN guide). Older records may carry the retired SG or OG prefixes, or TINs without the trailing 0. Tidy these up before you import. IntBooks doesn’t check TIN format during import, and MyInvois rejects invalid TINs when you submit.

Opening balances don’t balance

Your source data has a difference between total debits and total credits. Sum both columns in Excel, find the difference, and post it to a suspense account before re-importing. Then investigate what it is.

What’s next?