Skip to content
bartovsky_
Theme
martin@bartovsky.com

Work / holding

One repository for Power BI, several suppliers

An internal team and external suppliers building reports in the same tenant. Version control owned by the client, access through groups, nothing written straight to production - now in live use.

Client
Industrial group, several companies
Industry
holding
Services
BI
Stack
Azure DevOps, Power BI, Microsoft Fabric, Microsoft Entra ID
Period
2026

Context

Power BI in the group was built by a small internal team, another external supplier and me. Each worked in their own files. Which version was in production was known by whoever published last, and the history of a measure left with whoever left.

What I did

  • Proposed the model: a Git repository in Azure DevOps, connected to the client’s own tenant - not the supplier’s, not mine. GitHub as the alternative.
  • Access through groups: external developers join as guests; two security groups decide who administers and who contributes. On- and offboarding become an identity task anyone in the client’s IT can do.
  • Production follows main: every change through a pull request; the Fabric workspace syncs from main and never writes to it.
  • Ran it myself first: the whole set-up in a lab in my own tenant - me as administrator, another account as the external guest - to answer the awkward questions before anyone depended on them.

Internal analyst and supplier guests in Entra ID groups work in branches; changes go through a pull request into a protected main; the production workspace syncs from main, a dev workspace returns by pull request

Result

The set-up is live at the client, and the same set-up runs in my own tenant. In the lab, a guest added to the group had working access within about five minutes - without anyone handing out individual rights.

Why it matters

Version control for Power BI is an ownership decision more than a tooling one. The details are in the note on repo ownership and the step-by-step set-up.

[->] next step

Where do your numbers stop adding up?

Start with a short call. Bring one report nobody trusts - I'll trace it back to where the data gets captured.