Build an impex import script from a type, columns, and data rows — no hand-counting semicolons.
INSERT_UPDATE Product;code[unique=true];name[lang=en] ;sample1;Sample Product
Impex is SAP Commerce's (Hybris) CSV-like format for importing and updating data — products, categories, customers, catalog structures, and more — directly into the platform. Hand-writing impex means carefully counting semicolons and getting header modifiers (unique, lang, allownull) exactly right, which is easy to get subtly wrong.
This tool builds the header and data rows from a form, so the semicolon-counting and modifier syntax are handled for you.
The header line is built as MODE Type;column1[modifiers];column2[modifiers];... — each column's modifiers (unique=true, lang=xx, allownull=true) are assembled from the checkboxes and fields you set for that column.
Each row becomes a line starting with a semicolon, followed by that row's values in the same order as the columns — exactly the format SAP Commerce's impex importer expects.
A simple Product import generates:
INSERT_UPDATE creates the item if it doesn't exist and updates it if it does — the safest default for most imports. INSERT fails if the item already exists; UPDATE fails if it doesn't.
It marks a column as part of the key SAP Commerce uses to find an existing item to update, rather than creating a duplicate — code[unique=true] is the most common example, for a product's SKU.
It marks a column as localized — name[lang=en] sets the English name specifically, separate from other languages' values on the same item.
Macros (lines like $catalogVersion=myCatalog:Staged) define reusable shortcuts you can reference elsewhere in the script with $catalogVersion, avoiding repetition across many rows.
Yes — the item type field accepts any valid SAP Commerce type name (Category, Customer, Title, CronJob, or any custom type in your project).