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:
Open Microsoft Excel.
Go to the Data tab.
Click Get Data → From Text/CSV.
Select your downloaded template and load the data.
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_itemscolumn of another row.A row is treated as a product if its
packaging_itemsandbill_of_materialscolumns 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 | 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:
Go to the relevant section in the platform (Suppliers or Products).
Click Import in the top-right corner.
Drag and drop your file into the upload area, or click to browse.
Click Import to start the upload.
Common mistakes
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.
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.
Spaces after commas in
packaging_itemsWhen listing multiple packaging SKUs in thepackaging_itemscolumn, include a space after each comma (e.g.PKG-001, PKG-002). Missing spaces can cause linking errors.Wrong
typevalue for PPWR Usepurchasedas the type for all PPWR items — including finished goods you manufacture yourself. PPWR focuses on the packaging, not the product.Data in
bill_of_materialsleft populated Thebill_of_materialscolumn 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
How does the platform know whether a row is a product or a packaging type? It checks the
packaging_itemscolumn. If another row lists your SKU there, your row becomes a packaging type. If no row references it andpackaging_itemsis blank, it becomes a product.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.
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_itemsare spaced correctly after commas. Contact support via the in-app chat if the issue persists.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.