Import and export
Import
The import updates existing products from a CSV file: supplier price lists, stock files, translations, extra data. It doesn't create or delete products. Imports need the "Import CSV files" permission.
1. File
Drop a CSV or TXT file (up to 50 MB and 100,000 rows by default, or less when PHP's upload_max_filesize /
post_max_size is lower), or choose a saved profile first. Excel files must be saved as CSV; the upload refuses XLSX
and XLS files.
2. Format
The encoding (UTF-8, Windows-1252, ISO-8859-1) and the separator (semicolon, comma, tab, vertical bar) are detected and can be changed. The first row must contain the column names. The preview shows the first rows.
3. Mapping
Under "Find products by", choose the column that identifies the product and whether it holds the product number, the EAN/GTIN or the manufacturer number. Variants have their own product numbers and are matched like any product.
For each column, choose the field (or "Don't import"), the language for translatable fields, and when to update:
| Update | Empty cell | Cell with a value |
|---|---|---|
| When the cell has a value (default) | Nothing changes | Sets the value |
| Only fill empty fields | Nothing changes | Sets the value only if the product has no own value yet |
| Always, empty cells clear the field | Clears the value (a variant inherits again) | Sets the value |
For lists (categories, tags, sales channels, properties) you choose whether the file replaces the current values or
adds to them. Separate several values with |. For properties, "Create property values that don't exist yet" adds
missing values to the property group.
The options of a column remove spaces at the start and end (on by default), replace values (Rot = Red, one per
line), set a value for empty cells, add a prefix or suffix, set the decimal separator (12,50 or 1.234,50 with a
comma) and add extra values meaning yes and no.
Column names are mapped automatically when they match:
- a field label in any of the administration languages ("Gewicht (kg)", "Bestand") or a common alias ("SKU", "Artikelnummer", "VK brutto", "UVP");
- a property group name or a custom field name or label, in any language;
- a Product Studio export header such as
Name (de-DE) [name@de-DE], or only the field key:name@de-DE,ean.
A language at the end of a column name sets the language of a text column: "Name DE", "Beschreibung (fr)",
"Name_nl-NL". Number columns with values like 1.249,00 get the decimal comma.
"Save as profile" stores the format and mapping for the next file from the same supplier (needs "Manage import profiles"). Columns are found by their name, so the supplier may change the column order; profile columns that the new file doesn't have are listed in a warning above the mapping. The encoding and separator of the new file are detected again, so a file that now comes in UTF-8 or with commas is still read correctly; only the choice between Windows-1252 and ISO-8859-1, which can't be detected, comes from the profile.
4. Review
"Check the import" reads the file in the background and shows the same review as the sheet. Besides changes, conflicts and invalid values, an import reports these statuses:
| Status | Meaning |
|---|---|
| Not found | No product has the key. |
| Duplicate | Several rows have the same key. None of them is imported; fix the file. |
| Ambiguous | Several products share the key (for example the same EAN). Use another column to match. |
Rows without a key are invalid.
Untick products you don't want to change, then apply. The report (CSV) lists every row with its result. The whole import can be reverted from the history.
A product with one invalid cell is not changed at all, so a row is never half imported. To fix the mapping (for example set a column to "Don't import" or map values), click "Change mapping". The check is discarded and you are back at the mapping, with your choices kept.
Values
| Type | Accepted |
|---|---|
| Numbers | 12.5; with the decimal separator set to comma 12,5 and 1.234,50 |
| Yes/no | 1, true, yes, y, x, ja, oui, si, tak, active... and 0, false, no, n, -, nein, nee, non, nie, nej, inactive... |
| Dates | 2026-12-31, 31.12.2026, 31/12/2026, 31-12-2026 |
| Manufacturer, unit, delivery time, categories, tags, sales channels, property values | The name in any language, or the ID. A name that matches several entries is refused; use the ID. |
| Price | Gross price in the default currency. The net price follows from the tax rate. |
Export
"Export" in the sheet creates a CSV with the product number and the columns of the current view, for the selection or all matching products (up to 50,000 by default). Choose the languages, the separator and whether variants are included; variants follow their main product. Exports need the "Export CSV files" permission.
- The file has a UTF-8 byte order mark, so Excel opens it with the right characters.
- Values that start with
=,+,-or@get a leading', so a spreadsheet doesn't run them as a formula. The import removes it again. - The file contains the values stored on each product: inherited and untranslated values are empty. Importing the file again with "When the cell has a value" doesn't turn inherited values into own values.
- Each header carries the field key in brackets,
Price (gross) [price],Name (fr-FR) [name@fr-FR],Colour [property.<group id>], so the file can be imported again without mapping. The readable part is in the language of the user who exports, for exampleGewicht (kg) [weight]. Only the part in brackets is used on import, so a file exported in German can also be imported by an English user.
Files are kept for 7 days by default and can be downloaded from the history.
Examples
examples/supplier-prices.csv is a supplier file with German column names, semicolons
and decimal commas. All columns are mapped automatically: Artikelnummer (product number), EAN, VK brutto (price,
with the decimal comma), Bestand (stock) and Farbe (the Colour property). Map values like Rot = Red or turn on
"Create property values that don't exist yet" when the colours don't exist in your shop. Hinweis stays "Don't
import".
examples/studio-format.csv is a file in the export format, so all columns are mapped automatically.
examples/import-profile.json is the stored configuration of the supplier profile above,
for reference (lae_ps_import_profile.config).