Import products or partners from a CSV file

Preview a CSV file, see which rows have problems, and write only the valid rows into the system.

Required permission: mdm.import

Before you begin

The feature Governed imports must be on, and you need mdm.import. The import menu and every action need that permission; mdm.steward alone is not enough.

Prepare a UTF-8 CSV file (a BOM is fine) with a header row. Column names are matched ignoring case, and other columns are ignored.

ImportingColumns
Productscode, name, arabic_name, kind (goods or service), unit, price, cost, barcode, category (category code)
Partnerscode, name, arabic_name, kind (customer, supplier or both), market (business or consumer), email, phone, tax_id

Limits: 5 MB and 5,000 rows per file. A unit must already exist and be active.

Steps

  1. Open Master Data > Stewardship > Imports.
  2. In the Import selector choose Products or Partners.
  3. Upload the CSV to preview. Nothing is written yet.
  4. Open the new batch (IMP-000001). Read the counts: rows, Valid and Quarantined, and the problem beside each row.
  5. If rows have problems, press Discard, fix the file and upload again.
  6. When the valid rows are right, press Write N valid rows.

What happens next

The batch becomes committed and shows Written. Each written row links to the product or partner it became. Rows with problems are quarantined and not written. Pressing the button again says 'This import is already committed.' A discarded batch writes nothing.

Worked example. A product file has five rows. Row 1 is valid. Row 2 has no name, row 3 repeats the code of row 1, row 4 has the unit Box9, and row 5 has price abc. The preview shows 5 rows, 1 valid, and these problems: 'name: missing', 'code: <code> appears twice in the file', "unit: 'Box9' is not an active unit of measure" and "price: 'abc' is not a number". You write the 1 valid row. Re-uploading the whole file later shows 'code: <code> is already a product' on every row and the write button stays disabled.

Refusals before preview

  • No data rows: 'The file has no rows under its header.'
  • More than 5,000 rows: 'Import at most 5000 rows at a time.'
  • Not UTF-8: 'Save the file as UTF-8 CSV.'
  • Larger than 5 MB: 'The file is larger than 5 MB.'
  • Without permission: 'Importing masters needs the mdm.import permission.'

Good to know

  • Partner problems include 'kind: customer, supplier or both' (a kind of vendor fails) and 'code: <code> is already a partner'. A blank code gets an automatic one.
  • The preview checks only that a barcode is unique. If the product save refuses a row at commit (for example a barcode taken in the meantime), that row is quarantined with the reason added and the others are still written.
  • Turning the feature off removes the menu and refuses uploads; existing batches stay readable.
  • Contacts and Catalogue lists have no import or export of their own.