# Build a Debt Schedule & Covenants Model

This guide shows how to create a detailed debt schedule in Model Reef and monitor covenant-style metrics such as leverage and coverage ratios. Model Reef does not enforce covenants, but you can build drivers and charts that replicate lender covenant tests.

Before you start

You should have:

* A model with an operational forecast.
* At least one planned or existing loan.
* Basic familiarity with how Liability variables work.

If you are new to debt modelling in Model Reef, start with Build a Capital Structure Model first.

What you will build

* One or more loan variables with:
  * Principal.
  * Interest.
  * Amortisation.
  * Bullets if required.
* A view of the debt balance and cash interest over time.
* Custom metrics approximating common covenants:
  * Leverage ratio.
  * Interest coverage.
  * Debt service coverage.

{% stepper %}
{% step %}

### Create detailed loan variables

For each loan or facility:

* Create a Liability variable named for the instrument, for example:
  * `Debt - Term Loan A`
  * `Debt - Revolver`
* Configure:
  * Principal amount or drawn amount.
  * Interest rate:
    * Fixed.
    * Or linked to a driver (for example base rate plus margin).
  * Payment frequency.
  * Amortisation profile:
    * Level principal.
    * Custom schedule using an amortisation driver.
    * Interest only until a bullet repayment.
* Set drawdown timing:
  * At model start if already in place.
  * At a future period for new debt.

Check the preview to confirm principal and interest patterns.
{% endstep %}

{% step %}

### View the debt schedule implicitly

Model Reef does not show a separate Excel-style schedule, but the schedule is represented in:

* The Balance Sheet:
  * Loan balance each period.
* The P\&L:
  * Interest Expense each period.
* The Cashflow Statement:
  * Debt Drawdowns and Debt Repayments.
* The Cash Waterfall:
  * Interest Paid.
  * Debt Movements.

Use these together to understand the implied schedule.

If you want an explicit schedule view, you can export loan time series to CSV and review them in a tabular tool.
{% endstep %}

{% step %}

### Build coverage and leverage metrics

Covenant-style metrics are built using formulas in charts or derived series.

Common metrics:

* Leverage\
  Net debt divided by EBITDA.
* Interest coverage\
  EBITDA divided by cash interest paid.
* Debt service coverage\
  Cash available for debt service divided by interest plus principal repayments.

To create these:

1. Build custom chart series referencing:
   * Debt variables for principal and interest.
   * Cash balance from the Balance Sheet.
   * EBITDA from P\&L or Cash Waterfall.
2. For example:
   * `NetDebt = TotalDebt minus Cash`
   * `Leverage = NetDebt divided by EBITDA`

Add these series to a Debt and Covenants dashboard for easy monitoring.
{% endstep %}

{% step %}

### Compare against target covenant levels

If lenders have specific thresholds, for example:

* Maximum leverage 3.0 times.
* Minimum interest coverage 2.0 times.

You can:

* Add horizontal reference lines in charts by creating constant drivers:
  * `Covenant - Max Leverage`
  * `Covenant - Min Interest Coverage`
* Plot both the actual metric and covenant threshold.

This visually indicates where the model breaches or approaches limits.
{% endstep %}

{% step %}

### Use scenarios for covenant testing

To test resilience:

* Create separate models for different operating scenarios, for example:
  * Base case
  * Downside case
  * Stress case
* In each:
  * Modify revenue, margin and capex assumptions to reflect stress.
  * Leave loan terms unchanged to reflect real world obligations.
* In each scenario model:
  * Review leverage and coverage metrics.
  * Identify periods where implicit covenants may be breached.

This gives a structured way to test covenant compliance under different conditions.
{% endstep %}
{% endstepper %}

Check your work

* Loan variables correctly represent drawdowns, repayments and interest.
* Balance Sheet loan balances match expectations over time.
* Coverage and leverage metrics are calculated using consistent definitions.
* Stress scenario models show how robust the structure is to downside conditions.

Troubleshooting

<details>

<summary><strong>Interest does not match expectations</strong></summary>

Check the interest rate, compounding assumptions and payment frequency.

</details>

<details>

<summary><strong>Debt balance behaves erratically</strong></summary>

Inspect amortisation drivers or bullet settings. Ensure there are no overlapping repayment mechanisms.

</details>

<details>

<summary><strong>Covenant metrics jump unexpectedly</strong></summary>

Look for sharp changes in EBITDA, cash or loan balances, especially around step changes in revenue, capex or refinancing events.

</details>

## Related articles

* [Donor/Revenue Stream Forecasting](/use-cases/not-for-profit-and-education/donor-revenue-stream-forecasting.md)
* [Staff Variables: what is, rules, what it affects](/help/drivers-variables-and-timing/staff-variables.md)
* [Subcategories](/help/building-your-model/subcategories.md)
* [Timing Modal Overview](/syntax/timing-syntax/timing-modal-overview.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/how-tos/investment-and-transactions/build-a-debt-schedule-and-covenants-model.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.
