Skip to content

Sample work · Data & Documents

Digital Product Passport from ERP, Supplier and Serial Number Exports

From messy exports, product passports per model are created, validated against a custom JSON schema, featuring a webpage, QR code, and access levels. Built-in data errors land in the error report instead of the passport.

Sample work (demo), not a client job. Built as a trial task with invented example data; the check figures below come from the automatic test run and are not polished.

What was built

  • Master data, supplier materials, and serial numbers combined into one passport per model
  • Check for completeness, formats, and internal consistency; errors go into a separate report
  • Webpage with QR code per passport and a read endpoint with access levels

Download produktpass.schema.json Download produktpass-demo.zip

The data model is a custom example. The mandatory fields according to EU law for a product group were not checked; legal compliance is not claimed.

How it was checked

Automatic test run on 2026-10-31, taken from the log (test data invented, figures measured):

  • 3 messy exports (ERP CSV cp1252, supplier XLSX, MES serial numbers, 8 models, 22 rows) with 7 built-in data errors: 8 passports valid against custom JSON Schema 2020-12 and values exactly = target, all 7 errors in the error report (0 false positives), 12 blocked serial numbers without file
  • Additional details on the test run, validation results, and generated output files.

Limits

What this sample does not cover, so nobody expects more:

  • The mandatory data fields per product group (Delegated Acts for the Ecodesign for Sustainable Products Regulation ESPR, battery passport according to EU Battery Regulation 2023/1542) are NOT the subject of the sample and were …
  • No official DPP register, no resolver, and no registration connected; the passport URL follows the structure of a GS1 Digital Link (/01/<GTIN-14>/21/<serial number>) on a sample domain that …
  • Correctness of the data (material proportions, origin, CO2 value) lies with the manufacturer and their suppliers; the sample checks completeness, formats, and internal consistency (sum 100%, mass fits …)
  • Access levels via fixed Bearer tokens in the prototype; real authority/recycler accesses require identity verification, rights management, logging, TLS - the endpoint is a read prototype …
  • Accumulator/battery as a separate product is not part of these passports (a separate battery passport would need to be built separately); country list for origin check shortened to those occurring in the example and …
  • QR code generated with segno and decoded with OpenCV (cv2.QRCodeDetector) - no test with mobile phone camera, print size, or label material
  • JSON-LD checked for parsability, @context prefix, and values, not expanded with a JSON-LD processor and not against Google's Rich Results Test (requires network); the vocabulary 'dpp:' is a …

Something like this for your business?

Describe briefly what you need. You get a fixed price before I start; nothing happens without your yes.

To the workshop