Preparing textile data for the Digital Product Passport
The Digital Product Passport for textiles mostly needs data you already have: fiber composition, origin, care and certificates. But it usually sits in a product description, on the sewn-in label or in an email from your supplier. This guide shows which fields to set up, how to fill them and where they live in Shopify, Shopware, WooCommerce, JTL-Wawi and Billbee. Our example is the sample passport for a hoodie. Its brand and suppliers are made up.
Summary
- Of these four, only the fiber composition is mandatory today, on the label and in your store. Origin, care and certificates are voluntary in Germany.
- Which data the textile passport will require is set by a delegated act that has not been adopted yet. The Commission plans it for the second half of 2027.
- Give every piece of information its own field. Only then can you export it, translate it and move it into the passport.
- If the composition differs by color, it belongs on the variant.
- We found no dedicated passport field in any of the five systems. The data goes into metafields, properties, attributes, characteristics or custom fields.
What goes into the textile passport
There is no delegated act yet that makes the passport mandatory for textiles. The Commission plans to adopt it in the second half of 2027. As a rule, it will apply 18 months after it enters into force at the earliest (Art. 4(4) ESPR). The timeline is explained in Textile delegated act: when the passport applies (in German).
The study by the Commission’s Joint Research Centre (JRC) of May 13, 2026 gives a first indication. It was published as a draft and is not binding. Among other things, it recommends the fiber composition, the share of recycled fibers with the source of the recycled material, care instructions, the place of manufacture, substances of concern and proof for environmental claims. It treats repair instructions and the organic share as voluntary. The passport should be available in all official EU languages. You also need a unique identifier for each product, usually a GTIN. The four data groups below cover what you already know or can ask your supplier for.
Fiber composition (mandatory today)
The fiber composition must already be on the label and in your store before purchase, including online sales (Art. 16(1) Regulation (EU) 1007/2011). It must be in the official language or languages of the EU country where you sell to consumers, unless that country allows otherwise (Art. 16(3)). Details are in Textile labeling in online stores (in German). For your data this means:
- Only fiber names from Annex I of the regulation, so elastane instead of Lycra. The trademark Lycra may appear directly before or after it (Art. 16(2)).
- Every fiber with its share by weight, in descending order.
- For components with a different composition, one statement per component. This is mandatory for the main lining and for components making up at least 30% of the total weight (Art. 11). You may add smaller ones such as ribbing.
Write one line per component in the same form, “component: share fiber”. For the hoodie in ecru it looks like this:
- Body: 100% cotton
- Ribbing: 95% cotton, 5% elastane
- Hood lining: 100% cotton
“Organic” and “recycled” are not fiber names in Annex I. You may state “recycled” if it does not mislead, but separately from the fiber composition (Art. 16(2), Commission FAQ, question 2.7). Add a second field for them, for example “Organic and recycled” with “Body: 100% organic cotton”. The heather gray variant has a different body fabric, “70% cotton, 30% polyester”, and its second field reads “Body: 70% organic cotton, 30% recycled polyester”. That is why this information belongs on the variant.
ARMEDANGELS shows the composition with the organic share on the product page of a T-shirt. The passport for the same shirt adds recycled content and recyclability. MUD Jeans separates recycled cotton from production waste and recycled cotton from worn jeans on its product page.
Origin and production sites (voluntary today)
An origin statement such as “Made in Portugal” is not mandatory for textiles in the EU. If you make one, it must not mislead (Commission FAQ, question 2.6). In France, manufacturers, private labels and importers with annual revenue of at least €10 million and at least 10,000 items sold there per year must state the country for weaving or knitting, for dyeing and printing and for making-up (Décret n° 2022-748, FAQ of the French Ministry for the Environment, in French).
Keep two things apart that often end up in one field:
- Country of origin for customs. It depends on the last substantial processing or working (Art. 60(2) Union Customs Code). For the hoodie it is Portugal.
- Sites of the individual steps. The hoodie’s cotton grows near Aydın in Türkiye and is spun into yarn in İzmir. The fabric is knitted in Barcelos and sewn in Guimarães. The ecru version is not dyed.
The JRC study only provides for one site, the place where the product was manufactured. Set up at least this field, for the hoodie “Guimarães, Portugal”. The other steps are worth it if the French rule applies to you or you want to show them to your customers. ASKET lists the company and country for every step on the product page of a T-shirt, from growing the cotton to sewing. If you don’t know a site, leave the field empty and ask your supplier.
Care, repair and recycling (voluntary in Germany)
Care instructions are voluntary in Germany (leaflet of the Brandenburg market surveillance authority, in German). There is no common EU rule. According to a 2017 GINETEX overview cited in the JRC study, they are mandatory in twelve member states, including Austria, Poland and Denmark. If you sell there, check the current law of that country.
The familiar care symbols are trademarks of GINETEX. GINETEX requires a license to show them. According to Händlerbund, GINETEX Germany charges €100 to €600 a year depending on revenue. Care as text is always fine and can be translated. Write fixed sentences in the same order as the symbols: washing, bleaching, drying, ironing, professional care. For the hoodie: “Wash at 40 °C, inside out, with similar colors. Do not bleach. Do not tumble dry. Iron at medium temperature.”
Set up one field per language, at least German and English. Repair and recycling each get their own field. For the hoodie, the repair note starts with “Frayed ribbing can be replaced.”
Certificates (voluntary)
No law requires certificates. But if you say “organic” or “recycled” or show a label, you must be able to prove it. Since September 27, 2026, EU consumer law bans sustainability labels that are neither based on a certification scheme nor set by public authorities (Directive 2005/29/EC, Annex I, point 2a, added by Directive (EU) 2024/825). The JRC study also treats certificates as proof of a specific claim.
Store for each certificate:
| Item | Example |
|---|---|
| Standard | GOTS |
| Number | exactly as on the certificate |
| Issued by | the certification body |
| Valid until | March 31, 2027 |
| Applies to | fabric supplier in Barcelos |
| Verification link | database of the standard |
Where to verify the number:
- GOTS: The label shows the certification body and the number of the certified company. You can check it in the database of certified suppliers.
- OEKO-TEX STANDARD 100: testing institute and number, verifiable with Label Check. The certificate is valid for one year.
- Grüner Knopf: the German government label has a list of companies with a link to each certificate.
- Fair Wear: a membership of the brand, not a product certificate. Store the brand’s page at Fair Wear.
ARMEDANGELS shows the GOTS number on the product page. With the number and expiry date in a field, you see when a certificate runs out.
The fields at a glance
These fields cover the four data groups. The names are suggestions. What matters is that every item has its own field and the same name everywhere.
| Field | Type | Example value |
|---|---|---|
| Composition | multi-line text | Body: 100% cotton |
| Organic and recycled | multi-line text | Body: 100% organic cotton |
| Country of origin | country | Portugal |
| Place of manufacture | single-line text | Guimarães, Portugal |
| Fabric production site | single-line text | Barcelos, Portugal |
| Care, German | multi-line text | Bei 40 °C waschen, auf links. |
| Care, English | multi-line text | Wash at 40 °C, inside out. |
| Repair | multi-line text | Ribbing can be replaced. |
| Certificate | group of fields | standard, number, issuer, date |
Shopify
In Shopify, create a product metafield for each item. You can do this in the Metafields section of a product or in the settings (Shopify Help). If a value differs by color, use a variant metafield.
| Field | Where in the system | Example value |
|---|---|---|
| Composition | product metafield, multi-line text | Ribbing: 95% cotton, 5% elastane |
| Composition by color | variant metafield, multi-line text | Body: 70% cotton, 30% polyester |
| Country of origin | variant, customs information | PT |
| Place of manufacture | product metafield, single-line text | Guimarães, Portugal |
| Care, English | product metafield, multi-line text | Do not tumble dry. |
| Certificate | metaobject “Certificate”, referenced from the product as a list | GOTS, number, issuer, valid until |
- Category metafields. For shirts, Shopify offers the category metafields “Fabric” and “Care instructions” with predefined values. You can add your own entries (Shopify Help). Shares per component are not part of them. Use them for filters and keep the composition in a metafield of your own.
- Certificates as a metaobject. Create one metaobject “Certificate” with the fields from the table above (Shopify Help). You can then link a fabric supplier’s certificate to every product made from that fabric and change the expiry date in one place.
- Showing it in the store. In the theme editor, connect the metafield to a text block as a dynamic source, if your theme supports it (Shopify Help).
- CSV. Product metafields appear in the product CSV in columns such as
product.metafields.custom.composition. Rich text and variant metafields are not included. For variants, use the bulk editor (Shopify Help).
Shopware 6
Shopware offers two routes. Properties appear on the product page and in the filter. Custom fields stay internal unless you adjust the template. Use properties for everything customers should see and custom fields for proof.
| Field | Where in the system | Example value |
|---|---|---|
| Material body | property under Catalogues > Properties | 100% cotton |
| Material ribbing | property | 95% cotton, 5% elastane |
| Country of origin | property | Portugal |
| Place of manufacture | custom field, text field | Guimarães, Portugal |
| Care | custom field, text editor | Iron at medium temperature. |
| Certificate valid until | custom field, date | March 31, 2027 |
- Properties are set up under Catalogues > Properties. Their position there sets the order on the product page (Shopware documentation).
- Custom fields are under Settings > System > Custom fields. Create a set “Product passport” and assign it to products (Shopware documentation). You find both on the product in the Specifications tab.
- Variants inherit the values of the main product. The chain icon in the Variants tab removes inheritance for a field, so you can enter the different composition for heather gray (Shopware documentation).
- CSV. The default product profile under Import/Export includes properties (Shopware documentation).
WooCommerce
In WooCommerce, attributes are the way to show information. Custom fields stay invisible in the store until your theme outputs them.
| Field | Where in the system | Example value |
|---|---|---|
| Composition | attribute on the product, visible | Body: 100% cotton |
| Country of origin | global attribute | Portugal |
| Place of manufacture | global attribute | Guimarães, Portugal |
| Care | custom field | Do not bleach. |
| Certificate number | custom field | exactly as on the certificate |
- Global attributes are set up under Products > Attributes and can be used for many products. Attributes created directly on a product only apply there (WooCommerce documentation).
- Making them visible. With “Visible on the product page” ticked, the attribute appears in the “Additional information” tab (WooCommerce documentation).
- Custom fields are hidden in the editor. Turn them on under Screen Options. They only appear in the store once the theme has been adjusted (WooCommerce documentation).
- Variations. A field of your own for each variation needs code or an extension (WooCommerce developer docs).
- CSV. The importer knows columns such as “Attribute 1 name” and “Attribute 1 value(s)”. Import custom fields with the prefix
meta:before the field name (WooCommerce documentation).
JTL-Wawi and JTL-Shop
JTL-Wawi has three kinds of fields. Which one you use depends on where the data goes. The German labels are in brackets.
| Field | Where in the system | Example value |
|---|---|---|
| Composition | characteristic (Merkmal) on the child item | Body: 70% cotton, 30% polyester |
| Care | attribute, free text | Wash at 30 °C, inside out. |
| Country of origin | item master data, tab Sonstiges | Portugal |
| Place of manufacture | custom field (Eigenes Feld), free text | Guimarães, Portugal |
| Certificate valid until | custom field, date | March 31, 2027 |
| Verification link | custom field, URL | link to the database |
- Characteristics are set up under Artikel > Merkmale and assigned in the item master data in the Attribute/Merkmale tab (JTL Guide). They appear in JTL-Shop and on eBay and are not meant for stores from other vendors. For parent items, JTL only transfers the characteristics of the child items. So enter the composition per color on the child item.
- Attributes come as free text or a value list, also in several languages. JTL connectors also pass them to Shopware or WooCommerce (JTL Guide, in German). If you sell through such a store, use an attribute for the composition.
- Custom fields are set up under Admin > Eigene Felder, with types such as free text, date, URL and country (JTL Guide, in German). They suit production sites and certificates.
- Country of origin has a fixed field in the Sonstiges tab, meant for customs (JTL Guide, in German).
- Import. JTL-Ameise imports attributes, characteristics and custom fields from a CSV file. Create missing characteristics and values first (JTL Guide, in German).
Billbee
Billbee comes with two matching fields and lets you add custom fields (Billbee Help, in German). The German labels are in brackets.
| Field | Where in the system | Example value |
|---|---|---|
| Material | item, Texte tab | 95% cotton, 5% elastane |
| Country of manufacture (Herstellungsland) | item, Allgemein tab | Portugal |
| Composition per component | custom field (Eigenes Feld) | Hood lining: 100% cotton |
| Place of manufacture | custom field | Guimarães, Portugal |
| Care | custom field | Do not tumble dry. |
| Certificate number | custom field | exactly as on the certificate |
- Material takes a list of materials separated by commas. One field is not enough for several components, so use custom fields for those.
- Custom fields are set up in the item menu under “Eigene Felder”. If you untick “Optional”, an item cannot be saved without the field. That way no new item is missing its composition.
- Variants. When importing from Shopify, every variant becomes an item of its own (Billbee Help, in German). Enter the heather gray composition there.
- Back to the store. Billbee syncs stock levels with your stores (Billbee Help, in German). The help pages don’t say that Billbee sends texts or custom fields to the store. Maintain what customers need to see in the store as well.
Common mistakes
- Everything in the description. A paragraph “Material and care” can’t be exported, translated or checked.
- Country of origin and sewing site in one field. “Türkiye, Portugal” answers neither question.
- Certificate without expiry date. An OEKO-TEX certificate is valid for one year. Without a date you won’t notice when it runs out.
What Mapasso takes over
Mapasso is a Shopify app. It takes the country of origin, place of manufacture, manufacturer and the care, repair and recycling notes from product metafields. You choose in the app which metafield belongs to which item. You add the fibers per component in Mapasso, with organic and recycled shares on separate lines, and assign the certificates. The sample passport for the hoodie shows the result. The app is in the Shopify App Store.
FAQ
Do I need to maintain all of this today? Of the four, only the fiber composition is mandatory. You can add origin, care and certificates step by step. Start with the products you sell the longest.
My supplier doesn’t know the sites of earlier steps. What do I enter? Enter what you know and leave the rest empty. An empty field shows you where to ask. An estimated value looks like a verified one.
Do I need a PIM or a new inventory system for the passport? Not to get started. The fields above exist in all five systems. How data gets from an inventory system into the passport is covered in Digital Product Passport and ERP (in German).
Sources (16)
Retrieved on November 7, 2026.
- JRC, study on DPP content for apparel, May 13, 2026, draft, not binding
- Textile Labelling Regulation (EU) 1007/2011, Art. 5, 9, 11, 16, Annex I
- Regulation (EU) 2024/1781 (ESPR), Art. 4(4)
- European Commission, FAQ on the Textile Labelling Regulation, questions 2.3, 2.6 and 2.7
- Union Customs Code, Art. 60
- France, Décret n° 2022-748, FAQ of the Ministry for the Environment, November 2025 (in French), questions 1.1.2, 1.2.5 and 2.9
- LAVG Brandenburg, leaflet on textile labeling (in German)
- GINETEX, care labeling and Händlerbund, care symbols, July 3, 2026 (in German)
- Directive (EU) 2024/825, adding point 2a to Annex I of Directive 2005/29/EC
- Certificates: GOTS, labeling, GOTS database, OEKO-TEX Label Check, Grüner Knopf, companies, Fair Wear, brand pages
- Brands: ARMEDANGELS, product page and passport, ASKET, MUD Jeans
- Shopify: metafield definitions, metaobjects, category metafields, showing metafields, CSV, country of origin on the inventory item
- Shopware: properties, custom fields, products, import/export
- WooCommerce: attributes, product editor, custom fields, fields per variation, CSV import
- JTL: creating characteristics, attributes and characteristics (in German), custom fields (in German), Sonstiges tab (in German), JTL-Ameise (in German)
- Billbee (in German): editing items, items, connecting Shopify
Not legal advice. Last updated: November 7, 2026.