# Revenue Mapping

This article explains how **revenue variables** are mapped into Model Reef's financial outputs.

You will learn:

* How revenue variables map into P\&L lines.
* How revenue delays create Accounts Receivable.
* How revenue appears in the Cashflow Statement and Cash Waterfall.
* How categories and subcategories affect reporting.

{% stepper %}
{% step %}

### Revenue variable mapping into the P\&L

Each revenue variable has:

* A **type** set to Revenue.
* A **category and subcategory** for reporting.
* A **branch** where it lives.

In the P\&L:

* All Revenue variables are aggregated into the Revenue section.
* Categories and subcategories define the visible lines, for example:
  * `Revenue - Recurring`
  * `Revenue - Non Recurring`
  * `Revenue - Services`
  * `Revenue - Product A`

Branch level P\&L shows only the revenue variables within the selected branch and its children. Consolidated views sum revenue across enabled branches.
{% endstep %}

{% step %}

### Revenue mapping into the Balance Sheet

Revenue mapping affects the Balance Sheet through **Accounts Receivable**.

Rules:

* Revenue is accrued in P\&L when earned.
* If the delay is zero, cash is received in the same period, and no receivable is created.
* If the delay is greater than zero:
  * Accounts Receivable increases by the amount of revenue not yet collected.
  * When cash is received after the delay, Accounts Receivable decreases and Cash increases.

The timing of this mapping is controlled by the variable's delay setting and the model's periodicity.
{% endstep %}

{% step %}

### Revenue mapping into the Cashflow Statement

In the Cashflow Statement:

* Revenue variables contribute to **Receipts from customers** within **Operating cashflows**.
* Cash inflows are recognised when cash is actually received, not when revenue is accrued.
* The difference between accrual based revenue and cash receipts is reflected in changes in working capital, mainly Accounts Receivable.

This is all handled by the timing engine. You do not have to create separate cashflow drivers for revenue.
{% endstep %}

{% step %}

### Revenue mapping into the Cash Waterfall

In the Cash Waterfall:

* Revenue appears at the top of the waterfall, mirroring the P\&L revenue lines.
* COGS, Opex and Staff costs follow, giving EBITDA.
* Changes in net working capital then adjust for the difference between accruals and cash.
* Capex, debt and equity flows come after that.

This makes it easy for stakeholders to see how revenue flows through to free cashflow and valuation.
{% endstep %}

{% step %}

### Category design for revenue mapping

Good practice for revenue mapping:

* Use categories that reflect your business model, for example:
  * By product line.
  * By channel (online vs retail).
  * By region (UK vs EU vs US).
  * By contract type (subscription vs one off).
* Keep categories consistent across branches where possible.
* Use subcategories only where additional breakdown is needed.

This allows you to:

* Build clean segment reporting.
* Align with management and board reporting.
* Keep valuation drivers transparent.
  {% endstep %}

{% step %}

### Scenarios and revenue mapping

Because each scenario is its own model:

* Revenue mapping structure (categories, branches) is usually kept the same for comparability.
* Variable values and drivers differ between scenarios.
* P\&L, Cashflow and Waterfall comparisons are then straightforward.

You can experiment with different revenue mix or growth patterns in each scenario while preserving a consistent mapping structure.
{% endstep %}
{% endstepper %}

***

## Related articles

* [Recurring Services Revenue Model](/use-cases/telecommunications-and-it-services/recurring-services-revenue-model.md)
* [Build a Recurring Revenue Forecast](/how-tos/core-modelling/build-a-recurring-revenue-forecast.md)
* [Opex Mapping](/help/financial-outputs-and-valuation/opex-mapping.md)
* [Accrual Behaviour](/syntax/timing-syntax/accrual-behaviour.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.modelreef.io/help/financial-outputs-and-valuation/revenue-mapping.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
