Import guide for PPWR CSV uploads

Last updated: June 12, 2026

Use CSV bulk imports to get your suppliers, products, and packaging types into the platform quickly. This guide walks you through each file, the required column structure, and the most common mistakes to avoid.


Before you start

Download the templates directly from the platform: go to the relevant section, click Import in the top-right corner, and click Download.


Opening the CSV template in Excel

The template is a .csv file. Opening it by double-clicking often corrupts the column layout. Use the correct import method instead:

  1. Open Microsoft Excel.

  2. Go to the Data tab.

  3. Click Get Data → From Text/CSV.

  4. Select your downloaded template and load the data.

  5. After filling the data, make sure to save as csv-utf.

Your columns will now display correctly.


File 1: Suppliers

Column name

Data type

Description

Required

external_id

text

Unique ID from your ERP or CRM

FALSE

company_name

text

Legal name of the supplier

TRUE

description

text

Optional notes about the supplier

FALSE

country_code

text (2 characters)

ISO 3166-1 alpha-2 code (e.g. NL, DE)

TRUE

is_self_managed

TRUE or FALSE

Set to TRUE if you are self-declaring on behalf of this supplier

FALSE

contact_name

text

Primary contact person, leave blank if self-managing

FALSE

contact_email

text

Contact email used for invitations, leave blank if self-managing

FALSE

Important: contact_email is used to send the supplier their platform invitation. An incorrect email means the supplier won't receive it.


File 2: Products and packaging types

Both products and packaging types go into the same CSV file. The platform separates them automatically based on how rows are structured.

How the platform distinguishes products from packaging types:

  • A row is treated as a packaging type if its SKU is referenced in the packaging_items column of another row.

  • A row is treated as a product if its packaging_items and bill_of_materials columns are empty.

Required column order within the file:

Put packaging types in the top rows, products in the bottom rows. The importer reads row by row. By the time it reaches a product row, the packaging types it references must already be processed.

Column name

Data type

Description

Required

external_id

text

Unique ID from your ERP or CRM

FALSE

sku

text

Your internal stock keeping unit

TRUE

name

text

Product or packaging type name

TRUE

description

text

Optional description

FALSE

type

text

Always use purchased for PPWR items, even for manufactured finished goods

TRUE

bill_of_materials

text

Comma-separated SKUs of sub-components — not used for PPWR, leave blank

FALSE

packaging_items

text

Comma-separated SKUs of packaging types attached to this product — this is what links packaging to products

FALSE

Example structure:

sku,        name,                  type,       packaging_items
PKG-001,    Cardboard box 200g,    purchased,
PKG-002,    Plastic lid,           purchased,
PRD-001,    Oat biscuits,          purchased,  PKG-001, PKG-002

In this example, PKG-001 and PKG-002 are packaging types (they are referenced in PRD-001's packaging_items column). PRD-001 is the product.


Uploading your CSV

Once your file is ready:

  1. Go to the relevant section in the platform (Suppliers or Products).

  2. Click Import in the top-right corner.

  3. Drag and drop your file into the upload area, or click to browse.

  4. Click Import to start the upload.


Common mistakes

  1. Column names don't match exactly The importer is strict. Column names must be identical to the template — including underscores, capitalisation, and spacing. Do not rename columns.

  2. Packaging types listed after products If a product row references a packaging type SKU that hasn't been processed yet, the link fails. Always put packaging types first.

  3. Spaces after commas in packaging_items When listing multiple packaging SKUs in the packaging_items column, include a space after each comma (e.g. PKG-001, PKG-002). Missing spaces can cause linking errors.

  4. Wrong type value for PPWR Use purchased as the type for all PPWR items — including finished goods you manufacture yourself. PPWR focuses on the packaging, not the product.

  5. Data in bill_of_materials left populated The bill_of_materials column is used for EUDR, not PPWR. Leave it blank for PPWR uploads to avoid unexpected behaviour.


What if I don't have my packaging inventory yet?

You don't need a complete packaging inventory to start. You can import only products (SKUs) without attaching packaging types. Once your suppliers are in the platform, send them a request at product level, they will add the relevant packaging types and documentation directly from their workspace.


Frequently asked questions

  1. How does the platform know whether a row is a product or a packaging type? It checks the packaging_items column. If another row lists your SKU there, your row becomes a packaging type. If no row references it and packaging_items is blank, it becomes a product.

  2. Can I move an item from the product tab to the packaging type tab after uploading? Not within the PPWR tab. Once an item is set as a product, it stays a product. Workaround: items uploaded to the general product catalog (outside PPWR) can be bulk-selected and moved into the packaging type section from there.

  3. What if my upload fails with no clear error? Check that all column names exactly match the template, that packaging types are listed above products, and that SKU references in packaging_items are spaced correctly after commas. Contact support via the in-app chat if the issue persists.

  4. Do I need a full packaging inventory before I can start? No. You can start by importing your product list (SKUs) and sending requests to suppliers at product level. Suppliers then add the packaging layers themselves.