begicf / areport-dpm-xbrl
AreportDpmXBRL is a package for parsing XBRL taxonomy which is created by EU standards
Requires
- php: ^7.3|^8.0
- mpdf/mpdf: ^8.0.15
- phpoffice/phpspreadsheet: ^1.21.0
This package is auto-updated.
Last update: 2026-04-05 14:54:10 UTC
README
AreportDpmXBRL is a PHP library for parsing DPM/XBRL taxonomies, rendering taxonomy tables, and preparing export payloads for the AReport application.
The library is used by the AReport web application, but it is kept as a separate package so the parsing and rendering logic can evolve independently.
Scope
The package currently covers:
- taxonomy parsing
- module and table discovery
- HTML table rendering
- spreadsheet, HTML, and PDF rendering helpers
- export preparation for xBRL XML and xBRL CSV
Recent Changes
The current development version includes the following important fixes and improvements:
- restored legacy hierarchy and domain rendering for DPM
1.0taxonomies - improved taxonomy path resolution across multiple DPM taxonomy revisions
- improved module and table handling for taxonomies that do not expose the exact same
modstructure - improved label resolution so business labels are preferred over generic
Rows/Columnsplaceholders - added compatibility fixes for DPM
2.0table definitions and open-table patterns - improved definition matching so valid cells are no longer incorrectly rendered as disabled
- restored dropdown domain rendering for hierarchy-driven cells
- improved handling of DPM metadata captured from table JSON sidecars
- improved xBRL XML generation, including scenario members and filing indicator normalization
- added an xBRL-CSV package writer aligned with local EBA sample package structure
- fixed PhpSpreadsheet compatibility for explicit string cell writes
Installation
Install the package with Composer:
composer require begicf/areport-dpm-xbrl
Quick Start
<?php use AReportDpmXBRL\Library\Data; use AReportDpmXBRL\Render; $taxonomy = Data::getTax($tablePath); $render = new Render($taxonomy); $htmlForm = $render->renderHtmlForm();
The HTML renderer returns an array with keys such as:
tablesheetstableNameaspectNodetableIDgroups
Development Notes
The package is currently being maintained with two goals in parallel:
- preserve the existing DPM
1.0behavior - improve compatibility with DPM
2.0taxonomy structures
Because of that, changes should be reviewed carefully against both old and new taxonomy packages.
Related Repository
- AReport application: https://github.com/begicf/areport
- Package repository: https://github.com/begicf/areport-dpm-xbrl