Skip to content
SrcDrive

01/Traceability and Digital Product Passport for apparel

Digital Product Passport ready, because the data was always there.

An apparel PLM built around traceability: revision-controlled bills of materials, validated fibre composition, and a Digital Product Passport assembled from the records your team already maintains — not from a spreadsheet exercise at the end.

Built for
Apparel brands and manufacturers whose product data currently lives in spreadsheets.

Workspace
SrcDrive PLM workspace home with Style, Material, Settings and Sourcing workspaces

How it works

What Fashion PLM actually does

01

Digital Product Passport support

Composition, origin, certification and end-of-life data are held per product and assembled into a passport. Because they are the same records production already works from, the passport is a view of live data rather than a document someone has to reconcile.

Workspace
SrcDrive PLM workspace home: a search across styles, seasons, fabrics and suppliers, and four workspaces — Style, Material, Settings, Sourcing

02

Traceability from SKU to fibre

Every SKU resolves back through colorway, style, BOM revision and material to a validated fibre composition — and forward into the ERP, so a shipment and a specification are answers to the same question.

SS26 / Top / ZMJ01
Style ZMJ01, Aero-Performance Puffer Jacket, in SS26: name, code, season, division and status Concept, with Style Detail, Colorways, Style SKUs and Samples tabs and a Tech Pack button

03

Revision-controlled BOMs

BOM lines are immutable versions tied together across revisions. Reading a year-old approval returns the numbers as they were signed off, not as they are today — which is the difference between an audit you can answer and one you cannot.

In its own words

  • product_passport
  • chain_of_custody
  • season_code
  • style_phase
  • colorway.sfc
  • authority_bom_id

04

Validated fibre composition

Materials carry fibre records against a controlled vocabulary, and the percentages must total 100 before a material can be approved. The system will not store a composition that does not add up.

In its own words

  • product_passport
  • chain_of_custody
  • season_code
  • style_phase
  • colorway.sfc
  • authority_bom_id

05

A hierarchy that holds

Season, division, gender, product group, style, colorway, SKU — fixed levels, so 'every AW26 womenswear knit' is a question with an answer rather than a spreadsheet filter.

In its own words

  • product_passport
  • chain_of_custody
  • season_code
  • style_phase
  • colorway.sfc
  • authority_bom_id

06

Approvals that are records

Draft, submitted, approved, superseded. Reviews carry revisions the same way BOMs do, each one a single verdict with an approver and a timestamp.

In its own words

  • product_passport
  • chain_of_custody
  • season_code
  • style_phase
  • colorway.sfc
  • authority_bom_id

07

Field-level audit history

Every change to a style or category is stored with its before and after. 'Who moved this forward, and when' has exactly one answer.

In its own words

  • product_passport
  • chain_of_custody
  • season_code
  • style_phase
  • colorway.sfc
  • authority_bom_id

08

Built to integrate

Clean Architecture over a documented HTTP API, so the ERP, a supplier portal or a buyer's own system can read from it without a migration project.

In its own words

  • product_passport
  • chain_of_custody
  • season_code
  • style_phase
  • colorway.sfc
  • authority_bom_id

One thread, two systems

Pick a shipment. Walk it backwards.

Every record below is the shape our ERP and PLM actually store — same field names, same statuses, same generated identifiers. This is not a picture of a dashboard. It is the data model, read in reverse.

Choose a shipment

Delivery #131 against Book-2026-118

840 kg of merino lambswool, received 14 Jan 2026 — traced to the BOM revision that authorised it and the fibre it is made of.

  1. 840 kg arrived at the gate on 14 January. A delivery is not its own table — it is a ledger row of type Delivery whose parent is the booking it satisfies.

    Ledger type
    Delivery
    Parent booking
    #118
    Status
    Completed
    Vendor
    Zhejiang Sunrise Yarn Co.
    Payment ref
    TT/2026/0031
    Received
    14 Jan 2026, 06:20 UTC
    Lines on this delivery
    ItemQuantityLanded at
    Merino Lambswool 2/28 Nm840 kgRack B-12 -> Bin Row B -> Yarn Store -> Unit 2 -> Main Building
    Ordered
    1200
    Delivered
    840
    Remaining
    360
    Complete
    70%

    As stored in Fabrivent

  2. The booking the delivery hangs off. Its number is assigned the moment the ledger row is created, so there is no window in which stock exists without a reference.

    Booking no.
    Book-2026-118
    Status
    Partially delivered
    Fully delivered
    No
    Job
    JOB-214
    Vendor
    Zhejiang Sunrise Yarn Co.
    Requisition
    REQ-2026-604
    Proforma invoice
    PI-77
    Lines
    3 · 1,200 kg

    `fully_delivered` is computed on read from the delivery lines, never stored — so it cannot drift from the ledger it describes.

    As stored in Fabrivent

  3. Where the yarn physically landed. The address is computed from the location tree, leaf first — rename a floor and every rack beneath it is rewritten, so the path can never go stale.

    Computed address, leaf first

    1. Rack B-12
    2. Bin Row B
    3. Yarn Store
    4. Unit 2
    5. Main Building
    Location
    Rack B-12
    Capacity
    1200 kg
    On hand here
    ItemQuantityJob
    Merino Lambswool 2/28 Nm840 kgJOB-214

    As stored in Fabrivent

  4. The movement that actually changed the balance. Stock is keyed on the triple of item, storage and job — so 840 kg is never just 'in the warehouse', it is against this job in this rack.

    Transfer no.
    TR-RECEIVED-14-01-26-0007
    Movement
    Received
    Status
    Completed
    Quantity
    840 kg
    Job
    JOB-214
    Booking
    #131
    Recorded
    14 Jan 2026, 06:41 UTC
    Note
    Received against Book-2026-118, lot SR-4471-A.

    As stored in Fabrivent

  5. Stock never floats free. Every movement belongs to a job, and every job belongs to a customer — which is what makes a buyer audit answerable in minutes.

    Job
    NW AW26 Cable Knit Crew — Bulk
    Type
    Bulk
    Customer
    Nordwear Group
    Opened
    2 Dec 2025
    Opened by
    Tanvir Ahmed
    Ledger rows
    11 — 4 bookings, 7 deliveries

    Bulk production, 12,400 pcs, ex-factory 18 Apr 2026.

    As stored in Fabrivent

  6. The catalogue record. Its segment decides which stock report it lands in, and its unit is inherited by every transaction that touches it.

    Item
    Merino Lambswool 2/28 Nm
    Category
    Yarn — Worsted
    Segment
    Yarn
    Unit
    kg
    Unit price
    $18.40
    Attributes
    2/28 Nm · ring spun · 19.5 micron

    Fog Grey

    Pantone 17-4402 TCX

    #9AA3A8

    As stored in Fabrivent

  7. Hand-off — Fabrivent to PLM

    The sellable unit the yarn was bought for. This is the hand-off: the ERP knows what arrived, the PLM knows what it was for, and they agree on the style.

    EAN
    5400123456789
    Status
    Active
    Size
    M — Medium
    Size range
    Womenswear XS–XL
    Base size
    Yes
    Wholesale
    €62.50
    Retail
    Effective retail
    €149.00

    Effective retail falls back to the style's RRP when the SKU has no price of its own. It is computed on read, so a style-level price change reaches every SKU at once.

    As stored in the PLM

  8. The colour execution. Fog Grey on this style resolves to one Pantone standard — the same standard the yarn was dyed against, which is why the lab dip could be signed off at all.

    Colorway
    D24309-FOG
    Name
    Fog Grey
    Status
    Active
    Carry-over
    No
    SFC
    D24309-D387-FOG

    Pantone 17-4402 TCX

    PAN-17-4402 · Grey · NRF 013

    #9AA3A8

    As stored in the PLM

  9. The design itself. Style codes are deliberately not unique — the same code recurs across seasons and fabrics — so the PLM identifies a style by id and keeps the code for humans.

    Style code
    D24309
    Name
    Cable Knit Crew
    Status
    In Development
    Phase
    SMS
    Brand
    Nordwear
    Type
    Knitwear
    Gender
    Women
    Family
    Crewneck
    RRP
    €149.00
    Authority BOM
    #640
    Main material
    MAT-4471 · Merino Lambswool 2/28 Nm
    Target launch
    1 Jul 2026

    Status and phase are different questions. Status is where the style sits in its lifecycle; phase is how far sampling has got. A style can be In Development at SMS phase and neither field is redundant.

    As stored in the PLM

  10. Where the style sits. The trail is fixed — season, division, gender, product group — which is what lets a buyer ask for every AW26 womenswear knit and get an answer, not a spreadsheet filter.

    Product hierarchy, root first

    1. AW26 · Autumn/Winter 2026
    2. APP · Apparel
    3. W · Womenswear
    4. KNT · Knitwear Capsule
    Season
    AW26 — Autumn/Winter 2026
    Season status
    Active
    Opens
    1 Jan 2026
    Closes
    31 Dec 2026
    Season totals
    TotalActive
    Styles148131
    Colorways612
    SKUs42843910

    As stored in the PLM

  11. The revision that authorised the buy. BOM lines are immutable versions, so re-reading a year-old approval gives the numbers as they were signed off — not as they are today.

    BOM
    D24309 Production BOM
    Revision
    rev 4
    Revision status
    Approved
    Subtype
    Production
    BOM status
    Active
    Authority BOM
    Yes — production reads this
    Approved by
    Mahbub Rahman
    Approved at
    5 Jan 2026, 12:18 UTC
    Lines on this revision
    SectionMaterialConsumptionLossColour
    ShellMAT-4471 · Merino Lambswool 2/28 Nm0.62 kg4%Confirmed
    TrimMAT-9102 · Woven Main Label 30mm1 pcs2%Confirmed

    Consumption re-based after SMS fit comments; shell loss 4%.

    Every line above is an immutable version. Revision 4 holds its own copies, so reading a year-old approval returns the numbers as they were signed — not as they are now.

    As stored in the PLM

  12. The library record behind the BOM line — and the end of the chain. Fibre composition is validated: the percentages must total 100 before a material can be approved at all.

    Material
    MAT-4471
    Name
    Merino Lambswool 2/28 Nm
    Type
    Fabric
    Status
    Approved
    Weight
    320 g/m²
    Construction
    12gg interlock
    Finish
    Enzyme washed
    Dye method
    Piece dyed
    Fibre composition100% · validated
    • 80%WoolWO
    • 20%PolyamidePA
    Colour spec
    PAN-17-4402
    Lab dip
    Approved
    Dye lot
    SR-4471-A

    This is the fibre-level record the EU Digital Product Passport will ask for. The percentages must total 100 before the material can be approved — the system will not store a composition that does not.

    As stored in the PLM

  13. The sample verdict that unblocked production. Reviews carry revisions the same way BOMs do — each one is a single verdict, and only Approved is terminal.

    Review
    26Q1 SMS
    Subtype
    SMS
    Iteration
    2
    Review status
    In Review
    Revision
    rev 3
    Verdict
    Approved
    Requested
    19 Dec 2025
    Received
    3 Jan 2026
    Approved by
    Sadia Akter
    Approved at
    7 Jan 2026, 09:40 UTC

    Cable pitch approved. Cuff rib to 4 cm on bulk.

    As stored in the PLM

  14. The last link. Every field-level change is recorded against the entity, so 'who moved this style forward, and when' has exactly one answer.

    Entity
    style #1204
    Action
    update
    Changed by
    Sadia Akter
    Changed at
    7 Jan 2026, 09:41 UTC

    What changed

    • statusConceptIn Development
    • style_phaseProtoSMS
    • authority_bom_idnull640

    As stored in the PLM

TR-RETURN-SUP-03-02-26-0002

1,800 zips sent back with a gate pass — five records, all inside the ERP.

  1. 1,800 zips went back. A supplier return cannot be saved without a gate pass image — the backend rejects the write — so the paperwork exists by construction, not by discipline.

    Transfer no.
    TR-RETURN-SUP-03-02-26-0002
    Movement
    Return — supplier
    Status
    Completed
    Quantity
    1,800 pcs
    Job
    JOB-214
    Booking
    #126
    Recorded
    3 Feb 2026, 05:12 UTC
    Note
    Slider pull finish off-standard on 3 cartons.

    Gate passRequired

    5731.jpg

    As stored in Fabrivent

  2. Where they were sitting when QC found the defect.

    Computed address, leaf first

    1. Shelf A-3
    2. Trim Store
    3. Unit 1
    4. Main Building
    Location
    Shelf A-3
    Capacity
    N/A
    On hand here
    ItemQuantityJob
    Nylon Zip 5# 18cm4,200 pcsJOB-214

    As stored in Fabrivent

  3. The booking the returned goods came in on. The return is bound back to it, so the ledger stays balanced rather than quietly losing 1,800 pieces.

    Booking no.
    Book-2026-126
    Status
    Completed
    Fully delivered
    Yes
    Job
    JOB-214
    Vendor
    Han Trim Industries
    Requisition
    Proforma invoice
    PI-81
    Lines
    2 · 6,000 pcs

    `fully_delivered` is computed on read from the delivery lines, never stored — so it cannot drift from the ledger it describes.

    As stored in Fabrivent

  4. The same job as the yarn — one customer order, one ledger, two very different stories.

    Job
    NW AW26 Cable Knit Crew — Bulk
    Type
    Bulk
    Customer
    Nordwear Group
    Opened
    2 Dec 2025
    Opened by
    Tanvir Ahmed
    Ledger rows
    11 — 4 bookings, 7 deliveries

    Bulk production, 12,400 pcs, ex-factory 18 Apr 2026.

    As stored in Fabrivent

  5. An accessories-segment item, so it reports through the accessories stock report rather than the yarn one. The segment is on the item, not chosen at report time.

    Item
    Nylon Zip 5# 18cm
    Category
    Zippers
    Segment
    Accessories
    Unit
    pcs
    Unit price
    $0.34
    Attributes
    5# · auto-lock · antique brass pull

    Fog Grey

    Pantone 17-4402 TCX

    #9AA3A8

    As stored in Fabrivent

SKU #8834 — D24309-IND / M

A style still in sampling: proposed colorway, submitted BOM revision, lab dip pending. Nothing signed off yet.

  1. A SKU exists before it has a barcode. The EAN is assigned late, and the field is genuinely nullable rather than an empty string pretending to be one.

    EAN
    Not yet assigned
    Status
    Active
    Size
    M — Medium
    Size range
    Womenswear XS–XL
    Base size
    Yes
    Wholesale
    Retail
    Effective retail
    €149.00

    Effective retail falls back to the style's RRP when the SKU has no price of its own. It is computed on read, so a style-level price change reaches every SKU at once.

    As stored in the PLM

  2. Proposed, not Active. The colour is on the table for AW26 but nothing downstream may commit to it yet.

    Colorway
    D24309-IND
    Name
    Indigo Deep
    Status
    Proposed
    Carry-over
    No
    SFC
    D24309-D387-IND

    Pantone 19-3933 TCX

    PAN-19-3933 · Blue · NRF 460

    #3A3F58

    As stored in the PLM

  3. Submitted, awaiting approval, and not the authority BOM — so costing may read it, but production may not act on it. The distinction is enforced, not conventional.

    BOM
    D24309 Development BOM
    Revision
    rev 5
    Revision status
    Submitted
    Subtype
    Development
    BOM status
    Draft
    Authority BOM
    No — reference only
    Approved by
    Not approved
    Approved at
    Lines on this revision
    SectionMaterialConsumptionLossColour
    ShellMAT-5520 · Organic Cotton 2/30 Nm0.68 kg6%Pending

    Organic cotton trial for the Indigo Deep execution.

    Every line above is an immutable version. Revision 4 holds its own copies, so reading a year-old approval returns the numbers as they were signed — not as they are now.

    As stored in the PLM

  4. Still in Development, with the lab dip submitted and not yet back. The composition already totals 100 — that gate is passed long before approval is.

    Material
    MAT-5520
    Name
    Organic Cotton 2/30 Nm
    Type
    Fabric
    Status
    Development
    Weight
    280 g/m²
    Construction
    14gg single jersey
    Finish
    Bio-polished
    Dye method
    Yarn dyed
    Fibre composition100% · validated
    • 100%Organic CottonOCOSustainable
    Colour spec
    PAN-19-3933
    Lab dip
    Submitted
    Dye lot

    This is the fibre-level record the EU Digital Product Passport will ask for. The percentages must total 100 before the material can be approved — the system will not store a composition that does not.

    As stored in the PLM

  5. First proto, verdict pending. An in-flight chain looks like this far more often than it looks like a column of green ticks.

    Review
    26Q2 Proto
    Subtype
    Proto
    Iteration
    1
    Review status
    In Review
    Revision
    rev 1
    Verdict
    Pending
    Requested
    20 Jan 2026
    Received
    Not yet received
    Approved by
    Approved at

    Awaiting proto from Block C sampling room.

    As stored in the PLM

  6. The creation record. Even the first write is logged, so a style has provenance from the moment it exists.

    Entity
    style #1204
    Action
    create
    Changed by
    Farhana Islam
    Changed at
    15 Sept 2025, 10:02 UTC

    What changed

    • style_codenullD24309
    • statusnullConcept

    As stored in the PLM

Why now

The EU is about to require what the factory cannot currently produce.

Over half of Bangladesh's apparel exports go to the EU. Within three years a buyer will need a fibre-level chain of custody for what they place there — and a supplier who cannot produce one stops being shortlisted.

  1. 19 Jul 2026

    EU Digital Product Passport registry goes live

    The central registry opens. The infrastructure the textile passport will run on starts operating.

    ESPR (EU) 2024/1781

  2. 2027

    Textile delegated acts expected

    The rules specific to textiles are expected to be adopted, followed by a transition period of roughly eighteen months before they bite.

    ESPR (EU) 2024/1781, Article 4

  3. 14 Dec 2027

    EU Forced Labour Regulation applies

    Products made with forced labour may not be placed on the EU market. Answering that question requires knowing where a product's inputs came from.

    Regulation (EU) 2024/3015

  4. 2029

    Fibre-level traceability mandatory

    Composition, origin, certification and end-of-life data required per product. This is the level our PLM already stores and validates.

    ESPR textile requirements

What that means for the data you hold today

  • Fibre composition, validated to total 100%, per material
  • Revision-controlled bills of materials with immutable line versions
  • Approval records with an approver and a timestamp
  • Field-level audit history on product changes
  • A booking-to-delivery ledger tying physical stock to documents

A factory running on spreadsheets does not have a gap to close here. It has a system to build, and roughly two years to build it in.

We did not add traceability because of the regulation. The regulation is catching up to how the systems were already built.

In the product today

  • Digital Product Passport data model and assembly
  • End-to-end traceability, SKU to fibre composition
  • Chain of custody across PLM and ERP records
  • Season, category and collection hierarchy
  • Style, colorway, SKU and size management
  • Revision-controlled bills of materials
  • Centralised material library
  • Fibre-composition tracking and validation
  • Colorway-specific material and BOM assignment
  • Lab dip and dye lot tracking
  • Draft, review, submission and approval workflows
  • Tech packs and structured product specifications
  • Audit history on product data changes
  • Permission-based access control
  • Documented API for ERP and supplier integration

In its own words

  • product_passport
  • chain_of_custody
  • season_code
  • style_phase
  • colorway.sfc
  • authority_bom_id
  • line_group_id
  • composition_text
  • lab_dip_status
  • EntityHistory

The vocabulary of the running system. If you use software in this category you will recognise it — and if you do not, it is what your team would learn.

Get in touch

Tell us what your data cannot currently answer.

A short conversation is usually enough to tell whether this is a system problem or a process one. We will say which.