I just published a new demo of NGB Reports — the reporting layer of NGB Platform.
NGB Platform is an open-source, metadata-driven business platform for building accounting-first industry solutions. The goal is not to build isolated CRUD applications, but complete business applications where documents, catalogs, accounting, operational registers, audit history, workflows, and reports are part of the same architecture.
This demo focuses specifically on reporting.
Why reporting matters in business applications
In many business systems, reporting is added late.
The application starts with forms, tables, documents, and workflows. Then, at some point, users need visibility:
- What happened?
- Which documents created accounting entries?
- What is the current balance?
- Which invoices are still open?
- What is the profitability by project?
- Can I drill down from a report number to the source document?
If reporting is treated as a separate dashboard layer, it often becomes disconnected from the real business model.
For NGB, reporting is a first-class platform capability.
Reports need to understand the same metadata, document model, accounting structures, and navigation patterns as the rest of the application.
What the demo shows
The video walks through reporting inside the Agency Billing vertical, but the reporting engine itself is platform-level and reusable across different NGB-based industry solutions.
The demo covers:
- Canonical accounting reports
- Composable business reports
- Report Composer
- Grouping
- Filters
- Fields
- Sorting
- Report variants
- Drilldowns from reports to source documents
- Document-aware reporting
- The reporting architecture behind the platform
Canonical reports vs composable reports
NGB Reports supports two important reporting models.
Canonical reports
Canonical reports are predefined reports with strong business semantics.
Examples include accounting reports such as:
- Trial Balance
- Balance Sheet
- Income Statement
- Cash Flow Statement
- General Journal
- Account Card
- General Ledger
- Ledger Analysis
These reports are not just generic grids. They represent known accounting/reporting concepts and can have specialized execution logic, validation rules, paging strategies, and drilldown behavior.
Composable reports
Composable reports are more flexible.
They allow users to configure:
- Row groupings
- Column groupings
- Visible fields
- Filters
- Sorting
- Aggregations
- Variants
This is useful for business-specific reports such as unbilled time, invoice registers, project profitability, aging reports, and operational summaries.
The goal is to provide flexibility without turning the system into an unstructured reporting sandbox.
Report Composer
One of the main parts of the demo is the Report Composer.
The Composer allows users to configure report layout and behavior directly from the UI:
- General parameters
- Grouping
- Filters
- Fields
- Sorting
- Variants
The important design goal is that the frontend is metadata-driven. The UI does not need to hardcode every report layout manually. The backend provides report definitions and presentation metadata, and the frontend renders the report experience consistently.
This keeps the platform extensible as new verticals and reports are added.
Drilldowns and document-aware reporting
For business users, numbers in reports should not be dead ends.
If a report shows a balance, invoice, account, project, or document-related value, the user should be able to navigate to the underlying source.
In the demo, reports can drill down into source documents and related business records. This is especially important for accounting-first applications because users often need to trace a number back to the document or posting that produced it.
This is one of the areas where reporting becomes tightly connected to the platform architecture.
Reports are not only about displaying data.
They are also about explainability.
Architecture direction
NGB Reports is designed around a few principles:
Metadata-driven definitions
Reports are described by definitions and presentation metadata, instead of being hardcoded page by page.Reusable platform engine
The same reporting infrastructure can be reused across different verticals.Canonical + composable model
Some reports need strong predefined semantics. Others need flexible user composition.Document-aware navigation
Reports should connect back to documents, catalogs, accounts, and business entities.Production-oriented execution
Reporting needs to handle paging, validation, stable execution paths, and performance considerations from the beginning.
Tech stack
NGB Platform is built with:
- .NET
- PostgreSQL
- Vue
- Metadata-driven architecture
- Kubernetes-oriented deployment practices
The reporting engine is part of the broader NGB Platform architecture, which includes documents, catalogs, accounting, operational registers, reference registers, audit history, background jobs, and vertical-specific business modules.
Links
Video demo:
GitHub:
https://github.com/ngbplatform/NGB
Website:
Documentation:
Final thought
Reporting is not just a UI table.
In accounting-first business applications, reporting is part of the core product architecture.
It needs to be connected to documents, accounting entries, business entities, auditability, and navigation.
That is the direction behind NGB Reports.
Top comments (0)