Import from Excel & CSV
Import loads a spreadsheet, a CSV file or a JSON file straight into the entity you are looking at. It is a four-step wizard: Upload → Column mapping → Preview → Result.
Supported file types: .xlsx, .xls, .csv and .json.
Watch the four steps done in 70 seconds — a CSV of six suppliers goes into an empty entity:
Step 1 — Upload
Drop a file on the upload area, or click it to browse. A confirmation line reports the file name, the number of data rows and the number of columns.
- Multi-sheet workbooks get a Sheet dropdown. Pick a sheet and the wizard re-reads the file
- The first row of the sheet is always treated as the header row
- More than 5,000 rows — a warning appears. The import still proceeds
- More than 50,000 rows — the file is refused. Split it and import the parts
A JSON file must be an array of objects. The grid's own JSON export is unwrapped automatically, so a file you exported can be imported again without editing.
Step 2 — Column mapping
The wizard matches your file's headers against the entity's attributes. Matching ignores case, spaces and punctuation, so First Name, firstname and first_name all reach the same attribute.

The table shows one row per file column: the header, up to three sample values, and a Maps to dropdown. Change any dropdown to correct the guess, or choose — skip column — to leave a column out. Required attributes are marked with an asterisk.
Code and Name must both be mapped. Until they are, a red note names the missing one and Next stays disabled.
On an entity with Auto-generate Code, only Name is required. Code is not offered as a mapping target at all, and a Code column in your file is simply left unmapped — the database assigns the code when the row is created.
Step 3 — Preview
This step reports what the wizard found and asks how to handle it. Three cards head the page:
- Total rows — data rows in the file
- Validation errors — problems found while reading the file
- Ready to import — rows with no error
Validation errors
Errors are listed by row number, field and message. The first 20 are shown, with a count of the rest. The checks are:
| Error | Cause |
|---|---|
Code is required | The Code cell is empty on an entity that does not auto-generate codes |
Name is required | The Name cell is empty |
Duplicate code "X" in file | The same Code appears twice in the file |
Required field is empty | A required attribute has no value |
"X" is not a valid integer / number / date | The value does not fit the target type |
When there are errors, choose what to do with them:
- Skip invalid rows — import the valid rows, leave the rest
- Stop — import nothing. Correct the file and try again
Conflict action
Choose what happens when a Code already exists in the entity:
| Option | Result |
|---|---|
| Skip | Keep the existing record unchanged |
| Overwrite | Update the existing record, matched on Code |
| Replace all | Delete every existing record first, then import the file as the full dataset |
Replace all shows a red warning, because it is not reversible.
Business rules
Refuse rows that break an error rule is on by default. A row that fails an error-severity rule is not imported; the rest of the file still loads. Warnings never block.
Clear the checkbox to load everything and review afterwards with the failing-rows filter in the grid. See Rules in Staging & Imports.
Approval bypass
If the entity has Requires approval enabled, a warning appears at the top of this step. Import writes directly to the database — it does not go through the approval queue. Check the file carefully before you continue.
Step 4 — Result
Four counters report the outcome: Inserted, Updated, Skipped and Errors. A note underneath reports any rows a business rule refused.
If any row failed, Download error report writes a CSV with a row number, a code and the message for each one. Fix those rows in the original file and import them again.
Close & refresh closes the wizard and reloads the grid.
Value formats
| Type | Accepted |
|---|---|
| Reference | {CODE} Name, the bare code, or the bare name |
| Yes/No | 1, true, yes, ja, waar are true. Anything else is false |
| Date | The attribute's own format, then YYYY-MM-DD, DD/MM/YYYY, MM/DD/YYYY, an Excel date cell, or an Excel date serial |
| Number | Digits, with spaces and thousands separators removed |
Reference values are resolved on the server in a single pass, so the order of the rows in the file does not matter.
Related
- Export — produce a file in the shape the wizard expects
- Adding, Deleting & Pasting — Paste rows, for a quick block of new records
- Rules in Staging & Imports — how business rules judge imported rows
- Staging Overview — loading data from another system on a schedule
- Migrate Master Data — moving many entities at once out of MDS