AReport is data entry and export application for supervisory reporting taxonomies built with the DPM/XBRL model. It renders taxonomy tables as editable HTML forms, stores facts in a relational database, and exports reporting instances in multiple formats.
The application uses the companion package begicf/areport-dpm-xbrl to parse taxonomy files, render tables, and prepare export payloads.
The current development branch includes the following notable updates:
- Upgraded the application to Laravel
13.3.0 - Upgraded the UI stack to Bootstrap
5.3.8 - Reworked the shared layout for full-width, dense financial-reporting screens
- Standardized labels and UI copy to English
- Added active taxonomy visibility in the navigation and taxonomy management flow
- Improved the module explorer with compact search and expand/collapse-all behavior
- Added support for DPM
1.0and DPM2.0taxonomy workflows - Fixed taxonomy scoping so the application no longer mixes facts from different active taxonomies
- Restored legacy DPM
1.0rendering behavior while continuing compatibility work for DPM2.0taxonomies - Improved xBRL XML export and added an xBRL-CSV package export path aligned with local EBA sample packages
- Added regression coverage for export writer behavior
- Web-based XBRL/DPM data entry
- HTML rendering of taxonomy tables
- Import from spreadsheet and structured files
- Export to
.xlsx,.pdf,.html,xBRL-XML, andxBRL-CSV - Taxonomy upload and active taxonomy switching
- Database-backed storage of reporting facts and instances
- Local development with a symlinked parser package
- PHP
8.3+ - Composer
- Node.js and npm
- A supported database for Laravel
- PHP ZIP extension
Clone the application:
git clone https://github.com/begicf/areport.git
cd areportInstall dependencies:
composer update
npm installCreate the environment file and generate the app key:
cp .env.example .env
php artisan key:generateRun the database setup:
php artisan migrate:fresh --seedBuild frontend assets:
npm run prodStart the application:
php artisan serveAdditional environment variables used by the application:
UPLOAD=1
LEI_CODE=12345678912345678912For large taxonomy uploads, increase PHP limits in php.ini:
max_execution_time = 6000
upload_max_filesize = 4000M
post_max_size = 4000M
max_input_vars = 4000- Taxonomy files are typically stored under
storage/app/public/tax - The application is being maintained with support for both DPM
1.0and DPM2.0taxonomy structures - The currently active taxonomy is controlled from the taxonomy management UI
- Recent work focused on keeping DPM
1.0flows stable while improving DPM2.0compatibility
Run the backend test suite with:
php artisan testUseful maintenance commands:
php artisan view:cache
php artisan route:list
php -l path/to/file.phpThe application currently contains two main supervisory export paths:
- Legacy
xBRL-XMLexport xBRL-CSVreport package export
Recent export work included:
- normalization of filing indicator handling
- better XML context generation, including scenario members
- datapoint-based CSV generation aligned with local EBA sample instances
- improved parameter generation for CSV report packages
- Application: https://github.com/begicf/areport
- Parser package: https://github.com/begicf/areport-dpm-xbrl