Compliance Reporter
AlpenFX Compliance Reporter
Automatisierte Compliance-Berichte für LkSG, CSRD und mehr – für Magento 2
Magento-2-Portierung des gleichnamigen Shopware-Plugins – mit denselben Kernfunktionen: Reports, Templates, Schedules, Datenaggregation aus dem AlpenFX-Ökosystem und Multi-Format-Export.
Was macht dieses Modul?
Das AlpenFX Compliance Reporter Modul automatisiert die Erstellung gesetzlich vorgeschriebener Compliance-Berichte. Es sammelt Daten aus dem AlpenFX-Ökosystem, baut daraus section-basierte Berichte und exportiert sie in mehreren Formaten – manuell über das Admin-Backend oder zeitgesteuert per Cron.
Hauptfunktionen
- Reports: Generierung, Status-Tracking (pending → generating → completed/failed), Admin-Grid, Download
- Templates: LkSG- & CSRD-Default-Templates mit konfigurierbaren Sections
- Schedules: zeitgesteuerte Berichte (daily/weekly/monthly/quarterly) per Cron + CLI
- Datenaggregation: aus AlpenFX Risk Analytics, Supply Chain Map, Whistle Portal, Audit Trail, Origin Labeling
- Multi-Format-Export: PDF (dompdf), XLSX (phpspreadsheet), CSV, JSON, XML, HTML
- Graceful Degradation: ohne dompdf/phpspreadsheet → automatischer Fallback auf HTML bzw. CSV (kein Fatal)
- Dashboard: Live-Statistiken + Schnell-Generierung
- CLI:
bin/magento alpenfx:compliance:generate-scheduled - Beschwerdeverfahren (LkSG § 8): öffentlicher, optional anonymer Hinweisgeber-Kanal im Storefront + isoliertes Ticket-System im Backend
Beschwerdeverfahren / Hinweisgebersystem (LkSG § 8)
Öffentlich zugänglicher, barrierefreier Beschwerdekanal für Missstände entlang der Lieferkette – auf allen drei Storefront-Oberflächen plus API.
- Storefront (Luma + Hyvä): JS-freies, serverseitig gerendertes Formular
unter
/compliance/complaint– ohne Login nutzbar, optional anonym. Statusverfolgung unter/compliance/complaint/statusper Beschwerdenummer + Zugangsschlüssel (zeitkonstanter Vergleich, kein Brute-Force). - Backend-Ticketsystem: eigenes Admin-Grid + Fallansicht (Status, Schweregrad, Zuweisung, interne Notizen mit Verlauf), getrennt vom normalen Kundensupport.
- Zugriffsbeschränkung (ACL): dedizierte Ressource
AlpenFX_ComplianceReporter::complaints(+::complaints_manage), exklusiv für die Compliance-/Menschenrechtsbeauftragten-Rolle – normale Support-Mitarbeiter sehen die Beschwerden nicht. - API (ERP-Sync, headless, Hyvä-Widgets): GraphQL-Mutation
submitComplianceComplaint+ QuerycomplianceComplaintStatus, sowie REST (POST /V1/alpenfx/compliance/complaint,POST .../complaint/status, ACL-geschütztesGET .../complaints/:id&.../complaints/search).
Screenshots
| Dashboard | Reports-Grid | Generate |
|---|---|---|
|
|
|
|
Weitere: Templates · Schedules
Abhängigkeiten
dompdf/dompdf (PDF) und phpoffice/phpspreadsheet (XLSX) sind reine
Composer-Pakete (keine nativen PHP-Extensions). Über composer require werden
sie automatisch mitinstalliert. Fehlen sie (z. B. bei manueller app/code-
Installation), degradiert das Modul automatisch: PDF → HTML, XLSX → CSV.
Installation
Als Composer-Paket
composer require alpenfx/module-compliance-reporter
bin/magento module:enable AlpenFX_ComplianceReporter
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:flush
Als Submodule im Hauptprojekt
Im magento2-Hauptprojekt liegt das Modul als Git-Submodule unter
app/code/AlpenFX/ComplianceReporter:
bin/magento module:enable AlpenFX_ComplianceReporter
bin/magento setup:upgrade
Modulstruktur
AlpenFX/ComplianceReporter/
├── Api/Data/ # Entity-Interfaces (ComplianceReport, ReportTemplate)
├── Block/Adminhtml/ # Dashboard- & Generate-Form-Blocks
├── Console/Command/ # CLI: generate-scheduled
├── Controller/Adminhtml/ # Report/Template/Schedule/Dashboard-Controller
├── Cron/ # Cron-Entrypoint
├── Model/ # Models, ResourceModels, Collections, Repositories
├── Service/ # ReportGeneration, DataAggregation, Pdf, Export, Scheduler
├── Setup/Patch/Data/ # Default-Templates + Sample-Schedule
├── Test/Unit/ # PHPUnit-Tests (26 Tests)
├── docs/ # Screenshots + Blog-Artikel
├── etc/
│ ├── module.xml # Modul-Deklaration
│ ├── db_schema.xml # 3 Tabellen (declarative schema)
│ ├── di.xml # DI + UI-Grid-Datenquellen + CLI
│ ├── crontab.xml # Cron-Job
│ ├── acl.xml # ACL-Ressourcen
│ └── adminhtml/ # menu.xml, routes.xml, system.xml
├── view/adminhtml/ # UI-Components (Grids), Layouts, Templates, CSS
├── .gitlab-ci.yml # CI: Lint, PHPUnit, PHPStan, Coding-Standard, Compat, Publish
├── fx-deploy.yaml # Veröffentlichung auf fx-base.dev
└── README.md
Beim weiteren Ausbau folgt das Modul den Magento-2-Konventionen:
Model/, Block/, Controller/Adminhtml/, Console/, Service/,
etc/adminhtml/ (menu.xml, routes.xml, acl.xml), etc/db_schema.xml,
view/adminhtml/ und Test/.
Synergie mit anderen AlpenFX-Modulen
- AlpenFX Risk Analytics: Risikodaten für LkSG-Berichte
- AlpenFX Supply Chain Map: Lieferkettendaten visualisieren
- AlpenFX Origin Labeling: Herkunftsdaten für Transparenz
- AlpenFX Whistle Portal: Compliance-Verstöße dokumentieren
- AlpenFX Audit Trail: Revisionssichere Datengrundlage
Support
- Support: [email protected]
- Dokumentation: support.alpenfx.com
AlpenFX – Ihre Experten für E-Commerce Excellence | alpenfx.com
Angaben zu Rechtsvorgaben beziehen sich auf die Funktion der Erweiterung. Ob ein Shop einer Vorgabe genügt, hängt von seiner Konfiguration und seinem Einsatz ab und liegt beim Betreiber. Keine Rechtsberatung.