PPWR Compliance Documents at Scale
Overview
Project reference: Zeller Present Handels GmbH
Zeller Present, a wholesaler of gift and promotional articles, has to comply with the EU Packaging and Packaging Waste Regulation (PPWR, Regulation (EU) 2025/40). For every packaging it places on the market, the regulation requires an EU declaration of conformity and technical documentation. With an assortment of around 2,200 articles, each shipped in up to three packaging levels and documented in two languages, writing these documents by hand was not an option.
As part of a project, kiwi software connected Zeller Present's ERP system Alphaplan 5 to VeloxFactory and developed a small middleware between the two systems. At the push of a button, or automatically once a month, VeloxFactory now produces up to 12 compliant documents per article, which are filed, versioned and published without any manual step.
The Challenge
The regulation turns every packaging level into its own documentation task. What Zeller Present needed:
- One declaration of conformity and one technical documentation per packaging level: individual packaging, outer carton and master carton
- Every document in German and English
- Around 2,200 articles with up to 12 documents each, up to roughly 26,000 documents in total
- Documents that stay in sync with ERP master data: when a dimension or a material weight changes, the affected documents must be reissued
- Previous versions retained for traceability
- The complete, current document set available for download by customers and authorities
The Solution
kiwi software handled the ERP integration and built a lightweight middleware that sits between Alphaplan 5 and VeloxFactory. The middleware reads the packaging master data from the ERP, derives all document values and renders every document through VeloxFactory's REST API. The workflow:
- The middleware selects all assortment articles that have no documents yet, or whose PPWR-relevant master data has changed since the last run, based on the ERP change log
- For each article, it detects the packaging levels present: individual packaging, outer carton and master carton
- It derives the values the regulation asks for: packaging type from the material weights, dimensions, weights, silica content, and the void ratio of outer and master cartons
- For each packaging level, it calls VeloxFactory four times: declaration of conformity and technical documentation, each in German and English
- The PDFs are filed on the document drive; any previous version is moved to a dated archive folder
- The ERP receives a timestamp on the article, so it is only processed again when relevant data changes
- Finally, one ZIP archive per language with the complete document set is uploaded to a public download server, and an info mail reports the result
The middleware runs the process automatically on the first day of every month and can be started at any time from the web interface. Since only new or changed articles are processed, an additional run is always safe.
Technical Setup
| Component | Details |
|---|---|
| Trigger | Scheduled job (monthly) and manual start from the web interface |
| ERP | Alphaplan 5 on MS SQL Server |
| Middleware | Lightweight Laravel middleware between ERP and VeloxFactory, developed by kiwi software as part of the project |
| Report engine | VeloxFactory, self-hosted on premises |
| Report templates | 4 Jaspersoft Studio templates (.jrxml): declaration of conformity and technical documentation, German and English |
| Data transfer | Parameters only, no SQL in the templates; up to 15 parameters per document |
| API call | POST /report-config/{id}/render with Base64 output, laconic response, no history record |
| Output | Up to 12 PDFs per article, versioned on the document drive, one ZIP archive per language |
| Volume | ~2,200 articles, up to ~26,000 documents |
Static content such as manufacturer details, signatory, legal references and the conformity assessment module lives in the report templates. Everything that varies per article and packaging level arrives as a parameter in the render request.
Results
The PPWR documentation for Zeller Present's entire assortment is now generated and maintained automatically:
- Up to 12 compliant documents per article, in German and English, without manual work
- Documents follow master data changes: only affected articles are regenerated
- Every previous version is archived with its date
- Consistent document numbers and layout across the whole assortment
- The public download archive is always complete and up to date
Why VeloxFactory
VeloxFactory itself needed no changes for this project. The middleware, where the ERP knowledge lives, derives all values; VeloxFactory turns them into finished PDFs with one REST call per document. This kept the middleware small: no report engine, no PDF library and no layout code inside it.
Legal texts and layout sit in standard .jrxml templates, so wording can be updated without touching the middleware. For a run of this size, laconicResponse and disabled history records keep every response small and the database lean.
Published with the kind permission of Zeller Present Handels GmbH.
