Skip to main content

Outbound Data Feed Entity Relationships

How all the Outbound Data Feed entities relate to each other.

Written by Shem Bogusz
Updated today

The Outbound Data Feed exposes a set of core entities that link together through primary and foreign keys. These relationships allow you to join organisations, business units, accounts, metrics, actuals, budgets, and forecasts into a unified reporting model.

Core Structural Relationships

The following is the complete set of entity relationships. Not all of these relationships will be required when building BI models; see the modelling guidance further below.

Organisation -> BusinessUnitCategory -> BusinessUnit

Each organisation can contain multiple business unit categories with multiple business units in each category.

From entity

Relationship

To entity

Organisation (OrganisationId)

1───<

BusinessUnitCategory (OrganisationId)

BusinessUnitCategory (BusinessUnitCategoryId)

1───<

BusinessUnit (BusinessUnitCategoryId)

Organisation (OrganisationId)

1───<

BusinessUnit (OrganisationId)

Organisation -> Account

Each organisation defines its own chart of accounts.

From entity

Relationship

To entity

Organisation (OrganisationId)

1───<

Account (OrganisationId)

Organisation -> Budget Version

Each organisation defines its own list of budget versions.

From entity

Relationship

To entity

Organisation (OrganisationId)

1───<

BudgetVersion (OrganisationId)

Metric

Note: 💬 Metrics are defined at the workspace level so there is not core structural relationship to an Organisation. Mapping relationships to organisations only occurs through Actual and Budget value-based entities documented below.


Actuals, Budgets and Forecasts

These entities store monthly period‑based values and link back to the structural entities above.

OrganisationAccountActual & BusinessUnitAccountActual

From entity

Relationship

To entity

OrganisationAccountActual (OrganisationId)

>───1

Organisation (OrganisationId)

OrganisationAccountActual (AccountId)

>───1

Account (AccountId)

BusinessUnitAccountActual (OrganisationId)

>───1

Organisation (OrganisationId)

BusinessUnitAccountActual (BusinessUnitCategoryId)

>───1

BusinessUnitCategory (BusinessUnitCategoryId)

BusinessUnitAccountActual (BusinessUnitId)

>───1

BusinessUnit (BusinessUnitId)

BusinessUnitAccountActual (AccountId)

>───1

Account (AccountId)

OrganisationAccountBudget & BusinessUnitAccountBudget

From entity

Relationship

To entity

OrganisationAccountBudget (OrganisationId)

>───1

Organisation (OrganisationId)

OrganisationAccountBudget (BudgetVersionId)

>───1

BudgetVersion (BudgetVersionId)

OrganisationAccountBudget (AccountId)

>───1

Account (AccountId)

BusinessUnitAccountBudget (OrganisationId)

>───1

Organisation (OrganisationId)

BusinessUnitAccountBudget (BudgetVersionId)

>───1

BudgetVersion (BudgetVersionId)

BusinessUnitAccountBudget (BusinessUnitCategoryId)

>───1

BusinessUnitCategory (BusinessUnitCategoryId)

BusinessUnitAccountBudget
(BusinessUnitId)

>───1

BusinessUnit (BusinessUnitId)

BusinessUnitAccountActual (AccountId)

>───1

Account (AccountId)

OrganisationCashflowForecast

From entity

Relationship

To entity

OrganisationAccountBudget (OrganisationId)

>───1

Organisation (OrganisationId)

OrganisationAccountBudget (BudgetVersionId)

>───1

BudgetVersion (BudgetVersionId)

OrganisationAccountBudget (AccountId)

>───1

Account (AccountId)

OrganisationMetricActual & BusinessUnitMetricActual

From entity

Relationship

To entity

OrganisationMetricActual (OrganisationId)

>───1

Organisation (OrganisationId)

OrganisationMetricActual (MetricId)

>───1

Metric (MetricId)

BusinessUnitAccountActual (OrganisationId)

>───1

Organisation (OrganisationId)

BusinessUnitAccountActual (BusinessUnitCategoryId)

>───1

BusinessUnitCategory (BusinessUnitCategoryId)

BusinessUnitAccountActual (BusinessUnitId)

>───1

BusinessUnit (BusinessUnitId)

BusinessUnitAccountActual (MetricId)

>───1

Metric (MetricId)

OrganisationMetricBudget & BusinessUnitMetricBudget

From entity

Relationship

To entity

OrganisationMetricBudget (OrganisationId)

>───1

Organisation (OrganisationId)

OrganisationMetricBudget (BudgetVersionId)

>───1

BudgetVersion (BudgetVersionId)

OrganisationMetricBudget (MetricId)

>───1

Metric (MetricId)

BusinessUnitMetricBudget (OrganisationId)

>───1

Organisation (OrganisationId)

BusinessUnitMetricBudget (BudgetVersionId)

>───1

BudgetVersion (BudgetVersionId)

BusinessUnitMetricBudget (BusinessUnitCategoryId)

>───1

BusinessUnitCategory (BusinessUnitCategoryId)

BusinessUnitMetricBudget (BusinessUnitId)

>───1

BusinessUnit (BusinessUnitId)

BusinessUnitMetricBudget (MetricId)

>───1

Metric (MetricId)


Period‑Based Relationships

To simplify filtering by Period in BI tools, we provide a dedicated Periods entity. All period‑based entities align to this by using the last day of the month as the period value.

Periods

From entity

Relationship

To entity

Periods (Period)

1───<

OrganisationAccountActual (Period)

Periods (Period)

1───<

BusinessUnitAccountActual (Period)

Periods (Period)

1───<

OrganisationAccountBudget (Period)

Periods (Period)

1───<

OrganisationCashflowForecast (Period)

Periods (Period)

1───<

BusinessUnitAccountBudget (Period)

Periods (Period)

1───<

OrganisationMetricActual (Period)

Periods (Period)

1───<

BusinessUnitMetricActual (Period)

Periods (Period)

1───<

OrganisationMetricBudget (Period)

Periods (Period)

1───<

BusinessUnitMetricBudget (Period)


Guidance for Building BI Models

Designing a BI model from the Outbound Data Feed requires selecting relationships that support your reporting needs while avoiding ambiguous filter paths. Because different reporting scenarios require different combinations of entities, there is no single “correct” model. Instead, the following principles and patterns provide a safe foundation for building reliable models in Power BI and other BI tools.

Star Schema

A star schema provides the simplest and most stable structure. Use dimension tables to filter fact tables and avoid connecting fact tables directly to each other.

Typical dimensions

Typical fact tables

Tip:💡Not all dimensions need to be included in every model. Add only the dimensions required for your reporting scenario.

Use Single‑Direction Filters

To avoid ambiguous paths, configure relationships as single‑direction from dimensions to facts.


This ensures:

  • Filters flow predictably

  • BI tools do not detect multiple valid filter routes

  • You avoid circular filtering chains

Bi‑directional filters should only be used when absolutely necessary and with a clear understanding of the consequences.

Only Create Relationships You Intend to Use

The Outbound Data Feed exposes many valid relationships, but you should not connect all of them in your BI model.

Extra relationships often create:

  • Ambiguous filter paths

  • Circular dependencies

  • Unexpected filtering behaviour

Create only the relationships required for your reporting logic.

Use the Period Dimension for Time Filtering

All period‑based entities use the last day of the month as the period value. Connecting each fact table to the Period dimension provides:

  • Consistent time filtering

  • A single reference point for slicers

  • No direct fact‑to‑fact joins

This avoids ambiguous paths between Actuals, Budgets, Metrics, and Forecasts.

Common Pitfalls to Avoid

  • Connecting every possible relationship “because it exists”

  • Using bi‑directional filters by default

  • Allowing multiple paths from Organisation to a fact table

  • Connecting fact tables directly to each other

  • Mixing Account‑based and BusinessUnit‑based Organisation paths

Did this answer your question?