Importing Your Data
Load your existing items, customers, vendors, assets, warehouses, locations, accounts and employees from a spreadsheet — using the template for that module so the columns match on the first try.
Every module that supports importing carries a template button on its list screen. Download the template, fill it in, upload it back. Do not build your own spreadsheet from scratch: the template already has the right headings in the right order, which is where most failed imports come from.
What Can Be Imported
| Module | Where the button is |
|---|---|
| Items | Inventory → Items |
| Warehouses and Locations | Inventory → Warehouses / Locations |
| Assets and Asset custodians | Inventory → Assets / Custodians |
| Customers | Sales → Customers |
| Vendors | Procurement → Suppliers |
| Chart of accounts | Accounting → Accounts |
| Employees | HR → Employees, which has its own import with a preview step |
How An Import Runs
Small files are processed straight away and you see the result immediately. Larger files are handed to the background so your browser is not left waiting — the import continues whether or not you stay on the page. Either way, every import is applied as a single unit: if the file cannot be processed, you are not left with half of it loaded.
The result reports three numbers: created, updated and skipped. Read all three. An import reporting mostly "updated" when you expected "created" means your file matched existing records — usually the right outcome on a re-run, and a warning sign on a first load.
Getting It Right First Time
- Import in dependency order. Warehouses and locations before items with stock; accounts before anything posting to them; departments and positions before employees.
- Do not rename or reorder the template headings. Extra columns are fine to leave; renamed ones are not recognised.
- Test with ten rows. Load a small slice, check the records look right, then load the rest. Fixing ten wrong rows is a minute's work; fixing two thousand is a project.
- Watch your spreadsheet's helpfulness. Leading zeros stripped from codes, dates reformatted to the local convention, and long numbers turned into scientific notation are spreadsheet behaviours, not import faults. Format those columns as text before you type in them.
- Custom fields can be imported too where the module has them — see Custom Fields.
Employees Are Different — In A Good Way
The employee import has an explicit preview step: you upload, see exactly what would be created or changed, and only then commit. Where you have the choice, that is the pattern to prefer. See Employee Management.
If An Import Goes Wrong
Records created in error can be deleted and recovered from Trash, but an import that updated the wrong records is far harder to unwind — which is the real reason to test with ten rows. Stock balances are not loaded by import: bring stock in through a check-in or an opening adjustment, so the movement has a record behind it.
Need help with this topic?
Capture the module, record number, branch or warehouse, user, visible message, and what you expected to happen before contacting support.