Core compliance flow
From supplier upload to auditor sign-off in five steps
Step 1
Register item
Manager creates packaging entry
Step 2
Supplier uploads
DoCs and declarations attached
Step 3
Rule engine
Status evaluated automatically
Step 4
Review & flag
Auditor verifies completeness
Step 5
Export
Submission pack for regulators
Compliance rule engine
The deterministic logic powering the traffic-light status
evaluate(packaging):
docs = documents.for(packaging.id)
hasDoC = docs.any(kind == "DoC")
hasSupplierDecl = docs.any(kind == "Supplier Declaration")
hasTechnicalInfo = docs.any(kind == "Technical Info")
if hasDoC and hasSupplierDecl:
→ GREEN (PPWR ready)
if hasSupplierDecl or hasTechnicalInfo:
→ YELLOW (partial information)
→ RED (missing data)Green
DoC + supplier declaration available
Yellow
Partial documents on file
Red
No compliance evidence
Data model
Five entities cover the whole packaging compliance lifecycle
Packaging
- • id
- • name
- • internalId
- • type
- • material
- • supplier
- • weightG
- • recyclable
- • status
- • documents[]
Document
- • id
- • name
- • kind
- • packagingId
- • uploadedBy
- • uploadedAt
- • sizeKb
Supplier
- • id
- • name
- • country
- • contact
- • rating
- • certifications[]
User
- • id
- • name
- • role
- • org
- • lastActive
AuditLog
- • id
- • who
- • action
- • target
- • at
ComplianceStatus
- • green: ready
- • yellow: partial
- • red: missing
Role-based access
Each role has a focused workspace with only what they need
Compliance Manager
Register, Documents, Compliance, Suppliers
Supplier
Submissions, Materials, Documents
Auditor
Compliance Review, Reports, Exports
Administrator
Users, Audit Logs, Settings
Integration surface
Webhooks and connectors keep the register in sync with your stack
ERP webhooks
Auto-create packaging on procurement events
Document storage
S3, Azure Blob or local upload
DoC AI extraction
Pre-fill fields from supplier PDFs