Executive Summary
Plumbing World is a New Zealand plumbing supplies merchant. Its teams across sales and operations, supply chain, finance, health and safety and the executive group rely on Power BI reports built on a Synapse data platform. That platform pulls data from Dynamics 365 Finance & Operations through Dataverse and from the on-premises Frameworks system.
Plumbing World engaged Peritos Solutions to move this platform to Microsoft Fabric. Following a successful proof of value, Peritos rebuilt 11 data pipelines in Fabric, moved 10 production Power BI workspaces onto Fabric capacity, and tuned the platform so reports refresh reliably. Report viewers no longer need a Power BI Pro licence, and the move to Dataflow Gen2 cut the compute used by a key dataflow by 78%.
Project outcomes
Results & Impact
78%
Less dataflow compute
33%
Faster dataflow refresh
10
Production workspaces moved
11
Data pipelines rebuilt
Background
Plumbing World had built a Medallion data architecture on Azure Synapse. Data from Dataverse and Frameworks moved through Bronze, Silver and Gold layers before reaching Power BI reports. Reports were shared under per-user Power BI Pro licensing, so every person who viewed a report needed a paid licence.
In late 2025 Peritos ran a proof of value that replicated the Synapse pipelines in a Fabric UAT environment. Its success gave Plumbing World the confidence to move to a full production implementation, with the goal of a robust, scalable platform that supports ongoing data processing and wider reporting across the business.
Challenge
Fabric is not a like-for-like copy of Synapse. The Fabric link to Dataverse delivers unpartitioned tables, so the createdonpartition column that many Bronze and Silver tables relied on no longer existed. Fabric is also strict about the casing of table and column names, which meant long, hard-coded entity definitions had to be corrected line by line. Lakehouse names could not start with a number, so naming conventions had to change too.
Capacity was the other major hurdle. Fabric runs workloads on a fixed capacity, and when the Supply Chain workspace moved across, CPU use peaked at 92.54% as dataset refreshes and dataflows ran at the same time. Running UAT and production pipelines on one F64 capacity slowed reports for users. After go-live, a stale-metadata issue in the Lakehouse SQL analytics endpoint caused pipelines to skip new data, and a private network link had to be dropped because it blocked the Fabric link to Dataverse.
Solution
Peritos rebuilt the platform in Microsoft Fabric on Plumbing World’s existing Medallion design. Dataverse Finance & Operations tables connect through a Fabric Link, and Frameworks data flows in through a dedicated on-premises data gateway using the Progress OpenEdge ODBC driver. Separate Bronze, Silver and Gold lakehouses replace the Synapse storage layers, and 11 Fabric data pipelines replace the Synapse pipelines.
The 10 production workspaces now run on an F64 Fabric capacity, so staff can view reports with a free licence while report authors keep Pro. To keep the capacity healthy, Peritos introduced incremental refresh on large daily snapshot tables, moved dataflows from Gen1 to Gen2, created a separate F8 capacity for development, and reduced and staggered scheduled refreshes using data pipelines with chained steps and email alerts on failure. On Microsoft Support’s advice, an Azure Logic App now calls the Fabric REST API every minute to keep the SQL analytics endpoints in sync.
Access is secured with Microsoft Entra ID, multi-factor authentication and Conditional Access, with data encrypted in transit and at rest. Shared connections are owned by a service account and admin groups rather than individual staff, and all changes go through Git version control and Fabric deployment pipelines.
Inside the platform

Approach
Peritos started from the proof of value, then brought the Fabric pipelines up to date with every change Plumbing World had made to Synapse since, including new and updated Silver and Gold entity definitions. Fabric and Synapse ran side by side in UAT so pipeline run times could be compared directly, and Fabric finished faster in three of the four comparison runs.
When the smaller development capacity hit Spark limits, the team tuned how many tables each pipeline processes in parallel. Running fully in sequence took around 12 hours; a batch size of five brought the full run down to around five hours. Dataflows were then migrated to Gen2 and deployed per workspace, and reports were repointed to the new dataflows, smallest workspace first, using a script built on the Fabric REST APIs to speed up the work. Every report was checked against its live version before going to production in July 2026, and Peritos handed over full end-to-end documentation.









