Import & Export
Bulk import customers from CSV or XLSX, paste from Excel, and export the current grid view to CSV.
Overview
The Import / Export menu on the Customers page lets you bring in large numbers of customers at once and export the current grid view for use in spreadsheets or other tools.
Export
Export Current View (CSV)
Import / Export → Export Current View (CSV) exports exactly what is visible in the grid at the time you click — including any active filters, search terms, and sort order.
- Only currently visible columns are included. Use the Columns button to show or hide columns before exporting.
- The Actions column is always excluded from the export.
- Address and memo columns (
Address 1,Address 2,Suburb,State,Postcode,Country,Memo) are hidden by default. Turn them on in the column picker if you need them in the export. - Status values, dates, and other display fields are written in human-readable form.
Import
How import works
Customer import uses a three-step flow:
| Step | What happens |
|---|---|
| 1. Preview | Parse your file or pasted data and show a table of rows to be created. Validation issues appear as banners before you confirm. |
| 2. Confirm | Review the parsed rows and click Import to submit. |
| 3. Result | See a success/error summary. Row-level errors are listed inline. Close when done. |
After a completed import, a Customer import summary banner at the top of the page shows the result. If some rows fail, successful rows are still applied — the import is not rolled back.
If newly created customers do not appear immediately in the grid, check the active status filter. New customers are created as
activeby default, so they may not show under Inactive view.
Input methods
Upload CSV / XLSX
- Click Import / Export → Upload CSV / XLSX.
- Select a
.csv,.tsv,.txt, or.xlsxfile. - The file is parsed and shown in the Preview step before anything is saved.
Supported formats: .csv, .tsv, .txt, .xlsx
Paste from Excel
- Click Import / Export → Paste from Excel.
- Paste rows copied directly from a spreadsheet.
- Both comma-separated and tab-separated input are accepted.
Download Template
Import / Export → Download Template gives you a CSV file pre-filled with the correct column headers and one example row.
Column specification
The full 15-column import format is:
| # | Column | Required | Notes |
|---|---|---|---|
| 1 | Name | Yes | Customer display name. |
| 2 | Code | No | Your internal reference code. |
| 3 | No | Must be a valid email format if provided. | |
| 4 | Phone | No | |
| 5 | Contact | No | Contact person name. |
| 6 | AddressLine1 | No | |
| 7 | AddressLine2 | No | |
| 8 | Suburb | No | |
| 9 | State | No | |
| 10 | Postcode | No | |
| 11 | CountryCode | No | 2-letter uppercase code (e.g. AU, US). Normalised to uppercase on save. |
| 12 | InternalMemo | No | Internal notes. Not visible to customers. |
| 13 | OrderTemplate | No | standard, grid, form, catalog, or quick_order. |
| 14 | PriceGroupName | No | Must exactly match an active Price Group name in your workspace. |
| 15 | Status | No | active or inactive. Defaults to active if blank. |
Legacy 8-column format (still supported for backwards compatibility):
Name, Code, Email, Phone, Contact, OrderTemplate, PriceGroupName, Status
If your file has no header row, positional layout is used. Files with no header must have either 5–8 columns (legacy) or 12–15 columns (expanded). Any other column count is rejected.
File limits
| Limit | Value |
|---|---|
| Maximum file size | 3 MB |
| Maximum rows | 1,000 |
| Warning threshold (rows) | 801–1,000 rows — import proceeds with a warning |
| Warning threshold (size) | 2.5 MB–3 MB — import proceeds with a warning |
Files exceeding the hard limits cannot be confirmed. Split the file and import in batches.
Validation rules
| Field | Rule |
|---|---|
| Name | Required. Cannot be blank. |
| Must be a valid email format if provided. | |
| Status | Must be active or inactive if provided. |
| OrderTemplate | Must be one of: standard, grid, form, catalog, quick_order. |
| PriceGroupName | Must match an active Price Group name in your workspace. Inactive groups are rejected. |
| CountryCode | Stored as-is (normalised to uppercase). No strict format validation beyond storage. |
Import error reference
| Error | Meaning |
|---|---|
Customer name is required. | The Name column is blank for this row. |
Email address is invalid. | The email field is present but not a valid format. |
Status must be active or inactive. | The Status value is not recognised. |
Order template must be standard, grid, form, catalog, or quick_order. | The OrderTemplate value is not a supported type. |
Price Group name was not found or is inactive in this workspace. | The PriceGroupName does not match any active Price Group. |
Price Group name matches more than one active group in this workspace. | Two or more active Price Groups share the same name — resolve the conflict first. |
Customer code already exists. | The Code value already exists in your workspace. |
The import header contains duplicate columns. | Two or more columns in the header row share the same name. |
The import header is missing required columns. | A required column (Name) is absent from the header. |
This row does not match the supported customer import layout. | The row has an unexpected number of columns for the detected layout. |
Do not mix the legacy and expanded customer import layouts in the same file. | Some rows use 8-column format and others use 15-column format. Use one layout per file. |