> For the complete documentation index, see [llms.txt](https://help.modelreef.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.modelreef.io/how-tos/dashboards-and-reporting/build-a-financial-statements-reporting-suite.md).

# Build a Financial Statements Reporting Suite

This guide explains how to build a financial statements reporting suite in Model Reef using the built in system reports and custom specification reports. The aim is to produce a consistent set of views for internal and external reporting without rewriting formulas in spreadsheets.

## Before you start

You should have:

* A model with complete three statement logic.
* Variables correctly mapped to Revenue, COGS, Opex, Staff, Assets, Liabilities, Equity and Dividends.
* Periodicity and fiscal year settings aligned with your reporting needs.

If your model is still being designed, see:

* **Model Structure Principles**
* **Financial Statement Rules**

## What you will build

* A suite of standard financial statement views:
  * P\&L.
  * Balance Sheet.
  * Cashflow Statement.
  * Cash Waterfall.
* Custom reports or views that slice or group these statements for different audiences.

{% stepper %}
{% step %}

### Use system reports as the foundation

Start with the built in system reports, which automatically assemble:

* P\&L from variable types and categories.
* Balance Sheet from assets, liabilities, equity and timing differences.
* Cashflow Statement from cash timing rules.
* Cash Waterfall from a combination of accrual and cash flows.

Check that these system views:

* Balance correctly.
* Use the categories and naming conventions you expect.
* Reflect imported historicals and forecast logic as intended.
  {% endstep %}

{% step %}

### Define your reporting audiences and needs

Different audiences require different cuts of the statements, for example:

* Management:
  * Focus on operating performance and cash.
* Board:
  * Focus on performance vs plan, cash, funding and risk.
* Lenders:
  * Focus on leverage, coverage and covenant metrics.
* Investors:
  * Focus on growth, margins, cash and valuation context.

List the views required for each audience so you can design custom reports appropriately.
{% endstep %}

{% step %}

### Create custom specification reports where needed

Where system reports are too generic, use custom report configurations to:

* Filter by branch, division or project.
* Group categories into custom headings.
* Include or exclude specific lines.
* Combine financial and operational metrics.

Examples:

* A divisional P\&L showing only selected branches.
* A project level cashflow statement.
* A reporting pack for a lender that emphasises operating cashflow and debt movements.

These custom reports still rely on the same underlying variables and engine, but present the data differently.
{% endstep %}

{% step %}

### Set default periods and formats for reports

For each report choose the defaults that suit the audience and purpose:

* Period aggregation examples:
  * Monthly for internal finance.
  * Quarterly or yearly for board and investors.
* Currency units examples:
  * Whole currency.
  * Thousands.
  * Millions.
* Default periods to show:
  * For high-level packs, show the last and next two years, or another range that matches stakeholder expectations.

This ensures that reports are legible and aligned with the expectations of each audience.
{% endstep %}

{% step %}

### Link reports to dashboards and packs

Use reports as the authoritative source from which you:

* Build charts on dashboards.
* Extract numbers for board and investor packs.
* Provide supporting detail for management reviews.

When possible, keep the mapping simple so that:

* Each chart or table can be traced back to a specific report and model.
* Changes in the model automatically propagate through the reporting suite without manual adjustments.
  {% endstep %}

{% step %}

### Maintain consistency across models

If you operate multiple models, for example for different entities or scenarios, aim for a consistent reporting structure by:

* Using the same category hierarchy.
* Applying similar custom reports across models.
* Reusing report templates where the structure allows.

This makes it easier to compare outputs and maintain a coherent reporting story at group level.
{% endstep %}
{% endstepper %}

## Check your work

* System reports are balanced and consistent with your expectations.
* Custom reports provide the necessary slices without contradicting system views.
* Reporting outputs align with the needs of management, board, lenders and investors.
* Updating the model automatically updates all reports that depend on it.

## Troubleshooting

<details>

<summary>Reports show unexpected or missing lines</summary>

Check variable type and category mappings, and update the mapping where items are misclassified.

</details>

<details>

<summary>Too many custom views become hard to manage</summary>

Rationalise the suite by focusing on a small number of core standard reports and a few audience specific variations.

</details>

<details>

<summary>Difficult to reconcile external reports with Model Reef</summary>

Ensure that scope, period and accounting policies match, and adjust where necessary to align definitions.

</details>

## Related guides

* [Multi-Product Financial Model](/use-cases/financial-services-lending-and-fintech/multi-product-financial-model.md)
* [Financial Outputs & Valuation](/help/financial-outputs-and-valuation.md)
* [Current Liabilities](/help/financial-outputs-and-valuation/current-liabilities.md)
* [Editing Units](/syntax/how-input-fields-work/editing-units.md)
