User manual
Everything you need to set up, operate, and scale TraceID for your brand.
Overview
TraceID is a Digital Product Passport platform. Each garment gets a unique QR code and RFID tag. Scanning either opens a public passport page with materials, certifications, and sustainability data.
| Who | Does what | Where |
|---|---|---|
| Brand / supplier | Creates products, fills passport data, publishes passports | admin.traceid.co |
| Label production | Creates batches, exports QR + EPC CSV, prints labels | admin.traceid.co + label printer |
| Consumer | Scans QR or RFID on garment, views passport | traceid.co/p/{id} |
Passport flow
From raw product data to a live, publicly scannable Digital Product Passport.
- Create a model — Go to Products → New model. Enter model SKU, category, division, and brand.
- Add variants — Inside the model, add each colour × size combination. Each variant gets its own passport.
- Fill passport data — Open a variant → Edit passport. Fill composition, origin, certifications, care, carbon footprint. Use the AI mapper for raw material text.
- Run compliance check — Click "Check compliance". AI validates against EU ESPR Article 7 and returns a DPP score with errors and fix suggestions.
- Publish — Once composition and origin are filled, click Publish. The passport becomes publicly accessible.
Batches & QR codes
A batch is one label production run. It generates serialised physical item records, QR URLs, and EPC tags for a specific variant.
- Go to Batches → New batch
- Select the variant (e.g. Zara TRF Dress / White / S)
- Enter quantity (e.g. 500)
- Set the EPC company prefix and item reference
- Click Generate
The createBatch Cloud Function creates: one item record per unit (itm_xxxxxxxx), one RFID tag per unit (EPC string), and one QR URL per unit.
Go to Export → select the completed batch → Generate CSV → Download full CSV. The file contains:
RFID & EPC
Every item gets both a QR code and an RFID EPC tag. Both resolve to the same passport — this is the golden rule.
The EPC is built from three fields set at batch creation:
When an RFID reader scans the tag, it hits traceid.co/epc/{epc}. The resolvePassport function looks up the EPC, finds the variantId, and returns the passport.
Consumer scan experience
- Customer scans QR label with phone camera — no app required
- Browser opens
traceid.co/p/{itemId} - resolvePassport function checks passport status
- If published, returns full passport payload
- Customer sees: materials, certifications, care, sustainability, supply chain
- Scan is logged in
scan_eventsfor analytics
User roles
| Role | Permissions | Brand scope |
|---|---|---|
| Admin | Full access: create users, manage all brands, delete categories, view audit logs | All brands |
| Brand manager | Create/edit products, manage categories, publish passports | Own brand only |
| Supplier | Edit passport data, create batches, import CSV, export label files | Own brand only |
Data schema
| Collection | Document ID | Purpose |
|---|---|---|
products | mdl_xxxxxxxx | One per model/style |
variants | var_xxxxxxxx | One per colour × size |
passports | Same as variantId | DPP data — 1:1 with variant |
batches | bat_xxxxxxxxxx | Label production runs |
items | itm_xxxxxxxx | Serialised physical units |
rfid_tags | EPC string | EPC → variantId lookup |
scan_events | auto | QR/RFID scan analytics |
users | Firebase Auth UID | User profiles + roles |
audit_logs | auto | Immutable write event log |
Cloud functions reference
| Function | Trigger | Purpose |
|---|---|---|
resolvePassport | HTTPS GET | QR/RFID scan → public passport JSON |
createBatch | Callable | Generate items + rfid_tags in chunks of 499 |
recomputeDppScore | Firestore trigger | Auto-recalculate DPP score on passport write |
checkCertificationExpiry | Cron 08:00 UTC | Flag certifications expiring within 60 days |
exportLabelFile | Callable | CSV of QR+EPC pairs for label printer |
aiMapComposition | Callable | Raw text → structured composition fields |
aiCheckCompliance | Callable | Full EU ESPR Article 7 compliance report |
generateQrCodes | Callable | SVG QR codes + printable HTML label sheet |
createUser | Callable | Admin-only: create user with role + brand |
updateUserRole | Callable | Admin-only: change role or brand |
deactivateUser | Callable | Admin-only: disable account |
DPP score breakdown
The DPP score (0–100) is auto-calculated on every passport save. It measures completeness against EU ESPR Article 7.
| Category | Max points | How to earn |
|---|---|---|
| Identity | 10 | Variant SKU (5) + model SKU (5) |
| Composition | 20 | At least one material (10) + percentages sum to 100% (10) |
| Origin | 10 | Country of origin (5) + manufacturing facility (5) |
| Supply chain | 15 | At least one step (10) + all steps verified (5) |
| Certifications | 15 | At least one cert (10) + at least one valid cert (5) |
| Carbon | 20 | Carbon value (12) + methodology (4) + verification (4) |
| Care & end of life | 10 | Care instructions (3) + recyclable (4) + repairability (3) |
Regulation overview
The EU Ecodesign for Sustainable Products Regulation (ESPR) was adopted in 2024 and requires Digital Product Passports for all product categories sold in the EU. Textiles are one of the first categories to be regulated.
Key requirements under Article 7 include:
- Material composition with percentages
- Country of manufacture
- Repairability and recyclability information
- Carbon footprint data (from 2027–2030 depending on scope)
- Unique product identifier accessible via QR or RFID
- Certifications with issuer and validity dates
The DPP must be accessible by scanning the product — no login, no app, no friction. TraceID's public passport pages at traceid.co/p/{id} fulfil this requirement.
Non-compliance after the mandatory date will result in products being blocked from EU market access.