Importing products & order product mappings
This page covers two tools that save typing:
- Import creates or updates many products from one spreadsheet. Complaia checks every row before anything is saved.
- Order product mappings tell Complaia which of your products a shop means when its orders arrive with the shop's own names and codes.
Where to find it: Catalog → Products → Product list, then Import products in the page header. Order product mappings are on each product: open it, click Edit, and go to the Logistics step.
When you'll use it
- You move in from a spreadsheet, an old system or a supplier's price list.
- You add a range of new products at once rather than one card at a time.
- You change prices: a file of codes and new prices, applied as updates that leave the rest of each product unchanged.
- You load products together with their variants, parcels and order mappings.
- Orders keep arriving from a shop with lines that are not linked to any product, and you want future orders to land on the right product.
Key concepts
- Four steps — File, Mapping, Import, Result. A Guide panel beside the window explains the step you are on.
- One row is one product. A variant has a row of its own.
- Match — before anything is saved, Complaia looks for an existing product by the row's stock keeping unit (SKU). If none is found, it looks by the European Article Number (EAN).
- Action — every row gets Create, Update or Skip. Complaia suggests one for each row, and you can change it.
- Update changes only what is in the file. Everything else on the product stays as it was.
- Nothing is saved until you click Import on step 3. You can move back and forth between steps 1 to 3 freely.
- The import runs in the background. You can close the window. Only one import can run in your company at a time.
- Order product mapping — a saved rule: "this EAN, code or name on an order means this product".
The screen
Step 1 — File.
- Drag a file onto the drop area, or click it to choose one. The supported formats are CSV, XLSX and XLS.
- If the workbook has several sheets, choose the Sheet to import.
- If the sheet starts with a title or notes, answer Which row contains the column headers? by pointing at the header row.
- The Guide panel has Open the full guide and Build a sample file. The full guide lists every field with its accepted values, its column names in each language of the app, and an example. From there you can also Download the full guide (PDF).
Step 2 — Mapping. On the left is the product field in Complaia; on the right is a column from your file.
- Columns are matched to fields automatically by their header names, in any language of the app.
- Fields are grouped into sections: Basics, Price, Attributes, Logistics, Production, Variants. Each section shows how many of its fields are mapped.
- Headers that were not recognised are listed as unrecognised columns. Map them by hand, or leave them. They are then ignored.
- Click a field to see its description, accepted values and an example in the Guide panel.
Step 3 — Import. The preview.
- Each row shows its Name, a Status and an Action. The Status is Ready to create, a note that the product already exists, or the problems found.
- Apply to all sets one action for every row it can apply to.
- Show changes opens a row, so you can see exactly what will be written and correct a value there.
- If the file names categories you do not have, a panel above the table lists them, each with a tick box. Each row says whether its category will be created or whether the product will be imported without a category.
- The footer shows how many rows will be imported and roughly how long it will take, next to the Import button.
Step 4 — Result.
- While the import runs, you see Import in progress, the time left, an image counter and a Stop button. The Created, Updated, Skipped and Failed counters grow as rows are saved.
- When it finishes, you also see a Rows with problems table and Download report.
📷 Screenshot to add: step 3 of Import products with one row opened by Show changes and the missing-categories panel visible.
Common tasks
Import products from a file
- Open Catalog → Products → Product list and click Import products.
- Choose the file. If needed, choose the sheet and the header row. Click Next.
- Check the mapping. Fix anything that landed in the wrong field. Click Next.
- Read the preview. Change the Action on rows where you disagree with the suggestion, and tick the categories you want created.
- Click Import.
- Wait for the result, or close the window. The import finishes on the server.
While the import is running, opening Import products again shows its progress. Once it has finished, the result is not shown again. Stay on the window if you want the Rows with problems table and the report.
If you click Stop, the import stops at the current row. The products saved so far stay.
A row with an error is always skipped, whatever its action. The rest of the file is still imported.
Build a sample file
- On step 1, click Build a sample file in the Guide panel.
- Choose a preset (Simple, All fields, With variants or Price update), or tick the fields you want, section by section. You can add Prices in extra currencies, Parcels, Order product mappings and your attributes.
- Click Download CSV. You get a file with the column headers in your language and an example row.
Attribute columns in the sample file have headers but no values, because the values depend on your products.
Decide what happens to each row
| Action | What it does |
|---|---|
| Create | Adds a new product. Offered when the row matches no existing product. |
| Update | Writes the columns present in your file onto the matched product. Offered when the row matches one. |
| Skip | Does nothing with the row. |
Complaia suggests:
- Skip for a row with errors;
- Update for a row that matched an existing product;
- Create for every other row.
Update existing products without changing the rest
- Prepare a file with the SKU (or EAN) column and only the columns you want to change. To change prices, use SKU and Price.
- Import it as usual. On step 2, Complaia notes that a file without a name column can only update products. Rows that do not match an existing product by SKU or EAN are skipped.
- On step 3 the matched rows are set to Update. Open Show changes on a few rows to check them.
- Click Import.
What an update does with each kind of column:
| In the file | What happens to the product |
|---|---|
| A normal column (name, price, category…) | The value is replaced. |
| An empty value | Nothing. An empty value never clears the product's value. To clear a field, put a single dash (-) in it. |
| Price EUR and other extra-currency columns | That currency is added or updated; other currencies stay. |
| Attribute: … columns | Only the attributes in the file are changed. |
| Images (URLs) | The list in the file replaces the product's photos. Leave the column out to keep the photos. |
| Parcel 1: … columns | The parcels in the file replace the product's parcels. This is refused while the product has stock or open warehouse operations. For a set, parcel columns are skipped. |
| Order mapping 1: … columns | Mappings are added; existing ones stay. |
Import variants
- Give each variant its own row.
- Put the parent product's SKU in the Parent SKU column of each variant row.
- Import as usual.
The parent can be anywhere in the same file, or already exist in your catalog. It becomes a product with variants automatically.
If no product with that SKU is found, the variant row is rejected. It is not created as a separate product. See Product variants for what a product must meet to get variants.
Create the categories a file needs
Categories are given by name. Each name that does not exist is listed on step 3, with the rows that use it.
- Tick the categories you want created.
- Click Import.
A category you leave unticked is not created, and its products are imported without a category. Each row tells you which of the two will happen.
Import never creates attributes. A column for an attribute you do not have is ignored, and the preview says so.
Reference
Columns the import understands
Column names do not need to be exact. Common names in every language of the app are recognised, and upper or lower case does not matter. The full guide shows the accepted names for each field.
| Section | Columns |
|---|---|
| Basics | Name · SKU · EAN · UPC (Universal Product Code) · Description · Manufacturer · Brand · Category · Product type · Manufactured in-house · Active · Images (URLs) |
| Price | Price · Currency · Net or gross price · VAT rate (%) · Price followed by a currency code, such as Price EUR |
| Attributes | Attribute: followed by the attribute's name, such as Attribute: Colour |
| Logistics | Weight · Weight unit · Width · Height · Depth · Dimension unit · Quantity per package · Minimum stock · Stock unit · Parcel 1: length / width / height / weight / name · Order mapping 1: EAN / code / name |
| Production | Production time (seconds) |
| Variants | Variant role · Parent SKU |
Parcels and order mappings are numbered: the second parcel uses Parcel 2: …, and so on.
Attribute columns. After the colon, write the attribute's name exactly as it is in Complaia. If two attributes have the same name, the import cannot tell which one you mean and rejects rows with a value in that column. Give the attributes different names, or use Build a sample file: it then writes the attribute's internal key in the header for you.
Limits
| Limit | Value |
|---|---|
| Rows in one import | 5000 |
| Columns in one import | 500 |
| File size | 25 MB |
| Size of one image fetched from a link | 10 MB |
| Product name | 300 characters |
| Description | 5000 characters |
How values are read
- Numbers — a comma and a dot both work as the decimal separator; spaces are ignored.
12,50and12.50are the same amount. Do not add a currency symbol. Avoid thousands separators:1.234can be read two ways, and Complaia warns you when it finds one. - Yes / no — words in any language of the app, or
1and0. - Lists (images) — separate the addresses with a semicolon. Each address must start with
http://orhttps://and point directly at the image file. - Production time (seconds) is in seconds: a quarter of an hour is
900. The value is shown on the product card as Production time. The product form has no field for it, so a file is the only way to set it. - SKU with a leading zero (such as
007) — format the column as text in your spreadsheet. Otherwise the zeros are lost before the file reaches Complaia. - CSV files — save as UTF-8. The separator (comma, semicolon or tab) is detected for you.
Order product mappings
When an order arrives from a connected shop, its lines describe the shop's product: a name, perhaps a code, perhaps a barcode number. Complaia has to decide which of your products that is, so that stock, production and invoicing use the right product.
How matching works
Complaia tries the values on the incoming line in this order, and stops at the first one that finds a product:
- the EAN, if it is a real barcode number (8 to 14 digits, not only zeros);
- the UPC, if the line has one;
- the product code;
- the name.
For each value:
- If a saved mapping exists for that value, the line is linked to the mapped product.
- Otherwise Complaia looks in your catalog. A barcode number is compared with your products' EAN and UPC. A code is compared with your products' SKU. If it finds a match, it links the line and saves the mapping. The mapping is then shown as automatically in the list.
- Names are never matched automatically. A name is linked only if you mapped it yourself.
- A product with variants is never matched. An order must always point to a specific variant, so the line waits for a mapping to one.
So a line with an unknown EAN can still be matched by its code. A line that matches nothing arrives without a product, and you have to match it by hand.
Add a mapping on a product
- Open the product, click Edit and go to Logistics.
- Under Order product mappings, fill in EAN from the order, Product code from the order or Name from the order.
- Click Add.
Fill in one field only. A mapping is saved under the first field you filled in: the EAN, otherwise the code, otherwise the name. The other fields of the same mapping are not used to find the product. If the shop sends both an EAN and a code, add two mappings.
The mapping is saved immediately. Order lines that were waiting with that value are linked to the product, and you are told how many orders were updated.
On a new product the section works differently:
- Click Add mapping to add a row.
- Fill it in and click Confirm.
- The mapping is saved together with the product.
For a product with variants, add the mappings in the variant's window, on its Logistics step.
Match a line on the order
- On the order card, click Match product on a line that has no product.
- Choose the product.
Complaia links the line, saves the mapping, and links every other waiting line with the same value. See Match a line item to a product.
Remove a mapping
- On the product's Logistics step, click the bin next to the mapping.
- Confirm Remove this match? Orders with this code or name will then have to be matched by hand.
Lines that were already linked keep their product. Only future orders are affected.
Move mappings from a product to its variants
If a product had mappings before it got variants, its Logistics step shows Mappings to move to a variant. Until you move them, orders using them wait for manual matching.
- For each mapping, choose the Target variant.
- Click Move and confirm. Order lines that were linked to the product through that mapping move to the variant with it.
Moving cannot be undone with one click. To reverse it, remove the mapping from the variant, add it to the right product, and match the moved lines again.
When it doesn't work
| What you see | Why | What to do |
|---|---|---|
| The file has … rows; one import handles at most 5000. Split it into smaller parts. | The file is over the row limit. | Split the file. Products already created are recognised as existing next time. |
| The file is … MB, the maximum is 25 MB. Split it into smaller parts. | The file is too big. | Split it. |
| A note on step 2 that you must map the name column, or the SKU or EAN column | Step 2 cannot continue without one of those columns. Without them a row cannot be identified. | Map the column by hand. |
| Required field, value missing | A row that would create a product has no name. | Fill in the name, or skip the row. |
| The same SKU already appears in row … | The same SKU, EAN or UPC appears twice in the file. | Decide which row is right and remove the other. |
| There are 2 categories named "…", so we cannot tell which one to use | Two of your categories have that name. | Rename one of them in Categories. |
| Several attributes are named "…" (keys: …), so we cannot tell which one to use. | Two of your attributes have that name. | Rename one of them, or use the attribute key in the column header. |
| Attribute …: value "…" is not on the list. Accepted: … | The attribute has a fixed list of options and the value is not one of them. | Use one of the listed options, or add the option to the attribute. |
| A note that a value can be read two ways | One separator followed by three digits can be read two ways. | Open the row with Show changes and correct the value, or fix the file. |
| Parent product with SKU "…" not found | A variant row names a parent that is neither in the file nor in your catalog. | Add the parent row or correct the SKU. |
| Parent product "…" cannot become a variant parent: … | The parent has stock, open production orders, or is used in a set or recipe. | Clear what the message lists. See Product variants. |
| This product's parcels cannot be changed because it has stock or open warehouse operations. Settle them and import the row again. | The file changes the parcels of a product that is in the warehouse. | See Packaging & parcels. |
| A row not saved because the set's contents are in use | The file changes a set whose products are reserved, packed or in production for open documents. | Finish those documents, then import the row again. |
| Image … is unreachable… or The URL … does not point to an image file… | The link is broken or private, or points at a web page. The product is still imported, without that image. | Fix the link and import the row again as an update. |
| A note on the result that some images could not be moved | Some photos could not be copied into Complaia; those products still point at the original address. | Check the format (JPG, PNG, WEBP, AVIF) and the links, then import those rows again. |
| A message that you may not edit products, so the import cannot change existing products | A row is set to Update and your role may only create. | Set those rows to Skip, or ask for Products: Edit. |
| A message that you may not create categories | You ticked categories to create. | Untick them, or ask for Categories: Create. |
| A message that another import is already running | Only one import can run in your company at a time. | Wait, or open Import products and click Stop. |
| An order line still has no product although the product exists. | The line arrived with a name only, its code is not your SKU, or the product has variants. | Add a mapping on the product (or the variant), or use Match product on the order. |
| Mappings belong to variants on the Logistics step | The product has variants. | Add the mapping in the variant's window. |
Permissions
| To do this | You need |
|---|---|
| Open Import products and create products with it | Products: Create |
| Set a row to Update | Products: Edit as well |
| Create categories from the preview | Categories: Create as well |
| See a product's order mappings | Products: View |
| Add, remove or move an order mapping | Products: Edit |
Related
- Products — the list you import from
- The product record — the form an imported row fills in
- Product variants · Packaging & parcels · Pricing
- Attributes · Categories — they must exist before a file can use them, except for categories you tick in the preview
- Identifiers & labels — the rules for SKU, EAN and UPC
- Integrations · Mappings — the shops whose order lines are matched
- The order record — where a matched line ends up
- Glossary — product mapping