> 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/help/building-your-model/consolidation-logic.md).

# Consolidation Logic

This article explains the **consolidation logic** in Model Reef and how to use branches to build clean consolidated views for groups, divisions and portfolios.

{% hint style="info" %}
You will learn:

* How consolidation works across P\&L, Balance Sheet and Cashflow.
* How branch toggles affect consolidation.
* How to model eliminations and intercompany flows.
* Limitations and good practice for multi entity groups.
  {% endhint %}

{% stepper %}
{% step %}

### Consolidation is branch based

Consolidation in Model Reef is entirely driven by the **branch tree**:

* Each branch has its own three statement outputs.
* A parent branch shows the sum of its own variables plus all child branch variables.
* The root branch shows the consolidated model.

There is no separate consolidation worksheet or manual linking layer. The tree itself defines rollups.
{% endstep %}

{% step %}

### Statement level consolidation

For each parent branch (including the root), Model Reef consolidates:

* **P\&L**
  * Revenue, COGS, Opex, Staff and other line items from the parent branch and all children.
  * Derived metrics such as Gross Profit, EBITDA, EBIT, EBT and NPAT.
* **Balance Sheet**
  * Assets, liabilities and equity balances, with closing balances based on movements from all variables in the subtree.
  * Cash derived from the consolidated Cashflow Statement.
* **Cashflow Statement**
  * Operating, investing and financing cashflows from all variables in the branch subtree.
  * Net cash movement reconciled to opening and closing cash.
* **Cashflow Waterfall**
  * Consolidated view of operational cash and financing flows derived from consolidated statements.

You can therefore run P\&L, Balance Sheet, Cashflow and Waterfall at any branch level.
{% endstep %}

{% step %}

### Branch toggles and partial consolidation

Enabling or disabling a branch determines whether it contributes to parent and root level consolidation:

* **Enabled branch**
  * Included in parent and root consolidation.
  * All child branches are included unless individually disabled.
* **Disabled branch**
  * Excluded from parent and root consolidation.
  * Useful for testing alternative structures or scenarios.

A common pattern for partial consolidation is:

* Enabled branches for continuing operations.
* Disabled branches for discontinued or hypothetical units, retained for analysis but excluded from headline numbers.
  {% endstep %}

{% step %}

### Modelling eliminations and intercompany flows

Model Reef does not automatically perform complex consolidation eliminations such as:

* Intercompany revenue and cost eliminations.
* Intercompany loan and interest eliminations.
* Minority interest tracking.

Instead, you model eliminations explicitly, typically by:

* Creating a dedicated **Eliminations branch**.
* Adding variables that reverse intercompany revenue, costs, assets or liabilities at the group level.
* Ensuring that intercompany loans or balances are mirrored and then netted out via elimination entries.

Pattern:

* Each entity branch shows its stand alone statements including intercompany flows.
* The parent or group branch includes both entity branches **and** the Eliminations branch, so intercompany items cancel out at the consolidated level.

This gives you full control and transparency over elimination logic.
{% endstep %}

{% step %}

### Currency and consolidation

Each Model Reef model uses a **single currency**. There is no automatic multi currency consolidation.

For groups that span multiple currencies you have two main options:

* **Single currency model**
  * Convert input data to a chosen reporting currency before import.
  * Use FX rate drivers to translate values where needed.
  * Consolidate using a branch tree in that one currency.
* **Per currency models**
  * Build one model per currency and consolidate offline in a separate reporting tool.
  * Use reference FX data and cross checks to maintain consistency.

Whichever approach you take, be explicit about the reporting currency of each model and document FX assumptions clearly.
{% endstep %}

{% step %}

### Designing consolidation ready structures

To get clean consolidated outputs:

* Use **one branch per legal entity** where entity level reporting matters.
* Group entities under a parent branch for group level reporting.
* Keep branch naming consistent with legal or management structures.
* Use an **Eliminations branch** for intercompany flows that must be netted at group level.
* Keep categories aligned across branches so consolidated categories make sense.

If you later reorganise the group, you can reparent branches without rebuilding variables.
{% endstep %}
{% endstepper %}

***

## Related articles

* [Inventory Turnover & Working Capital](/use-cases/manufacturing-and-production/inventory-turnover-and-working-capital.md)
* [Build a Terminal Value Model](/how-tos/valuation/build-a-terminal-value-model.md)
* [Archiving Models](/help/building-your-model/archiving-models.md)
* [Scenario Toggle Behaviour](/syntax/scenario-syntax/scenario-toggle-behaviour.md)
