> 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/imported-variable-behaviour.md).

# Imported Variable Behaviour

This article explains how imported variables behave in Model Reef, regardless of source.

You will learn:

* How imports create Data Library entries and variables.
* How historical actuals and forecast logic are combined.
* How imported variables behave across statements.
* What happens when you refresh data from external systems.

Imported variables come from sources such as PDF, Excel, CSV, Xero, QuickBooks, stock tickers and public APIs.

{% stepper %}
{% step %}

### How imports create variables

When you import data, Model Reef:

* Detects and classifies each line into a type such as Revenue, COGS, Opex, Staff, Asset, Liability, Equity or Tax.
* Creates a **Data Library** time series for each mapped line.
* Automatically creates a **variable** that references that Data Library entry.
* Assigns a category, subcategory, branch, units and optional GL code.
* Applies default timing and forecast rules based on the type and pattern.

You can adjust any of these after the import.
{% endstep %}

{% step %}

### Historical actuals vs forecast periods

Imported series typically supply **historical actuals** for periods before or around the model start date.

Model Reef then:

* Treats imported values for historical periods as fixed and not overwritten by forecast logic.
* Applies forecast rules from the model start date forward.
* Ensures that charts and statements show a continuous series that blends history and forecast.

You can see the history-to-forecast transition point clearly in charts and in the time series view.
{% endstep %}

{% step %}

### Default forecast behaviour for imported variables

For many imported variables, Model Reef assigns a default forecast rule, for example:

* Extending the last observed level or average.
* Applying a simple growth rate.
* Using ML or regression based presets where appropriate.

These are starting points to give you a working model immediately. You are expected to review and refine them.

You can change forecast behaviour by:

* Editing the variable formula.
* Replacing default rules with driver based logic.
* Overriding specific periods manually where necessary.
  {% endstep %}

{% step %}

### Imported variables in statements

Once created, imported variables behave exactly like manually created variables of the same type:

* **Revenue, COGS, Opex, Staff, Tax, Assets, Liabilities, Equity and Dividends** all follow their normal rules.
* They contribute to P\&L, Balance Sheet, Cashflow and Cash Waterfall based on their type and timing settings.
* You can move them between branches or change categories if the initial mapping needs refinement.

The fact that a variable was imported does not change its accounting behaviour — only how its series was initially populated.
{% endstep %}

{% step %}

### Refreshing imported data

When you refresh data from systems such as Xero, QuickBooks or stock tickers:

* Historical actuals are updated in the Data Library.
* Linked variables update their historical series accordingly.
* Forecast rules continue to apply for forward periods.
* Statements and dashboards recalculate automatically.

You should review any variables affected by refresh to ensure that forecast logic still makes sense in light of updated history.
{% endstep %}

{% step %}

### Editing or reclassifying imported variables

You can safely:

* Change variable types if an imported line was misclassified.
* Change categories and subcategories for reporting.
* Reassign branches to match your model structure.
* Replace default forecast logic with your own drivers and formulas.

Reclassification will immediately change how the variable behaves in statements, so treat type changes as meaningfully as you would in a manual model
{% endstep %}
{% endstepper %}

## Related articles

* [Not-for-Profit & Education](/use-cases/not-for-profit-and-education.md)
* [Build a Capital Structure Model](/how-tos/investment-and-transactions/build-a-capital-structure-model.md)
* [Mapping Variable Types](/help/importing-and-data-inputs/mapping-variable-types.md)
* [Scenario Syntax](/syntax/scenario-syntax.md)
