Skip to content
SimpleERP

Help centre · Migrate

Import data from Excel or Google Sheets

One template per list: accounts, customers, suppliers, products, opening balances, open invoices, open bills and employees. Fill it, or upload your own sheet and map the columns.

Updated · 7 min read

In short

To import data from Excel or Google Sheets into SimpleERP, download the template for each list on Settings → Import data, fill it, and upload it as .xlsx or CSV. SimpleERP matches columns by name and checks every row first.

You can import data from Excel or Google Sheets into SimpleERP with one file per list. Download the template from Settings → Import data, fill it, save it as .xlsx or CSV, and upload it. SimpleERP matches the columns, shows every problem with its row number, and writes nothing until you press Import.

This is also the path for QuickBooks, Xero and most other accounting software. Each of them exports customers, suppliers and items to Excel or CSV from its list screens; upload those files here and map any column that did not match. Move from QuickBooks or Xero has the exact exports.

Which files does SimpleERP accept?

  • Excel workbooks (.xlsx) and CSV files, up to 20 MB each. Several files can go up at once.
  • Google Sheets: File → Download → Comma-separated values (.csv), then upload the CSV.
  • Old Excel files (.xls) are refused. Open them in Excel, choose File → Save As and pick .xlsx or CSV.
  • Up to 20,000 rows per list in one import. Above that, split the file and import it in parts.

How do you import a spreadsheet?

  1. Choose Excel or Google Sheets

    On Settings → Import data, pick Excel or Google Sheets as where your data is today.

  2. Download the templates

    Each list has a Download template button. The CSV has the headers and one example row.

  3. Fill and upload

    Keep the header row, delete the example row and drop your files on the page. Each sheet is listed with the list it looks like; change it if the guess is wrong.

  4. Check the mapping

    Matched columns show a sample value. Pick a field for any column that is not matched, or leave it ignored.

  5. Check, then import in order

    Press Check to see counts and errors, fix the file if needed, then Import. Cards follow the order: accounts, customers, suppliers, products, opening balances, open invoices, open bills, employees.

How are columns matched?

A header matches when it equals a field's name or label, ignoring case, spaces and punctuation, or one of its common synonyms. So Party Name, Email Address and Mobile in your own sheet match name, email and phone without the template. Every required field must be mapped before Check runs.

Which dates and amounts can the file use?

ValueAcceptedExample
DatesYYYY-MM-DD, D-MMM-YY, YYYYMMDD, Excel date cells, and slashes, dashes or dots in your country's order: day first, or month first in the US2026-12-31, 31-Dec-26, 31/12/2026 (12/31/2026 in the US)
AmountsCommas, a currency symbol or code, Dr or Cr suffix, brackets for negatives12,000.00 Dr, $4,500, AED 1,250.50, (1,000)
TextSpaces at the start and end are trimmed Northside Retail becomes Northside Retail

What columns does each template have?

Required columns are marked yes. A row with a duplicate of an earlier row is an error that names the first row. The examples use UK-style details with amounts in dollars; a few column names follow your country, as noted.

Chart of accounts

ColumnRequiredExample
nameYesBusiness Current Account
typeNoasset
subtypeNoBank
codeNo1610
parentNoBank Accounts
opening_debitNo24,500
opening_creditNo
opening_balanceNo24,500 Dr
descriptionNoMain operating account

Customers and suppliers

ColumnRequiredExample
nameYesBluewater Traders
legal_nameNoBluewater Traders Ltd
codeNoC-0042
Tax number: vat_number in the UK, trn in the UAE, ein in the US, abn in AustraliaNoGB980780684
tax_treatmentNoregistered
emailNoaccounts@bluewater.example
phoneNo07911 123456
websiteNobluewater.example
address_line1, address_line2No42 Quay Street
cityNoBristol
Region, where your country has them: state, province or emirateNoNew York or NY for a US business
Postal code: postcode, zip_code, po_box…NoBS1 4DJ
shipping_address_line1, shipping_address_line2, shipping_city, shipping region, shipping postal codeNoDelivery address
contact_name, contact_phone, contact_emailNoSam, 07911 123456
credit_daysNo30
credit_limitNo5,000
opening_balanceNo1,368
notesNoPays by bank transfer
Opening balance is what a customer owes you, or what you owe a supplier. In India, the columns are gstin, gst_treatment and pan, and a blank state is taken from the GSTIN.

Products and opening stock

ColumnRequiredExample
nameYesSteel cabinet 6 ft
skuNoCAB-6
typeNogoods
useNoboth
unitNopcs
categoryNoCabinets
sale_price, purchase_priceNo165 and 112
sale_tax, purchase_taxNo20 or VAT 20%
barcodeNo8901234567890
reorder_levelNo5
descriptionNoTwo doors, locker
opening_qtyNo24
opening_costNo112
opening_valueNo2,688
warehouseNoMain depot
When opening_cost is blank and opening_value is given, cost is value divided by quantity. In India, an hsn column carries the HSN or SAC code.

Opening balances

ColumnRequiredExample
accountYesCash or 1000
debitNo4,850
creditNo
balance and dr_crNo4,850 and Dr
An account name that does not match gets a picker on the card instead of an error.

Open invoices and open bills

ColumnRequiredExample
numberYesINV-0871
partyYesBluewater Traders
dateYes14/11/2026
due_dateNo14/12/2026
amountYes620
original_amountNo1,120
referenceNoPO 4471
amount is what is still unpaid. Parties are matched by name, code or tax number.

Employees

ColumnRequiredExample
first_nameYesAisha
last_name, codeNoKhan, EMP-014
phone, emailNo07700 900456
joining_dateYes01/06/2023
employment_type, department, designation, branchNoFull time, Accounts, Accountant
date_of_birth, genderNo12/09/1994, Female
National ID and tax ID: ni_number in the UK, ssn in the US, emirates_id in the UAENoQQ123456C
bank_account_name, bank_account_number, bank code: sort_code in the UK, routing_number_aba in the USNoAisha Khan, 12345678, 12-34-56
address_line1, city, region, postal codeNoBristol, BS2 0JA

Worked example: Harbor Supply Co.

Suppose Harbor Supply Co. kept stock in Excel and parties in Google Sheets. They download the products template, paste 310 rows, and download the parties sheet as CSV. Check on products finds two duplicate SKUs; they fix them and import 310 products with stock worth $22,560 dated 31 December 2026. The parties CSV maps itself except Cell No., which they map to phone by hand.

What should you check after the import?

  • Stock value on hand equals the total of your sheet.
  • Receivables and payables ageing equal the totals of your open bills files.
  • Opening Balance Equity is zero, and cash and bank match your bank statement.
  • If a figure is off, undo that import from Previous imports, fix the file and import again.

FAQ

Questions, answered

Do I have to use your templates?

No. Upload your own sheet; columns are matched by name and synonyms, and you map the rest by hand. The templates only save you that step and show the expected formats.

My file has more than 20,000 rows. What do I do?

Split it into files of 20,000 rows or fewer and import them one after another. Keep each row in one part only, so nothing is imported twice.

Can I import from QuickBooks, Xero or other software?

Yes, through this spreadsheet path. Export customers, suppliers and items to Excel or CSV from their list screens, upload the files, and map any column that was not matched. Past transactions are not imported.

Does the Google Sheet stay connected after the import?

No. The import reads the CSV once. Later changes in the sheet do not reach SimpleERP; edit the records in SimpleERP from then on.

What if some rows have errors?

Check lists each error with the row, the column and what to do. Fix the file and upload again, or choose Import valid rows only and add the rest by hand.

Run your whole business from one simple place.

Seven days free. No card. Your first invoice in minutes.