> 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/drivers-variables-and-timing/timing-engine-overview.md).

# Timing Engine Overview

This article gives a high level overview of the **Timing Engine** in Model Reef.

You will learn:

* How the timing engine separates **when things happen** from **when cash moves**.
* How it drives P\&L, Balance Sheet, Cashflow and the Cash Waterfall.
* What you control in the UI, and what Model Reef calculates automatically.

The timing engine is what makes Model Reef a proper three statement modeller rather than a spreadsheet of disconnected numbers.

***

## 1. Core idea: occurrence vs payment

{% stepper %}
{% step %}

### Occurrence (accrual timing)

* When revenue or expense is **earned or incurred**.
* Controls what appears in the **P\&L** in each period.
* Driven by: start date, end date, frequency and schedules.
  {% endstep %}

{% step %}

### Payment or receipt (cash timing)

* When **cash actually moves**.
* Controls what appears in the **Cashflow Statement** and **Cash Waterfall**.
* Driven by: delay, payment terms, payment schedules.

The difference between these two streams appears in the **Balance Sheet** as receivables, payables and other timing differences.
{% endstep %}
{% endstepper %}

***

## 2. What the timing engine controls

The timing engine is responsible for:

* Splitting each variable into:
  * P\&L accruals.
  * Balance Sheet timing differences.
  * Cashflow movements.
* Handling:
  * Accounts Receivable for revenue delays.
  * Accounts Payable for cost and staff delays.
  * Tax Payable and Interest Payable where payment lags accrual.
* Keeping the model consistent so that:
  * Cash always reconciles to the Cashflow Statement.
  * The Balance Sheet always balances.

You do not write any of these three way reconciliation formulas. The engine does it for you based on timing settings.

***

## 3. What you configure in the timing engine

For each variable you control:

* **Start date** and **end date**.
  * When the variable starts and stops accruing.
* **Frequency or schedule**.
  * How often it accrues (for example monthly, quarterly, annual).
  * Whether it uses a CRON like recurring pattern or a range spread across the period.
* **Delay or payment terms**.
  * How long after accrual cash is received or paid (for example 0 days, 30 days, 60 days, 1 month).

The combination of these settings defines the occurrence stream, the payment stream and the path between them.

***

## 4. How it shows up in each statement

The timing engine determines:

* **P\&L**
  * Shows accruals only.
  * Revenue, COGS, Opex, Staff, tax, depreciation and interest appear when they are earned or incurred.
* **Balance Sheet**
  * Stores timing differences between accrual and cash.
  * Accounts Receivable, Accounts Payable, Staff related payables, Tax Payable and Interest Payable.
  * Stores assets and liabilities over time and ensures Assets = Liabilities plus Equity.
* **Cashflow Statement**
  * Shows cash inflows and outflows when money moves.
  * Receipts from customers, payments to suppliers and staff, tax paid, capex, debt movements, equity movements and dividends.
* **Cash Waterfall**
  * Uses P\&L figures down to EBITDA.
  * Then uses cash flows for working capital, capex, debt and equity.
  * Provides a clean bridge from operating performance to changes in cash for investors.

All of this is driven from variable timing settings and the timing engine rules.

***

## 5. Where you work with timing in the UI

You will typically touch the timing engine through:

* The **Timing** section or modal inside each variable.
* Payment terms fields for revenue, COGS, Opex and Staff.
* Capex timing fields for asset variables.
* Loan drawdown and repayment timing for liability variables.

You do not need to think about journal entries. You just specify when things happen and the engine handles the accounting mechanics.

***

## 6. When to care about timing settings

You should pay particular attention to timing when:

* Payment terms or collection patterns matter for cash runway.
* Working capital (receivables, payables) is an important driver.
* Capex and debt drawdowns are large and lumpy.
* You are doing valuation, project finance or debt capacity analysis.

In other words, most serious models. Getting timing right often matters as much as getting the absolute levels right.

***

## Related articles

* [Office/Team Profitability Modelling](/use-cases/professional-services-and-consulting/office-team-profitability-modelling.md)
* [Build an Inventory Timing Model](/how-tos/operations-and-unit-economics/build-an-inventory-timing-model.md)
* [Valuation Engine Overview](/help/financial-outputs-and-valuation/valuation-engine-overview.md)
* [Timing Modal](/syntax/understanding-the-interface/timing-modal.md)
