<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Data Articles | Denova</title>
	<atom:link href="https://denovaltd.com/category/data/feed/" rel="self" type="application/rss+xml" />
	<link>https://denovaltd.com</link>
	<description>S2P Specialists</description>
	<lastBuildDate>Thu, 08 Oct 2026 05:42:54 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>

<image>
	<url>https://denovaltd.com/wp-content/uploads/2023/07/favicon-96x96-1.png</url>
	<title>Data Articles | Denova</title>
	<link>https://denovaltd.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Power BI for Finance Teams: Designing Month-End and Approval Reporting</title>
		<link>https://denovaltd.com/power-bi-finance-teams-month-end-approval-reporting/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=power-bi-finance-teams-month-end-approval-reporting</link>
					<comments>https://denovaltd.com/power-bi-finance-teams-month-end-approval-reporting/#respond</comments>
		
		<dc:creator><![CDATA[wp-denovaltdcom]]></dc:creator>
		<pubDate>Thu, 01 Oct 2026 12:12:52 +0000</pubDate>
				<category><![CDATA[Data]]></category>
		<guid isPermaLink="false">https://denovaltd.com/?p=117603</guid>

					<description><![CDATA[<p>Design month-end and approval reporting around accountable owners, clear status definitions, ageing and reconciled figures. Includes an illustrative worked example and relevant Denova client evidence.</p>
<p>The post <a href="https://denovaltd.com/power-bi-finance-teams-month-end-approval-reporting/">Power BI for Finance Teams: Designing Month-End and Approval Reporting</a> first appeared on <a href="https://denovaltd.com">denovaltd.com</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_0 dn-finance-article et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_0 dw-native-row dw-hero-grid">
				<div class="et_pb_column et_pb_column_2_3 et_pb_column_0  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_code et_pb_code_0 dw-native-css">
				
				
				
				
				<div class="et_pb_code_inner"><style>body:has(.dn-finance-article) #main-content>.container{width:100%;max-width:none;padding-top:0}body:has(.dn-finance-article) #left-area{width:100%;padding:0;float:none}body:has(.dn-finance-article) #main-content .container:before{display:none}body:has(.dn-finance-article) #sidebar,body:has(.dn-finance-article) .et_post_meta_wrapper,body:has(.dn-finance-article) #comment-wrap{display:none}body:has(.dn-finance-article) .et_pb_post{margin-bottom:0;padding-bottom:0}body:has(.dn-finance-article) .entry-content{padding-top:0}
.dn-finance-article{--ink:#223b2e;--green:#426854;--mint:#edf4ef;--line:#d7e1d8;font-family:'Open Sans',Arial,sans-serif;color:#29382f;font-size:18px;line-height:1.8;background:#fff}.dn-finance-article *{box-sizing:border-box}.dn-finance-article .dw-wide{width:88%;max-width:1200px;margin:auto}.dn-finance-article .dw-reading{width:88%;max-width:820px;margin:auto}.dn-finance-article p{padding:0;margin:0 0 20px}.dn-finance-article h1,.dn-finance-article h2{font-family:'Roboto Mono',monospace;font-weight:700;color:var(--ink);padding:0;letter-spacing:-.035em;line-height:1.35}.dn-finance-article h1{font-size:46px;margin:24px 0;line-height:1.25}.dn-finance-article h2{font-size:32px;margin:0 0 24px}.dn-finance-article h3{font-family:'Open Sans',Arial,sans-serif;font-size:23px;font-weight:700;line-height:1.35;color:var(--ink);padding:0;margin:0 0 14px}.dn-finance-article a{color:#345d47;text-decoration:underline;text-underline-offset:4px}.dn-finance-article a:hover{color:#142d20}.dn-finance-article a:focus-visible{outline:3px solid #42795b;outline-offset:5px}.dn-finance-article .dw-eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.6;color:#476652;margin:0 0 16px}.dn-finance-article .dw-hero{background:var(--mint);border-bottom:1px solid var(--line);padding:58px 0 62px}.dn-finance-article .dw-hero-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:64px;align-items:start}.dn-finance-article .dw-breadcrumb{font-size:13px;margin-bottom:32px}.dn-finance-article .dw-dek{font-size:21px;line-height:1.65;max-width:690px}.dn-finance-article .dw-meta{font-size:13px;color:#5a665e;margin:24px 0}.dn-finance-article .dw-quick{background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:0 12px 26px #17382408}.dn-finance-article .dw-quick h2{font-size:25px;letter-spacing:-.02em}.dn-finance-article .dw-quick ol{padding:0!important;list-style:none!important;margin:0}.dn-finance-article .dw-quick li{list-style:none!important;border-top:1px solid var(--line);padding:15px 0;font-size:15px;line-height:1.6}.dn-finance-article .dw-quick li strong{display:block;font-size:17px;color:var(--ink);margin-bottom:4px}.dn-finance-article .dw-toc{margin:48px auto 42px;padding:24px 30px;background:#f7f9f5;border:1px solid var(--line);border-radius:15px}.dn-finance-article .dw-toc nav{display:flex;flex-wrap:wrap;gap:12px 26px;font-size:15px}.dn-finance-article .dw-toc .dw-eyebrow{margin-bottom:12px}.dn-finance-article .dw-section{padding:20px 0 42px;scroll-margin-top:130px}.dn-finance-article .dw-intro{font-size:20px}.dn-finance-article .dw-note{border-left:4px solid #6da988;background:#f3f7f1;padding:24px 28px;margin:24px 0;font-size:17px}.dn-finance-article .dw-note p:last-child{margin:0}.dn-finance-article ul{padding-left:22px!important;margin:0 0 22px;line-height:1.8!important}.dn-finance-article li{padding:3px 0}.dn-finance-article .dw-case-strip{background:#f7f8f5;padding:56px 0;margin:8px 0 28px}.dn-finance-article .dw-case-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:44px;align-items:start}.dn-finance-article .dw-home-card{display:flex;flex-direction:column;padding:20px;background:#f5f7f7;border:1px solid #cfd1d2;border-radius:20px;overflow:hidden}.dn-finance-article .dw-home-banner{position:relative;padding:24px 20px;border-radius:10px;overflow:hidden;margin-bottom:18px;background:linear-gradient(rgba(239,246,243,.82),rgba(239,246,243,.94)),url('https://denovaltd.com/wp-content/uploads/2026/04/BlogCase-Studies-Feature-Image-1.webp') center/cover}.dn-finance-article .dw-home-banner h3{font-family:'Roboto Mono',monospace;font-size:26px;line-height:1.35;letter-spacing:-.035em;color:#282829;margin-bottom:14px}.dn-finance-article .dw-home-banner p{font-size:14px;line-height:1.65;color:#4b5d54;margin:0}.dn-finance-article .dw-home-body{font-size:16px;line-height:1.75;margin-bottom:22px}.dn-finance-article .dw-home-button{align-self:flex-start;background:linear-gradient(204deg,#0a0707 0%,#306d53 98%);color:#fff;border-radius:32px;padding:8px 18px;font-size:15px;line-height:1.5;text-decoration:none;box-shadow:0 3px 9px #18372912}.dn-finance-article .dw-home-button:hover{color:#fff;background:#244b34}.dn-finance-article .dw-checklist{white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;font-family:'Open Sans',Arial,sans-serif;font-size:16px;line-height:1.8;background:#f3f7f1;border:1px solid var(--line);border-radius:15px;padding:28px;margin:24px 0}.dn-finance-article .dw-cta{background:#143425;padding:58px 0;color:#edf4ef}.dn-finance-article .dw-cta h2{color:#fff}.dn-finance-article .dw-cta .dw-eyebrow{color:#b6d8c3}.dn-finance-article .dw-cta p{max-width:780px}.dn-finance-article .dw-button{display:inline-block;border-radius:30px;padding:14px 24px;background:#e3f0e6;color:#173d25;text-decoration:none;font-size:16px;font-weight:600}.dn-finance-article .dw-small{font-size:15px;line-height:1.75}
@media(max-width:980px){.dn-finance-article .dw-hero-grid,.dn-finance-article .dw-case-grid{grid-template-columns:1fr;gap:30px}.dn-finance-article h1{font-size:38px}.dn-finance-article .dw-hero{padding:36px 0 44px}.dn-finance-article .dw-home-card{max-width:600px}}@media(max-width:600px){.dn-finance-article{font-size:17px}.dn-finance-article h1{font-size:32px}.dn-finance-article h2{font-size:27px}.dn-finance-article .dw-wide,.dn-finance-article .dw-reading{width:88%}.dn-finance-article .dw-quick{padding:24px}.dn-finance-article .dw-toc{padding:22px;margin-top:30px}.dn-finance-article .dw-toc nav{display:grid;gap:12px}.dn-finance-article .dw-dek,.dn-finance-article .dw-intro{font-size:19px}.dn-finance-article .dw-case-strip,.dn-finance-article .dw-cta{padding:40px 0}.dn-finance-article .dw-section{padding-bottom:28px}.dn-finance-article .dw-note,.dn-finance-article .dw-checklist{padding:20px}.dn-finance-article .dw-breadcrumb{margin-bottom:24px}.dn-finance-article .dw-home-card{padding:16px}.dn-finance-article .dw-home-banner{padding:24px 16px}}
.dn-finance-article.et_pb_section{font-size:18px;line-height:1.8}.dn-finance-article .dw-native-row{padding:0}.dn-finance-article .dw-native-row>.et_pb_column{margin:0!important;width:auto!important;float:none}.dn-finance-article .dw-native-row:after{display:none}.dn-finance-article .dw-native-row .et_pb_text{margin-bottom:0}.dn-finance-article .dw-native-row .et_pb_text_inner{font-size:inherit;line-height:inherit}.dn-finance-article .dw-hero-grid,.dn-finance-article .dw-case-grid{display:grid!important}.dn-finance-article .dw-native-css{display:none}.dn-finance-article .dw-toc{margin:0}.dn-finance-article .dw-section{padding:0}.dn-finance-article .dw-quick{font-size:15px}.dn-finance-article .dw-home-banner{margin-bottom:18px!important}.dn-finance-article .dw-home-body{margin-bottom:22px!important}.dn-finance-article .dw-home-card>.et_pb_button_module_wrapper{margin-top:auto}.dn-finance-article .et_pb_button.dw-home-button{background:linear-gradient(204deg,#0a0707 0%,#306d53 98%)!important;color:white!important;border:0!important;padding:8px 18px!important;font-size:15px!important;line-height:1.5!important;border-radius:32px!important}.dn-finance-article .et_pb_button:after{display:none!important}.dn-finance-article.dw-cta .et_pb_text_inner{color:#edf4ef}.dn-finance-article.dw-cta h2{color:#fff}.dn-finance-article.dw-cta .dw-eyebrow{color:#b6d8c3}.dn-finance-article .et_pb_text h1{font-size:46px;line-height:1.25}.dn-finance-article .et_pb_text h2{font-size:32px;line-height:1.35}.dn-finance-article .dw-quick h2{font-size:25px}@media(max-width:980px){.dn-finance-article .dw-hero-grid,.dn-finance-article .dw-case-grid{grid-template-columns:1fr;gap:30px}.dn-finance-article .et_pb_text h1{font-size:38px}}@media(max-width:600px){.dn-finance-article.et_pb_section{font-size:17px}.dn-finance-article .et_pb_text h1{font-size:32px}.dn-finance-article .et_pb_text h2{font-size:27px}.dn-finance-article .dw-quick h2{font-size:25px}.dn-finance-article .dw-native-row{width:88%!important}}.dn-finance-article .dw-delivery-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #d7e1d8;border-radius:15px;overflow:hidden;font-size:16px;line-height:1.7;margin:24px 0}.dn-finance-article .dw-delivery-table caption{text-align:left;font-weight:700;color:#223b2e;margin-bottom:16px}.dn-finance-article .dw-delivery-table th,.dn-finance-article .dw-delivery-table td{padding:18px;border:0;border-bottom:1px solid #d7e1d8;vertical-align:top;text-align:left}.dn-finance-article .dw-delivery-table thead th{background:#e7efe8;color:#223b2e}.dn-finance-article .dw-delivery-table tbody th{width:22%;background:#f3f7f1;font-weight:700}.dn-finance-article .dw-delivery-table td{width:39%}.dn-finance-article .dw-delivery-table tr:last-child>*{border-bottom:0}.dn-finance-article .dw-cell-label{display:none}@media(max-width:600px){.dn-finance-article .dw-delivery-table,.dn-finance-article .dw-delivery-table tbody,.dn-finance-article .dw-delivery-table tr,.dn-finance-article .dw-delivery-table th,.dn-finance-article .dw-delivery-table td{display:block;width:100%!important}.dn-finance-article .dw-delivery-table thead{display:none}.dn-finance-article .dw-delivery-table tr{border-bottom:1px solid #d7e1d8;padding-bottom:10px}.dn-finance-article .dw-delivery-table th,.dn-finance-article .dw-delivery-table td{padding:14px 18px;border-bottom:0}.dn-finance-article .dw-delivery-table tr:last-child{border-bottom:0}.dn-finance-article .dw-cell-label{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#476652;margin-bottom:6px}}.dn-finance-article ol{padding-left:24px;margin:0 0 22px}.dn-finance-article .dw-quick ol{padding:0!important}.dn-finance-article .dw-section ol li{padding:6px 0}
.dn-finance-article .dw-native-row .et_pb_text{max-width:100%}
.dn-finance-article .dw-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}
.dn-finance-article .dw-kpi{background:#f3f7f1;border:1px solid #d7e1d8;border-radius:14px;padding:20px}
.dn-finance-article .dw-kpi strong{font:700 28px 'Roboto Mono',monospace;display:block;color:#223b2e}
.dn-finance-article .dw-kpi span{font-size:15px;line-height:1.6;display:block}
.dn-finance-article .dw-delivery-table p{font-size:16px;margin-bottom:10px}
.dn-finance-article .dw-delivery-table p:last-child{margin-bottom:0}
.dn-finance-article .dw-native-row{scroll-margin-top:100px}
.dn-finance-article .dw-native-row>.et_pb_column{min-width:0}
.dn-finance-article.dw-cta .et_pb_text a{color:#cfe9da}
.dn-finance-article.dw-cta .et_pb_text a:hover{color:#ffffff}
@media(max-width:600px){.dn-finance-article .dw-kpis{grid-template-columns:1fr}.dn-finance-article .dw-kpi{padding:16px}}
</style></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_0  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-breadcrumb"><a href="https://denovaltd.com/blog/">Insights</a> / Data &amp; BI</p>
<p class="dw-eyebrow">A practical guide to finance reporting</p>

<h1>Power BI for Finance Teams: Designing Month-End and Approval Reporting</h1>
<p class="dw-dek">Make month-end status useful: show who owns the next action, what is waiting for approval and which differences still need attention.</p>
<p class="dw-meta">By Denova · Data &amp; BI</p></div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_3 et_pb_column_1  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_1 dw-quick  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">At a glance</p><h2>Design around the next decision</h2>
<ol><li><strong>Give every item an owner</strong>Preparation, review, escalation and report maintenance.</li>
<li><strong>Separate the measures</strong>Progress, waiting time and reconciliation tell different stories.</li>
<li><strong>Make exceptions actionable</strong>A named owner, supporting evidence and an agreed next step.</li></ol></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_1 dn-finance-article et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_1 dw-native-row">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_2  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_2 dw-toc  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">On this page</p><nav aria-label="Article contents"><a href="#ownership">Ownership</a><a href="#status">Status</a><a href="#ageing">Ageing</a><a href="#reconciliation">Reconciliation</a><a href="#report-design">Report design</a><a href="#worked-example">Worked example</a><a href="#exceptions">Exceptions</a><a href="#client-evidence">Client evidence</a><a href="#acceptance">Acceptance checklist</a></nav></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_2 dn-finance-article et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_2 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_3  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_3 dw-intro  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p><strong>Power BI for finance teams is most useful when it connects figures with the work needed to trust them.</strong> At month-end, a finance manager needs to know which reconciliations are ready, whose review is outstanding and which exceptions could hold up the close.</p>
<p>A completion percentage alone cannot answer those questions. A balance can match while approval is still outstanding; a task can be overdue without a monetary difference; missing data can make a report look healthier than it is.</p>
<p>Design the report around those distinctions, with agreed definitions and a clear route from each exception to its owner.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_3 dn-finance-article et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="ownership" class="et_pb_row et_pb_row_3 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_4  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_4  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">01 · Assign responsibility</p><h2>Separate process ownership from report ownership</h2>
<p>Name the finance process owner who agrees the close calendar, scope, status definitions and escalation rules. For each task, record a preparer, reviewer, current action owner and deputy. The person preparing a reconciliation may be different from the person who needs to act today.</p>
<p>Also name the data owner responsible for source quality and the technical owner responsible for the Power BI model, access and refreshes. A missing ledger extract and an overdue review need different routes to resolution.</p>
<p>Agree where updates and approvals are recorded. Power BI can present the position; an approval decision must be captured in the agreed workflow or source application. Microsoft documents <a href="https://learn.microsoft.com/en-us/power-automate/get-started-approvals">Power Automate approvals</a> and a <a href="https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/powerapps-custom-visual">Power Apps visual</a> for adding app-based actions to reports. These require deliberate implementation, permissions and testing.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_4 dn-finance-article et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="status" class="et_pb_row et_pb_row_4 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_5  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_5  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">02 · Make status consistent</p><h2>Define what each status actually means</h2>
<p>Use a small set of agreed states, such as <strong>Not started, In preparation, Awaiting review, Returned and Approved</strong>. Define the evidence needed to enter each state and who can change it. Record approved exclusions separately.</p>
<p>Keep overdue, blocked and missing-evidence flags separate from status. An item can be both awaiting review and overdue. Treating these as competing statuses hides useful information.</p>
<p>Define completion explicitly: for example, approved in-scope tasks divided by all in-scope tasks for the selected period. Count distinct task instances, not approval-event rows. Show the numerator, denominator and exclusions so users can understand a change in the percentage.</p>
<p>Reopened items should return to the active queue. Retain the previous approval and the reason for reopening rather than silently overwriting the history.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_5 dn-finance-article et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="ageing" class="et_pb_row et_pb_row_5 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_6  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_6  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">03 · Define the clocks</p><h2>Distinguish age from lateness</h2>
<p><strong>Pending-review age</strong> measures how long an item has waited since its current submission for review. <strong>Overdue time</strong> measures how far an open task has passed its due timestamp. A newly submitted item may already be overdue; an old submission may still be within its agreed deadline.</p>
<p>Choose calendar or business time, a time zone, cut-off and any holiday calendar. Define boundaries for age bands, for example less than two days, two to under five days, and five days or more.</p>
<p>Keep original submission time, current submission time and return history. Resubmission can start a new review interval without erasing the total elapsed time. Stop the relevant clock when the task leaves that stage, and label missing timestamps as unknown.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_6 dn-finance-article et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="reconciliation" class="et_pb_row et_pb_row_6 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_7  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_7  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">04 · Establish what should reconcile</p><h2>Keep balance checks separate from sign-off</h2>
<p>For each reconciliation, define the two values being compared: for example, an account balance in the general ledger and the corresponding supporting schedule. Align entity, account, period, currency, sign convention and source cut-off before calculating a difference.</p>
<p>Keep the raw difference, explained reconciling items and unresolved amount distinct. Agree any tolerance with the finance owner and specify whether it applies by item or account. A value inside tolerance should not automatically become approved unless the agreed control process allows it.</p>
<p>Show missing balances and mapping failures as exceptions. Replacing a missing value with zero can create a false match. Avoid netting positive and negative differences into a reassuring total, or combining currencies without an agreed conversion basis.</p>
<p>Preserve the source references and evidence used for review. Where the underlying balance changes after approval, agree when the task must be reopened.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_7 dn-finance-article et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="report-design" class="et_pb_row et_pb_row_7 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_8  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_8  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">05 · Build useful views</p><h2>Give managers an overview and owners a work queue</h2>
<p>The overview should show period and entity, approved versus in-scope tasks, overdue open items, pending reviews, unresolved differences and missing data. A drill-through queue should show task ID, current owner, due date, age, reason and evidence link.</p>
<p>Keep one task instance per period and reconciliation unit, with separate records for balances, approval events and individual exceptions. Joining every event directly to every balance can multiply rows and distort totals. Retain dated snapshots or sufficient event history to reproduce a prior cut-off.</p>
<p>Display both the report’s as-at time and source freshness. Microsoft’s <a href="https://learn.microsoft.com/en-us/power-bi/connect-data/refresh-data">refresh guidance</a> explains that Import models need a data refresh to bring source changes into the model. A newly approved item may therefore remain in yesterday’s queue until the data updates.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_8 dn-finance-article et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="worked-example" class="et_pb_row et_pb_row_8 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_9  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_9  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Worked example · illustrative figures</p><h2>Six tasks in a month-end review queue</h2>
<p><strong>This is a fictional example, not a Denova client result.</strong> A finance manager reviews six September-close tasks at <strong>09:00 UTC on 5 October 2026</strong>. All six are in scope. Dates below are in October; ages use elapsed calendar time. All balances are illustrative GBP amounts on a consistent reporting basis.</p>
<p>Completion requires approval. Difference means ledger less supporting balance; the two non-zero differences remain unresolved at this cut-off.</p>
<div class="dw-kpis"><div class="dw-kpi"><strong>2 of 6</strong><span>Tasks approved · 33.3% complete</span></div><div class="dw-kpi"><strong>2</strong><span>Open tasks past their due time</span></div><div class="dw-kpi"><strong>4 days</strong><span>Oldest pending review</span></div></div><table class="dw-delivery-table" aria-label="Illustrative month-end reconciliation queue"><thead><tr><th scope="col">Task</th><th scope="col">Status and timing</th><th scope="col">Balance check and next action</th></tr></thead><tbody><tr><th scope="row">UK bank</th><td><span class="dw-cell-label">Status and timing</span><p><strong>Awaiting review</strong><br>Owner: Finance reviewer</p><p>Submitted 3 Oct, 09:00; pending 2 days. Due 4 Oct, 09:00; overdue 1 day.</p></td><td><span class="dw-cell-label">Balance check and next action</span><p>Ledger £248,000<br>Support £248,000<br>Difference <strong>£0</strong></p><p>Reviewer to confirm evidence and sign off.</p></td></tr><tr><th scope="row">UK accruals</th><td><span class="dw-cell-label">Status and timing</span><p><strong>Returned</strong><br>Owner: Accruals preparer</p><p>Returned 4 Oct, 09:00. Due 5 Oct, 17:00; not overdue.</p></td><td><span class="dw-cell-label">Balance check and next action</span><p>Ledger £40,000<br>Support £42,000<br>Difference <strong>−£2,000</strong></p><p>Preparer to explain or correct the difference, then resubmit.</p></td></tr><tr><th scope="row">DE intercompany</th><td><span class="dw-cell-label">Status and timing</span><p><strong>Awaiting review</strong><br>Owner: Group accountant</p><p>Submitted 1 Oct, 09:00; pending 4 days. Due 3 Oct, 09:00; overdue 2 days.</p></td><td><span class="dw-cell-label">Balance check and next action</span><p>Ledger £610,000<br>Support £598,000<br>Difference <strong>£12,000</strong></p><p>Reviewer and entity team to investigate the difference.</p></td></tr><tr><th scope="row">UK payables</th><td><span class="dw-cell-label">Status and timing</span><p><strong>Approved</strong><br>Owner: Finance reviewer</p><p>Approved 4 Oct, 09:00; closed before its due time.</p></td><td><span class="dw-cell-label">Balance check and next action</span><p>Ledger £78,000<br>Support £78,000<br>Difference <strong>£0</strong></p><p>Retain the sign-off and supporting evidence.</p></td></tr><tr><th scope="row">DE bank</th><td><span class="dw-cell-label">Status and timing</span><p><strong>Approved</strong><br>Owner: Entity reviewer</p><p>Approved 4 Oct, 09:00; closed before its due time.</p></td><td><span class="dw-cell-label">Balance check and next action</span><p>Ledger £92,000<br>Support £92,000<br>Difference <strong>£0</strong></p><p>Retain the sign-off and supporting evidence.</p></td></tr><tr><th scope="row">DE payroll</th><td><span class="dw-cell-label">Status and timing</span><p><strong>Not started</strong><br>Owner: Payroll lead</p><p>Inputs missing. Due 5 Oct, 17:00; not overdue.</p></td><td><span class="dw-cell-label">Balance check and next action</span><p>Balances missing; difference <strong>not assessed</strong>.</p><p>Obtain the ledger extract and supporting schedule; difference not assessed.</p></td></tr></tbody></table>
<p>The UK bank balance matches, but its review is still overdue. DE intercompany combines an overdue review with an unresolved difference. Payroll is not overdue yet, but missing inputs need attention before its deadline.</p>
<p>The absolute unresolved differences total <strong>£14,000</strong>: £2,000 plus £12,000. Netting them gives £10,000 and obscures the two issues. This is an exception measure, not a loss estimate or proposed journal. Payroll’s unknown difference is excluded from the amount and shown separately as missing data.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_9 dn-finance-article et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="exceptions" class="et_pb_row et_pb_row_9 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_10  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_10  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">06 · Turn visibility into action</p><h2>Give every exception a next step</h2>
<p>For each exception, capture a reason, current owner, next action, target date and escalation route. Distinguish missing evidence, unresolved differences, mapping problems, workflow failures and overdue reviews. They should not all become an unexplained red indicator.</p>
<p>Prioritise using business impact, value, age and the close deadline. A matching balance awaiting review may need reviewer capacity; missing payroll inputs may need the source owner. Configure reminders and escalations in the agreed workflow where needed, and record reassignment and return decisions.</p>
<p>Test access for the intended finance audiences. <a href="https://learn.microsoft.com/en-us/fabric/security/service-admin-row-level-security">Row-level security</a> can restrict report data, but report access and authority to approve are separate controls. Check the linked app and evidence permissions as well.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_10 dn-finance-article et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="client-evidence" class="et_pb_row et_pb_row_10 dw-native-row dw-case-grid">
				<div class="et_pb_column et_pb_column_2_3 et_pb_column_11  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_11  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Relevant client evidence</p><h2>Reporting needs process knowledge and continuity</h2>
<p>Denova’s global finance-team case study describes recurring monthly finance and commercial reporting, dashboard development, data-quality work and a bespoke balance-sheet reconciliation tool. It also explains how colleagues built knowledge of the client’s reporting cycles through continuing involvement.</p>
<p>A separate <a href="https://denovaltd.com/how-an-embedded-developer-helped-a-global-vat-team-rebuild-vat-workflow-management-on-power-platform/">VAT workflow case study</a> explicitly includes a Power BI report for task-status visibility within a solution using Power Apps, Power Automate and SharePoint. The team mapped the workflow and adjusted it as testing revealed additional cases.</p>
<p>These examples support the connection between finance reporting, workflow and operational ownership. The six-task example above is independent of both engagements.</p></div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_3 et_pb_column_12 dw-home-card  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_12 dw-home-banner  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Client story · Finance &amp; Data</p><h3>Lasting finance capability</h3><p>Reporting, reconciliation and knowledge of recurring finance processes.</p></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_13 dw-home-body  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>Read how an ongoing engagement combined monthly reporting responsibilities with dashboards, a reconciliation tool and improvement work.</p></div>
			</div><div class="et_pb_button_module_wrapper et_pb_button_0_wrapper et_pb_button_alignment_left et_pb_module ">
				<a class="et_pb_button et_pb_button_0 dw-home-button et_pb_bg_layout_light" href="https://denovaltd.com/how-a-global-finance-team-built-lasting-capability-with-denova/">Read Case Study</a>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_11 dn-finance-article et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="acceptance" class="et_pb_row et_pb_row_11 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_13  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_14  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Copy into your project brief</p><h2>Agree acceptance before the first live close</h2>
<p>Test a returned item, a resubmission, a late approval, a reopened task, a missing balance and a stale source. Confirm both the totals and the action queues with the people who will use them. The worked example can serve as a small test dataset with known answers.</p>
<div class="dw-checklist">☐ Finance owner, preparer, reviewer, current action owner and deputies agreed.
☐ In-scope task population, exclusions and completion denominator defined.
☐ Status transitions, returns and reopening rules documented.
☐ Ageing clocks, due times, time zone and business calendar agreed.
☐ Balances aligned by entity, account, period, currency and cut-off.
☐ Differences, tolerances, missing data and exception rules approved.
☐ Source freshness, retained history and prior-period views tested.
☐ Report, workflow and evidence access checked for intended users.
☐ Each exception has an owner, next action and escalation route.
☐ Totals, task counts, approvals and refresh behaviour validated by finance.</div>
<p>Use our <a href="https://denovaltd.com/power-bi-dashboard-report-development-guide/">Power BI reporting brief guide</a> to develop the detailed requirements, and the <a href="https://denovaltd.com/power-bi-support-services/">support services guide</a> to agree ownership after handover.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_12 dn-finance-article dw-cta et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_12 dw-native-row">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_14  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_15  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Plan the next step</p>

<h2>Build reporting around your finance process</h2>
Start with one reporting cycle, its owners and the decisions that need better information. Explore Denova’s <a href="https://denovaltd.com/power-bi-consulting-services/">Power BI consulting services</a> or discuss how month-end and approval reporting could fit your sources, systems and ways of working.</div>
			</div><div class="et_pb_button_module_wrapper et_pb_button_1_wrapper et_pb_button_alignment_left et_pb_module ">
				<a class="et_pb_button et_pb_button_1 dw-button et_pb_bg_layout_light" href="https://denovaltd.com/contact/">Discuss Your Requirements</a>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><p>The post <a href="https://denovaltd.com/power-bi-finance-teams-month-end-approval-reporting/">Power BI for Finance Teams: Designing Month-End and Approval Reporting</a> first appeared on <a href="https://denovaltd.com">denovaltd.com</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://denovaltd.com/power-bi-finance-teams-month-end-approval-reporting/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to Work with Denova: Procurement, Data and the Right Delivery Model</title>
		<link>https://denovaltd.com/how-to-work-with-denova-procurement-data-and-the-right-delivery-model/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-to-work-with-denova-procurement-data-and-the-right-delivery-model</link>
					<comments>https://denovaltd.com/how-to-work-with-denova-procurement-data-and-the-right-delivery-model/#respond</comments>
		
		<dc:creator><![CDATA[Josh Ryan]]></dc:creator>
		<pubDate>Wed, 30 Sep 2026 09:34:35 +0000</pubDate>
				<category><![CDATA[Broad]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[Embedded Delivery]]></category>
		<guid isPermaLink="false">https://denovaltd.com/?p=117555</guid>

					<description><![CDATA[<p>Explore Denova’s Procurement &#038; S2P and Data &#038; BI expertise, with embedded delivery, managed services and projects shaped around your team’s needs.</p>
<p>The post <a href="https://denovaltd.com/how-to-work-with-denova-procurement-data-and-the-right-delivery-model/">How to Work with Denova: Procurement, Data and the Right Delivery Model</a> first appeared on <a href="https://denovaltd.com">denovaltd.com</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_13 dn-work et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_13 dw-native-row dw-hero-grid">
				<div class="et_pb_column et_pb_column_2_3 et_pb_column_15  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_code et_pb_code_1 dw-native-css">
				
				
				
				
				<div class="et_pb_code_inner"><style>

body.postid-117555 #main-content>.container{width:100%;max-width:none;padding-top:0}body.postid-117555 #left-area{width:100%;padding:0;float:none}body.postid-117555 #main-content .container:before{display:none}body.postid-117555 #sidebar,body.postid-117555 .et_post_meta_wrapper,body.postid-117555 #comment-wrap{display:none}body.postid-117555 .et_pb_post{margin-bottom:0;padding-bottom:0}
.dn-work{--ink:#223b2e;--green:#426854;--mint:#edf4ef;--line:#d7e1d8;font-family:'Open Sans',Arial,sans-serif;color:#29382f;font-size:18px;line-height:1.8;background:#fff}.dn-work *{box-sizing:border-box}.dn-work .dw-wide{width:88%;max-width:1200px;margin:auto}.dn-work .dw-reading{width:88%;max-width:820px;margin:auto}.dn-work p{padding:0;margin:0 0 20px}.dn-work h1,.dn-work h2{font-family:'Roboto Mono',monospace;font-weight:700;color:var(--ink);padding:0;letter-spacing:-.035em;line-height:1.25}.dn-work h1{font-size:46px;margin:24px 0}.dn-work h2{font-size:32px;margin:0 0 24px}.dn-work h3{font-family:'Open Sans',Arial,sans-serif;font-size:23px;font-weight:700;line-height:1.35;color:var(--ink);padding:0;margin:0 0 14px}.dn-work a{color:#345d47;text-decoration:underline;text-underline-offset:4px}.dn-work a:hover{color:#142d20}.dn-work a:focus-visible{outline:3px solid #42795b;outline-offset:5px}.dn-work .dw-eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.6;color:#476652;margin:0 0 16px}.dn-work .dw-hero{background:var(--mint);border-bottom:1px solid var(--line);padding:58px 0 62px}.dn-work .dw-hero-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:64px;align-items:center}.dn-work .dw-breadcrumb{font-size:13px;margin-bottom:32px}.dn-work .dw-dek{font-size:21px;line-height:1.65;max-width:690px}.dn-work .dw-meta{font-size:13px;color:#5a665e;margin:24px 0}.dn-work .dw-quick{background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:0 12px 26px #17382408}.dn-work .dw-quick h2{font-size:25px;letter-spacing:-.02em}.dn-work .dw-quick ol{padding:0;list-style:none;margin:0}.dn-work .dw-quick li{border-top:1px solid var(--line);padding:15px 0;font-size:15px;line-height:1.6}.dn-work .dw-quick li strong{display:block;font-size:17px;color:var(--ink);margin-bottom:4px}.dn-work .dw-toc{margin:48px auto 42px;padding:24px 30px;background:#f7f9f5;border:1px solid var(--line);border-radius:15px}.dn-work .dw-toc nav{display:flex;flex-wrap:wrap;gap:12px 26px;font-size:15px}.dn-work .dw-toc .dw-eyebrow{margin-bottom:12px}.dn-work .dw-section{padding:20px 0 42px;scroll-margin-top:130px}.dn-work .dw-intro{font-size:20px}.dn-work .dw-two{display:grid;grid-template-columns:1fr 1fr;gap:24px}.dn-work .dw-card{border:1px solid var(--line);border-radius:16px;padding:28px;background:#f8faf7}.dn-work .dw-card p{font-size:16px;line-height:1.75}.dn-work .dw-card p:last-child{margin-bottom:0}.dn-work .dw-card ul{padding-left:20px;margin:0 0 22px;font-size:16px;line-height:1.7}.dn-work .dw-card li{margin:8px 0}.dn-work .dw-note{border-left:4px solid #6da988;background:#f3f7f1;padding:24px 28px;margin:24px 0;font-size:17px}.dn-work .dw-note p:last-child{margin:0}.dn-work .dw-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.dn-work .dw-models{padding:28px 0 44px}.dn-work .dw-models .dw-card{background:white}.dn-work .dw-number{display:block;color:#618b70;font-family:'Roboto Mono',monospace;font-size:14px;font-weight:700;margin-bottom:18px}.dn-work .dw-models h3{font-size:24px}.dn-work .dw-choice{font-size:16px;margin:0 0 16px}.dn-work .dw-rule{border-top:1px solid var(--line);padding-top:18px!important}.dn-work .dw-benefits{margin:30px 0}.dn-work .dw-benefits h3{font-size:21px}.dn-work .dw-model-section{border-top:1px solid var(--line);padding-top:42px}.dn-work .dw-case-strip{background:#f7f8f5;padding:56px 0}.dn-work .dw-case-strip .dw-card{background:#fff;display:flex;flex-direction:column}.dn-work .dw-case-strip h3{font-size:22px}.dn-work .dw-case-strip .dw-card>a{font-weight:700;font-size:15px;margin-top:auto}.dn-work .dw-case-strip .dw-eyebrow{font-size:11px}.dn-work .dw-cta{background:#143425;padding:58px 0;color:#edf4ef}.dn-work .dw-cta h2{color:#fff}.dn-work .dw-cta .dw-eyebrow{color:#b6d8c3}.dn-work .dw-cta p{max-width:780px}.dn-work .dw-button{display:inline-block;border-radius:30px;padding:14px 24px;background:linear-gradient(120deg,#426b53,#15251c);color:#fff;text-decoration:none;font-size:16px;font-weight:600}.dn-work .dw-button:hover{color:#fff;background:#244b34}.dn-work .dw-cta .dw-button{background:#e3f0e6;color:#173d25}.dn-work .dw-small{font-size:15px;line-height:1.75}.dn-work .dw-questions{padding-left:22px;margin:0 0 24px}.dn-work .dw-questions li{padding:4px 0}
@media(max-width:980px){.dn-work .dw-hero-grid{grid-template-columns:1fr;gap:30px}.dn-work h1{font-size:38px}.dn-work .dw-three{grid-template-columns:1fr}.dn-work .dw-quick{max-width:none}.dn-work .dw-hero{padding:36px 0 44px}.dn-work .dw-models{padding-top:0}}
@media(max-width:600px){.dn-work{font-size:17px}.dn-work h1{font-size:32px}.dn-work h2{font-size:27px}.dn-work .dw-wide,.dn-work .dw-reading{width:88%}.dn-work .dw-two{grid-template-columns:1fr}.dn-work .dw-card,.dn-work .dw-quick{padding:24px}.dn-work .dw-toc{padding:22px;margin-top:30px}.dn-work .dw-toc nav{display:grid;gap:12px}.dn-work .dw-dek,.dn-work .dw-intro{font-size:19px}.dn-work .dw-case-strip,.dn-work .dw-cta{padding:40px 0}.dn-work .dw-section{padding-bottom:28px}.dn-work .dw-note{padding:20px}.dn-work .dw-breadcrumb{margin-bottom:24px}}
body.postid-117555 .entry-content{padding-top:0}.dn-work .dw-quick ol,.dn-work .dw-quick li{list-style:none!important}.dn-work .dw-quick li::marker{content:""}.dn-work .dw-hero-grid{align-items:start}.dn-work.et_pb_section{font-size:18px;line-height:1.8}.dn-work .dw-native-row{padding:0}.dn-work .dw-native-row .et_pb_column{margin:0!important;width:auto!important;float:none}.dn-work .dw-native-row .et_pb_text{margin-bottom:0}.dn-work .dw-native-row .et_pb_text_inner{font-size:inherit;line-height:inherit}.dn-work .dw-hero-grid{display:grid!important;grid-template-columns:1.7fr 1fr;gap:64px}.dn-work .dw-native-two{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.dn-work .dw-native-three{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.dn-work .dw-native-row:after{display:none}.dn-work .dw-card{height:100%}.dn-work .dw-native-two>.et_pb_column,.dn-work .dw-native-three>.et_pb_column{height:100%}.dn-work .dw-native-heading{margin-bottom:24px!important}.dn-work .dw-native-spacer{margin-top:24px!important}.dn-work .dw-native-row.dw-native-spacer{margin-top:24px!important}.dn-work .dw-toc{margin:0!important}.dn-work.dw-native-cta{color:#edf4ef}.dn-work.dw-native-cta h2{color:#fff}.dn-work.dw-native-cta .dw-eyebrow{color:#b6d8c3}.dn-work.dw-native-cta .et_pb_text_inner{color:#edf4ef}.dn-work .dw-native-css{display:none}.dn-work .dw-native-case .dw-card{background:#fff}.dn-work .dw-native-case .dw-card h3{font-size:22px}.dn-work .dw-native-case .dw-card a{font-weight:700}.dn-work .dw-native-case .dw-eyebrow{font-size:11px}.dn-work .dw-native-models .dw-card{background:#fff}.dn-work .dw-native-models h3{font-size:24px}@media(max-width:980px){.dn-work .dw-hero-grid,.dn-work .dw-native-three{grid-template-columns:1fr;gap:24px}.dn-work .dw-native-row .et_pb_column{margin-bottom:0!important}}@media(max-width:600px){.dn-work.et_pb_section{font-size:17px}.dn-work .dw-native-two{grid-template-columns:1fr}.dn-work .dw-native-row{width:88%!important}.dn-work .dw-card,.dn-work .dw-quick{padding:24px}}
.dn-work.et_pb_section .et_pb_text h2{font-size:32px;line-height:1.4}.dn-work.et_pb_section .dw-quick h2{font-size:25px}@media(max-width:600px){.dn-work.et_pb_section .et_pb_text h2{font-size:27px}.dn-work.et_pb_section .dw-quick h2{font-size:25px}}

/* Consistent article alignment and card rhythm */
.dn-work.et_pb_section .dw-native-row{width:88%!important;max-width:1200px!important;margin-left:auto!important;margin-right:auto!important}
.dn-work .dw-native-row>.et_pb_column{min-width:0}
.dn-work.et_pb_section .et_pb_text{width:100%;max-width:none}
.dn-work .dw-native-row>.et_pb_column_4_4>.et_pb_text{max-width:820px}
.dn-work .dw-native-row>.et_pb_column_4_4>.dw-native-heading{max-width:100%}
.dn-work .dw-native-row>.et_pb_column_4_4>.dw-toc{max-width:100%}
.dn-work .dw-native-heading .et_pb_text_inner>p:not(.dw-eyebrow){max-width:820px}
.dn-work .et_pb_text_inner>p:last-child,.dn-work .et_pb_text_inner>h2:last-child{margin-bottom:0}
.dn-work .dw-native-heading{margin-bottom:28px!important}
.dn-work .dw-native-row.dw-native-spacer{margin-top:32px!important}
.dn-work .et_pb_text_inner>p:empty{display:none}
.dn-work .dw-card{display:flex;flex-direction:column}
.dn-work .dw-card>.et_pb_text_inner{display:flex;flex:1;flex-direction:column;width:100%}
.dn-work .dw-card .et_pb_text_inner>p:last-child:has(a){margin-top:auto;margin-bottom:0}
.dn-work .dw-card .et_pb_text_inner>ul{padding:0 0 0 20px;margin:0 0 22px}
.dn-work .dw-card .et_pb_text_inner>p.dw-eyebrow{font-size:11px;line-height:1.6}
.dn-work .dw-note{margin-top:28px!important}
.dn-work .dw-native-row[id]{scroll-margin-top:120px}
@media(min-width:981px){.dn-work .dw-native-models .dw-choice{min-height:3.5em}.dn-work .dw-native-case .dw-eyebrow{min-height:3.2em}}
@media(max-width:980px){.dn-work .dw-native-two{grid-template-columns:1fr}.dn-work .dw-card{height:auto}.dn-work .dw-native-two>.et_pb_column,.dn-work .dw-native-three>.et_pb_column{height:auto}.dn-work .dw-card .et_pb_text_inner>p:last-child:has(a){margin-top:4px}}
@media(max-width:600px){.dn-work.et_pb_section{padding-top:36px!important;padding-bottom:36px!important}.dn-work .dw-native-heading{margin-bottom:24px!important}.dn-work .dw-native-row.dw-native-spacer{margin-top:24px!important}.dn-work .dw-toc{padding:24px}.dn-work .dw-native-row[id]{scroll-margin-top:90px}}


/* Homepage card design, using native Divi text and button modules */
.dn-work .dw-home-cards>.dw-home-card{display:flex;flex-direction:column;height:auto!important;align-self:stretch;padding:20px;background:#f5f7f7;border:1px solid #cfd1d2;border-radius:20px;overflow:hidden}
.dn-work.et_pb_section .dw-home-banner{padding:20px 14px!important;border-radius:10px;overflow:hidden;min-height:184px;margin-bottom:18px!important;background-size:cover;background-position:center}
.dn-work .dw-home-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(239,246,243,.82),rgba(239,246,243,.94));pointer-events:none}
.dn-work .dw-home-banner>.et_pb_text_inner{position:relative;z-index:1}
.dn-work .dw-home-banner h3{font-family:'Roboto Mono',monospace;font-size:26px;line-height:1.35;letter-spacing:-.035em;color:#282829;margin-bottom:14px}
.dn-work .dw-home-banner p{font-size:14px;line-height:1.65;color:#4b5d54;margin:0}
.dn-work .dw-home-stories .dw-home-banner{min-height:212px}
.dn-work.et_pb_section .dw-home-body{font-size:16px;line-height:1.75;margin-bottom:22px!important}
.dn-work .dw-home-body p{font-size:16px;line-height:1.75}
.dn-work .dw-home-card .dw-home-button{margin-top:auto!important;padding-top:8px}
.dn-work .dw-home-card .et_pb_button.dw-home-button{background:linear-gradient(204deg,#0a0707 0%,#306d53 98%)!important;color:#fff!important;border:0!important;border-radius:32px;padding:8px 18px!important;font-size:15px!important;line-height:1.5!important;text-decoration:none;font-weight:400;letter-spacing:0;box-shadow:0 3px 9px #18372912}
.dn-work .dw-home-card .et_pb_button.dw-home-button:after{display:none!important}
.dn-work .dw-home-card .et_pb_button.dw-home-button:hover{background:linear-gradient(204deg,#163c29,#427e5d)!important}
.dn-work .dw-quote-grid>.et_pb_column{display:flex}
.dn-work.et_pb_section .dw-client-quote{display:flex;flex-direction:column;width:100%;height:100%;padding:32px;background:linear-gradient(292deg,rgba(73,143,131,.45),#fff 82%);border:1px solid #d7e1d8;border-radius:20px}
.dn-work .dw-client-quote>.et_pb_text_inner{display:flex;flex-direction:column;height:100%;width:100%}
.dn-work .dw-client-quote blockquote{border:0;margin:0 0 28px;padding:0;font-size:18px;font-style:italic;line-height:1.8;color:#29382f}
.dn-work .dw-client-quote blockquote p{margin:0;font-size:18px;line-height:1.8}
.dn-work .dw-client-quote .dw-quote-credit{margin-top:auto;margin-bottom:0;font-size:15px;line-height:1.65;color:#223b2e}
@media(min-width:981px) and (max-width:1200px){.dn-work .dw-home-banner h3{font-size:23px}.dn-work .dw-home-banner{min-height:206px}.dn-work .dw-home-stories .dw-home-banner{min-height:242px}.dn-work .dw-home-card .et_pb_button.dw-home-button{font-size:14px!important}}
@media(max-width:980px){.dn-work.et_pb_section .dw-home-banner,.dn-work .dw-home-stories .dw-home-banner{min-height:0;padding:24px 20px!important}.dn-work .dw-home-banner h3{font-size:28px}.dn-work .dw-client-quote{height:auto}}
@media(max-width:600px){.dn-work .dw-home-cards>.dw-home-card{padding:16px}.dn-work.et_pb_section .dw-home-banner,.dn-work .dw-home-stories .dw-home-banner{padding:24px 16px!important}.dn-work .dw-home-banner h3{font-size:26px}.dn-work.et_pb_section .dw-client-quote{padding:26px}.dn-work .dw-client-quote blockquote,.dn-work .dw-client-quote blockquote p{font-size:17px}.dn-work .dw-toc nav{gap:12px}}


.dn-work .dw-home-card>.et_pb_button_module_wrapper{margin-top:auto!important}
.dn-work .dw-home-delivery .dw-home-body{display:flex;flex:1}
.dn-work .dw-home-delivery .dw-home-body>.et_pb_text_inner{display:flex;flex-direction:column;width:100%}
.dn-work .dw-home-delivery .dw-home-body .et_pb_text_inner>p:last-child{margin-top:auto}
.dn-work.et_pb_section.dw-client-quotes .dw-native-heading h2{font-family:'Roboto Mono',monospace;font-weight:700}.dn-work .dw-client-quote blockquote,.dn-work .dw-client-quote blockquote p{font-family:'Open Sans',Arial,sans-serif;font-weight:400;color:#29382f}

/* Relevant case study beside the embedded-delivery introduction */
.dn-work .dw-embedded-feature{display:grid!important;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:44px;align-items:start}
.dn-work .dw-embedded-feature>.dw-home-card{align-self:start}
.dn-work .dw-embedded-feature .dw-home-banner{min-height:176px}
.dn-work .dw-embedded-feature .dw-home-banner h3{font-size:25px}
@media(max-width:1100px){.dn-work .dw-embedded-feature{grid-template-columns:1fr;gap:28px}.dn-work .dw-embedded-feature>.dw-home-card{max-width:600px}.dn-work .dw-embedded-feature .dw-home-banner{min-height:0}}
@media(max-width:600px){.dn-work .dw-embedded-feature{gap:24px}.dn-work .dw-embedded-feature>.dw-home-card{max-width:none}}
</style></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_16  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-breadcrumb"><a href="https://denovaltd.com/blog/">Insights</a>  /  Working with Denova</p>
<p class="dw-eyebrow">Procurement &amp; S2P · Data &amp; BI</p>
<h1>How to work<br />with Denova</h1>
<p class="dw-dek">Practical expertise. Flexible delivery. Support shaped around the work your team needs to get done.</p>
<p class="dw-meta">Two service areas  ·  Three delivery models  ·  7 minute read</p>
<p><a href="#service-areas">Explore your options ↓</a></p></div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_3 et_pb_column_16  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_17 dw-quick  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Start with your needs</p><h2>What needs to move forward?</h2><ol><li><strong>Add expertise to your team</strong>Embedded colleagues, working to your priorities.</li><li><strong>Give recurring work clear ownership</strong>A managed service with agreed responsibilities.</li><li><strong>Deliver a defined improvement</strong>A project with clear scope and milestones.</li></ol></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_14 dn-work et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_14 dw-native-row">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_17  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_18 dw-toc  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">In this article</p><nav aria-label="Article contents"><a href="#service-areas">Our expertise</a><a href="#delivery-models">Three ways to work together</a><a href="#embedded-delivery">Embedded delivery in practice</a><a href="#client-stories">Client stories</a><a href="#client-feedback">Client feedback</a><a href="#choosing-support">Choosing your support</a></nav></div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_15 dw-native-row dw-native-spacer">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_18  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_19 dw-intro  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>A procurement team needs capacity to keep sourcing and supplier activity moving. A data team needs dependable reporting while it improves the systems behind it. A transformation programme needs specialist delivery without pulling people away from essential operations.</p><p>These situations call for the right expertise and a practical way to bring it into the business. Denova supports two connected service areas: <strong>Procurement &amp; S2P</strong> and <strong>Data &amp; BI</strong>. You can access that expertise through embedded delivery, managed services or defined projects.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_15 dn-work et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="service-areas" class="et_pb_row et_pb_row_16 dw-native-row">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_19  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_20 dw-native-heading  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">01 / Our expertise</p><h2>Two service areas, connected by the work</h2></div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_17 dw-native-row dw-native-two">
				<div class="et_pb_column et_pb_column_1_2 et_pb_column_20  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_21 dw-card  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3>Procurement &amp; S2P</h3><p>Keep everyday procurement moving while improving processes, systems and supplier relationships.</p><ul><li>Source-to-Pay operations and platform support</li><li>Strategic sourcing and contract management</li><li>Supplier management and third-party risk</li><li>Transformation, testing and adoption</li></ul><p><a href="https://denovaltd.com/procurement-s2p/">Explore Procurement &amp; S2P →</a></p></div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_2 et_pb_column_21  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_22 dw-card  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3>Data &amp; BI</h3><p>Build clearer reporting, stronger data foundations and more efficient ways of working.</p><ul><li>Power BI dashboards and business reporting</li><li>Data engineering, integration and migration</li><li>Data governance and quality</li><li>Systems administration and workflow automation</li></ul><p><a href="https://denovaltd.com/data-bi-services/">Explore Data &amp; BI →</a></p></div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_18 dw-native-row dw-native-spacer">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_22  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_23  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>These capabilities often work together. Improving procurement reporting may require both an understanding of purchasing processes and the skills to connect data, define measures and build a useful dashboard.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_16 dn-work et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="delivery-models" class="et_pb_row et_pb_row_19 dw-native-row">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_23  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_24 dw-native-heading  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">02 / How we work</p><h2>Three ways to bring expertise into your business</h2></div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_20 dw-native-row dw-native-three dw-home-cards dw-home-delivery">
				<div class="et_pb_column et_pb_column_1_3 et_pb_column_24 dw-home-card  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_25 dw-home-banner  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3>Embedded Delivery</h3><p><em><strong>Specialist capacity, embedded in your team</strong></em></p></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_26 dw-home-body  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>You set day-to-day priorities. Denova colleagues work alongside your people, with training, mentoring and performance management from Denova.</p><p><strong>Useful when:</strong> priorities evolve, a team needs continuing support, or a skills gap is holding work back.</p></div>
			</div><div class="et_pb_button_module_wrapper et_pb_button_2_wrapper et_pb_button_alignment_left et_pb_module ">
				<a class="et_pb_button et_pb_button_2 dw-home-button et_pb_bg_layout_light" href="https://denovaltd.com/embedded-delivery/">Explore Embedded Delivery</a>
			</div>
			</div><div class="et_pb_column et_pb_column_1_3 et_pb_column_25 dw-home-card  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_27 dw-home-banner  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3>Managed Services</h3><p><em><strong>Defined activities, managed by Denova</strong></em></p></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_28 dw-home-body  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>Denova manages defined activities against agreed responsibilities and performance measures, with regular reporting and service reviews.</p><p><strong>Useful when:</strong> recurring work needs a reliable service structure and continuing improvement.</p></div>
			</div><div class="et_pb_button_module_wrapper et_pb_button_3_wrapper et_pb_button_alignment_left et_pb_module ">
				<a class="et_pb_button et_pb_button_3 dw-home-button et_pb_bg_layout_light" href="https://denovaltd.com/managed-services/">Explore Managed Services</a>
			</div>
			</div><div class="et_pb_column et_pb_column_1_3 et_pb_column_26 dw-home-card  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_29 dw-home-banner  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3>Project Delivery</h3><p><em><strong>Specialist expertise for a defined outcome</strong></em></p></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_30 dw-home-body  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>We agree scope, deliverables, responsibilities and milestones, then deliver and validate the work with your team.</p><p><strong>Useful when:</strong> you need a dashboard, integration, process improvement or system implementation delivered.</p></div>
			</div><div class="et_pb_button_module_wrapper et_pb_button_4_wrapper et_pb_button_alignment_left et_pb_module ">
				<a class="et_pb_button et_pb_button_4 dw-home-button et_pb_bg_layout_light" href="https://denovaltd.com/project-delivery/">Explore Project Delivery</a>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_17 dn-work et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="embedded-delivery" class="et_pb_row et_pb_row_21 dw-native-row dw-home-cards dw-embedded-feature">
				<div class="et_pb_column et_pb_column_2_3 et_pb_column_27  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_31  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">03 / Embedded delivery in practice</p><h2>Specialist colleagues, backed by an ongoing team</h2><p>When a team needs help, organisations often turn to the contractor market. An experienced contractor can bring valuable skills, but the client may still need to source candidates, assess capability, negotiate terms and repeat onboarding when assignments end or requirements change. Knowledge and continuity can become closely tied to one person.</p><p>Through embedded delivery, sometimes called Colleague-as-a-Service, full-time Denova employees work within your team and systems. Their training, development and connection to the wider Denova team continue throughout the engagement.</p></div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_3 et_pb_column_28 dw-home-card  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_32 dw-home-banner  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3>SAP Ariba support</h3><p><em><strong>Specialist expertise inside the client team</strong></em></p></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_33 dw-home-body  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>An embedded specialist improved approval workflows, automated supplier surveys and trained the client team, with <strong>shadow-buddy cover</strong>. Supplier onboarding turnaround fell by an average of <strong>39%</strong>.</p></div>
			</div><div class="et_pb_button_module_wrapper et_pb_button_5_wrapper et_pb_button_alignment_left et_pb_module ">
				<a class="et_pb_button et_pb_button_5 dw-home-button et_pb_bg_layout_light" href="https://denovaltd.com/how-did-an-embedded-expert-unlock-more-from-sap-ariba/">Read the Ariba case study</a>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_22 dw-native-row dw-native-two dw-native-spacer">
				<div class="et_pb_column et_pb_column_1_2 et_pb_column_29  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_34 dw-card  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3>More consistent quality</h3><p>Training, mentoring, performance management and continuing development give colleagues support beyond an individual assignment. We invest in their capability over time, helping maintain delivery standards as the work evolves.</p></div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_2 et_pb_column_30  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_35 dw-card  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3>Greater continuity</h3><p>For agreed roles, a shadow buddy learns the relevant processes and responsibilities alongside the primary colleague. Preparing someone before cover is needed reduces dependence on one person and supports continuity through absence or departure.</p></div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_23 dw-native-row dw-native-two dw-native-spacer">
				<div class="et_pb_column et_pb_column_1_2 et_pb_column_31  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_36 dw-card  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3>A faster route to onboarding</h3><p>Where suitable skills are available on our existing bench or through established talent pools, we can shorten sourcing and assessment. Timing depends on the requirement and availability; client access, induction and business context still need to be agreed.</p></div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_2 et_pb_column_32  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_37 dw-card  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3>Less hiring complexity</h3><p>You work with Denova to agree the skills, scope and support needed. We manage recruitment, employment and ongoing development, reducing the work involved in assembling and maintaining separate contractor arrangements.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_18 dn-work et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="managed-services" class="et_pb_row et_pb_row_24 dw-native-row">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_33  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_38  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">04 / Managed services</p><h2>When you want an area of work managed</h2><p>A managed service is useful when the requirement is a recurring activity with clear responsibilities and measures of performance. Examples include procurement administration, supplier onboarding, platform support or regular reporting.</p><p>We agree the service scope, delivery responsibilities, escalation routes and review cycle. Denova then manages the agreed work, with visibility of performance and priorities for improvement. Your team retains the business decisions and approvals defined in the arrangement.</p><p>This suits organisations that want an agreed service managed on their behalf, with less day-to-day coordination of individual tasks.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_19 dn-work et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="project-delivery" class="et_pb_row et_pb_row_25 dw-native-row">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_34  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_39  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">05 / Project delivery</p><h2>When there is a defined outcome to deliver</h2><p>Some needs have a clear destination: a reporting dashboard, an automated workflow, a data migration or an improvement to a procurement platform.</p><p>Project delivery brings specialist expertise to a defined scope. We agree the deliverables, milestones, dependencies and acceptance criteria, then build and validate the solution with your team. Documentation, handover and any continuing support are considered as part of the engagement.</p><p>Models can also combine. An embedded colleague may identify an improvement that becomes a defined project; an agreed managed service may support the resulting process. The responsibilities and commercial scope are agreed for each part.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_20 dn-work et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="client-stories" class="et_pb_row et_pb_row_26 dw-native-row">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_35  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_40 dw-native-heading  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">06 / Denova in practice</p><h2>See how the support works in real organisations</h2><p>These engagements show how specialist delivery and continuing business knowledge can develop together.</p></div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_27 dw-native-row dw-native-three dw-home-cards dw-home-stories">
				<div class="et_pb_column et_pb_column_1_3 et_pb_column_36 dw-home-card  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_41 dw-home-banner  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3>UK Financial Services</h3><p><em><strong>Flexible procurement capacity with continuity built in</strong></em></p></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_42 dw-home-body  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>Ongoing <strong>S2P and supplier management</strong> support, extra capacity around quarter-end, and <strong>shadow buddies</strong> prepared to cover selected roles.</p></div>
			</div><div class="et_pb_button_module_wrapper et_pb_button_6_wrapper et_pb_button_alignment_left et_pb_module ">
				<a class="et_pb_button et_pb_button_6 dw-home-button et_pb_bg_layout_light" href="https://denovaltd.com/how-denova-helped-a-procurement-team-flex-capacity-and-strengthen-delivery-resilience/">Read Case Study</a>
			</div>
			</div><div class="et_pb_column et_pb_column_1_3 et_pb_column_37 dw-home-card  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_43 dw-home-banner  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3>Global Pharmaceutical</h3><p><em><strong>Reporting capability that builds over time</strong></em></p></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_44 dw-home-body  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>Across approximately <strong>two years</strong>, Denova colleagues supported <strong>dashboards, automation and recurring reporting</strong>, combining embedded support with project delivery.</p></div>
			</div><div class="et_pb_button_module_wrapper et_pb_button_7_wrapper et_pb_button_alignment_left et_pb_module ">
				<a class="et_pb_button et_pb_button_7 dw-home-button et_pb_bg_layout_light" href="https://denovaltd.com/how-a-global-finance-team-built-lasting-capability-with-denova/">Read Case Study</a>
			</div>
			</div><div class="et_pb_column et_pb_column_1_3 et_pb_column_38 dw-home-card  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_45 dw-home-banner  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3>Global Cyber Security</h3><p><em><strong>Adapting support while retaining business knowledge</strong></em></p></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_46 dw-home-body  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>Colleagues returned with <strong>knowledge of the business</strong> as budgets and needs changed. Delivery included Zip improvements and clearing <strong>more than 200 unresolved AP tickets</strong>.</p></div>
			</div><div class="et_pb_button_module_wrapper et_pb_button_8_wrapper et_pb_button_alignment_left et_pb_module ">
				<a class="et_pb_button et_pb_button_8 dw-home-button et_pb_bg_layout_light" href="https://denovaltd.com/how-a-global-business-flexed-procurement-and-finance-support-while-retaining-valuable-knowledge/">Read Case Study</a>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_21 dn-work dw-client-quotes et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="client-feedback" class="et_pb_row et_pb_row_28 dw-native-row">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_39  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_47 dw-native-heading  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">07 / Client feedback</p><h2>What our clients say</h2></div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_29 dw-native-row dw-native-two dw-quote-grid">
				<div class="et_pb_column et_pb_column_1_2 et_pb_column_40  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_48 dw-client-quote  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><blockquote><p>“Denova has been a great partner in helping us modernize Procurement and accelerate our shift from long manual processes to intelligent, AI-enabled workflows. They understand what it takes to operate a lean procurement function, think ahead, and have helped us move faster than we could have on our own.”</p></blockquote><p class="dw-quote-credit"><strong>Erin Allan</strong><br>Global Procurement, HackerOne</p></div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_2 et_pb_column_41  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_49 dw-client-quote  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><blockquote><p>“Working with Josh and Edi has been a genuine pleasure. Their deep knowledge of Source to Pay processes and Project Management, allied with their attitude to always get things done to a high standard, on time and on budget, provides a level of quality assurance that is hard to find.”</p></blockquote><p class="dw-quote-credit"><strong>Jon Clarke</strong><br>Global Procurement Director, Kantar</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_22 dn-work et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="choosing-support" class="et_pb_row et_pb_row_30 dw-native-row">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_42  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_50  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">08 / Choosing your support</p><h2>Start with the work you need to get done</h2><p>You do not need to arrive with a delivery model already chosen. Start with three questions:</p><ul class="dw-questions"><li><strong>What needs attention?</strong> The activities, systems, data or outcomes that require support.</li><li><strong>Where should day-to-day ownership sit?</strong> Within your team, with Denova managing a service, or within a defined project.</li><li><strong>What needs to flex?</strong> Workload, specialist skills, timescales or continuity around important roles.</li></ul><p>We use that discussion to agree the expertise, responsibilities and delivery approach that fit your organisation, with room to adapt as priorities change.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_23 dn-work dw-native-cta et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_31 dw-native-row">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_43  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_51  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Let’s talk</p><h2>What does your team need to move forward?</h2><p>Tell us about your procurement or data priorities, the systems you use and the work you need to deliver. We’ll help you find the right support.</p></div>
			</div><div class="et_pb_button_module_wrapper et_pb_button_9_wrapper et_pb_button_alignment_left et_pb_module ">
				<a class="et_pb_button et_pb_button_9 et_pb_bg_layout_light" href="https://denovaltd.com/contact/">Discuss your requirements</a>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><p>The post <a href="https://denovaltd.com/how-to-work-with-denova-procurement-data-and-the-right-delivery-model/">How to Work with Denova: Procurement, Data and the Right Delivery Model</a> first appeared on <a href="https://denovaltd.com">denovaltd.com</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://denovaltd.com/how-to-work-with-denova-procurement-data-and-the-right-delivery-model/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How an Embedded Developer Helped a Global VAT Team Rebuild VAT Workflow Management on Power Platform</title>
		<link>https://denovaltd.com/how-an-embedded-developer-helped-a-global-vat-team-rebuild-vat-workflow-management-on-power-platform/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-an-embedded-developer-helped-a-global-vat-team-rebuild-vat-workflow-management-on-power-platform</link>
					<comments>https://denovaltd.com/how-an-embedded-developer-helped-a-global-vat-team-rebuild-vat-workflow-management-on-power-platform/#respond</comments>
		
		<dc:creator><![CDATA[Josh Ryan]]></dc:creator>
		<pubDate>Mon, 21 Sep 2026 10:28:30 +0000</pubDate>
				<category><![CDATA[Case Study]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[Embedded Delivery]]></category>
		<guid isPermaLink="false">https://denovaltd.com/?p=117352</guid>

					<description><![CDATA[<p>An embedded BI developer helped a global VAT team bring files, approvals and task tracking together on Microsoft Power Platform, creating a path to retiring a costly third-party application.</p>
<p>The post <a href="https://denovaltd.com/how-an-embedded-developer-helped-a-global-vat-team-rebuild-vat-workflow-management-on-power-platform/">How an Embedded Developer Helped a Global VAT Team Rebuild VAT Workflow Management on Power Platform</a> first appeared on <a href="https://denovaltd.com">denovaltd.com</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><div class="et_pb_section et_pb_section_24 dn-vat-case-study et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_32">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_44  et_pb_css_mix_blend_mode_passthrough et-last-child et_pb_column_empty">
				
				
				
				
				
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_33">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_45  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_post_title et_pb_post_title_0 et_pb_bg_layout_light  et_pb_text_align_left"   >
				
				
				
				
				
				<div class="et_pb_title_container">
					<h1 class="entry-title">How an Embedded Developer Helped a Global VAT Team Rebuild VAT Workflow Management on Power Platform</h1>
				</div>
				
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_25 dn-vat-case-study et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_34">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_46  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_post_title et_pb_post_title_1 et_pb_bg_layout_light  et_pb_text_align_left"   >
				
				
				
				
				
				<div class="et_pb_title_container">
					<h2 class="entry-title">How an Embedded Developer Helped a Global VAT Team Rebuild VAT Workflow Management on Power Platform</h2>
				</div>
				
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_35">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_47  et_pb_css_mix_blend_mode_passthrough et-last-child et_pb_column_empty">
				
				
				
				
				
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_26 dn-vat-case-study et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_36">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_48  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_52  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>A global organisation&#8217;s VAT team was relying on a third-party application to track and manage VAT return submissions across multiple entities. The tool sat outside its existing Microsoft ecosystem, came with a steep annual licence fee and left approvals, files and communication scattered across disconnected systems.</p>
<p>The team reached out to Denova to explore whether its existing Microsoft investment could do the job instead. Through <a href="https://denovaltd.com/embedded-delivery/">Embedded Delivery</a>, Denova provided a specialist who built a focused solution that reshaped how the VAT team worked each day.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_27 dn-vat-case-study et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_37">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_49  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_53  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>The Problem</h2></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_54  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><ul>
<li><strong>Unnecessary licensing cost:</strong> The client was paying around US$24,000 a year for a third-party application used mainly for tracking VAT submission status.</li>
<li><strong>Disconnected workflow:</strong> VAT files were stored in SharePoint, but approvals and status tracking happened in a separate third-party system, forcing the team to move between platforms for a single task.</li>
<li><strong>Manual, low-value work:</strong> Users manually re-entered data and tracked submission deadlines rather than relying on automation.</li>
<li><strong>Limited transparency and communication:</strong> There was no built-in way for team members to comment on or discuss a task in progress, which slowed down collaboration.</li>
<li><strong>Reliance on a separate system:</strong> The existing tool sat apart from the systems the organisation had already invested in, adding cost without adding proportional value.</li>
</ul></div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_38">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_50  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_55  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>Consultant Spotlight</h2></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_56  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>The project was delivered by our BI developer, Ryan. His contribution centred on translating business needs into technical solutions grounded in the client&#8217;s own Microsoft resources, rather than proposing costly new tools.</p>
<p>An early demonstration of the application helped build stakeholder confidence ahead of full deployment. After seeing how it centralised the VAT team’s work, another team within the organisation expressed interest in a similar solution for their own needs.</p></div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_39">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_51  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_57  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>Our Solution</h2></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_58  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><ul>
<li><strong>Map the existing process first:</strong> The team began by mapping the existing third-party application and current approval workflow in detail, ensuring that nothing essential was lost in the transition.</li>
<li><strong>Building with Power Platform:</strong> Rather than introducing new infrastructure, the solution was designed entirely on the client&#x27;s existing Power Platform investment, using Power Apps for the interface, Power Automate for workflow logic and SharePoint as the underlying data store.</li>
<li><strong>Consolidation and digitisation:</strong> Instead of simply moving the old process online, the approach focused on reducing the number of systems a user had to touch, bringing storage, approvals and status tracking into a single application.</li>
<li><strong>Built-in communication:</strong> A commenting and chat feature was built directly into each task, so questions and concerns could be resolved without leaving the platform.</li>
<li><strong>Live reporting:</strong> A Power BI report was added to give stakeholders a live view of VAT task status.</li>
</ul></div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_40">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_52  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_59  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>Approach During Implementation</h2></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_60  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>Training was challenging, as questions ranged from how the application worked to how the underlying VAT process itself should run.</p>
<p>Additional VAT categories and edge cases also surfaced during testing. These had not been flagged during initial requirements gathering, which meant the team had to adjust workflows mid-project to accommodate special cases rather than treat the original scope as fixed.</p>
<p>Despite these challenges, a working prototype was ready in under two weeks, giving stakeholders something tangible to react to early and reducing the risk of late surprises. The embedded developer stayed closely aligned with stakeholders through regular meetings, translating their feedback into technical requirements quickly and efficiently.</p></div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_41">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_53  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_61  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>The Results</h2></div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_42 et_pb_equal_columns">
				<div class="et_pb_column et_pb_column_1_4 et_pb_column_54  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_blurb et_pb_blurb_0  et_pb_text_align_left  et_pb_blurb_position_top et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_blurb_content">
					<div class="et_pb_main_blurb_image"><span class="et_pb_image_wrap"><span class="et-waypoint et_pb_animation_off et_pb_animation_off_tablet et_pb_animation_off_phone et-pb-icon"></span></span></div>
					<div class="et_pb_blurb_container">
						<h3 class="et_pb_module_header"><span>A path to lower licensing costs</span></h3>
						<div class="et_pb_blurb_description"><p>A replacement application was developed and deployed on the client&#8217;s existing Microsoft investment, positioning the team to retire the paid tool rather than continue funding it.</p></div>
					</div>
				</div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_4 et_pb_column_55  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_blurb et_pb_blurb_1  et_pb_text_align_left  et_pb_blurb_position_top et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_blurb_content">
					<div class="et_pb_main_blurb_image"><span class="et_pb_image_wrap"><span class="et-waypoint et_pb_animation_off et_pb_animation_off_tablet et_pb_animation_off_phone et-pb-icon"></span></span></div>
					<div class="et_pb_blurb_container">
						<h3 class="et_pb_module_header"><span>A centralised system</span></h3>
						<div class="et_pb_blurb_description"><p>Users no longer need to move between SharePoint, a separate tracking tool and manual status updates. Files, approvals and task history now live in a single application.</p></div>
					</div>
				</div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_4 et_pb_column_56  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_blurb et_pb_blurb_2  et_pb_text_align_left  et_pb_blurb_position_top et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_blurb_content">
					<div class="et_pb_main_blurb_image"><span class="et_pb_image_wrap"><span class="et-waypoint et_pb_animation_off et_pb_animation_off_tablet et_pb_animation_off_phone et-pb-icon"></span></span></div>
					<div class="et_pb_blurb_container">
						<h3 class="et_pb_module_header"><span>Automated data entry</span></h3>
						<div class="et_pb_blurb_description"><p>Relevant data now populates automatically within the application, reducing the amount of manual typing users previously relied on.</p></div>
					</div>
				</div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_4 et_pb_column_57  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_blurb et_pb_blurb_3  et_pb_text_align_left  et_pb_blurb_position_top et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_blurb_content">
					<div class="et_pb_main_blurb_image"><span class="et_pb_image_wrap"><span class="et-waypoint et_pb_animation_off et_pb_animation_off_tablet et_pb_animation_off_phone et-pb-icon"></span></span></div>
					<div class="et_pb_blurb_container">
						<h3 class="et_pb_module_header"><span>Clearer communication</span></h3>
						<div class="et_pb_blurb_description"><p>A built-in commenting feature gives the team a task-level history of decisions and holds, rather than conversations happening outside the system.</p></div>
					</div>
				</div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_43">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_58  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_62  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>Key Takeaways</h2></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_63  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p><strong>Stakeholder communication is the real foundation</strong><br />Early and consistent engagement with stakeholders was an important factor in ensuring that the project stayed on track.</p>
<p><strong>Look at the global process, not just one entity</strong><br />Designing around a single entity&#x27;s workflow risks missing variations used elsewhere. Understanding how the process worked across all entities helped avoid rework later.</p>
<p><strong>Expect scope to evolve during testing</strong><br />Requirements gathered upfront rarely capture every edge case. Leaving room to accommodate changes discovered during testing helped the team deliver a workflow that actually matched how people worked.</p>
<p>Explore Denova’s <a href="https://denovaltd.com/data-bi-services/">Data &amp; BI services</a> for support with reporting, workflow automation and business applications.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_28 dn-vat-case-study et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_44 et_pb_gutters2">
				<div class="et_pb_column et_pb_column_3_5 et_pb_column_59  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_64  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h4>HOW WE CAN HELP</h4></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_65  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>If a licensed third-party tool is quietly draining budget while your team works around disconnected systems, it might be worth a conversation about what an embedded specialist could uncover within the platforms you already own.</h2></div>
			</div>
			</div><div class="et_pb_column et_pb_column_2_5 et_pb_column_60  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_66  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>Talk to us about embedded expertise for your organisation.</p></div>
			</div><div class="et_pb_button_module_wrapper et_pb_button_10_wrapper  et_pb_module ">
				<a class="et_pb_button et_pb_button_10 et_pb_bg_layout_light" href="https://denovaltd.com/contact/">Get In Touch</a>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_29 dn-vat-case-study et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_45 et_pb_equal_columns et_pb_gutters2">
				<div class="et_pb_column et_pb_column_1_2 et_pb_column_61  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_67  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>Related Articles</h2></div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_2 et_pb_column_62  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_button_module_wrapper et_pb_button_11_wrapper et_pb_button_alignment_left et_pb_module ">
				<a class="et_pb_button et_pb_button_11 et_pb_bg_layout_light" href="https://denovaltd.com/blog/">Browse All Categories</a>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_46">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_63  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_blog_0 et_pb_blog_grid_wrapper et_pb_bg_layout_light">
					<div class="et_pb_blog_grid clearfix ">
					
					
					
					
					<div class="et_pb_ajax_pagination_container">
						<div class="et_pb_salvattore_content" data-columns>
			<article id="post-117849" class="et_pb_post clearfix et_pb_blog_item_0_0 post-117849 post type-post status-publish format-standard has-post-thumbnail hentry category-analysis category-embedded-delivery category-procurement-transformation tag-source-to-pay">

				<div class="et_pb_image_container"><a href="https://denovaltd.com/contractor-costs-vs-embedded-delivery/" class="entry-featured-image-url"><img fetchpriority="high" decoding="async" src="https://denovaltd.com/wp-content/uploads/2026/10/pexels-steve-12623752-1-400x250.jpg" alt="Contractor Costs vs Embedded Delivery: UK Rates, Continuity and ROI" class="" srcset="https://denovaltd.com/wp-content/uploads/2026/10/pexels-steve-12623752-1-scaled.jpg 479w, https://denovaltd.com/wp-content/uploads/2026/10/pexels-steve-12623752-1-400x250.jpg 480w " sizes="(max-width:479px) 479px, 100vw "  width="400" height="250" /></a></div>
														<h2 class="entry-title">
													<a href="https://denovaltd.com/contractor-costs-vs-embedded-delivery/">Contractor Costs vs Embedded Delivery: UK Rates, Continuity and ROI</a>
											</h2>
				
					<div class="post-content"><div class="post-content-inner et_multi_view_hidden"><p>Insights / Embedded DeliveryProcurement &amp; S2P · UK cost analysisContractor costs vs embedded deliveryCompare UK day rates, protect delivery knowledge and give transformation benefits time to take hold.By Josh Ryan · 6 October 2026 · UK rates in GBPExplore the...</p>
</div></div>			
			</article>
				
			<article id="post-117603" class="et_pb_post clearfix et_pb_blog_item_0_1 post-117603 post type-post status-publish format-standard has-post-thumbnail hentry category-data">

				<div class="et_pb_image_container"><a href="https://denovaltd.com/power-bi-finance-teams-month-end-approval-reporting/" class="entry-featured-image-url"><img decoding="async" src="https://denovaltd.com/wp-content/uploads/2026/10/Blog-Post-Images-2-400x250.png" alt="Power BI for Finance Teams: Designing Month-End and Approval Reporting" class="" srcset="https://denovaltd.com/wp-content/uploads/2026/10/Blog-Post-Images-2-scaled.png 479w, https://denovaltd.com/wp-content/uploads/2026/10/Blog-Post-Images-2-400x250.png 480w " sizes="(max-width:479px) 479px, 100vw "  width="400" height="250" /></a></div>
														<h2 class="entry-title">
													<a href="https://denovaltd.com/power-bi-finance-teams-month-end-approval-reporting/">Power BI for Finance Teams: Designing Month-End and Approval Reporting</a>
											</h2>
				
					<div class="post-content"><div class="post-content-inner et_multi_view_hidden"><p>Insights / Data &amp; BI A practical guide to finance reporting Power BI for Finance Teams: Designing Month-End and Approval Reporting Make month-end status useful: show who owns the next action, what is waiting for approval and which differences still need attention....</p>
</div></div>			
			</article>
				
			<article id="post-117555" class="et_pb_post clearfix et_pb_blog_item_0_2 post-117555 post type-post status-publish format-standard has-post-thumbnail hentry category-broad category-data category-embedded-delivery">

				<div class="et_pb_image_container"><a href="https://denovaltd.com/how-to-work-with-denova-procurement-data-and-the-right-delivery-model/" class="entry-featured-image-url"><img loading="lazy" decoding="async" src="https://denovaltd.com/wp-content/uploads/2026/09/How-to-Work-with-Denova-400x250.png" alt="How to Work with Denova: Procurement, Data and the Right Delivery Model" class="" srcset="https://denovaltd.com/wp-content/uploads/2026/09/How-to-Work-with-Denova-scaled.png 479w, https://denovaltd.com/wp-content/uploads/2026/09/How-to-Work-with-Denova-400x250.png 480w " sizes="(max-width:479px) 479px, 100vw "  width="400" height="250" /></a></div>
														<h2 class="entry-title">
													<a href="https://denovaltd.com/how-to-work-with-denova-procurement-data-and-the-right-delivery-model/">How to Work with Denova: Procurement, Data and the Right Delivery Model</a>
											</h2>
				
					<div class="post-content"><div class="post-content-inner et_multi_view_hidden"><p>Insights  /  Working with Denova Procurement &amp; S2P · Data &amp; BI How to workwith Denova Practical expertise. Flexible delivery. Support shaped around the work your team needs to get done. Two service areas  ·  Three delivery models  ·  7 minute read Explore your...</p>
</div></div>			
			</article>
				</div>
					</div>
					</div> 
				</div>
			</div>
				
				
				
				
			</div>
				
				
			</div></p><p>The post <a href="https://denovaltd.com/how-an-embedded-developer-helped-a-global-vat-team-rebuild-vat-workflow-management-on-power-platform/">How an Embedded Developer Helped a Global VAT Team Rebuild VAT Workflow Management on Power Platform</a> first appeared on <a href="https://denovaltd.com">denovaltd.com</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://denovaltd.com/how-an-embedded-developer-helped-a-global-vat-team-rebuild-vat-workflow-management-on-power-platform/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Power BI Support Services: What Should Your Support Plan Include?</title>
		<link>https://denovaltd.com/power-bi-support-services/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=power-bi-support-services</link>
					<comments>https://denovaltd.com/power-bi-support-services/#respond</comments>
		
		<dc:creator><![CDATA[wp-denovaltdcom]]></dc:creator>
		<pubDate>Mon, 14 Sep 2026 11:13:20 +0000</pubDate>
				<category><![CDATA[Data]]></category>
		<guid isPermaLink="false">https://denovaltd.com/?p=117588</guid>

					<description><![CDATA[<p>Define a practical Power BI support plan covering refresh failures, source changes, access, defects, documentation and escalation. Compare maintenance with new development and ask clearer questions about scope and response times.</p>
<p>The post <a href="https://denovaltd.com/power-bi-support-services/">Power BI Support Services: What Should Your Support Plan Include?</a> first appeared on <a href="https://denovaltd.com">denovaltd.com</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_30 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_47 dw-native-row dw-hero-grid">
				<div class="et_pb_column et_pb_column_2_3 et_pb_column_64  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_code et_pb_code_2 dw-native-css">
				
				
				
				
				<div class="et_pb_code_inner"><style>body.postid-117588 #main-content>.container{width:100%;max-width:none;padding-top:0}body.postid-117588 #left-area{width:100%;padding:0;float:none}body.postid-117588 #main-content .container:before{display:none}body.postid-117588 #sidebar,body.postid-117588 .et_post_meta_wrapper,body.postid-117588 #comment-wrap{display:none}body.postid-117588 .et_pb_post{margin-bottom:0;padding-bottom:0}body.postid-117588 .entry-content{padding-top:0}
.dn-bi{--ink:#223b2e;--green:#426854;--mint:#edf4ef;--line:#d7e1d8;font-family:'Open Sans',Arial,sans-serif;color:#29382f;font-size:18px;line-height:1.8;background:#fff}.dn-bi *{box-sizing:border-box}.dn-bi .dw-wide{width:88%;max-width:1200px;margin:auto}.dn-bi .dw-reading{width:88%;max-width:820px;margin:auto}.dn-bi p{padding:0;margin:0 0 20px}.dn-bi h1,.dn-bi h2{font-family:'Roboto Mono',monospace;font-weight:700;color:var(--ink);padding:0;letter-spacing:-.035em;line-height:1.35}.dn-bi h1{font-size:46px;margin:24px 0;line-height:1.25}.dn-bi h2{font-size:32px;margin:0 0 24px}.dn-bi h3{font-family:'Open Sans',Arial,sans-serif;font-size:23px;font-weight:700;line-height:1.35;color:var(--ink);padding:0;margin:0 0 14px}.dn-bi a{color:#345d47;text-decoration:underline;text-underline-offset:4px}.dn-bi a:hover{color:#142d20}.dn-bi a:focus-visible{outline:3px solid #42795b;outline-offset:5px}.dn-bi .dw-eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.6;color:#476652;margin:0 0 16px}.dn-bi .dw-hero{background:var(--mint);border-bottom:1px solid var(--line);padding:58px 0 62px}.dn-bi .dw-hero-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:64px;align-items:start}.dn-bi .dw-breadcrumb{font-size:13px;margin-bottom:32px}.dn-bi .dw-dek{font-size:21px;line-height:1.65;max-width:690px}.dn-bi .dw-meta{font-size:13px;color:#5a665e;margin:24px 0}.dn-bi .dw-quick{background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:0 12px 26px #17382408}.dn-bi .dw-quick h2{font-size:25px;letter-spacing:-.02em}.dn-bi .dw-quick ol{padding:0!important;list-style:none!important;margin:0}.dn-bi .dw-quick li{list-style:none!important;border-top:1px solid var(--line);padding:15px 0;font-size:15px;line-height:1.6}.dn-bi .dw-quick li strong{display:block;font-size:17px;color:var(--ink);margin-bottom:4px}.dn-bi .dw-toc{margin:48px auto 42px;padding:24px 30px;background:#f7f9f5;border:1px solid var(--line);border-radius:15px}.dn-bi .dw-toc nav{display:flex;flex-wrap:wrap;gap:12px 26px;font-size:15px}.dn-bi .dw-toc .dw-eyebrow{margin-bottom:12px}.dn-bi .dw-section{padding:20px 0 42px;scroll-margin-top:130px}.dn-bi .dw-intro{font-size:20px}.dn-bi .dw-note{border-left:4px solid #6da988;background:#f3f7f1;padding:24px 28px;margin:24px 0;font-size:17px}.dn-bi .dw-note p:last-child{margin:0}.dn-bi ul{padding-left:22px!important;margin:0 0 22px;line-height:1.8!important}.dn-bi li{padding:3px 0}.dn-bi .dw-case-strip{background:#f7f8f5;padding:56px 0;margin:8px 0 28px}.dn-bi .dw-case-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:44px;align-items:start}.dn-bi .dw-home-card{display:flex;flex-direction:column;padding:20px;background:#f5f7f7;border:1px solid #cfd1d2;border-radius:20px;overflow:hidden}.dn-bi .dw-home-banner{position:relative;padding:24px 20px;border-radius:10px;overflow:hidden;margin-bottom:18px;background:linear-gradient(rgba(239,246,243,.82),rgba(239,246,243,.94)),url('https://denovaltd.com/wp-content/uploads/2026/04/BlogCase-Studies-Feature-Image-1.webp') center/cover}.dn-bi .dw-home-banner h3{font-family:'Roboto Mono',monospace;font-size:26px;line-height:1.35;letter-spacing:-.035em;color:#282829;margin-bottom:14px}.dn-bi .dw-home-banner p{font-size:14px;line-height:1.65;color:#4b5d54;margin:0}.dn-bi .dw-home-body{font-size:16px;line-height:1.75;margin-bottom:22px}.dn-bi .dw-home-button{align-self:flex-start;background:linear-gradient(204deg,#0a0707 0%,#306d53 98%);color:#fff;border-radius:32px;padding:8px 18px;font-size:15px;line-height:1.5;text-decoration:none;box-shadow:0 3px 9px #18372912}.dn-bi .dw-home-button:hover{color:#fff;background:#244b34}.dn-bi .dw-checklist{white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;font-family:'Open Sans',Arial,sans-serif;font-size:16px;line-height:1.8;background:#f3f7f1;border:1px solid var(--line);border-radius:15px;padding:28px;margin:24px 0}.dn-bi .dw-cta{background:#143425;padding:58px 0;color:#edf4ef}.dn-bi .dw-cta h2{color:#fff}.dn-bi .dw-cta .dw-eyebrow{color:#b6d8c3}.dn-bi .dw-cta p{max-width:780px}.dn-bi .dw-button{display:inline-block;border-radius:30px;padding:14px 24px;background:#e3f0e6;color:#173d25;text-decoration:none;font-size:16px;font-weight:600}.dn-bi .dw-small{font-size:15px;line-height:1.75}
@media(max-width:980px){.dn-bi .dw-hero-grid,.dn-bi .dw-case-grid{grid-template-columns:1fr;gap:30px}.dn-bi h1{font-size:38px}.dn-bi .dw-hero{padding:36px 0 44px}.dn-bi .dw-home-card{max-width:600px}}@media(max-width:600px){.dn-bi{font-size:17px}.dn-bi h1{font-size:32px}.dn-bi h2{font-size:27px}.dn-bi .dw-wide,.dn-bi .dw-reading{width:88%}.dn-bi .dw-quick{padding:24px}.dn-bi .dw-toc{padding:22px;margin-top:30px}.dn-bi .dw-toc nav{display:grid;gap:12px}.dn-bi .dw-dek,.dn-bi .dw-intro{font-size:19px}.dn-bi .dw-case-strip,.dn-bi .dw-cta{padding:40px 0}.dn-bi .dw-section{padding-bottom:28px}.dn-bi .dw-note,.dn-bi .dw-checklist{padding:20px}.dn-bi .dw-breadcrumb{margin-bottom:24px}.dn-bi .dw-home-card{padding:16px}.dn-bi .dw-home-banner{padding:24px 16px}}
.dn-bi.et_pb_section{font-size:18px;line-height:1.8}.dn-bi .dw-native-row{padding:0}.dn-bi .dw-native-row>.et_pb_column{margin:0!important;width:auto!important;float:none}.dn-bi .dw-native-row:after{display:none}.dn-bi .dw-native-row .et_pb_text{margin-bottom:0}.dn-bi .dw-native-row .et_pb_text_inner{font-size:inherit;line-height:inherit}.dn-bi .dw-hero-grid,.dn-bi .dw-case-grid{display:grid!important}.dn-bi .dw-native-css{display:none}.dn-bi .dw-toc{margin:0}.dn-bi .dw-section{padding:0}.dn-bi .dw-quick{font-size:15px}.dn-bi .dw-home-banner{margin-bottom:18px!important}.dn-bi .dw-home-body{margin-bottom:22px!important}.dn-bi .dw-home-card>.et_pb_button_module_wrapper{margin-top:auto}.dn-bi .et_pb_button.dw-home-button{background:linear-gradient(204deg,#0a0707 0%,#306d53 98%)!important;color:white!important;border:0!important;padding:8px 18px!important;font-size:15px!important;line-height:1.5!important;border-radius:32px!important}.dn-bi .et_pb_button:after{display:none!important}.dn-bi.dw-cta .et_pb_text_inner{color:#edf4ef}.dn-bi.dw-cta h2{color:#fff}.dn-bi.dw-cta .dw-eyebrow{color:#b6d8c3}.dn-bi .et_pb_text h1{font-size:46px;line-height:1.25}.dn-bi .et_pb_text h2{font-size:32px;line-height:1.35}.dn-bi .dw-quick h2{font-size:25px}@media(max-width:980px){.dn-bi .dw-hero-grid,.dn-bi .dw-case-grid{grid-template-columns:1fr;gap:30px}.dn-bi .et_pb_text h1{font-size:38px}}@media(max-width:600px){.dn-bi.et_pb_section{font-size:17px}.dn-bi .et_pb_text h1{font-size:32px}.dn-bi .et_pb_text h2{font-size:27px}.dn-bi .dw-quick h2{font-size:25px}.dn-bi .dw-native-row{width:88%!important}}.dn-bi .dw-delivery-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #d7e1d8;border-radius:15px;overflow:hidden;font-size:16px;line-height:1.7;margin:24px 0}.dn-bi .dw-delivery-table caption{text-align:left;font-weight:700;color:#223b2e;margin-bottom:16px}.dn-bi .dw-delivery-table th,.dn-bi .dw-delivery-table td{padding:18px;border:0;border-bottom:1px solid #d7e1d8;vertical-align:top;text-align:left}.dn-bi .dw-delivery-table thead th{background:#e7efe8;color:#223b2e}.dn-bi .dw-delivery-table tbody th{width:22%;background:#f3f7f1;font-weight:700}.dn-bi .dw-delivery-table td{width:39%}.dn-bi .dw-delivery-table tr:last-child>*{border-bottom:0}.dn-bi .dw-cell-label{display:none}@media(max-width:600px){.dn-bi .dw-delivery-table,.dn-bi .dw-delivery-table tbody,.dn-bi .dw-delivery-table tr,.dn-bi .dw-delivery-table th,.dn-bi .dw-delivery-table td{display:block;width:100%!important}.dn-bi .dw-delivery-table thead{display:none}.dn-bi .dw-delivery-table tr{border-bottom:1px solid #d7e1d8;padding-bottom:10px}.dn-bi .dw-delivery-table th,.dn-bi .dw-delivery-table td{padding:14px 18px;border-bottom:0}.dn-bi .dw-delivery-table tr:last-child{border-bottom:0}.dn-bi .dw-cell-label{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#476652;margin-bottom:6px}}.dn-bi ol{padding-left:24px;margin:0 0 22px}.dn-bi .dw-quick ol{padding:0!important}.dn-bi .dw-section ol li{padding:6px 0}</style></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_68  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-breadcrumb"><a href="https://denovaltd.com/blog/">Insights</a> / Data &amp; BI</p>
<p class="dw-eyebrow">A practical guide to supporting Power BI</p>

<h1>Power BI Support Services: What Should Your Support Plan Include?</h1>
<p class="dw-dek">Define how your reporting will be kept reliable, who owns each issue and how maintenance differs from new development.</p>
<p class="dw-meta">By Denova · Data &amp; BI</p></div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_3 et_pb_column_65  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_69 dw-quick  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">At a glance</p><h2>Make support specific</h2><ol><li><strong>Define the scope</strong>Reports, data, access and the systems they depend on.</li><li><strong>Separate fixes from change</strong>Maintenance, enhancements and new development.</li><li><strong>Agree the operating plan</strong>Ownership, response definitions and escalation.</li></ol></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_31 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_48 dw-native-row">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_66  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_70 dw-toc  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">On this page</p><nav aria-label="Article contents"><a href="#support-scope">Scope</a><a href="#refresh-failures">Refresh failures</a><a href="#source-changes">Source changes</a><a href="#access-issues">Access</a><a href="#report-defects">Defects</a><a href="#maintenance-development">Maintenance vs development</a><a href="#documentation">Documentation</a><a href="#response-escalation">Response &amp; escalation</a><a href="#buyer-questions">Buyer questions</a></nav></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_32 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_49 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_67  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_71 dw-intro  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p><strong>Power BI support services should make it clear how existing reporting will be monitored, maintained and corrected, and how requests for change will be handled.</strong> A useful plan covers the technical work, the business responsibilities and the route to help when something goes wrong.</p><p>Refresh failures, changing source systems and access problems can all interrupt reporting. A plan that simply offers “dashboard support” leaves too much open to interpretation.</p><p>Microsoft’s <a href="https://learn.microsoft.com/en-us/power-bi/guidance/powerbi-implementation-planning-content-lifecycle-management-support-monitor">support and monitoring guidance</a> treats ongoing support as part of the content lifecycle. For the earlier delivery stages, see our <a href="https://denovaltd.com/power-bi-implementation-services/">Power BI implementation guide</a>. Here, the focus is what happens once people rely on the solution.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_33 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="support-scope" class="et_pb_row et_pb_row_50 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_68  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_72  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">01 · Define what is covered</p><h2>Start with an inventory and clear ownership</h2><p>A support plan should identify the reports, semantic models, workspaces, dataflows and connections it covers. Record their business owners, technical owners, audiences, refresh expectations and important reporting deadlines. Clarify whether the supplier supports content built by another developer and whether an initial assessment is needed.</p><p>Separate Power BI responsibilities from the systems it depends on. A reporting specialist may diagnose a failed connection while your IT team owns the gateway server and the source-system team owns the database. Name those dependencies and the people who can act on them.</p><p>Agree how existing defects and undocumented components will be treated at the start. A support agreement should make its starting position visible, including any stabilisation work needed before routine support begins.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_34 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="refresh-failures" class="et_pb_row et_pb_row_51 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_69  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_73  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">02 · Keep data trustworthy</p><h2>Refresh failures: cover detection, diagnosis and recovery</h2><p>Ask whether refresh failures are monitored proactively or investigated only after a user raises a ticket. Agree who receives alerts, when they are reviewed and how an absent owner is covered. An automated notification is not the same as someone taking responsibility for it.</p><p>For imported data, the investigation may involve refresh history, credentials, gateway availability, query errors or capacity constraints. Microsoft’s <a href="https://learn.microsoft.com/en-us/power-bi/connect-data/refresh-troubleshooting-refresh-scenarios">refresh troubleshooting guidance</a> describes several possible causes. DirectQuery connectivity issues need their own treatment rather than being assumed to follow the same refresh process.</p><p>The recovery check should confirm both that the process runs and that the expected data has arrived. Agree how users will be told when figures are stale, what workarounds are acceptable and how recurring failures lead to a permanent fix.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_35 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="source-changes" class="et_pb_row et_pb_row_52 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_70  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_74  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">03 · Manage dependencies</p><h2>Source-system changes need an early warning route</h2><p>An ERP upgrade, renamed column, changed API or revised file format can affect a report even when nobody has changed Power BI. The plan should identify who tells the support team about upstream releases and how much notice is needed for impact assessment and testing.</p><p>Ask whether the supplier will assess affected queries, transformations, measures and reports, and who provides test data or access to a test environment. Check business meaning as well as technical compatibility: a field can retain its name while its definition changes.</p><p>Do not assume every source-system change falls within maintenance. A small compatibility fix and a migration to a replacement platform involve different work. Agree how the supplier classifies, estimates and obtains approval for changes before starting them.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_36 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="access-issues" class="et_pb_row et_pb_row_53 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_71  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_75  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">04 · Support the right users</p><h2>Access issues: diagnose the cause and respect approvals</h2><p>“I cannot see the report” can mean several things: the wrong distribution link, missing group membership, licensing, workspace or app permissions, or a data-access rule. Record the affected user, report, error and intended level of access so the support team can investigate the actual problem.</p><p>Name who approves new access and who implements it. Include joiners, movers and leavers, group ownership and the process for checking row-level security where it applies. Restoring an authorised user’s view and granting additional access are different requests.</p><p>If users can see information they should not, define an urgent route to the client’s security owner. Any investigation or change should follow the organisation’s approved access process.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_37 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="report-defects" class="et_pb_row et_pb_row_54 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_72  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_76  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">05 · Diagnose before changing</p><h2>Report defects: agree what correct behaviour looks like</h2><p>A report defect might be an incorrect calculation, a broken filter, an unusable page or a navigation link that no longer works. Ask the supplier to capture the steps to reproduce it, the affected version and the expected result. Differences can also originate in source data or a misunderstood business definition.</p><p>Agree who validates corrected figures and which related reports must be checked before a fix is released. The plan should cover proportionate testing, release approval, retained versions and a rollback route where needed.</p><p>Close the ticket with the fix, validation evidence and any remaining limitations recorded. For repeat incidents, ask how underlying causes and preventive actions will be reviewed instead of treating every recurrence as an unrelated ticket.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_38 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="maintenance-development" class="et_pb_row et_pb_row_55 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_73  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_77  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">06 · Separate the work clearly</p><h2>Maintenance, enhancements and new development</h2><p><strong>Maintenance keeps the agreed solution operating; development changes what it does.</strong> Use concrete examples in the scope document so both sides can classify requests consistently.</p><table class="dw-delivery-table" aria-label="Maintenance, enhancements and new development"><thead><tr><th scope="col">Type of work</th><th scope="col">Purpose</th><th scope="col">Illustrative examples</th></tr></thead><tbody><tr><th scope="row">Maintenance</th><td><span class="dw-cell-label">Purpose</span>Keep an agreed solution working as intended.</td><td><span class="dw-cell-label">Illustrative examples</span>Investigate a failed refresh; correct a measure that no longer matches its agreed definition.</td></tr><tr><th scope="row">Enhancement</th><td><span class="dw-cell-label">Purpose</span>Change or extend the existing behaviour.</td><td><span class="dw-cell-label">Illustrative examples</span>Add a new drill-through page or change the business definition of a KPI.</td></tr><tr><th scope="row">New development</th><td><span class="dw-cell-label">Purpose</span>Introduce a new capability or substantial redesign.</td><td><span class="dw-cell-label">Illustrative examples</span>Connect a new source system, build a new reporting area or replace the semantic model.</td></tr></tbody></table><p>These examples are a starting point, not automatic charging rules. An agreement may include a defined allowance for small enhancements, or price changes separately. Ask how effort limits, unused capacity and work beyond the allowance are handled, and whether investigation time counts towards it.</p><p>Record the accepted reporting requirements so a defect can be distinguished from a new request. Our <a href="https://denovaltd.com/power-bi-dashboard-report-development-guide/">Power BI reporting brief guide</a> helps establish that baseline. New requirements should enter a prioritised change backlog with an estimate and approval route.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_39 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="documentation" class="et_pb_row et_pb_row_56 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_74  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_78  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">07 · Make knowledge accessible</p><h2>Documentation should be part of ongoing support</h2><p>Ask for a maintained inventory, data and measure definitions, dependency map, access model, refresh instructions and a record of changes. An operational runbook should explain common failures, diagnostic steps, escalation contacts and how to recover the service.</p><p>Keep editable project files and agreed source artefacts in an accessible, controlled location. Record who owns credentials and how authorised staff manage them through approved systems; passwords should not be copied into support tickets or general documentation.</p><p>Agree who updates the documentation after each change, how cover works when the usual specialist is unavailable and what is handed over if the support arrangement ends. These are practical tests of whether knowledge belongs to the service or stays with one person.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_40 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="response-escalation" class="et_pb_row et_pb_row_57 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_75  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_79  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">08 · Define what the clock measures</p><h2>Response times and escalation need precise definitions</h2><p>A promise of a “quick response” is difficult to evaluate. Distinguish the stages of handling an issue:</p><ul><li><strong>Initial response:</strong> a person acknowledges and assesses the request, as defined in the agreement.</li><li><strong>Restoration or workaround:</strong> users can resume an agreed activity, even if a permanent correction is still pending.</li><li><strong>Resolution:</strong> the underlying issue is corrected and validated.</li><li><strong>Progress updates:</strong> users know the current position, next action and owner.</li></ul><p>Set priorities using business impact, affected users, deadlines and available workarounds. A failure affecting a critical reporting cycle may need different handling from a cosmetic issue on an infrequently used page.</p><p>Specify coverage hours, time zone, holidays, when the clock starts and any agreed pauses while waiting for information or third parties. Define the escalation contact, deputy and triggers for involving client IT, a source-system supplier or Microsoft. Keep one person responsible for coordinating updates even when another team owns the fix.</p><div class="dw-note"><p><strong>Agree service levels explicitly.</strong> Response and resolution targets, out-of-hours cover and any service commitments must be confirmed in the individual support agreement. This guide does not set or promise Denova service levels.</p></div></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_41 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_58 dw-native-row dw-case-grid">
				<div class="et_pb_column et_pb_column_2_3 et_pb_column_76  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_80  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">A related Data &amp; BI client story</p><h2>Continuity matters alongside improvement</h2><p>Denova’s global finance-team case study describes an engagement spanning recurring finance and commercial reporting, dashboard development, automation and data quality work.</p><p>Colleagues built knowledge of the organisation’s reporting cycles and processes while supporting further initiatives. The client provided business direction and context, while Denova supported its colleagues through management, training and mentoring.</p><p>The useful lesson for a support plan is to make ongoing responsibilities and improvement work explicit, while retaining the knowledge needed to deliver both.</p></div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_3 et_pb_column_77 dw-home-card  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_81 dw-home-banner  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Client story · Data &amp; BI</p><h3>Building lasting finance capability</h3><p>Continuing reporting responsibilities alongside improvement work.</p></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_82 dw-home-body  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>Read how a global finance team developed capability and retained knowledge through an ongoing engagement.</p></div>
			</div><div class="et_pb_button_module_wrapper et_pb_button_12_wrapper et_pb_button_alignment_left et_pb_module ">
				<a class="et_pb_button et_pb_button_12 dw-home-button et_pb_bg_layout_light" href="https://denovaltd.com/how-a-global-finance-team-built-lasting-capability-with-denova/">Read Case Study</a>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_42 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="buyer-questions" class="et_pb_row et_pb_row_59 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_78  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_83  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Take these into the supplier conversation</p><h2>Questions to ask about Power BI support services</h2><p>Use these questions to compare proposals and resolve assumptions before an issue becomes urgent.</p><ol><li><strong>Exactly what is covered?</strong> Which assets, environments, users and dependencies are included, and what is excluded?</li><li><strong>Who notices problems?</strong> Is monitoring included, who reviews alerts and how are stale data or connectivity issues communicated?</li><li><strong>What does each response target mean?</strong> Is it a human assessment, a workaround or a completed fix, and how is performance measured?</li><li><strong>When is support available?</strong> Which hours, time zone and holidays apply, and what happens outside that window?</li><li><strong>How are priorities agreed?</strong> Who can raise or change severity when a business deadline or impact changes?</li><li><strong>How is work charged and limited?</strong> What counts towards an allowance, and how are investigations, enhancements and excess demand approved?</li><li><strong>Who handles external dependencies?</strong> Who contacts IT, source-system vendors or Microsoft, and who keeps us informed?</li><li><strong>How are changes tested and released?</strong> Who approves them, validates the outcome and decides whether to roll back?</li><li><strong>How is knowledge maintained?</strong> What documentation, cover and exit handover are included?</li><li><strong>How will we review the service?</strong> Will reviews cover recurring incidents, time against agreed targets, capacity used and improvement priorities?</li></ol></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_43 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="support-request" class="et_pb_row et_pb_row_60 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_79  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_84  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Copy into your support process</p><h2>Give the support team a useful starting point</h2><p>A consistent request format reduces avoidable back-and-forth. Copy these fields into your ticket form or support procedure, and send evidence through the agreed channel.</p><div class="dw-checklist">Report or workspace link:
Affected users and business activity:
Impact, deadline and available workaround:
When the issue started (include time zone):
Last known correct result or successful refresh:
Error message and steps to reproduce:
Expected result compared with actual result:
Relevant recent changes:
Business owner and contact for validation:</div><p class="dw-small">Use only the information needed to diagnose the issue. Share sensitive examples through approved channels and exclude passwords or tokens.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_44 dn-bi dw-cta et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_61 dw-native-row">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_80  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_85  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Plan the next step</p>

<h2>Define support around the reporting you rely on</h2>
Start with the reports that matter, their dependencies and the capacity of your internal team. Explore Denova’s <a href="https://denovaltd.com/power-bi-consulting-services/" style="color: #d3eadb;">Power BI consulting services</a> or discuss a support scope shaped around your requirements. Coverage, responsibilities, commercial terms and any service levels would be agreed for the engagement.</div>
			</div><div class="et_pb_button_module_wrapper et_pb_button_13_wrapper et_pb_button_alignment_left et_pb_module ">
				<a class="et_pb_button et_pb_button_13 dw-button et_pb_bg_layout_light" href="https://denovaltd.com/contact/">Discuss Your Requirements</a>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><p>The post <a href="https://denovaltd.com/power-bi-support-services/">Power BI Support Services: What Should Your Support Plan Include?</a> first appeared on <a href="https://denovaltd.com">denovaltd.com</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://denovaltd.com/power-bi-support-services/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Power BI Performance Optimisation: Why Reports Run Slowly and What to Check</title>
		<link>https://denovaltd.com/power-bi-performance-optimisation/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=power-bi-performance-optimisation</link>
					<comments>https://denovaltd.com/power-bi-performance-optimisation/#respond</comments>
		
		<dc:creator><![CDATA[wp-denovaltdcom]]></dc:creator>
		<pubDate>Mon, 17 Aug 2026 11:32:24 +0000</pubDate>
				<category><![CDATA[Data]]></category>
		<guid isPermaLink="false">https://denovaltd.com/?p=117596</guid>

					<description><![CDATA[<p>Find out why Power BI reports run slowly. Separate report interaction delays from slow refreshes, then investigate models, DAX, visuals, sources and capacity with a practical symptom-led checklist.</p>
<p>The post <a href="https://denovaltd.com/power-bi-performance-optimisation/">Power BI Performance Optimisation: Why Reports Run Slowly and What to Check</a> first appeared on <a href="https://denovaltd.com">denovaltd.com</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_45 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_62 dw-native-row dw-hero-grid">
				<div class="et_pb_column et_pb_column_2_3 et_pb_column_81  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_code et_pb_code_3 dw-native-css">
				
				
				
				
				<div class="et_pb_code_inner"><style>body.postid-117596 #main-content>.container{width:100%;max-width:none;padding-top:0}body.postid-117596 #left-area{width:100%;padding:0;float:none}body.postid-117596 #main-content .container:before{display:none}body.postid-117596 #sidebar,body.postid-117596 .et_post_meta_wrapper,body.postid-117596 #comment-wrap{display:none}body.postid-117596 .et_pb_post{margin-bottom:0;padding-bottom:0}body.postid-117596 .entry-content{padding-top:0}
.dn-bi{--ink:#223b2e;--green:#426854;--mint:#edf4ef;--line:#d7e1d8;font-family:'Open Sans',Arial,sans-serif;color:#29382f;font-size:18px;line-height:1.8;background:#fff}.dn-bi *{box-sizing:border-box}.dn-bi .dw-wide{width:88%;max-width:1200px;margin:auto}.dn-bi .dw-reading{width:88%;max-width:820px;margin:auto}.dn-bi p{padding:0;margin:0 0 20px}.dn-bi h1,.dn-bi h2{font-family:'Roboto Mono',monospace;font-weight:700;color:var(--ink);padding:0;letter-spacing:-.035em;line-height:1.35}.dn-bi h1{font-size:46px;margin:24px 0;line-height:1.25}.dn-bi h2{font-size:32px;margin:0 0 24px}.dn-bi h3{font-family:'Open Sans',Arial,sans-serif;font-size:23px;font-weight:700;line-height:1.35;color:var(--ink);padding:0;margin:0 0 14px}.dn-bi a{color:#345d47;text-decoration:underline;text-underline-offset:4px}.dn-bi a:hover{color:#142d20}.dn-bi a:focus-visible{outline:3px solid #42795b;outline-offset:5px}.dn-bi .dw-eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.6;color:#476652;margin:0 0 16px}.dn-bi .dw-hero{background:var(--mint);border-bottom:1px solid var(--line);padding:58px 0 62px}.dn-bi .dw-hero-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:64px;align-items:start}.dn-bi .dw-breadcrumb{font-size:13px;margin-bottom:32px}.dn-bi .dw-dek{font-size:21px;line-height:1.65;max-width:690px}.dn-bi .dw-meta{font-size:13px;color:#5a665e;margin:24px 0}.dn-bi .dw-quick{background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:0 12px 26px #17382408}.dn-bi .dw-quick h2{font-size:25px;letter-spacing:-.02em}.dn-bi .dw-quick ol{padding:0!important;list-style:none!important;margin:0}.dn-bi .dw-quick li{list-style:none!important;border-top:1px solid var(--line);padding:15px 0;font-size:15px;line-height:1.6}.dn-bi .dw-quick li strong{display:block;font-size:17px;color:var(--ink);margin-bottom:4px}.dn-bi .dw-toc{margin:48px auto 42px;padding:24px 30px;background:#f7f9f5;border:1px solid var(--line);border-radius:15px}.dn-bi .dw-toc nav{display:flex;flex-wrap:wrap;gap:12px 26px;font-size:15px}.dn-bi .dw-toc .dw-eyebrow{margin-bottom:12px}.dn-bi .dw-section{padding:20px 0 42px;scroll-margin-top:130px}.dn-bi .dw-intro{font-size:20px}.dn-bi .dw-note{border-left:4px solid #6da988;background:#f3f7f1;padding:24px 28px;margin:24px 0;font-size:17px}.dn-bi .dw-note p:last-child{margin:0}.dn-bi ul{padding-left:22px!important;margin:0 0 22px;line-height:1.8!important}.dn-bi li{padding:3px 0}.dn-bi .dw-case-strip{background:#f7f8f5;padding:56px 0;margin:8px 0 28px}.dn-bi .dw-case-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:44px;align-items:start}.dn-bi .dw-home-card{display:flex;flex-direction:column;padding:20px;background:#f5f7f7;border:1px solid #cfd1d2;border-radius:20px;overflow:hidden}.dn-bi .dw-home-banner{position:relative;padding:24px 20px;border-radius:10px;overflow:hidden;margin-bottom:18px;background:linear-gradient(rgba(239,246,243,.82),rgba(239,246,243,.94)),url('https://denovaltd.com/wp-content/uploads/2026/04/BlogCase-Studies-Feature-Image-1.webp') center/cover}.dn-bi .dw-home-banner h3{font-family:'Roboto Mono',monospace;font-size:26px;line-height:1.35;letter-spacing:-.035em;color:#282829;margin-bottom:14px}.dn-bi .dw-home-banner p{font-size:14px;line-height:1.65;color:#4b5d54;margin:0}.dn-bi .dw-home-body{font-size:16px;line-height:1.75;margin-bottom:22px}.dn-bi .dw-home-button{align-self:flex-start;background:linear-gradient(204deg,#0a0707 0%,#306d53 98%);color:#fff;border-radius:32px;padding:8px 18px;font-size:15px;line-height:1.5;text-decoration:none;box-shadow:0 3px 9px #18372912}.dn-bi .dw-home-button:hover{color:#fff;background:#244b34}.dn-bi .dw-checklist{white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;font-family:'Open Sans',Arial,sans-serif;font-size:16px;line-height:1.8;background:#f3f7f1;border:1px solid var(--line);border-radius:15px;padding:28px;margin:24px 0}.dn-bi .dw-cta{background:#143425;padding:58px 0;color:#edf4ef}.dn-bi .dw-cta h2{color:#fff}.dn-bi .dw-cta .dw-eyebrow{color:#b6d8c3}.dn-bi .dw-cta p{max-width:780px}.dn-bi .dw-button{display:inline-block;border-radius:30px;padding:14px 24px;background:#e3f0e6;color:#173d25;text-decoration:none;font-size:16px;font-weight:600}.dn-bi .dw-small{font-size:15px;line-height:1.75}
@media(max-width:980px){.dn-bi .dw-hero-grid,.dn-bi .dw-case-grid{grid-template-columns:1fr;gap:30px}.dn-bi h1{font-size:38px}.dn-bi .dw-hero{padding:36px 0 44px}.dn-bi .dw-home-card{max-width:600px}}@media(max-width:600px){.dn-bi{font-size:17px}.dn-bi h1{font-size:32px}.dn-bi h2{font-size:27px}.dn-bi .dw-wide,.dn-bi .dw-reading{width:88%}.dn-bi .dw-quick{padding:24px}.dn-bi .dw-toc{padding:22px;margin-top:30px}.dn-bi .dw-toc nav{display:grid;gap:12px}.dn-bi .dw-dek,.dn-bi .dw-intro{font-size:19px}.dn-bi .dw-case-strip,.dn-bi .dw-cta{padding:40px 0}.dn-bi .dw-section{padding-bottom:28px}.dn-bi .dw-note,.dn-bi .dw-checklist{padding:20px}.dn-bi .dw-breadcrumb{margin-bottom:24px}.dn-bi .dw-home-card{padding:16px}.dn-bi .dw-home-banner{padding:24px 16px}}
.dn-bi.et_pb_section{font-size:18px;line-height:1.8}.dn-bi .dw-native-row{padding:0}.dn-bi .dw-native-row>.et_pb_column{margin:0!important;width:auto!important;float:none}.dn-bi .dw-native-row:after{display:none}.dn-bi .dw-native-row .et_pb_text{margin-bottom:0}.dn-bi .dw-native-row .et_pb_text_inner{font-size:inherit;line-height:inherit}.dn-bi .dw-hero-grid,.dn-bi .dw-case-grid{display:grid!important}.dn-bi .dw-native-css{display:none}.dn-bi .dw-toc{margin:0}.dn-bi .dw-section{padding:0}.dn-bi .dw-quick{font-size:15px}.dn-bi .dw-home-banner{margin-bottom:18px!important}.dn-bi .dw-home-body{margin-bottom:22px!important}.dn-bi .dw-home-card>.et_pb_button_module_wrapper{margin-top:auto}.dn-bi .et_pb_button.dw-home-button{background:linear-gradient(204deg,#0a0707 0%,#306d53 98%)!important;color:white!important;border:0!important;padding:8px 18px!important;font-size:15px!important;line-height:1.5!important;border-radius:32px!important}.dn-bi .et_pb_button:after{display:none!important}.dn-bi.dw-cta .et_pb_text_inner{color:#edf4ef}.dn-bi.dw-cta h2{color:#fff}.dn-bi.dw-cta .dw-eyebrow{color:#b6d8c3}.dn-bi .et_pb_text h1{font-size:46px;line-height:1.25}.dn-bi .et_pb_text h2{font-size:32px;line-height:1.35}.dn-bi .dw-quick h2{font-size:25px}@media(max-width:980px){.dn-bi .dw-hero-grid,.dn-bi .dw-case-grid{grid-template-columns:1fr;gap:30px}.dn-bi .et_pb_text h1{font-size:38px}}@media(max-width:600px){.dn-bi.et_pb_section{font-size:17px}.dn-bi .et_pb_text h1{font-size:32px}.dn-bi .et_pb_text h2{font-size:27px}.dn-bi .dw-quick h2{font-size:25px}.dn-bi .dw-native-row{width:88%!important}}.dn-bi .dw-delivery-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #d7e1d8;border-radius:15px;overflow:hidden;font-size:16px;line-height:1.7;margin:24px 0}.dn-bi .dw-delivery-table caption{text-align:left;font-weight:700;color:#223b2e;margin-bottom:16px}.dn-bi .dw-delivery-table th,.dn-bi .dw-delivery-table td{padding:18px;border:0;border-bottom:1px solid #d7e1d8;vertical-align:top;text-align:left}.dn-bi .dw-delivery-table thead th{background:#e7efe8;color:#223b2e}.dn-bi .dw-delivery-table tbody th{width:22%;background:#f3f7f1;font-weight:700}.dn-bi .dw-delivery-table td{width:39%}.dn-bi .dw-delivery-table tr:last-child>*{border-bottom:0}.dn-bi .dw-cell-label{display:none}@media(max-width:600px){.dn-bi .dw-delivery-table,.dn-bi .dw-delivery-table tbody,.dn-bi .dw-delivery-table tr,.dn-bi .dw-delivery-table th,.dn-bi .dw-delivery-table td{display:block;width:100%!important}.dn-bi .dw-delivery-table thead{display:none}.dn-bi .dw-delivery-table tr{border-bottom:1px solid #d7e1d8;padding-bottom:10px}.dn-bi .dw-delivery-table th,.dn-bi .dw-delivery-table td{padding:14px 18px;border-bottom:0}.dn-bi .dw-delivery-table tr:last-child{border-bottom:0}.dn-bi .dw-cell-label{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#476652;margin-bottom:6px}}.dn-bi ol{padding-left:24px;margin:0 0 22px}.dn-bi .dw-quick ol{padding:0!important}.dn-bi .dw-section ol li{padding:6px 0}</style></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_86  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-breadcrumb"><a href="https://denovaltd.com/blog/">Insights</a> / Data &amp; BI</p>
<p class="dw-eyebrow">A practical guide to faster Power BI reporting</p>

<h1>Power BI Performance Optimisation: Why Reports Run Slowly and What to Check</h1>
<p class="dw-dek">Separate slow report interactions from slow refreshes, find the bottleneck and test improvements while preserving accuracy.</p>
<p class="dw-meta">By Denova · Data &amp; BI</p></div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_3 et_pb_column_82  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_87 dw-quick  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">At a glance</p><h2>Measure the right problem</h2><ol><li><strong>Separate the symptoms</strong>Waiting for visuals and waiting for fresh data are different problems.</li><li><strong>Follow the evidence</strong>Check models, DAX, visuals, sources and capacity.</li><li><strong>Verify the outcome</strong>Compare repeatable timings and confirm the figures still reconcile.</li></ol></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_46 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_63 dw-native-row">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_83  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_88 dw-toc  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">On this page</p><nav aria-label="Article contents"><a href="#slow-interactions-refreshes">Interactions vs refreshes</a><a href="#performance-baseline">Baseline</a><a href="#semantic-model">Models</a><a href="#dax-measures">DAX</a><a href="#report-visuals">Visuals</a><a href="#sources-refresh">Sources &#038; refresh</a><a href="#capacity-environment">Capacity</a><a href="#investigation-checklist">Checklist</a><a href="#verify-improvements">Validation</a></nav></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_47 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_64 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_84  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_89 dw-intro  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p><strong>Power BI performance optimisation starts with a specific question: what is slow, for whom, and when?</strong> A report that takes too long to react to a filter needs a different investigation from a model whose overnight refresh misses the morning reporting deadline.</p><p>Both problems can have several causes. Changing a formula, removing charts or buying more capacity without evidence may leave the main delay untouched. Start with a repeatable symptom, identify where time is spent and make a controlled change.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_48 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="slow-interactions-refreshes" class="et_pb_row et_pb_row_65 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_85  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_90  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">01 · Identify the symptom</p><h2>Slow interactions and slow refreshes need different checks</h2><p><strong>Slow report interactions</strong> are the delays users experience when opening a page, changing a slicer, drilling into detail or selecting a chart. Investigate the query behind the visual, the work needed to draw it and the environment serving it.</p><p><strong>Slow data refreshes</strong> are delays in bringing updated data into an Import semantic model. The work can include reading sources, transforming data, loading tables and processing the model. Start with refresh history and compare duration, failures and data volumes across recent runs.</p><p>A visual refreshing on screen is not the same as a semantic model loading new data. With DirectQuery, report interactions can send queries to the underlying source, so source performance can directly affect the user’s wait. Record the actual storage mode before choosing a remedy.</p><div class="dw-note"><p><strong>For example:</strong> a procurement page may respond quickly but still show yesterday’s spend because its import failed. Conversely, a successfully refreshed model may have a slow supplier slicer. These are illustrative scenarios requiring different investigations.</p></div></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_49 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="performance-baseline" class="et_pb_row et_pb_row_66 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_86  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_91  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">02 · Establish a baseline</p><h2>Measure a repeatable user journey</h2><p>Choose an important task, such as opening the monthly finance page and filtering to one entity. Record the report version, page, filters, user or security role, data volume, time and environment. Include whether the delay happens in Desktop, the Power BI service or both.</p><p>Use <a href="https://learn.microsoft.com/en-us/power-bi/create-reports/performance-analyzer">Performance Analyzer</a> to record the interaction and inspect timings by visual. It separates categories including DAX query, visual display and other activity. “Other” can include waiting for other visuals; it is not a diagnosis of slow DAX. Export the results for comparison.</p><p>Repeat the same sequence. Keep first-load and repeated-load observations separate because caching can change the result. A single fast run on a developer’s laptop does not establish the experience of users during a busy reporting period.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_50 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="semantic-model" class="et_pb_row et_pb_row_67 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_87  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_92  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">03 · Review the foundation</p><h2>Check the semantic model before rewriting every measure</h2><p>The semantic model is the layer of tables, relationships and calculations behind the report. Microsoft’s <a href="https://learn.microsoft.com/en-us/power-bi/guidance/star-schema">star-schema guidance</a> explains how fact tables for business events and dimension tables for filtering and grouping support usable, efficient models.</p><p>Check that tables have a consistent level of detail and that relationships match the business logic. Review unnecessary relationship complexity and filter paths with the developer. A model change must preserve intended filtering and row-level security.</p><p>For Import models, inspect unused columns, unnecessary history and columns containing many distinct values. <a href="https://learn.microsoft.com/en-us/power-bi/guidance/import-modeling-data-reduction">Reducing unnecessary imported data</a> can reduce model size and refresh work. Hiding a column does not remove its stored data.</p><p>Agree the detail users need before removing anything. Summarising invoice lines may help some reporting workloads, but it can remove the ability to investigate individual transactions. Document that trade-off and check dependent reports.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_51 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="dax-measures" class="et_pb_row et_pb_row_68 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_88  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_93  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">04 · Investigate expensive calculations</p><h2>Use timings to focus DAX work</h2><p>Start with the measures used by the slow visuals. Copy the visual’s query from Performance Analyzer and investigate it under the same filters that reproduce the problem. A long formula is not automatically the slowest formula, and query time can reflect the model and source as well as the measure.</p><p>Look for repeated calculations and logic that asks for more work than the result requires. Microsoft’s <a href="https://learn.microsoft.com/en-us/dax/best-practices/dax-variables">guidance on DAX variables</a> shows how storing a repeated expression can avoid recalculating it and make a measure easier to inspect. Treat this as a technique to test, not a universal speed guarantee.</p><p>Compare totals, subtotals, blank values and different filter selections after each rewrite. A faster measure that changes the agreed KPI definition is a defect, not an improvement.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_52 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="report-visuals" class="et_pb_row et_pb_row_69 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_89  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_94  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">05 · Reduce unnecessary work on screen</p><h2>Review visuals, interactions and detail</h2><p>Inspect pages with many visuals, large tables or matrices and broad default selections. Ask which information users need immediately and which belongs on a drill-through page. Check whether every visual needs to respond to every selection.</p><p>Microsoft’s <a href="https://learn.microsoft.com/en-us/power-bi/guidance/power-bi-optimization">Power BI optimisation guide</a> recommends limiting unnecessary visuals, reducing the data displayed and testing custom visuals. Use the timing evidence to distinguish a slow query from a visual that takes a long time to draw.</p><p>Test a simpler presentation or narrower default view in a copy of the report. Preserve the route to necessary detail and explain any changed navigation. A cleaner page should still help people make the decision it was designed for.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_53 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="sources-refresh" class="et_pb_row et_pb_row_70 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_90  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_95  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">06 · Follow the data path</p><h2>Check sources, transformations and refresh design</h2><p>When data retrieval is slow, involve the source owner. Compare the relevant query or extract at the source with the Power BI run. Check recent changes in volume, database workload, API behaviour, file organisation and gateway health where a gateway is used.</p><p>In Power Query, <a href="https://learn.microsoft.com/en-us/power-query/query-folding-basics">query folding</a> pushes supported transformations to the source. Check whether filtering and other costly steps are handled there or in the Power Query engine. Folding depends on the connector and transformations; Excel and CSV files do not offer a database query engine to fold into.</p><p>For growing Import tables, assess <a href="https://learn.microsoft.com/en-us/power-bi/connect-data/incremental-refresh-overview">incremental refresh</a>. Refreshing an appropriate recent window can avoid repeatedly reloading all history. Verify that date filtering actually limits the data retrieved and that the policy accounts for late-arriving records and corrections to older transactions. Plan and test the initial historical load separately.</p><p>Agree an acceptable freshness window with the business. Changing the schedule can ease contention, but it must still make the required data available before users need it.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_54 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="capacity-environment" class="et_pb_row et_pb_row_71 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_91  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_96  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">07 · Check shared resources</p><h2>Investigate capacity when the pattern points to it</h2><p>If several reports slow down together, especially at busy times, investigate shared resources as well as individual reports. Compare incident timestamps with refresh activity, user demand and other workloads.</p><p>Where the workspace uses a supported dedicated capacity, ask the administrator to review the <a href="https://learn.microsoft.com/en-us/fabric/enterprise/metrics-app">Microsoft Fabric Capacity Metrics app</a> for utilisation, expensive operations and throttling. The available evidence depends on the environment and the administrator’s access.</p><p>Also compare gateway and network conditions, particularly when the service behaves differently from Desktop. Changing capacity may be justified by measured demand, but first establish what resource is constrained and whether reducing avoidable work would address it. Record the cost and expected benefit of any proposed capacity change.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_55 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="investigation-checklist" class="et_pb_row et_pb_row_72 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_92  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_97  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Use this in your review</p><h2>Power BI performance optimisation checklist</h2><p>Work through the symptoms that apply. Each row is a starting point for investigation, not proof of a particular cause.</p><table class="dw-delivery-table" aria-label="Power BI symptom and investigation checklist"><thead><tr><th scope="col">Symptom</th><th scope="col">Investigation</th><th scope="col">Evidence to keep</th></tr></thead><tbody><tr><th scope="row">☐ A page or slicer is slow</th><td><span class="dw-cell-label">Investigation</span>Record the exact interaction and compare visual timings. Identify whether query time, drawing or waiting dominates.</td><td><span class="dw-cell-label">Evidence to keep</span>Page, filters, user role, first/repeated-load timings and exported trace.</td></tr><tr><th scope="row">☐ One measure-heavy visual is slow</th><td><span class="dw-cell-label">Investigation</span>Inspect its query, measures, model relationships and filter context. Test one focused change.</td><td><span class="dw-cell-label">Evidence to keep</span>Original query, changed logic, timing comparison and reconciled results.</td></tr><tr><th scope="row">☐ The overnight refresh keeps growing</th><td><span class="dw-cell-label">Investigation</span>Compare table volumes, transformation steps and source retrieval. Assess the refresh window and any incremental policy.</td><td><span class="dw-cell-label">Evidence to keep</span>Refresh history, rows retrieved, source timings and latest data timestamp.</td></tr><tr><th scope="row">☐ DirectQuery interactions are slow</th><td><span class="dw-cell-label">Investigation</span>Trace the source query with its owner; compare source workload, gateway and network conditions.</td><td><span class="dw-cell-label">Evidence to keep</span>Interaction time, source-query evidence and matching infrastructure timestamps.</td></tr><tr><th scope="row">☐ Desktop is quick; the service is slow</th><td><span class="dw-cell-label">Investigation</span>Compare data volume, user/security context, connections and environment rather than assuming they are identical.</td><td><span class="dw-cell-label">Evidence to keep</span>Version, role, test sequence and environment differences.</td></tr><tr><th scope="row">☐ Several reports slow down together</th><td><span class="dw-cell-label">Investigation</span>Correlate busy periods with shared capacity, refreshes, source workload and gateway activity.</td><td><span class="dw-cell-label">Evidence to keep</span>Affected reports, incident window and relevant administrator metrics.</td></tr><tr><th scope="row">☐ A report became slow after a release</th><td><span class="dw-cell-label">Investigation</span>Compare the changed model, measures, visuals and source steps with the last known good version.</td><td><span class="dw-cell-label">Evidence to keep</span>Change record, reproducible symptom and a tested recovery route.</td></tr></tbody></table><p>Keep report responsiveness and data freshness as separate acceptance measures. Improvements in one do not automatically establish improvements in the other.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_56 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="verify-improvements" class="et_pb_row et_pb_row_73 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_93  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_98  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">08 · Prove the improvement</p><h2>Compare like for like and protect correctness</h2><p>Ask for a short record of the baseline, identified bottleneck, proposed change and result. Repeat representative journeys using comparable data volumes, filters, roles and load conditions. Keep first-load and repeated-load results separate, and include refresh completion and data freshness where relevant.</p><p>Make controlled changes with retained versions and a rollback route. Reconcile key figures, test security roles and check other reports sharing the model. Agree realistic acceptance criteria with users; there is no single response-time target that suits every report.</p><p>Our <a href="https://denovaltd.com/power-bi-dashboard-report-development-guide/">Power BI reporting brief guide</a> helps define the required behaviour. Once changes are accepted, the <a href="https://denovaltd.com/power-bi-support-services/">Power BI support services guide</a> explains how to maintain ownership, documentation and escalation.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_57 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_74 dw-native-row dw-case-grid">
				<div class="et_pb_column et_pb_column_2_3 et_pb_column_94  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_99  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">A related Power BI client story</p><h2>Understand the workflow behind the report</h2><p>Denova’s global VAT-team case study describes a Power BI task-status report within a solution using Power Apps, Power Automate and SharePoint. The team mapped the existing process and adapted the workflow as testing revealed additional cases.</p><p>That wider context matters when investigating reporting: know where the data originates, how it reaches the report and which business activity users depend on. The case study illustrates connected delivery, rather than a measured report-speed improvement.</p></div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_3 et_pb_column_95 dw-home-card  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_100 dw-home-banner  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Client story · Power Platform</p><h3>VAT workflow and reporting</h3><p>Power BI task visibility within a connected business process.</p></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_101 dw-home-body  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>See how an embedded developer brought files, approvals and task tracking together using the client’s Microsoft tools.</p></div>
			</div><div class="et_pb_button_module_wrapper et_pb_button_14_wrapper et_pb_button_alignment_left et_pb_module ">
				<a class="et_pb_button et_pb_button_14 dw-home-button et_pb_bg_layout_light" href="https://denovaltd.com/how-an-embedded-developer-helped-a-global-vat-team-rebuild-vat-workflow-management-on-power-platform/">Read Case Study</a>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_58 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="investigation-brief" class="et_pb_row et_pb_row_75 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_96  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_102  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Copy into your investigation</p><h2>Give the investigation a useful starting point</h2><p>Copy these fields into a support ticket or optimisation brief. Include enough evidence to reproduce the issue, and share sensitive examples through your approved channels.</p><div class="dw-checklist">Report, page and semantic model:
Slow interaction or slow data refresh:
Exact steps and filter selections:
Affected users or security roles:
When it happens, including time zone:
First-load and repeated-load timings:
Refresh duration and latest data timestamp:
Storage mode, source and gateway (if applicable):
Recent changes and evidence collected:
Business impact and agreed success criteria:</div></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_59 dn-bi dw-cta et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_76 dw-native-row">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_97  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_103  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Plan the next step</p>

<h2>Make reporting faster where it matters</h2>
Start with the reporting tasks that cause the most disruption and the evidence needed to investigate them. Explore Denova’s <a href="https://denovaltd.com/power-bi-consulting-services/" style="color: #d3eadb;">Power BI consulting services</a> or discuss an assessment shaped around your reports, data and users.

Agree the scope, access, validation and expected deliverables before work begins. Any performance targets should follow the baseline assessment and the needs of your organisation.</div>
			</div><div class="et_pb_button_module_wrapper et_pb_button_15_wrapper et_pb_button_alignment_left et_pb_module ">
				<a class="et_pb_button et_pb_button_15 dw-button et_pb_bg_layout_light" href="https://denovaltd.com/contact/">Discuss Your Requirements</a>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><p>The post <a href="https://denovaltd.com/power-bi-performance-optimisation/">Power BI Performance Optimisation: Why Reports Run Slowly and What to Check</a> first appeared on <a href="https://denovaltd.com">denovaltd.com</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://denovaltd.com/power-bi-performance-optimisation/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Power BI Implementation Services: What Should Be Included from Discovery to Handover?</title>
		<link>https://denovaltd.com/power-bi-implementation-services/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=power-bi-implementation-services</link>
					<comments>https://denovaltd.com/power-bi-implementation-services/#respond</comments>
		
		<dc:creator><![CDATA[wp-denovaltdcom]]></dc:creator>
		<pubDate>Mon, 13 Jul 2026 10:50:18 +0000</pubDate>
				<category><![CDATA[Data]]></category>
		<guid isPermaLink="false">https://denovaltd.com/?p=117579</guid>

					<description><![CDATA[<p>What should Power BI implementation services include? A practical guide to discovery, data readiness, modelling, governance, testing, rollout, training and ownership, with a supplier and client checklist.</p>
<p>The post <a href="https://denovaltd.com/power-bi-implementation-services/">Power BI Implementation Services: What Should Be Included from Discovery to Handover?</a> first appeared on <a href="https://denovaltd.com">denovaltd.com</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_60 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_77 dw-native-row dw-hero-grid">
				<div class="et_pb_column et_pb_column_2_3 et_pb_column_98  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_code et_pb_code_4 dw-native-css">
				
				
				
				
				<div class="et_pb_code_inner"><style>body.postid-117579 #main-content>.container{width:100%;max-width:none;padding-top:0}body.postid-117579 #left-area{width:100%;padding:0;float:none}body.postid-117579 #main-content .container:before{display:none}body.postid-117579 #sidebar,body.postid-117579 .et_post_meta_wrapper,body.postid-117579 #comment-wrap{display:none}body.postid-117579 .et_pb_post{margin-bottom:0;padding-bottom:0}body.postid-117579 .entry-content{padding-top:0}
.dn-bi{--ink:#223b2e;--green:#426854;--mint:#edf4ef;--line:#d7e1d8;font-family:'Open Sans',Arial,sans-serif;color:#29382f;font-size:18px;line-height:1.8;background:#fff}.dn-bi *{box-sizing:border-box}.dn-bi .dw-wide{width:88%;max-width:1200px;margin:auto}.dn-bi .dw-reading{width:88%;max-width:820px;margin:auto}.dn-bi p{padding:0;margin:0 0 20px}.dn-bi h1,.dn-bi h2{font-family:'Roboto Mono',monospace;font-weight:700;color:var(--ink);padding:0;letter-spacing:-.035em;line-height:1.35}.dn-bi h1{font-size:46px;margin:24px 0;line-height:1.25}.dn-bi h2{font-size:32px;margin:0 0 24px}.dn-bi h3{font-family:'Open Sans',Arial,sans-serif;font-size:23px;font-weight:700;line-height:1.35;color:var(--ink);padding:0;margin:0 0 14px}.dn-bi a{color:#345d47;text-decoration:underline;text-underline-offset:4px}.dn-bi a:hover{color:#142d20}.dn-bi a:focus-visible{outline:3px solid #42795b;outline-offset:5px}.dn-bi .dw-eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.6;color:#476652;margin:0 0 16px}.dn-bi .dw-hero{background:var(--mint);border-bottom:1px solid var(--line);padding:58px 0 62px}.dn-bi .dw-hero-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:64px;align-items:start}.dn-bi .dw-breadcrumb{font-size:13px;margin-bottom:32px}.dn-bi .dw-dek{font-size:21px;line-height:1.65;max-width:690px}.dn-bi .dw-meta{font-size:13px;color:#5a665e;margin:24px 0}.dn-bi .dw-quick{background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:0 12px 26px #17382408}.dn-bi .dw-quick h2{font-size:25px;letter-spacing:-.02em}.dn-bi .dw-quick ol{padding:0!important;list-style:none!important;margin:0}.dn-bi .dw-quick li{list-style:none!important;border-top:1px solid var(--line);padding:15px 0;font-size:15px;line-height:1.6}.dn-bi .dw-quick li strong{display:block;font-size:17px;color:var(--ink);margin-bottom:4px}.dn-bi .dw-toc{margin:48px auto 42px;padding:24px 30px;background:#f7f9f5;border:1px solid var(--line);border-radius:15px}.dn-bi .dw-toc nav{display:flex;flex-wrap:wrap;gap:12px 26px;font-size:15px}.dn-bi .dw-toc .dw-eyebrow{margin-bottom:12px}.dn-bi .dw-section{padding:20px 0 42px;scroll-margin-top:130px}.dn-bi .dw-intro{font-size:20px}.dn-bi .dw-note{border-left:4px solid #6da988;background:#f3f7f1;padding:24px 28px;margin:24px 0;font-size:17px}.dn-bi .dw-note p:last-child{margin:0}.dn-bi ul{padding-left:22px!important;margin:0 0 22px;line-height:1.8!important}.dn-bi li{padding:3px 0}.dn-bi .dw-case-strip{background:#f7f8f5;padding:56px 0;margin:8px 0 28px}.dn-bi .dw-case-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:44px;align-items:start}.dn-bi .dw-home-card{display:flex;flex-direction:column;padding:20px;background:#f5f7f7;border:1px solid #cfd1d2;border-radius:20px;overflow:hidden}.dn-bi .dw-home-banner{position:relative;padding:24px 20px;border-radius:10px;overflow:hidden;margin-bottom:18px;background:linear-gradient(rgba(239,246,243,.82),rgba(239,246,243,.94)),url('https://denovaltd.com/wp-content/uploads/2026/04/BlogCase-Studies-Feature-Image-1.webp') center/cover}.dn-bi .dw-home-banner h3{font-family:'Roboto Mono',monospace;font-size:26px;line-height:1.35;letter-spacing:-.035em;color:#282829;margin-bottom:14px}.dn-bi .dw-home-banner p{font-size:14px;line-height:1.65;color:#4b5d54;margin:0}.dn-bi .dw-home-body{font-size:16px;line-height:1.75;margin-bottom:22px}.dn-bi .dw-home-button{align-self:flex-start;background:linear-gradient(204deg,#0a0707 0%,#306d53 98%);color:#fff;border-radius:32px;padding:8px 18px;font-size:15px;line-height:1.5;text-decoration:none;box-shadow:0 3px 9px #18372912}.dn-bi .dw-home-button:hover{color:#fff;background:#244b34}.dn-bi .dw-checklist{white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;font-family:'Open Sans',Arial,sans-serif;font-size:16px;line-height:1.8;background:#f3f7f1;border:1px solid var(--line);border-radius:15px;padding:28px;margin:24px 0}.dn-bi .dw-cta{background:#143425;padding:58px 0;color:#edf4ef}.dn-bi .dw-cta h2{color:#fff}.dn-bi .dw-cta .dw-eyebrow{color:#b6d8c3}.dn-bi .dw-cta p{max-width:780px}.dn-bi .dw-button{display:inline-block;border-radius:30px;padding:14px 24px;background:#e3f0e6;color:#173d25;text-decoration:none;font-size:16px;font-weight:600}.dn-bi .dw-small{font-size:15px;line-height:1.75}
@media(max-width:980px){.dn-bi .dw-hero-grid,.dn-bi .dw-case-grid{grid-template-columns:1fr;gap:30px}.dn-bi h1{font-size:38px}.dn-bi .dw-hero{padding:36px 0 44px}.dn-bi .dw-home-card{max-width:600px}}@media(max-width:600px){.dn-bi{font-size:17px}.dn-bi h1{font-size:32px}.dn-bi h2{font-size:27px}.dn-bi .dw-wide,.dn-bi .dw-reading{width:88%}.dn-bi .dw-quick{padding:24px}.dn-bi .dw-toc{padding:22px;margin-top:30px}.dn-bi .dw-toc nav{display:grid;gap:12px}.dn-bi .dw-dek,.dn-bi .dw-intro{font-size:19px}.dn-bi .dw-case-strip,.dn-bi .dw-cta{padding:40px 0}.dn-bi .dw-section{padding-bottom:28px}.dn-bi .dw-note,.dn-bi .dw-checklist{padding:20px}.dn-bi .dw-breadcrumb{margin-bottom:24px}.dn-bi .dw-home-card{padding:16px}.dn-bi .dw-home-banner{padding:24px 16px}}
.dn-bi.et_pb_section{font-size:18px;line-height:1.8}.dn-bi .dw-native-row{padding:0}.dn-bi .dw-native-row>.et_pb_column{margin:0!important;width:auto!important;float:none}.dn-bi .dw-native-row:after{display:none}.dn-bi .dw-native-row .et_pb_text{margin-bottom:0}.dn-bi .dw-native-row .et_pb_text_inner{font-size:inherit;line-height:inherit}.dn-bi .dw-hero-grid,.dn-bi .dw-case-grid{display:grid!important}.dn-bi .dw-native-css{display:none}.dn-bi .dw-toc{margin:0}.dn-bi .dw-section{padding:0}.dn-bi .dw-quick{font-size:15px}.dn-bi .dw-home-banner{margin-bottom:18px!important}.dn-bi .dw-home-body{margin-bottom:22px!important}.dn-bi .dw-home-card>.et_pb_button_module_wrapper{margin-top:auto}.dn-bi .et_pb_button.dw-home-button{background:linear-gradient(204deg,#0a0707 0%,#306d53 98%)!important;color:white!important;border:0!important;padding:8px 18px!important;font-size:15px!important;line-height:1.5!important;border-radius:32px!important}.dn-bi .et_pb_button:after{display:none!important}.dn-bi.dw-cta .et_pb_text_inner{color:#edf4ef}.dn-bi.dw-cta h2{color:#fff}.dn-bi.dw-cta .dw-eyebrow{color:#b6d8c3}.dn-bi .et_pb_text h1{font-size:46px;line-height:1.25}.dn-bi .et_pb_text h2{font-size:32px;line-height:1.35}.dn-bi .dw-quick h2{font-size:25px}@media(max-width:980px){.dn-bi .dw-hero-grid,.dn-bi .dw-case-grid{grid-template-columns:1fr;gap:30px}.dn-bi .et_pb_text h1{font-size:38px}}@media(max-width:600px){.dn-bi.et_pb_section{font-size:17px}.dn-bi .et_pb_text h1{font-size:32px}.dn-bi .et_pb_text h2{font-size:27px}.dn-bi .dw-quick h2{font-size:25px}.dn-bi .dw-native-row{width:88%!important}}.dn-bi .dw-delivery-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #d7e1d8;border-radius:15px;overflow:hidden;font-size:16px;line-height:1.7;margin:24px 0}.dn-bi .dw-delivery-table caption{text-align:left;font-weight:700;color:#223b2e;margin-bottom:16px}.dn-bi .dw-delivery-table th,.dn-bi .dw-delivery-table td{padding:18px;border:0;border-bottom:1px solid #d7e1d8;vertical-align:top;text-align:left}.dn-bi .dw-delivery-table thead th{background:#e7efe8;color:#223b2e}.dn-bi .dw-delivery-table tbody th{width:22%;background:#f3f7f1;font-weight:700}.dn-bi .dw-delivery-table td{width:39%}.dn-bi .dw-delivery-table tr:last-child>*{border-bottom:0}.dn-bi .dw-cell-label{display:none}@media(max-width:600px){.dn-bi .dw-delivery-table,.dn-bi .dw-delivery-table tbody,.dn-bi .dw-delivery-table tr,.dn-bi .dw-delivery-table th,.dn-bi .dw-delivery-table td{display:block;width:100%!important}.dn-bi .dw-delivery-table thead{display:none}.dn-bi .dw-delivery-table tr{border-bottom:1px solid #d7e1d8;padding-bottom:10px}.dn-bi .dw-delivery-table th,.dn-bi .dw-delivery-table td{padding:14px 18px;border-bottom:0}.dn-bi .dw-delivery-table tr:last-child{border-bottom:0}.dn-bi .dw-cell-label{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#476652;margin-bottom:6px}}</style></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_104  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-breadcrumb"><a href="https://denovaltd.com/blog/">Insights</a> / Data &amp; BI</p>
<p class="dw-eyebrow">A practical guide to commissioning Power BI</p>

<h1>Power BI Implementation Services: What Should Be Included from Discovery to Handover?</h1>
<p class="dw-dek">A useful implementation takes more than a finished report. Define the delivery, responsibilities and evidence needed to move from discovery to a service your team can run.</p>
<p class="dw-meta">By Denova · Data &amp; BI</p></div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_3 et_pb_column_99  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_105 dw-quick  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">At a glance</p><h2>Agree the whole journey</h2><ol><li><strong>Discover and prepare</strong>Scope, data readiness and delivery dependencies.</li><li><strong>Build and validate</strong>Modelling, governance and evidence-based testing.</li><li><strong>Launch and own</strong>Rollout, training, support and handover.</li></ol></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_61 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_78 dw-native-row">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_100  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_106 dw-toc  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">On this page</p><nav aria-label="Article contents"><a href="#discovery">Discovery</a><a href="#data-readiness">Data readiness</a><a href="#modelling">Modelling</a><a href="#governance">Governance</a><a href="#testing">Testing</a><a href="#rollout">Rollout</a><a href="#training">Training</a><a href="#handover">Handover</a><a href="#implementation-checklist">Supplier / client checklist</a></nav></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_62 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_79 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_101  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_107 dw-intro  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p><strong>Power BI implementation services should cover the route from an agreed business need to a reliable, governed reporting solution with clear ownership.</strong> That includes discovery, data preparation, modelling, testing, rollout and the skills needed to operate it after launch.</p><p>When comparing proposals, look for tangible deliverables, client dependencies and approval points at each stage. A report may be complete while access, refresh, documentation or support arrangements remain unresolved.</p><p>This guide focuses on the wider implementation. For the detailed requirements behind individual dashboards and reports, use our <a href="https://denovaltd.com/power-bi-dashboard-report-development-guide/">guide to writing a clear Power BI reporting brief</a>.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_63 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="discovery" class="et_pb_row et_pb_row_80 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_102  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_108  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">01 · Establish the scope</p><h2>Discovery: agree the outcome and the boundaries</h2><p>Discovery should produce a shared delivery plan, not simply a list of reports. Identify the business problem, the first user group, the decisions the solution will support and what a successful first release looks like. Include business sponsors, operational users, data owners and IT early.</p><p>Ask for a prioritised scope, an outline architecture, dependencies, risks and named decision-makers. Agree what is excluded: source-system changes, historical data cleansing, new integrations and ongoing support can each materially affect cost and timing.</p><p><strong>Before moving on:</strong> both sides should understand the proposed first release, who can approve it and which assumptions still need testing. If data access is uncertain, use a bounded discovery phase before committing to a fixed build estimate.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_64 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="data-readiness" class="et_pb_row et_pb_row_81 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_103  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_109  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">02 · Establish the foundations</p><h2>Data readiness: prove the sources can support the solution</h2><p>A working connection does not establish that data is ready. The supplier should inspect representative records, history, volumes, identifiers and update patterns. Missing supplier codes, duplicate transactions or inconsistent entity names should appear in a documented issue log, with an owner and a treatment for each issue.</p><p>Confirm the route from source to Power BI, including any preparation layer, gateway requirement, credentials and refresh dependencies. Agree how source changes, failed loads and late data will be detected and handled. Make recurring infrastructure and licensing costs visible.</p><p><strong>The client’s role:</strong> provide approved access, source-system expertise, representative samples and a person authorised to resolve data questions. Decide whether each quality issue will be corrected at source, handled in transformation or accepted as a documented limitation.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_65 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="modelling" class="et_pb_row et_pb_row_82 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_104  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_110  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">03 · Build a reusable foundation</p><h2>Modelling: make the numbers consistent and maintainable</h2><p>The semantic model is the layer that organises data and business calculations for reporting. The implementation scope should include its design, transformations, relationships, shared measures and documentation, rather than leave these hidden inside a finished report.</p><p>Ask how the model will handle the level of detail in each source, financial periods, organisational hierarchies and changes over time. For example, purchase-order lines and invoice lines cannot safely be treated as though they are the same record.</p><p>Microsoft’s <a href="https://learn.microsoft.com/en-us/power-bi/guidance/star-schema">star schema guidance</a> explains why fact and dimension tables, consistent grain and well-designed relationships matter for model usability and performance. The supplier should explain the choices in business terms and reconcile key totals to agreed source records.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_66 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="governance" class="et_pb_row et_pb_row_83 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_105  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_111  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">04 · Make control explicit</p><h2>Governance: decide who can access, change and share content</h2><p>Agree ownership and access before rollout. The design should cover workspaces, user groups, distribution, authoring permissions and any restrictions on the records different audiences can see. Ask the supplier to demonstrate access using representative user accounts, including a user who should be denied access.</p><p>Confirm the appropriate licensing and capacity for the intended audience, security requirements and release approach. Identify who approves sharing, manages membership and reviews access when people change roles. Where row-level security is required, include its configuration and validation in the scope.</p><p>Governance should fit the organisation’s existing policies and the scale of the solution. Microsoft’s <a href="https://learn.microsoft.com/en-us/power-bi/guidance/powerbi-implementation-planning-introduction">implementation planning guidance</a> covers these wider decisions, including workspaces, security, gateways and administration.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_67 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="testing" class="et_pb_row et_pb_row_84 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_106  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_112  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">05 · Agree the evidence</p><h2>Testing: validate the whole service before sign-off</h2><p>User acceptance testing needs more than a demonstration of attractive pages. Agree test scenarios and expected results during discovery, then test the data, calculations, access, refresh process and main user journeys together.</p><ul><li><strong>Accuracy:</strong> reconcile agreed totals and investigate differences, including exclusions and rounding.</li><li><strong>Security:</strong> check permitted and restricted views for representative roles.</li><li><strong>Reliability:</strong> test refresh, failure handling and recovery with realistic dependencies.</li><li><strong>Usability and performance:</strong> check everyday tasks using representative data volumes and agreed response expectations.</li></ul><p>Keep evidence, a defect log and retest results. Name the business approver and agree which issues block release, which can be accepted and who owns any remaining work. Do not leave acceptance as “the dashboard looks right”.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_68 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="rollout" class="et_pb_row et_pb_row_85 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_107  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_113  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">06 · Release with a plan</p><h2>Rollout: move into production in a controlled way</h2><p>The supplier should document how development, testing and production will be separated, how versions are retained and how changes reach users. Choose an approach proportionate to the solution and available licensing; a complex release pipeline is not automatically necessary for a small deployment.</p><p>Start with a representative pilot group where practical. Agree the release window, user communications, access checks, support contacts and a fallback plan. Decide when existing reports can be retired, and whether a parallel run is needed to build confidence in the new numbers.</p><p>Microsoft’s <a href="https://learn.microsoft.com/en-us/power-bi/guidance/powerbi-implementation-planning-content-lifecycle-management-overview">content lifecycle guidance</a> extends beyond deployment to support, monitoring and retirement. A supplier’s proposal should make that transition explicit.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_69 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="training" class="et_pb_row et_pb_row_86 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_108  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_114  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">07 · Prepare people to use it</p><h2>Training: distinguish users, report owners and administrators</h2><p>Training should reflect what each group will actually do. Users need to find the right content, interpret it, apply filters and raise questions. Internal report owners need to understand definitions and make agreed changes. Administrators and support teams need the operational steps for access, refresh and incident handling.</p><p>Ask for practical sessions using the delivered solution, supporting notes or recordings, and time for questions. Include process owners where users may be unclear about the underlying business process as well as the technology.</p><p>Agree how adoption will be reviewed after launch: for example, whether intended users can complete their main tasks and whether old spreadsheet workarounds are still needed. Attendance alone does not demonstrate readiness.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_70 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="handover" class="et_pb_row et_pb_row_87 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_109  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_115  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">08 · Make ownership sustainable</p><h2>Handover: leave a service the client can own</h2><p>Handover should start during delivery. Name a business owner for priorities and definitions, a technical owner for the model and reports, and an operational owner for access, refresh and support. One person may hold several roles, but none should be assumed.</p><p>Request editable project files and agreed source artefacts, model and transformation documentation, a data dictionary, release instructions, test evidence and an operational runbook. Confirm where these are stored, the client’s rights to use and change them, and how authorised staff will manage credentials without relying on a departing individual.</p><p>Define any initial support period: its duration, coverage, response expectations and exit criteria. Separate defect correction from new features. The final check is practical: can the receiving team manage access, investigate a failed refresh and make a controlled change?</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_71 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_88 dw-native-row dw-case-grid">
				<div class="et_pb_column et_pb_column_2_3 et_pb_column_110  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_116  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Implementation in practice</p><h2>Reporting sits within a wider working process</h2><p>In Denova’s global VAT team case study, an <a href="https://denovaltd.com/power-bi-developers/">embedded developer</a> brought files, approvals and task tracking together using Power Apps, Power Automate and SharePoint. A Power BI report gave stakeholders visibility of VAT task status.</p><p>The project involved mapping the existing process, demonstrating the solution early and adapting workflows when additional VAT categories and edge cases emerged during testing. Training also surfaced questions about the underlying business process.</p><p>It illustrates why implementation needs space for stakeholder feedback, testing and learning alongside the technical build. The case concerns a wider Power Platform solution with Power BI reporting as one component.</p></div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_3 et_pb_column_111 dw-home-card  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_117 dw-home-banner  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Client story · Data &amp; BI</p><h3>Rebuilding VAT workflow management</h3><p>A global VAT team’s Power Platform implementation.</p></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_118 dw-home-body  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>See how process mapping, testing and training shaped a solution that included Power BI reporting.</p></div>
			</div><div class="et_pb_button_module_wrapper et_pb_button_16_wrapper et_pb_button_alignment_left et_pb_module ">
				<a class="et_pb_button et_pb_button_16 dw-home-button et_pb_bg_layout_light" href="https://denovaltd.com/how-an-embedded-developer-helped-a-global-vat-team-rebuild-vat-workflow-management-on-power-platform/">Read Case Study</a>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_72 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="implementation-checklist" class="et_pb_row et_pb_row_89 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_112  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_119  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Copy into your scope document</p>
<h2>Power BI implementation services checklist</h2>
<p>Use this checklist when reviewing a proposal or planning delivery. Copy it into your working document and add a named owner, target date and approval evidence for each stage. Tick a stage when the agreed deliverables have been accepted.</p>
<table class="dw-delivery-table" aria-label="Power BI implementation supplier and client checklist">
<thead>
<tr>
<th scope="col">Check each stage</th>
<th scope="col">Supplier delivers</th>
<th scope="col">Client provides</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">[ ] Discovery</th>
<td><span class="dw-cell-label">Supplier delivers</span>Agreed scope, delivery plan, assumptions, risks and acceptance gates.</td>
<td><span class="dw-cell-label">Client provides</span>Sponsor, user representatives, priorities, budget and decision-makers.</td>
</tr>
<tr>
<th scope="row">[ ] Data readiness</th>
<td><span class="dw-cell-label">Supplier delivers</span>Source assessment, quality log, connection and refresh design.</td>
<td><span class="dw-cell-label">Client provides</span>Approved access, samples, source experts and data issue owners.</td>
</tr>
<tr>
<th scope="row">[ ] Modelling</th>
<td><span class="dw-cell-label">Supplier delivers</span>Documented model, transformations, shared measures and reconciliations.</td>
<td><span class="dw-cell-label">Client provides</span>Business definitions, reference totals and decisions on exceptions.</td>
</tr>
<tr>
<th scope="row">[ ] Governance</th>
<td><span class="dw-cell-label">Supplier delivers</span>Workspace, access, distribution and licensing recommendations.</td>
<td><span class="dw-cell-label">Client provides</span>IT and security policies, user groups and approval owners.</td>
</tr>
<tr>
<th scope="row">[ ] Testing</th>
<td><span class="dw-cell-label">Supplier delivers</span>Test plan, results, defect log and retest evidence.</td>
<td><span class="dw-cell-label">Client provides</span>Test users, expected results, time for UAT and a sign-off owner.</td>
</tr>
<tr>
<th scope="row">[ ] Rollout</th>
<td><span class="dw-cell-label">Supplier delivers</span>Release plan, versioned artefacts, fallback and support route.</td>
<td><span class="dw-cell-label">Client provides</span>Release approval, communications and pilot participants.</td>
</tr>
<tr>
<th scope="row">[ ] Training</th>
<td><span class="dw-cell-label">Supplier delivers</span>Role-based sessions, user guidance and administrator walkthroughs.</td>
<td><span class="dw-cell-label">Client provides</span>Attendees, internal champions and time to practise.</td>
</tr>
<tr>
<th scope="row">[ ] Handover</th>
<td><span class="dw-cell-label">Supplier delivers</span>Editable files, documentation, runbook and agreed support terms.</td>
<td><span class="dw-cell-label">Client provides</span>Named business and technical owners, storage and ongoing capacity.</td>
</tr>
</tbody>
</table>
<div class="dw-note">
<p><strong>Make dependencies visible.</strong> If access, data corrections or client decisions are delayed, agree how the delivery plan changes. “Client to provide data” is too vague without a source, owner and date.</p>
</div></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_73 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_90 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_113  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_120  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Before appointing a supplier</p><h2>Compare the scope behind the price</h2><p>Ask each supplier to separate discovery, build, rollout and ongoing support, and state the assumptions behind the estimate. Check what happens when testing reveals an additional requirement: who assesses the impact, approves the change and updates the plan?</p><p>Confirm third-party costs, documentation, editable artefacts, internal training and post-launch support explicitly. The right scope depends on your starting point; an established Power BI environment may need targeted work, while a first implementation needs more foundations.</p><p>A strong proposal makes the client’s commitments as clear as the supplier’s deliverables. Both are necessary for a solution that can be used and maintained.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_74 dn-bi dw-cta et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_91 dw-native-row">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_114  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_121  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Plan the next step</p>

<h2>Define the implementation around your team</h2>
If you are planning a Power BI implementation, start with the business outcome, the state of your data and the capacity of the team that will own it. Explore Denova’s <a href="https://denovaltd.com/power-bi-consulting-services/" style="color: #d3eadb;">Power BI consulting services</a> or talk through the support you need from discovery to handover.</div>
			</div><div class="et_pb_button_module_wrapper et_pb_button_17_wrapper et_pb_button_alignment_left et_pb_module ">
				<a class="et_pb_button et_pb_button_17 dw-button et_pb_bg_layout_light" href="https://denovaltd.com/contact/">Talk to Denova</a>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><p>The post <a href="https://denovaltd.com/power-bi-implementation-services/">Power BI Implementation Services: What Should Be Included from Discovery to Handover?</a> first appeared on <a href="https://denovaltd.com">denovaltd.com</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://denovaltd.com/power-bi-implementation-services/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Power BI Dashboard and Report Development: How to Write a Clear Brief</title>
		<link>https://denovaltd.com/power-bi-dashboard-report-development-guide/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=power-bi-dashboard-report-development-guide</link>
					<comments>https://denovaltd.com/power-bi-dashboard-report-development-guide/#respond</comments>
		
		<dc:creator><![CDATA[wp-denovaltdcom]]></dc:creator>
		<pubDate>Mon, 18 May 2026 15:37:33 +0000</pubDate>
				<category><![CDATA[Data]]></category>
		<guid isPermaLink="false">https://denovaltd.com/?p=117571</guid>

					<description><![CDATA[<p>Commission useful Power BI reporting with a clear brief covering users, decisions, KPIs, source data, layouts, access, refresh and acceptance criteria. Includes a copyable checklist.</p>
<p>The post <a href="https://denovaltd.com/power-bi-dashboard-report-development-guide/">Power BI Dashboard and Report Development: How to Write a Clear Brief</a> first appeared on <a href="https://denovaltd.com">denovaltd.com</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_75 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_92 dw-native-row dw-hero-grid">
				<div class="et_pb_column et_pb_column_2_3 et_pb_column_115  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_code et_pb_code_5 dw-native-css">
				
				
				
				
				<div class="et_pb_code_inner"><style>body.postid-117571 #main-content>.container{width:100%;max-width:none;padding-top:0}body.postid-117571 #left-area{width:100%;padding:0;float:none}body.postid-117571 #main-content .container:before{display:none}body.postid-117571 #sidebar,body.postid-117571 .et_post_meta_wrapper,body.postid-117571 #comment-wrap{display:none}body.postid-117571 .et_pb_post{margin-bottom:0;padding-bottom:0}body.postid-117571 .entry-content{padding-top:0}
.dn-bi{--ink:#223b2e;--green:#426854;--mint:#edf4ef;--line:#d7e1d8;font-family:'Open Sans',Arial,sans-serif;color:#29382f;font-size:18px;line-height:1.8;background:#fff}.dn-bi *{box-sizing:border-box}.dn-bi .dw-wide{width:88%;max-width:1200px;margin:auto}.dn-bi .dw-reading{width:88%;max-width:820px;margin:auto}.dn-bi p{padding:0;margin:0 0 20px}.dn-bi h1,.dn-bi h2{font-family:'Roboto Mono',monospace;font-weight:700;color:var(--ink);padding:0;letter-spacing:-.035em;line-height:1.35}.dn-bi h1{font-size:46px;margin:24px 0;line-height:1.25}.dn-bi h2{font-size:32px;margin:0 0 24px}.dn-bi h3{font-family:'Open Sans',Arial,sans-serif;font-size:23px;font-weight:700;line-height:1.35;color:var(--ink);padding:0;margin:0 0 14px}.dn-bi a{color:#345d47;text-decoration:underline;text-underline-offset:4px}.dn-bi a:hover{color:#142d20}.dn-bi a:focus-visible{outline:3px solid #42795b;outline-offset:5px}.dn-bi .dw-eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.6;color:#476652;margin:0 0 16px}.dn-bi .dw-hero{background:var(--mint);border-bottom:1px solid var(--line);padding:58px 0 62px}.dn-bi .dw-hero-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:64px;align-items:start}.dn-bi .dw-breadcrumb{font-size:13px;margin-bottom:32px}.dn-bi .dw-dek{font-size:21px;line-height:1.65;max-width:690px}.dn-bi .dw-meta{font-size:13px;color:#5a665e;margin:24px 0}.dn-bi .dw-quick{background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:0 12px 26px #17382408}.dn-bi .dw-quick h2{font-size:25px;letter-spacing:-.02em}.dn-bi .dw-quick ol{padding:0!important;list-style:none!important;margin:0}.dn-bi .dw-quick li{list-style:none!important;border-top:1px solid var(--line);padding:15px 0;font-size:15px;line-height:1.6}.dn-bi .dw-quick li strong{display:block;font-size:17px;color:var(--ink);margin-bottom:4px}.dn-bi .dw-toc{margin:48px auto 42px;padding:24px 30px;background:#f7f9f5;border:1px solid var(--line);border-radius:15px}.dn-bi .dw-toc nav{display:flex;flex-wrap:wrap;gap:12px 26px;font-size:15px}.dn-bi .dw-toc .dw-eyebrow{margin-bottom:12px}.dn-bi .dw-section{padding:20px 0 42px;scroll-margin-top:130px}.dn-bi .dw-intro{font-size:20px}.dn-bi .dw-note{border-left:4px solid #6da988;background:#f3f7f1;padding:24px 28px;margin:24px 0;font-size:17px}.dn-bi .dw-note p:last-child{margin:0}.dn-bi ul{padding-left:22px!important;margin:0 0 22px;line-height:1.8!important}.dn-bi li{padding:3px 0}.dn-bi .dw-case-strip{background:#f7f8f5;padding:56px 0;margin:8px 0 28px}.dn-bi .dw-case-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:44px;align-items:start}.dn-bi .dw-home-card{display:flex;flex-direction:column;padding:20px;background:#f5f7f7;border:1px solid #cfd1d2;border-radius:20px;overflow:hidden}.dn-bi .dw-home-banner{position:relative;padding:24px 20px;border-radius:10px;overflow:hidden;margin-bottom:18px;background:linear-gradient(rgba(239,246,243,.82),rgba(239,246,243,.94)),url('https://denovaltd.com/wp-content/uploads/2026/04/BlogCase-Studies-Feature-Image-1.webp') center/cover}.dn-bi .dw-home-banner h3{font-family:'Roboto Mono',monospace;font-size:26px;line-height:1.35;letter-spacing:-.035em;color:#282829;margin-bottom:14px}.dn-bi .dw-home-banner p{font-size:14px;line-height:1.65;color:#4b5d54;margin:0}.dn-bi .dw-home-body{font-size:16px;line-height:1.75;margin-bottom:22px}.dn-bi .dw-home-button{align-self:flex-start;background:linear-gradient(204deg,#0a0707 0%,#306d53 98%);color:#fff;border-radius:32px;padding:8px 18px;font-size:15px;line-height:1.5;text-decoration:none;box-shadow:0 3px 9px #18372912}.dn-bi .dw-home-button:hover{color:#fff;background:#244b34}.dn-bi .dw-checklist{white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;font-family:'Open Sans',Arial,sans-serif;font-size:16px;line-height:1.8;background:#f3f7f1;border:1px solid var(--line);border-radius:15px;padding:28px;margin:24px 0}.dn-bi .dw-cta{background:#143425;padding:58px 0;color:#edf4ef}.dn-bi .dw-cta h2{color:#fff}.dn-bi .dw-cta .dw-eyebrow{color:#b6d8c3}.dn-bi .dw-cta p{max-width:780px}.dn-bi .dw-button{display:inline-block;border-radius:30px;padding:14px 24px;background:#e3f0e6;color:#173d25;text-decoration:none;font-size:16px;font-weight:600}.dn-bi .dw-small{font-size:15px;line-height:1.75}
@media(max-width:980px){.dn-bi .dw-hero-grid,.dn-bi .dw-case-grid{grid-template-columns:1fr;gap:30px}.dn-bi h1{font-size:38px}.dn-bi .dw-hero{padding:36px 0 44px}.dn-bi .dw-home-card{max-width:600px}}@media(max-width:600px){.dn-bi{font-size:17px}.dn-bi h1{font-size:32px}.dn-bi h2{font-size:27px}.dn-bi .dw-wide,.dn-bi .dw-reading{width:88%}.dn-bi .dw-quick{padding:24px}.dn-bi .dw-toc{padding:22px;margin-top:30px}.dn-bi .dw-toc nav{display:grid;gap:12px}.dn-bi .dw-dek,.dn-bi .dw-intro{font-size:19px}.dn-bi .dw-case-strip,.dn-bi .dw-cta{padding:40px 0}.dn-bi .dw-section{padding-bottom:28px}.dn-bi .dw-note,.dn-bi .dw-checklist{padding:20px}.dn-bi .dw-breadcrumb{margin-bottom:24px}.dn-bi .dw-home-card{padding:16px}.dn-bi .dw-home-banner{padding:24px 16px}}
.dn-bi.et_pb_section{font-size:18px;line-height:1.8}.dn-bi .dw-native-row{padding:0}.dn-bi .dw-native-row>.et_pb_column{margin:0!important;width:auto!important;float:none}.dn-bi .dw-native-row:after{display:none}.dn-bi .dw-native-row .et_pb_text{margin-bottom:0}.dn-bi .dw-native-row .et_pb_text_inner{font-size:inherit;line-height:inherit}.dn-bi .dw-hero-grid,.dn-bi .dw-case-grid{display:grid!important}.dn-bi .dw-native-css{display:none}.dn-bi .dw-toc{margin:0}.dn-bi .dw-section{padding:0}.dn-bi .dw-quick{font-size:15px}.dn-bi .dw-home-banner{margin-bottom:18px!important}.dn-bi .dw-home-body{margin-bottom:22px!important}.dn-bi .dw-home-card>.et_pb_button_module_wrapper{margin-top:auto}.dn-bi .et_pb_button.dw-home-button{background:linear-gradient(204deg,#0a0707 0%,#306d53 98%)!important;color:white!important;border:0!important;padding:8px 18px!important;font-size:15px!important;line-height:1.5!important;border-radius:32px!important}.dn-bi .et_pb_button:after{display:none!important}.dn-bi.dw-cta .et_pb_text_inner{color:#edf4ef}.dn-bi.dw-cta h2{color:#fff}.dn-bi.dw-cta .dw-eyebrow{color:#b6d8c3}.dn-bi .et_pb_text h1{font-size:46px;line-height:1.25}.dn-bi .et_pb_text h2{font-size:32px;line-height:1.35}.dn-bi .dw-quick h2{font-size:25px}@media(max-width:980px){.dn-bi .dw-hero-grid,.dn-bi .dw-case-grid{grid-template-columns:1fr;gap:30px}.dn-bi .et_pb_text h1{font-size:38px}}@media(max-width:600px){.dn-bi.et_pb_section{font-size:17px}.dn-bi .et_pb_text h1{font-size:32px}.dn-bi .et_pb_text h2{font-size:27px}.dn-bi .dw-quick h2{font-size:25px}.dn-bi .dw-native-row{width:88%!important}}</style></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_122  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-breadcrumb"><a href="https://denovaltd.com/blog/">Insights</a> &nbsp;/&nbsp; Power BI development</p><p class="dw-eyebrow">Data &amp; BI · Practical guide</p><h1>Power BI Dashboard and Report Development: How to Write a Clear Brief</h1><p class="dw-dek">Define the decisions, data and delivery requirements before the first chart is built.</p><p class="dw-meta">A commissioning guide · Copyable briefing checklist</p><a href="#briefing-checklist">Go to the briefing checklist ↓</a></div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_3 et_pb_column_116  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_123 dw-quick  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Start with the work</p><h2>What should your reporting help people do?</h2><ol><li><strong>Make a decision</strong>Name the user, question and action.</li><li><strong>Trust the answer</strong>Agree measures, source data and checks.</li><li><strong>Keep it useful</strong>Plan access, refresh and ownership.</li></ol></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_76 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_93 dw-native-row">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_117  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_124 dw-toc  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">In this article</p><nav aria-label="Article contents"><a href="#users-decisions">Users and decisions</a><a href="#kpis">KPIs and data</a><a href="#layouts">Layouts</a><a href="#access">Access and refresh</a><a href="#acceptance">Acceptance and handover</a><a href="#briefing-checklist">Briefing checklist</a></nav></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_77 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_94 dw-native-row">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_118  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_125 dw-intro  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>A request for “a dashboard showing performance” leaves important decisions unresolved. Who will use it? What counts as good performance? Which figures should it reconcile to?</p><p>A clear brief for <strong>Power BI dashboard development</strong> or <strong>Power BI report development</strong> gives business users and <a href="https://denovaltd.com/power-bi-developers/">Power BI developers</a> a shared definition of useful. It also makes proposals easier to compare: everyone can price the same scope, identify dependencies and explain what they will deliver.</p><p>You do not need a finished technical specification. Capture what you know, mark the gaps and name who can resolve them.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_78 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="users-decisions" class="et_pb_row et_pb_row_95 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_119  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_126  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">01 / Users and decisions</p><h2>Start with the people and the actions</h2><p>List the audiences separately. A finance director reviewing month-end performance needs a different view from an analyst investigating transactions or a procurement manager chasing overdue approvals.</p><p>For each audience, write down the question they need answered, when they will use the information and what they will do next. Include the number of users, their familiarity with Power BI and whether they work on a laptop, phone or shared meeting screen.</p><div class="dw-note"><p><strong>Make the requirement testable:</strong> “At the weekly review, category managers need to identify overdue purchase requests, see the current approver and decide which items to escalate.”</p></div><p>Choose the essential decisions for the first release. Put additional countries, historical analysis and future integrations into a separate backlog, with a named person responsible for approving scope changes.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_79 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="kpis" class="et_pb_row et_pb_row_96 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_120  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_127  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">02 / Measures and accountability</p><h2>Define each KPI before agreeing the visuals</h2><p>A label such as “spend”, “savings” or “on-time approval” is not a complete definition. Record the calculation, business meaning and owner of each measure.</p><ul><li><strong>Calculation and scope:</strong> numerator, denominator, unit, currency and exclusions.</li><li><strong>Time rules:</strong> reporting period, relevant date, calendar and treatment of late changes.</li><li><strong>Interpretation:</strong> target, threshold and the action a change should trigger.</li><li><strong>Approval:</strong> the business owner who will resolve disputes and sign off the result.</li></ul><p>For on-time approvals, agree whether the denominator includes all items due in the period or only completed items, how reopened items count and whether weekends affect the deadline. Bring worked examples and a trusted comparison report so those choices can be checked.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_80 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="source-data" class="et_pb_row et_pb_row_97 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_121  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_128  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">03 / Source data and readiness</p><h2>Explain where the data comes from</h2><p>List the systems, files, tables or approved interfaces needed, together with their owners and access arrangements. Provide representative samples, field definitions, expected volumes and the history required.</p><p>Specify what one row represents: an invoice, an invoice line or an approval event. Identify the keys that connect sources, such as supplier and entity identifiers. Mixing different levels of detail can produce misleading totals.</p><p>Be explicit about duplicate records, missing dates, inconsistent supplier names and spreadsheet adjustments. Agree which issues must be fixed at source, which transformations belong in the reporting solution and who owns each task. If access or quality is uncertain, ask for a discovery stage before committing to the full build.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_81 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="layouts" class="et_pb_row et_pb_row_98 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_122  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_129  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">04 / Deliverables and layout</p><h2>Specify the report experience, not just the charts</h2><p>In everyday conversation, “dashboard” often means any reporting screen. In Power BI, a <strong>dashboard</strong> is a single-page canvas in the Power BI service, often using tiles from reports. A <strong>report</strong> has one or more pages and supports filtering and deeper exploration. Microsoft explains the <a href="https://learn.microsoft.com/en-us/power-bi/create-reports/service-dashboards">difference between dashboards and reports</a>.</p><p>State whether you need an interactive report, a service dashboard or both. An overview page within a report may meet the need without a separate dashboard.</p><p>Sketch the journey from summary to detail. Define page purpose, default filters, comparisons, drill-through and navigation. Include any mobile layout, export or meeting-pack requirements, plus accessibility needs such as readable labels and meaning that does not depend on colour alone. Review a simple wireframe with representative users before polishing the visuals.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_82 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="access" class="et_pb_row et_pb_row_99 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_123  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_130  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">05 / Access and distribution</p><h2>Agree who can see and change what</h2><p>Create an access matrix covering viewers, editors, administrators and external users. For each group, specify which entities, regions or teams they may see, how they receive the report and whether they may export or reuse the underlying data.</p><p>If users must see different rows, describe the required row-level security (RLS) rules and test identities. A country manager might see one country while a group finance user sees all entities. Include users who should see no data.</p><p>Confirm workspace roles carefully: <a href="https://learn.microsoft.com/en-us/fabric/security/service-admin-row-level-security">Microsoft’s RLS guidance</a> explains that workspace Admin, Member and Contributor roles are not restricted by RLS. Ask IT and the delivery team to confirm the sharing method, licensing and access-removal process before sign-off.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_83 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="refresh" class="et_pb_row et_pb_row_100 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_124  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_131  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">06 / Refresh and freshness</p><h2>Say when the figures must be ready</h2><p>“Daily refresh” does not say how current the information needs to be. Specify the source cut-off, reporting deadline, time zone and acceptable delay. For example, figures through the previous working day may need to be ready for a 09:00 UK review.</p><p>Separate source availability from the time Power BI finishes updating. Agree how users will see the last successful refresh and the period covered, what happens after a failure and who investigates.</p><p>Ask the developer to recommend the connection and refresh approach against those needs. Confirm any gateway, credentials, capacity and licensing dependencies; feasible behaviour varies by configuration, as <a href="https://learn.microsoft.com/en-us/power-bi/connect-data/refresh-data">Microsoft’s data refresh guidance</a> explains. Request frequent updates only where the decision needs them.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_84 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="acceptance" class="et_pb_row et_pb_row_101 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_125  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_132  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">07 / Validation and sign-off</p><h2>Agree what will count as accepted</h2><p>Acceptance criteria should describe evidence, expected results and an approver. “The report looks right” is too subjective to close a project confidently.</p><ul><li><strong>Accuracy:</strong> reconcile agreed periods and entities to approved source totals, with an explicit tolerance and explained differences.</li><li><strong>Business rules:</strong> check blanks, duplicates, cancelled transactions, reopened items and period boundaries.</li><li><strong>Usability:</strong> representative users complete the priority tasks with the intended filters and navigation.</li><li><strong>Security and operation:</strong> test permitted and denied access, refresh completion and failure handling.</li><li><strong>Performance:</strong> agree response-time targets using specified data volumes, devices and realistic user conditions.</li></ul><p>Name the people performing user acceptance testing, their available review dates and the person authorised to sign off. Record defects and distinguish fixes from new requirements. Agree how unresolved issues affect release.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_85 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="handover" class="et_pb_row et_pb_row_102 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_126  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_133  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">08 / Ownership after launch</p><h2>Include handover in the scope</h2><p>Identify the business owner and technical support owner. Specify the editable report and model files, measure definitions, source mappings, access rules and refresh instructions your team needs to maintain the solution.</p><p>Include training, administrator handover, credential ownership, a support period and a route for future changes. Confirm who handles source-system changes or new KPIs. Set a review date to check whether people use the report and whether it supports the intended decisions.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_86 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_103 dw-native-row dw-case-grid">
				<div class="et_pb_column et_pb_column_2_3 et_pb_column_127  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_134  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Denova in practice</p><h2>Reporting needs business context</h2><p>Denova’s finance workflow case study describes stakeholder discussions to clarify approval scenarios before development. Power BI reporting then brought document status and approval measures into view, with access controls and documentation considered alongside the build.</p><p>For a commissioning brief, the useful connection is between the operational question, the information people need and the responsibility for keeping it working.</p></div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_3 et_pb_column_128 dw-home-card  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_135 dw-home-banner  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3>Global finance workflows</h3><p><em><strong>Power BI reporting for approval visibility</strong></em></p></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_136 dw-home-body  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>See how an embedded BI and automation consultant combined approval workflows with Power BI status reporting, role-based access and user guidance.</p></div>
			</div><div class="et_pb_button_module_wrapper et_pb_button_18_wrapper et_pb_button_alignment_left et_pb_module ">
				<a class="et_pb_button et_pb_button_18 dw-home-button et_pb_bg_layout_light" href="https://denovaltd.com/workflow-automation/">Read Case Study</a>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_87 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="worked-example" class="et_pb_row et_pb_row_104 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_129  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_137  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">An illustrative brief</p><h2>From a broad request to a useful requirement</h2><p>The following is a fictional finance and procurement example, not a client result.</p><div class="dw-note"><p>“Build a report for entity finance leads to review overdue invoice approvals each morning. Show the number and value of outstanding invoices, age bands and current approval stage, with detail by supplier and entity.</p><p>Use approved invoice and workflow extracts joined by invoice ID. Define overdue against the agreed due date and exclude cancelled items. Procurement owns supplier categorisation; finance owns invoice values and due-date rules.</p><p>Each entity lead should see only their entity; group finance should see all. Previous-day data must be ready by 09:00 UK time. Acceptance requires reconciliation to the agreed extract, correct access for each test user and a successful handover to the support owner.”</p></div><p>The next discussion can resolve data quality, page layouts, performance targets, budget and milestones. It starts from a shared business requirement.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_88 dn-bi et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="briefing-checklist" class="et_pb_row et_pb_row_105 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_130  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_138  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Your starting point</p><h2>Copyable Power BI briefing checklist</h2><p>Select and copy the text below into your project brief. Fill in the answers and mark unknowns with an owner and a date for resolution.</p><pre class="dw-checklist">POWER BI DEVELOPMENT BRIEF

[ ] Business purpose and decisions this will support:
[ ] Users, team sizes, report owner and sign-off owner:
[ ] First-release priorities and explicit exclusions:
[ ] KPIs: definition, formula, unit, period, exclusions and owner:
[ ] Targets, thresholds and action when a measure changes:
[ ] Data sources, owners, access and representative samples:
[ ] Data grain, history, joins and known quality issues:
[ ] Responsibility and timing for data fixes:
[ ] Deliverables: report pages, service dashboard or both:
[ ] Layouts, filters, drill-through, mobile and export needs:
[ ] User groups, permitted data and RLS test scenarios:
[ ] Workspace, distribution method and licence assumptions:
[ ] Source cut-off, freshness deadline, refresh and time zone:
[ ] Gateway, credentials, monitoring and failure owner:
[ ] Reconciliation totals, tolerances and edge-case tests:
[ ] User tasks, response-time targets and test conditions:
[ ] Acceptance evidence, approvers and defect process:
[ ] Documentation, source files, training and handover:
[ ] Ongoing support, change ownership and review date:
[ ] Budget, milestones, dependencies and open questions:</pre><p>Use the completed brief to ask each delivery partner to state assumptions, exclusions, dependencies and acceptance evidence in its proposal. This makes the conversation about a usable reporting solution, with a clear basis for delivery.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_89 dn-bi dw-cta et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_106 dw-native-row">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_131  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_139  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Let’s talk</p>
<h2>Bring your reporting requirement into focus</h2>
<p>Share the decisions your team needs to make, the systems you use and the gaps in your brief. Denova can help shape the reporting requirement and the support needed to deliver it.</p>
<p>Explore Denova’s <a href="https://denovaltd.com/power-bi-consulting-services/" style="color: #d3eadb;">Power BI consulting services</a> for dashboard and report development, implementation and ongoing reporting support.</p></div>
			</div><div class="et_pb_button_module_wrapper et_pb_button_19_wrapper et_pb_button_alignment_left et_pb_module ">
				<a class="et_pb_button et_pb_button_19 et_pb_bg_layout_light" href="https://denovaltd.com/contact/">Discuss your requirements</a>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><p>The post <a href="https://denovaltd.com/power-bi-dashboard-report-development-guide/">Power BI Dashboard and Report Development: How to Write a Clear Brief</a> first appeared on <a href="https://denovaltd.com">denovaltd.com</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://denovaltd.com/power-bi-dashboard-report-development-guide/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Love at First Sight: Python in Excel &#038; Code-Generating AI.</title>
		<link>https://denovaltd.com/love-at-first-sight-python-in-excel-code-generating-ai/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=love-at-first-sight-python-in-excel-code-generating-ai</link>
		
		<dc:creator><![CDATA[Josh Ryan]]></dc:creator>
		<pubDate>Thu, 24 Aug 2023 15:07:53 +0000</pubDate>
				<category><![CDATA[Analysis]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[ChatGPT]]></category>
		<category><![CDATA[Code-Generating AI]]></category>
		<category><![CDATA[Data Transformation]]></category>
		<category><![CDATA[Data Visualization]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Procurement Analytics]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Source-to-Pay]]></category>
		<guid isPermaLink="false">https://denovaltd.com/?p=109664</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<p><div class="et_pb_section et_pb_section_90 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_107 et_pb_gutters2">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_132  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_140  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner">Love at First Sight: Python in Excel &#038; Code-Generating AI.</div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_91 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_108">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_133  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_141  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>Yes thats correct, Python in Excel is here!  since the dawn of the digital age, Microsoft Excel has been an undisputed champion in helping people structure, analyze, and present <a href="https://denovaltd.com/data-bi-services/">data</a>. Its user-friendly interface and powerful tools make it the go-to for millions. And now, Excel&#8217;s analytical capabilities have skyrocketed with the introduction <a href="https://www.python.org/" target="_blank" rel="noopener">Python</a> directly within the platform. The kicker? Combining this with a code-generating AI tool that can convert language-based instructions into code, you&#8217;re looking at a revolution in data analytics!</p>
<h2><strong></strong></h2>
<h2><strong><span data-preserver-spaces="true">Python in Excel: The New Dynamic Duo</span></strong></h2>
<p><span data-preserver-spaces="true">Microsoft recently unveiled a feature that&#8217;s turning heads – <a href="https://techcommunity.microsoft.com/t5/excel-blog/announcing-python-in-excel-combining-the-power-of-python-and-the/ba-p/3893439" target="_blank" rel="noopener">Python in Excel</a>. It allows users to natively integrate Python scripting and Excel analytics in the same workbook. The benefits are numerous:</span></p>
<ol>
<li><strong><span data-preserver-spaces="true">Seamless Integration:</span></strong><span data-preserver-spaces="true"> Type Python code directly into a cell. The calculations run in the Microsoft Cloud, and the results, including intricate plots and visualizations, are returned to your spreadsheet.</span><span data-preserver-spaces="true"></span></li>
<li><strong><span data-preserver-spaces="true">Advanced Analytics:</span></strong><span data-preserver-spaces="true"> Beyond the traditional formulas, tap into powerful Python libraries for machine learning, predictive analytics, data cleaning, and advanced visualizations, all within the comfort of your Excel environment.</span></li>
<li><strong><span data-preserver-spaces="true">For the Analysts:</span></strong><span data-preserver-spaces="true"> No longer do analysts need to switch between platforms. With the new PY function, integrating Python into Excel is as natural as creating a pivot table.</span></li>
</ol>
<h2><strong><span data-preserver-spaces="true">Enter Code-Generating AI tools: Bridging the Gap for Non-Coders</span></strong></h2>
<p>While integrating Python into Excel is groundbreaking, there&#8217;s an underlying challenge. Not every <a href="https://denovaltd.com/data-analysts/">data analyst</a> or business professional is well-versed in Python scripting. With advanced language models, we can reduce the knowledge required to execute tasks using Python script. With their impressive ability to transform plain language commands into working code, users can describe the analysis or visualization they want; the tool should be able to generate the corresponding Python code.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_93 et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_109">
				<div class="et_pb_column et_pb_column_1_2 et_pb_column_134  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_142  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>Sign up for regular updates, analysis and research into the latest advancements in Source to Pay processes.</p></div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_2 et_pb_column_135  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_code et_pb_code_6">
				
				
				
				
				<div class="et_pb_code_inner"><div class="hs-form-frame" data-region="na2" data-form-id="79b86424-3889-41c8-a7d3-a11a9e903e3a" data-portal-id="245090126"></div></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_94 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_110">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_136  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_143  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2><strong><span data-preserver-spaces="true">A Magic Wand for Non-Coders for Python in Excel</span></strong></h2>
<p>The melding of Python&#8217;s analytical prowess in Excel and the latest language-to-code capabilities represents a paradigm shift. Regardless of their coding expertise, data analysts can now harness the full spectrum of Python&#8217;s power in Excel, bridging the gap between data analysis and advanced computational scripting. The future looks promising, where language becomes the primary instruction tool, and the software does the heavy lifting.</p></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_144  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><blockquote class="et-pullquote left quote">
<p>Imagine dictating, &#8220;Show me a spend analysis for Q2 across all suppliers,&#8221; and within moments, an code producing AI tool produces a Python script, ready to run in Excel. The empowerment this brings is unparalleled</p>
</blockquote></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_95 et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_111 et_pb_gutters2">
				<div class="et_pb_column et_pb_column_1_2 et_pb_column_137  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_145  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>&#8220;</p></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_146  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2><span>Whether you&#8217;re just beginning your S2P transformative journey or looking to enhance existing processes, Denova is poised to be your trusted partner.</span></h2></div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_2 et_pb_column_138  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_147  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p><span>If you appreciate the benefits of clean data but lack the manpower to complete this intensive activity, Denova is able to help. </span></p>
<p><span></span></p>
<p><a href="https://denovaltd.com/contact/">Contact us</a> today to find out how we can support your business through your S2P transformation journey. <span></span></p>
<p>&nbsp;</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_96 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_112 et_pb_equal_columns et_pb_gutters2">
				<div class="et_pb_column et_pb_column_1_2 et_pb_column_139  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_148  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>Related Articles</h2></div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_2 et_pb_column_140  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_button_module_wrapper et_pb_button_20_wrapper et_pb_button_alignment_left et_pb_module ">
				<a class="et_pb_button et_pb_button_20 et_pb_bg_layout_light" href="https://denovaltd.com/blog/">Browse All Categories</a>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_113">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_141  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_blog_1 et_pb_blog_grid_wrapper et_pb_bg_layout_light">
					<div class="et_pb_blog_grid clearfix ">
					
					
					
					
					<div class="et_pb_ajax_pagination_container">
						<div class="et_pb_salvattore_content" data-columns>
			<article id="post-117849" class="et_pb_post clearfix et_pb_blog_item_1_0 post-117849 post type-post status-publish format-standard has-post-thumbnail hentry category-analysis category-embedded-delivery category-procurement-transformation tag-source-to-pay">

				<div class="et_pb_image_container"><a href="https://denovaltd.com/contractor-costs-vs-embedded-delivery/" class="entry-featured-image-url"><img loading="lazy" decoding="async" src="https://denovaltd.com/wp-content/uploads/2026/10/pexels-steve-12623752-1-400x250.jpg" alt="Contractor Costs vs Embedded Delivery: UK Rates, Continuity and ROI" class="" srcset="https://denovaltd.com/wp-content/uploads/2026/10/pexels-steve-12623752-1-scaled.jpg 479w, https://denovaltd.com/wp-content/uploads/2026/10/pexels-steve-12623752-1-400x250.jpg 480w " sizes="(max-width:479px) 479px, 100vw "  width="400" height="250" /></a></div>
														<h2 class="entry-title">
													<a href="https://denovaltd.com/contractor-costs-vs-embedded-delivery/">Contractor Costs vs Embedded Delivery: UK Rates, Continuity and ROI</a>
											</h2>
				
					<div class="post-content"><div class="post-content-inner et_multi_view_hidden"><p>Insights / Embedded DeliveryProcurement &amp; S2P · UK cost analysisContractor costs vs embedded deliveryCompare UK day rates, protect delivery knowledge and give transformation benefits time to take hold.By Josh Ryan · 6 October 2026 · UK rates in GBPExplore the...</p>
</div></div>			
			</article>
				
			<article id="post-117603" class="et_pb_post clearfix et_pb_blog_item_1_1 post-117603 post type-post status-publish format-standard has-post-thumbnail hentry category-data">

				<div class="et_pb_image_container"><a href="https://denovaltd.com/power-bi-finance-teams-month-end-approval-reporting/" class="entry-featured-image-url"><img loading="lazy" decoding="async" src="https://denovaltd.com/wp-content/uploads/2026/10/Blog-Post-Images-2-400x250.png" alt="Power BI for Finance Teams: Designing Month-End and Approval Reporting" class="" srcset="https://denovaltd.com/wp-content/uploads/2026/10/Blog-Post-Images-2-scaled.png 479w, https://denovaltd.com/wp-content/uploads/2026/10/Blog-Post-Images-2-400x250.png 480w " sizes="(max-width:479px) 479px, 100vw "  width="400" height="250" /></a></div>
														<h2 class="entry-title">
													<a href="https://denovaltd.com/power-bi-finance-teams-month-end-approval-reporting/">Power BI for Finance Teams: Designing Month-End and Approval Reporting</a>
											</h2>
				
					<div class="post-content"><div class="post-content-inner et_multi_view_hidden"><p>Insights / Data &amp; BI A practical guide to finance reporting Power BI for Finance Teams: Designing Month-End and Approval Reporting Make month-end status useful: show who owns the next action, what is waiting for approval and which differences still need attention....</p>
</div></div>			
			</article>
				
			<article id="post-117555" class="et_pb_post clearfix et_pb_blog_item_1_2 post-117555 post type-post status-publish format-standard has-post-thumbnail hentry category-broad category-data category-embedded-delivery">

				<div class="et_pb_image_container"><a href="https://denovaltd.com/how-to-work-with-denova-procurement-data-and-the-right-delivery-model/" class="entry-featured-image-url"><img loading="lazy" decoding="async" src="https://denovaltd.com/wp-content/uploads/2026/09/How-to-Work-with-Denova-400x250.png" alt="How to Work with Denova: Procurement, Data and the Right Delivery Model" class="" srcset="https://denovaltd.com/wp-content/uploads/2026/09/How-to-Work-with-Denova-scaled.png 479w, https://denovaltd.com/wp-content/uploads/2026/09/How-to-Work-with-Denova-400x250.png 480w " sizes="(max-width:479px) 479px, 100vw "  width="400" height="250" /></a></div>
														<h2 class="entry-title">
													<a href="https://denovaltd.com/how-to-work-with-denova-procurement-data-and-the-right-delivery-model/">How to Work with Denova: Procurement, Data and the Right Delivery Model</a>
											</h2>
				
					<div class="post-content"><div class="post-content-inner et_multi_view_hidden"><p>Insights  /  Working with Denova Procurement &amp; S2P · Data &amp; BI How to workwith Denova Practical expertise. Flexible delivery. Support shaped around the work your team needs to get done. Two service areas  ·  Three delivery models  ·  7 minute read Explore your...</p>
</div></div>			
			</article>
				</div>
					</div>
					</div> 
				</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_97 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_114">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_142  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_149  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>Get Started with Denova</h2></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_150  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p><span>Reach out to us today for an initial consultation and discover how Denova can elevate your business operations to new heights of efficiency and effectiveness.</span></p></div>
			</div><div class="et_pb_button_module_wrapper et_pb_button_21_wrapper et_pb_button_alignment_right et_pb_module ">
				<a class="et_pb_button et_pb_button_21 et_pb_bg_layout_light" href="https://denovaltd.com/contact/" data-icon="&#x45;">Get in Touch</a>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div></p><p>The post <a href="https://denovaltd.com/love-at-first-sight-python-in-excel-code-generating-ai/">Love at First Sight: Python in Excel & Code-Generating AI.</a> first appeared on <a href="https://denovaltd.com">denovaltd.com</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Procurement Reporting in Power BI: S2P KPIs, Data Sources and Dashboard Requirements</title>
		<link>https://denovaltd.com/powerful-s2p-metrics-and-tools-to-supercharge-reporting/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=powerful-s2p-metrics-and-tools-to-supercharge-reporting</link>
		
		<dc:creator><![CDATA[wp-denovaltdcom]]></dc:creator>
		<pubDate>Sun, 20 Aug 2023 00:52:13 +0000</pubDate>
				<category><![CDATA[Data]]></category>
		<category><![CDATA[Systems]]></category>
		<category><![CDATA[Ariba]]></category>
		<category><![CDATA[Compliance Assurance]]></category>
		<category><![CDATA[Coupa]]></category>
		<category><![CDATA[Data Management]]></category>
		<category><![CDATA[Data Visibility]]></category>
		<category><![CDATA[End-to-End Process]]></category>
		<category><![CDATA[Holistic Reporting]]></category>
		<category><![CDATA[Power BI]]></category>
		<category><![CDATA[Process Automation]]></category>
		<category><![CDATA[Procurement Optimization]]></category>
		<category><![CDATA[Reporting Efficiency]]></category>
		<category><![CDATA[S2P Metrics]]></category>
		<category><![CDATA[S2P Solutions]]></category>
		<category><![CDATA[Seamless Integration]]></category>
		<category><![CDATA[Source-to-Pay]]></category>
		<category><![CDATA[Spend Analysis]]></category>
		<category><![CDATA[Spend Management]]></category>
		<category><![CDATA[Strategic Decision-Making]]></category>
		<category><![CDATA[Supplier Collaboration]]></category>
		<guid isPermaLink="false">https://denovaltd.com/?p=109537</guid>

					<description><![CDATA[<p>Define S2P KPIs, identify the source data behind them and design Power BI dashboards around procurement decisions. Includes practical calculation rules, an invoice-matching example and a copyable requirements checklist.</p>
<p>The post <a href="https://denovaltd.com/powerful-s2p-metrics-and-tools-to-supercharge-reporting/">Procurement Reporting in Power BI: S2P KPIs, Data Sources and Dashboard Requirements</a> first appeared on <a href="https://denovaltd.com">denovaltd.com</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><div class="et_pb_section et_pb_section_98 dn-s2p-article et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_115 dw-native-row dw-hero-grid">
				<div class="et_pb_column et_pb_column_2_3 et_pb_column_143  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_code et_pb_code_7 dw-native-css">
				
				
				
				
				<div class="et_pb_code_inner"><style>body:has(.dn-s2p-article) #main-content>.container{width:100%;max-width:none;padding-top:0}body:has(.dn-s2p-article) #left-area{width:100%;padding:0;float:none}body:has(.dn-s2p-article) #main-content .container:before{display:none}body:has(.dn-s2p-article) #sidebar,body:has(.dn-s2p-article) .et_post_meta_wrapper,body:has(.dn-s2p-article) #comment-wrap{display:none}body:has(.dn-s2p-article) .et_pb_post{margin-bottom:0;padding-bottom:0}body:has(.dn-s2p-article) .entry-content{padding-top:0}
.dn-s2p-article{--ink:#223b2e;--green:#426854;--mint:#edf4ef;--line:#d7e1d8;font-family:'Open Sans',Arial,sans-serif;color:#29382f;font-size:18px;line-height:1.8;background:#fff}.dn-s2p-article *{box-sizing:border-box}.dn-s2p-article .dw-wide{width:88%;max-width:1200px;margin:auto}.dn-s2p-article .dw-reading{width:88%;max-width:820px;margin:auto}.dn-s2p-article p{padding:0;margin:0 0 20px}.dn-s2p-article h1,.dn-s2p-article h2{font-family:'Roboto Mono',monospace;font-weight:700;color:var(--ink);padding:0;letter-spacing:-.035em;line-height:1.35}.dn-s2p-article h1{font-size:46px;margin:24px 0;line-height:1.25}.dn-s2p-article h2{font-size:32px;margin:0 0 24px}.dn-s2p-article h3{font-family:'Open Sans',Arial,sans-serif;font-size:23px;font-weight:700;line-height:1.35;color:var(--ink);padding:0;margin:0 0 14px}.dn-s2p-article a{color:#345d47;text-decoration:underline;text-underline-offset:4px}.dn-s2p-article a:hover{color:#142d20}.dn-s2p-article a:focus-visible{outline:3px solid #42795b;outline-offset:5px}.dn-s2p-article .dw-eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.6;color:#476652;margin:0 0 16px}.dn-s2p-article .dw-hero{background:var(--mint);border-bottom:1px solid var(--line);padding:58px 0 62px}.dn-s2p-article .dw-hero-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:64px;align-items:start}.dn-s2p-article .dw-breadcrumb{font-size:13px;margin-bottom:32px}.dn-s2p-article .dw-dek{font-size:21px;line-height:1.65;max-width:690px}.dn-s2p-article .dw-meta{font-size:13px;color:#5a665e;margin:24px 0}.dn-s2p-article .dw-quick{background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:0 12px 26px #17382408}.dn-s2p-article .dw-quick h2{font-size:25px;letter-spacing:-.02em}.dn-s2p-article .dw-quick ol{padding:0!important;list-style:none!important;margin:0}.dn-s2p-article .dw-quick li{list-style:none!important;border-top:1px solid var(--line);padding:15px 0;font-size:15px;line-height:1.6}.dn-s2p-article .dw-quick li strong{display:block;font-size:17px;color:var(--ink);margin-bottom:4px}.dn-s2p-article .dw-toc{margin:48px auto 42px;padding:24px 30px;background:#f7f9f5;border:1px solid var(--line);border-radius:15px}.dn-s2p-article .dw-toc nav{display:flex;flex-wrap:wrap;gap:12px 26px;font-size:15px}.dn-s2p-article .dw-toc .dw-eyebrow{margin-bottom:12px}.dn-s2p-article .dw-section{padding:20px 0 42px;scroll-margin-top:130px}.dn-s2p-article .dw-intro{font-size:20px}.dn-s2p-article .dw-note{border-left:4px solid #6da988;background:#f3f7f1;padding:24px 28px;margin:24px 0;font-size:17px}.dn-s2p-article .dw-note p:last-child{margin:0}.dn-s2p-article ul{padding-left:22px!important;margin:0 0 22px;line-height:1.8!important}.dn-s2p-article li{padding:3px 0}.dn-s2p-article .dw-case-strip{background:#f7f8f5;padding:56px 0;margin:8px 0 28px}.dn-s2p-article .dw-case-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:44px;align-items:start}.dn-s2p-article .dw-home-card{display:flex;flex-direction:column;padding:20px;background:#f5f7f7;border:1px solid #cfd1d2;border-radius:20px;overflow:hidden}.dn-s2p-article .dw-home-banner{position:relative;padding:24px 20px;border-radius:10px;overflow:hidden;margin-bottom:18px;background:linear-gradient(rgba(239,246,243,.82),rgba(239,246,243,.94)),url('https://denovaltd.com/wp-content/uploads/2026/04/BlogCase-Studies-Feature-Image-1.webp') center/cover}.dn-s2p-article .dw-home-banner h3{font-family:'Roboto Mono',monospace;font-size:26px;line-height:1.35;letter-spacing:-.035em;color:#282829;margin-bottom:14px}.dn-s2p-article .dw-home-banner p{font-size:14px;line-height:1.65;color:#4b5d54;margin:0}.dn-s2p-article .dw-home-body{font-size:16px;line-height:1.75;margin-bottom:22px}.dn-s2p-article .dw-home-button{align-self:flex-start;background:linear-gradient(204deg,#0a0707 0%,#306d53 98%);color:#fff;border-radius:32px;padding:8px 18px;font-size:15px;line-height:1.5;text-decoration:none;box-shadow:0 3px 9px #18372912}.dn-s2p-article .dw-home-button:hover{color:#fff;background:#244b34}.dn-s2p-article .dw-checklist{white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;font-family:'Open Sans',Arial,sans-serif;font-size:16px;line-height:1.8;background:#f3f7f1;border:1px solid var(--line);border-radius:15px;padding:28px;margin:24px 0}.dn-s2p-article .dw-cta{background:#143425;padding:58px 0;color:#edf4ef}.dn-s2p-article .dw-cta h2{color:#fff}.dn-s2p-article .dw-cta .dw-eyebrow{color:#b6d8c3}.dn-s2p-article .dw-cta p{max-width:780px}.dn-s2p-article .dw-button{display:inline-block;border-radius:30px;padding:14px 24px;background:#e3f0e6;color:#173d25;text-decoration:none;font-size:16px;font-weight:600}.dn-s2p-article .dw-small{font-size:15px;line-height:1.75}
@media(max-width:980px){.dn-s2p-article .dw-hero-grid,.dn-s2p-article .dw-case-grid{grid-template-columns:1fr;gap:30px}.dn-s2p-article h1{font-size:38px}.dn-s2p-article .dw-hero{padding:36px 0 44px}.dn-s2p-article .dw-home-card{max-width:600px}}@media(max-width:600px){.dn-s2p-article{font-size:17px}.dn-s2p-article h1{font-size:32px}.dn-s2p-article h2{font-size:27px}.dn-s2p-article .dw-wide,.dn-s2p-article .dw-reading{width:88%}.dn-s2p-article .dw-quick{padding:24px}.dn-s2p-article .dw-toc{padding:22px;margin-top:30px}.dn-s2p-article .dw-toc nav{display:grid;gap:12px}.dn-s2p-article .dw-dek,.dn-s2p-article .dw-intro{font-size:19px}.dn-s2p-article .dw-case-strip,.dn-s2p-article .dw-cta{padding:40px 0}.dn-s2p-article .dw-section{padding-bottom:28px}.dn-s2p-article .dw-note,.dn-s2p-article .dw-checklist{padding:20px}.dn-s2p-article .dw-breadcrumb{margin-bottom:24px}.dn-s2p-article .dw-home-card{padding:16px}.dn-s2p-article .dw-home-banner{padding:24px 16px}}
.dn-s2p-article.et_pb_section{font-size:18px;line-height:1.8}.dn-s2p-article .dw-native-row{padding:0}.dn-s2p-article .dw-native-row>.et_pb_column{margin:0!important;width:auto!important;float:none}.dn-s2p-article .dw-native-row:after{display:none}.dn-s2p-article .dw-native-row .et_pb_text{margin-bottom:0}.dn-s2p-article .dw-native-row .et_pb_text_inner{font-size:inherit;line-height:inherit}.dn-s2p-article .dw-hero-grid,.dn-s2p-article .dw-case-grid{display:grid!important}.dn-s2p-article .dw-native-css{display:none}.dn-s2p-article .dw-toc{margin:0}.dn-s2p-article .dw-section{padding:0}.dn-s2p-article .dw-quick{font-size:15px}.dn-s2p-article .dw-home-banner{margin-bottom:18px!important}.dn-s2p-article .dw-home-body{margin-bottom:22px!important}.dn-s2p-article .dw-home-card>.et_pb_button_module_wrapper{margin-top:auto}.dn-s2p-article .et_pb_button.dw-home-button{background:linear-gradient(204deg,#0a0707 0%,#306d53 98%)!important;color:white!important;border:0!important;padding:8px 18px!important;font-size:15px!important;line-height:1.5!important;border-radius:32px!important}.dn-s2p-article .et_pb_button:after{display:none!important}.dn-s2p-article.dw-cta .et_pb_text_inner{color:#edf4ef}.dn-s2p-article.dw-cta h2{color:#fff}.dn-s2p-article.dw-cta .dw-eyebrow{color:#b6d8c3}.dn-s2p-article .et_pb_text h1{font-size:46px;line-height:1.25}.dn-s2p-article .et_pb_text h2{font-size:32px;line-height:1.35}.dn-s2p-article .dw-quick h2{font-size:25px}@media(max-width:980px){.dn-s2p-article .dw-hero-grid,.dn-s2p-article .dw-case-grid{grid-template-columns:1fr;gap:30px}.dn-s2p-article .et_pb_text h1{font-size:38px}}@media(max-width:600px){.dn-s2p-article.et_pb_section{font-size:17px}.dn-s2p-article .et_pb_text h1{font-size:32px}.dn-s2p-article .et_pb_text h2{font-size:27px}.dn-s2p-article .dw-quick h2{font-size:25px}.dn-s2p-article .dw-native-row{width:88%!important}}.dn-s2p-article .dw-delivery-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #d7e1d8;border-radius:15px;overflow:hidden;font-size:16px;line-height:1.7;margin:24px 0}.dn-s2p-article .dw-delivery-table caption{text-align:left;font-weight:700;color:#223b2e;margin-bottom:16px}.dn-s2p-article .dw-delivery-table th,.dn-s2p-article .dw-delivery-table td{padding:18px;border:0;border-bottom:1px solid #d7e1d8;vertical-align:top;text-align:left}.dn-s2p-article .dw-delivery-table thead th{background:#e7efe8;color:#223b2e}.dn-s2p-article .dw-delivery-table tbody th{width:22%;background:#f3f7f1;font-weight:700}.dn-s2p-article .dw-delivery-table td{width:39%}.dn-s2p-article .dw-delivery-table tr:last-child>*{border-bottom:0}.dn-s2p-article .dw-cell-label{display:none}@media(max-width:600px){.dn-s2p-article .dw-delivery-table,.dn-s2p-article .dw-delivery-table tbody,.dn-s2p-article .dw-delivery-table tr,.dn-s2p-article .dw-delivery-table th,.dn-s2p-article .dw-delivery-table td{display:block;width:100%!important}.dn-s2p-article .dw-delivery-table thead{display:none}.dn-s2p-article .dw-delivery-table tr{border-bottom:1px solid #d7e1d8;padding-bottom:10px}.dn-s2p-article .dw-delivery-table th,.dn-s2p-article .dw-delivery-table td{padding:14px 18px;border-bottom:0}.dn-s2p-article .dw-delivery-table tr:last-child{border-bottom:0}.dn-s2p-article .dw-cell-label{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#476652;margin-bottom:6px}}.dn-s2p-article ol{padding-left:24px;margin:0 0 22px}.dn-s2p-article .dw-quick ol{padding:0!important}.dn-s2p-article .dw-section ol li{padding:6px 0}
.dn-s2p-article .dw-native-row .et_pb_text{max-width:100%}
.dn-s2p-article .dw-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}
.dn-s2p-article .dw-kpi{background:#f3f7f1;border:1px solid #d7e1d8;border-radius:14px;padding:20px}
.dn-s2p-article .dw-kpi strong{font:700 28px 'Roboto Mono',monospace;display:block;color:#223b2e}
.dn-s2p-article .dw-kpi span{font-size:15px;line-height:1.6;display:block}
.dn-s2p-article .dw-delivery-table p{font-size:16px;margin-bottom:10px}
.dn-s2p-article .dw-delivery-table p:last-child{margin-bottom:0}
.dn-s2p-article .dw-native-row{scroll-margin-top:100px}
.dn-s2p-article .dw-native-row>.et_pb_column{min-width:0}
.dn-s2p-article.dw-cta .et_pb_text a{color:#cfe9da}
.dn-s2p-article.dw-cta .et_pb_text a:hover{color:#ffffff}
@media(max-width:600px){.dn-s2p-article .dw-kpis{grid-template-columns:1fr}.dn-s2p-article .dw-kpi{padding:16px}}

.dn-s2p-article .dw-definition{background:#f7f9f5;border:1px solid #d7e1d8;border-radius:15px;padding:26px;margin:24px 0}
.dn-s2p-article .dw-definition p:last-child{margin-bottom:0}
.dn-s2p-article .dw-definition h3{font-size:23px}
.dn-s2p-article .dw-form{max-width:700px;margin:auto}
@media(max-width:600px){.dn-s2p-article .dw-definition{padding:20px}.dn-s2p-article .dw-definition h3{font-size:21px}}
@media(max-width:600px){.dn-s2p-article .dw-delivery-table caption{display:block;width:100%;padding:14px 18px;margin:0}}
</style></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_151  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-breadcrumb"><a href="https://denovaltd.com/blog/">Insights</a> / Procurement &amp; Data</p>
<p class="dw-eyebrow">A practical guide to source-to-pay reporting</p>
<h1>Procurement Reporting in Power BI: S2P KPIs, Data Sources and Dashboard Requirements</h1>
<p class="dw-dek">Connect procurement measures to the records, owners and decisions behind them—from sourcing and contracts to invoices and payment.</p>
<p class="dw-meta">By Denova · Procurement &amp; Data · Updated 1 October 2026</p></div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_3 et_pb_column_144  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_152 dw-quick  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">At a glance</p>
<h2>Make every KPI usable</h2>
<ol>
<li><strong>Define the calculation</strong>Population, dates, exclusions and what counts as success.</li>
<li><strong>Check the source records</strong>Document IDs, line detail, history and reconciled totals.</li>
<li><strong>Design for action</strong>A named owner, a useful work queue and a route to the source.</li>
</ol></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_99 dn-s2p-article et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_116 dw-native-row">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_145  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_153 dw-toc  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">On this page</p>
<nav aria-label="Article contents"><a href="#decisions">Start with decisions</a><a href="#kpi-definitions">KPI definitions</a><a href="#source-data">Source data</a><a href="#data-model">Data model</a><a href="#dashboards">Dashboard actions</a><a href="#worked-example">Worked example</a><a href="#delivery">Refresh &#038; access</a><a href="#client-evidence">Client evidence</a><a href="#requirements">Requirements checklist</a></nav></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_100 dn-s2p-article et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="decisions" class="et_pb_row et_pb_row_117 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_146  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_154  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-intro"><strong>Procurement reporting in Power BI should help people decide what to do next.</strong> A sourcing lead needs to see which opportunities need attention. A buyer needs to find requests waiting for approval. Accounts payable needs to know why invoices are blocked and who can resolve them.</p>
<p>Source-to-pay (S2P) spans sourcing, contracting, purchasing, receipt, invoicing and payment. Those stages often sit in different systems. A useful report connects them without treating every date, status or amount as interchangeable.</p>
<p>Start with the decision, the person responsible and the frequency of review. Then agree the KPI and the records needed to calculate it. A monthly category review and a daily invoice-exception queue need different levels of detail and different refresh expectations.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_101 dn-s2p-article et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="kpi-definitions" class="et_pb_row et_pb_row_118 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_147  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_155  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">01 · Define the measures</p>
<h2>Practical S2P KPI definitions</h2>
<p>The definitions below are starting points for agreement with procurement and finance, not universal benchmarks. For every KPI, record its owner, unit, numerator and denominator or timing rule, date basis, exclusions, target and refresh frequency.</p>
<p>Use an explicit “unknown” category where required evidence is missing. A zero denominator should return “not applicable” or blank with an explanation, rather than a misleading 0%.</p>
<div class="dw-definition">
<h3>Spend under management</h3>
<p><strong>Managed eligible spend ÷ total eligible spend × 100.</strong> Agree what evidence makes spend “managed”—for example, an approved sourcing process or documented procurement oversight. Use a consistent spend basis, such as posted invoice-line value excluding recoverable tax, with an agreed treatment of credits and currency.</p>
<p>Use invoice lines, supplier/category mappings and dated management evidence. Being paid through an ERP or appearing on a PO does not by itself prove management. Keep unknown classifications visible in the eligible population. <strong>Action:</strong> category owners prioritise unmanaged spend and classification gaps.</p>
</div>
<div class="dw-definition">
<h3>Contract coverage</h3>
<p><strong>Eligible spend linked to an applicable contract valid at the transaction date ÷ total eligible spend × 100.</strong> Specify the date used, the relevant contract scope and any approved exclusions. A supplier having a contract is not proof that every purchase is covered.</p>
<p>Use invoice/PO-line links, contract ID, effective dates and scope. Report unmapped spend separately; do not quietly drop it. <strong>Action:</strong> buyers route suitable purchases to agreed contracts and category owners investigate coverage gaps.</p>
</div>
<div class="dw-definition">
<h3>Requisition-to-PO cycle time</h3>
<p>Measure elapsed time from requisition submission to PO issue to the supplier. For each eligible requisition line, use the point when its required quantity/value has been ordered; define how split orders and amendments are handled. Show median and a tail measure such as the 90th percentile for lines completed in the period.</p>
<p>Use submitted and issued timestamps plus requisition-to-PO-line links. Exclude cancelled lines under a stated rule and show open-line age separately. Do not relabel PO creation-to-approval time as requisition-to-PO time. <strong>Action:</strong> the buying team finds approval and hand-off delays.</p>
</div>
<div class="dw-definition">
<h3>Supplier lead time and on-time delivery</h3>
<p>Keep two measures. <strong>Lead time:</strong> PO issue to final accepted receipt for eligible fully received lines. <strong>On-time delivery:</strong> eligible schedule lines with the required quantity received by their agreed due date ÷ eligible schedule lines due in the period × 100. State tolerances and whether original or revised promises are used.</p>
<p>Use order/schedule IDs, issue and promised dates, receipt timestamps, accepted quantity, units and reversals. Open past-due lines cannot disappear from the delivery denominator. Service purchases need an agreed acceptance milestone. <strong>Action:</strong> buyers expedite overdue supply and supplier managers investigate repeat delays.</p>
</div>
<div class="dw-definition">
<h3>First-pass invoice match rate</h3>
<p><strong>Distinct eligible PO invoices passing their first match check without an exception ÷ distinct eligible PO invoices with a known first-check outcome × 100.</strong> An invoice passes only if all required line checks pass. Specify the cohort—for example, invoices first checked in the period—and show unassessed records separately.</p>
<p>Use invoice IDs, PO/receipt links and dated match-result history. A current “matched” status cannot show whether an invoice failed earlier. <strong>Action:</strong> AP, buyers and requesters tackle the reasons for rework: price, quantity, missing receipt or reference errors.</p>
</div>
<div class="dw-definition">
<h3>Invoice processing cost</h3>
<p><strong>Agreed invoice-processing costs for the period ÷ distinct invoices completed in that period.</strong> Document included labour, technology and allocated overheads, plus the completion event. Segment PO and non-PO flows; disclose the treatment of credit notes and outsourced work.</p>
<p>Use finance-approved cost allocations and invoice completion records. Costs and volumes must cover the same scope and period; explain backlog effects. <strong>Action:</strong> AP leaders compare comparable processes and test whether changes reduce effort without weakening controls.</p>
</div>
<div class="dw-definition">
<h3>On-time payment rate</h3>
<p><strong>Eligible invoices fully settled by their contractual due date ÷ eligible invoices due in the period × 100.</strong> Agree the settlement event and treatment of disputes, credits and cancelled invoices. A partial payment is not a full settlement. Show overdue unpaid items at the reporting cut-off.</p>
<p>Use contractual due dates and payment allocations against invoice IDs, including reversals. Missing settlement evidence is unknown, not success. <strong>Action:</strong> AP and treasury separate approval holds from payment-execution issues and assign the next step.</p>
</div>
<div class="dw-note">
<p><strong>Avoid one unexplained “supplier compliance” score.</strong> Contract coverage, on-time delivery, invoice accuracy and completed due-diligence checks measure different obligations. Report each against a defined rule. Keep negotiated savings, cost avoidance and realised savings separate too: a lower spend total may reflect volume, mix or currency changes rather than a procurement saving.</p>
</div></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_102 dn-s2p-article et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="source-data" class="et_pb_row et_pb_row_119 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_148  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_156  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">02 · Inspect the records</p>
<h2>Agree the source data before the dashboard design</h2>
<p>Systems such as Coupa, SAP Ariba, JAGGAER, Basware, Ivalua, Zip and an organisation’s ERP may hold parts of this data. The available fields, event history and extraction methods depend on the actual implementation. Confirm access and inspect representative exports before promising a measure.</p>
<table class="dw-delivery-table">
<caption>A minimum source-data checklist</caption>
<thead>
<tr>
<th scope="col">Data area</th>
<th scope="col">Records and fields</th>
<th scope="col">Source and validation</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Sourcing &amp; contracts</th>
<td><span class="dw-cell-label">Records and fields</span>Event and contract IDs, category, owner, stage, milestone dates, award decision, contract scope, validity, supplier links and agreed savings baseline.</td>
<td><span class="dw-cell-label">Source and validation</span>Sourcing/contract systems and approved registers. Retain stage history and baseline versions; a current status alone cannot reproduce prior pipeline or coverage.</td>
</tr>
<tr>
<th scope="row">Requests, orders &amp; approvals</th>
<td><span class="dw-cell-label">Records and fields</span>Requisition, PO and line IDs; submitted, approved and issued times; quantity/value, currency, requester, buyer, entity, cost centre, status and cancellation/return events.</td>
<td><span class="dw-cell-label">Source and validation</span>Intake, purchasing and approval systems. Preserve line mappings and each approval step’s owner and timestamps; do not join on supplier name alone.</td>
</tr>
<tr>
<th scope="row">Receipts &amp; service acceptance</th>
<td><span class="dw-cell-label">Records and fields</span>PO-line/schedule reference, promised date, receipt/acceptance date, accepted quantity, unit of measure, reversal and completion status.</td>
<td><span class="dw-cell-label">Source and validation</span>ERP, warehouse or service-acceptance records. Check partial receipts, changed promises, returns and missing confirmations.</td>
</tr>
<tr>
<th scope="row">Invoices, match events &amp; payments</th>
<td><span class="dw-cell-label">Records and fields</span>Invoice header and line IDs, supplier invoice reference, posting date, net/tax/gross amounts, currency, PO/receipt links, first match result, exception reason, due date and payment allocations.</td>
<td><span class="dw-cell-label">Source and validation</span>AP, invoicing and finance systems. Resolve duplicates, credit notes, reversals, split payments and invoices outside the purchasing platform.</td>
</tr>
<tr>
<th scope="row">Master data &amp; controls</th>
<td><span class="dw-cell-label">Records and fields</span>Supplier crosswalk, category hierarchy, entity, cost centre, contract mappings, owners, exchange rates, calendars and dated classification rules.</td>
<td><span class="dw-cell-label">Source and validation</span>Governed master/reference data. Assign owners for unmapped records and define how changes affect historical reports.</td>
</tr>
</tbody>
</table>
<p>For each feed, document the system of record, extraction method, unique key, record level, update schedule, retention and responsible owner. Obtain examples of cancellations, reopened approvals, split orders, partial receipts, credits and missing references—not only clean transactions.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_103 dn-s2p-article et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="data-model" class="et_pb_row et_pb_row_120 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_149  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_157  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">03 · Protect the totals</p>
<h2>Model each transaction at the right level</h2>
<p>A PO line can have several receipts, invoice lines and approval events. Joining all of them into one flat table can multiply amounts. Keep transaction tables at defined levels and connect them through governed supplier, entity, category and date dimensions, with explicit mapping tables where documents split or combine.</p>
<p>Microsoft’s <a href="https://learn.microsoft.com/en-us/power-bi/guidance/star-schema">star-schema guidance for Power BI</a> explains why consistent fact-table grain matters. Define whether each measure counts invoice headers, invoice lines, requisition lines or delivery schedules before building it.</p>
<p>Reconcile counts and values back to source control totals by entity, period and currency. Do not add order commitments, received value, invoiced spend and payments into one “total spend” figure. Show unmapped suppliers, duplicate keys, missing dates and failed extracts as data-quality exceptions.</p>
<p>Keep the date roles explicit: PO issue, receipt, invoice posting, contractual due and payment dates answer different questions. Retain snapshots or event history when users need to reproduce a prior reporting cut-off.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_104 dn-s2p-article et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="dashboards" class="et_pb_row et_pb_row_121 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_150  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_158  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">04 · Design around users</p>
<h2>Give each dashboard a decision and an owner</h2>
<p>A dashboard should lead from an overview to the records someone needs to act on. Avoid showing a red KPI without explaining the affected items, reason, accountable owner and next step.</p>
<table class="dw-delivery-table">
<caption>Five reporting views and the actions they should support</caption>
<thead>
<tr>
<th scope="col">Reporting view</th>
<th scope="col">What it should show</th>
<th scope="col">Action and owner</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Leadership &amp; category review</th>
<td><span class="dw-cell-label">What it should show</span>Eligible spend, spend under management, contract coverage, supplier/category concentration and data-quality coverage, with period/entity filters.</td>
<td><span class="dw-cell-label">Action and owner</span>Category owners select sourcing priorities, investigate unmanaged spend and assign data-cleanup work. Drill to the contributing transactions and agreed targets.</td>
</tr>
<tr>
<th scope="row">Sourcing &amp; contracts</th>
<td><span class="dw-cell-label">What it should show</span>Events by stage and owner, milestone slippage, upcoming contract expiry, renewal lead time and separately labelled savings stages.</td>
<td><span class="dw-cell-label">Action and owner</span>Sourcing leads unblock decisions and plan renewals. Give each event a next milestone; finance validates realised savings against an agreed baseline rather than inferring them from spend changes.</td>
</tr>
<tr>
<th scope="row">Buying &amp; approvals</th>
<td><span class="dw-cell-label">What it should show</span>Completed requisition cycle times alongside open-item age, current approval step, owner and reason for hold.</td>
<td><span class="dw-cell-label">Action and owner</span>Buyers and approvers work a prioritised queue, chase missing information and escalate overdue requests. Open the source request from the report.</td>
</tr>
<tr>
<th scope="row">Supplier delivery</th>
<td><span class="dw-cell-label">What it should show</span>Due schedules, on-time delivery, actual lead-time distribution, partial receipts and overdue open quantities.</td>
<td><span class="dw-cell-label">Action and owner</span>Buyers expedite supply; supplier managers review repeated failures. Separate supplier delays from late internal receipt entry and investigate the evidence.</td>
</tr>
<tr>
<th scope="row">Invoice &amp; payment operations</th>
<td><span class="dw-cell-label">What it should show</span>First-pass match, exception reason, current action owner, blocked value, age, due date and overdue unpaid invoices.</td>
<td><span class="dw-cell-label">Action and owner</span>AP routes price issues to buyers, missing receipts to requesters and payment issues to treasury. Keep the owner, next action and source-document link in the queue.</td>
</tr>
</tbody>
</table>
<p>Use consistent filters, visible units and reporting periods, accessible labels and a clear reset route. Power BI <a href="https://learn.microsoft.com/en-us/power-bi/create-reports/desktop-drillthrough">drillthrough pages</a> can carry a selected supplier or category into a detailed view. Approval, correction and payment decisions still need to be recorded in the authorised source workflow; viewing a report does not itself complete them.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_105 dn-s2p-article et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="worked-example" class="et_pb_row et_pb_row_122 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_151  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_159  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Worked example · illustrative figures</p>
<h2>An 87% match rate still leaves work to do</h2>
<p><strong>This is a fictional example, not a Denova client result.</strong> An AP team defines a weekly cohort of 100 distinct eligible PO invoices received. At the stated cut-off, 92 have a recorded first-check outcome: 80 passed and 12 failed. Eight have no first-check outcome yet.</p>
<div class="dw-kpis">
<div class="dw-kpi"><strong>87.0%</strong><span>First-pass match · 80 ÷ 92 assessed invoices</span></div>
<div class="dw-kpi"><strong>12</strong><span>Invoices failed their first check</span></div>
<div class="dw-kpi"><strong>8</strong><span>Invoices not yet assessed · 8% of the cohort</span></div>
</div>
<p>The report should show <strong>92% assessment coverage</strong> alongside the 87.0% match rate. Calling all 20 remaining invoices “match failures” would mix failed checks with work that has not been assessed. Reporting 80 ÷ 100 as the first-pass rate would answer a different question.</p>
<p>Of the 12 failures, suppose five have missing receipts, four have price differences and three have reference errors, using one agreed primary reason per invoice. The dashboard routes them to requesters, buyers and AP respectively. If an invoice has several reasons, show the overlaps and do not add reason counts as if they were distinct invoices.</p>
<p>A later successful match does not change that invoice’s first-pass outcome. Keep its current resolution status beside the historical result. Invoice value, payment due date and current owner then help the team prioritise the queue; the eight unassessed items need a separate owner and age view.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_106 dn-s2p-article et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="delivery" class="et_pb_row et_pb_row_123 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_152  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_160  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">05 · Make the report dependable</p>
<h2>Specify refresh, access and operational ownership</h2>
<p>Power BI is not automatically real-time. Import models reflect the most recent successful data refresh; source extracts may already be older. Agree a refresh schedule that supports the decision, display both source freshness and report refresh time, and define who responds when either fails. Microsoft’s <a href="https://learn.microsoft.com/en-us/power-bi/connect-data/refresh-data">data-refresh guidance</a> explains the relevant behaviours.</p>
<p>Name a procurement owner for KPI definitions, a source owner for each feed and a technical owner for the model and report. Document changes to mappings, targets and calculations so users can explain movements in a trend.</p>
<p>Agree access by role, entity and category, including what users can export. Where appropriate, use <a href="https://learn.microsoft.com/en-us/fabric/security/service-admin-row-level-security">row-level security</a> and test the intended roles and workspace permissions. Check source-document links separately: access to the report should not imply authority to approve a purchase or make a payment.</p>
<p>Automated extraction can reduce repetitive preparation, but it cannot repair an undefined process or guarantee accurate inputs. Retain reconciliations, exception monitoring and a documented route for correcting source records.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_107 dn-s2p-article et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="client-evidence" class="et_pb_row et_pb_row_124 dw-native-row dw-case-grid">
				<div class="et_pb_column et_pb_column_2_3 et_pb_column_153  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_161  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Relevant client evidence</p>
<h2>Reliable reporting starts upstream</h2>
<p>Denova’s Zip case study describes work on required intake fields, integrations, consistent approval routing and reporting exports, supported by documented processes and change governance.</p>
<p>That is relevant to procurement reporting because the usefulness of a KPI depends on what the operational systems capture. The case supports the importance of ownership and source-data quality; it does not document a Power BI implementation or a measured KPI uplift. The article states that formal metrics were not in place at the time.</p></div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_3 et_pb_column_154 dw-home-card  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_162 dw-home-banner  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Client story · Procurement</p>
<h3>Making procurement data usable</h3>
<p>Process ownership, integration fixes and reporting configuration.</p></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_163 dw-home-body  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>Read how embedded support helped a global business gain more value from its procurement platform.</p></div>
			</div><div class="et_pb_button_module_wrapper et_pb_button_22_wrapper et_pb_button_alignment_left et_pb_module ">
				<a class="et_pb_button et_pb_button_22 dw-home-button et_pb_bg_layout_light" href="https://denovaltd.com/how-one-embedded-consultant-helped-a-global-business-finally-get-value-from-its-procurement-platform/">Read Case Study</a>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_108 dn-s2p-article et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div id="requirements" class="et_pb_row et_pb_row_125 dw-native-row dw-section">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_155  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_164  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Copy into your reporting brief</p>
<h2>Agree the requirements and test the answers</h2>
<p>Start with a small number of decisions and test the report against records whose expected results are known. Ask procurement, AP and finance to validate both summary measures and the action queues behind them.</p>
<div class="dw-checklist">☐ Audience, decisions, review frequency and accountable owners agreed.<br />
☐ KPI formulas, populations, date roles, exclusions and targets documented.<br />
☐ Spend, tax, credit-note, currency and savings rules approved by finance.<br />
☐ Source fields, document keys, line mappings and event history available.<br />
☐ Duplicate, missing, cancelled, returned and partially completed records tested.<br />
☐ Counts and values reconciled to source totals at the same cut-off.<br />
☐ Unknown data and zero denominators shown explicitly.<br />
☐ Each exception exposes its reason, owner, age, next action and source link.<br />
☐ Access, exports, source permissions and refresh-failure handling tested.<br />
☐ Business acceptance, documentation, handover and support ownership agreed.</div>
<p>Useful acceptance cases include one PO line with two receipts, an invoice that fails then passes, a supplier with two system IDs and an overdue unpaid invoice. Check that totals stay correct when users change filters or drill to detail.</p>
<p>Use the <a href="https://denovaltd.com/power-bi-dashboard-report-development-guide/">Power BI reporting brief guide</a> to develop the requirements, or the <a href="https://denovaltd.com/power-bi-finance-teams-month-end-approval-reporting/">finance reporting guide</a> for related ownership, ageing and reconciliation considerations.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_109 dn-s2p-article et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_126 dw-native-row">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_156  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_165  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Stay informed</p>
<h2>More practical procurement and data insights</h2>
<p>Get Denova’s newsletter and occasional updates on procurement, finance and data.</p></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_8 dw-form">
				
				
				
				
				<div class="et_pb_code_inner"><div class="hs-form-frame" data-region="na2" data-form-id="79b86424-3889-41c8-a7d3-a11a9e903e3a" data-portal-id="245090126"></div></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_110 dn-s2p-article dw-cta et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_127 dw-native-row">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_157  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_166  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="dw-eyebrow">Plan the next step</p>
<h2>Build reporting around your procurement decisions</h2>
<p>Start with the questions your team needs to answer, then check the data and ownership behind them. Explore Denova’s <a href="https://denovaltd.com/power-bi-consulting-services/">Power BI consulting services</a> or discuss a procurement reporting requirement with us.</div>
			</div><div class="et_pb_button_module_wrapper et_pb_button_23_wrapper et_pb_button_alignment_left et_pb_module ">
				<a class="et_pb_button et_pb_button_23 dw-button et_pb_bg_layout_light" href="https://denovaltd.com/contact/">Discuss Your Requirements</a>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div></p><p>The post <a href="https://denovaltd.com/powerful-s2p-metrics-and-tools-to-supercharge-reporting/">Procurement Reporting in Power BI: S2P KPIs, Data Sources and Dashboard Requirements</a> first appeared on <a href="https://denovaltd.com">denovaltd.com</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How Microsoft Excel Endures the Test of Time</title>
		<link>https://denovaltd.com/how-microsoft-excel-endures-the-test-of-time/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-microsoft-excel-endures-the-test-of-time</link>
		
		<dc:creator><![CDATA[Josh Ryan]]></dc:creator>
		<pubDate>Sat, 29 Jul 2023 20:43:06 +0000</pubDate>
				<category><![CDATA[Analysis]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[Business Operations]]></category>
		<category><![CDATA[Data Analysis]]></category>
		<category><![CDATA[Data Management]]></category>
		<category><![CDATA[Data Transformation]]></category>
		<category><![CDATA[Decision-making]]></category>
		<category><![CDATA[Digital Tools]]></category>
		<category><![CDATA[Evergreen Tools]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Excel Skills]]></category>
		<category><![CDATA[Financial Modeling]]></category>
		<category><![CDATA[Process Optimization]]></category>
		<category><![CDATA[Reporting Tools]]></category>
		<category><![CDATA[S2P]]></category>
		<category><![CDATA[Source-to-Pay]]></category>
		<category><![CDATA[Spreadsheet Analysis]]></category>
		<guid isPermaLink="false">https://denovaltd.com/?p=109461</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<p><div class="et_pb_section et_pb_section_111 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_128 et_pb_gutters2">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_158  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_167  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner">How Microsoft Excel Endures the Test of Time</div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_112 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_129">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_159  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_168  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>In the world of digitalization, where a plethora of modern tools and software continuously emerge to optimize Source-to-Pay (S2P) processes, one might wonder if the days of traditional tools like <a href="https://www.microsoft.com/en-us/microsoft-365/excel" target="_blank" rel="noopener">Microsoft Excel</a> are numbered. The truth, however, is far from it. Excel remains a powerful and crucial tool for data transformation activities within S2P processes, even in this rapidly evolving digital era. Here are a few point to consider before ruling out the use of Excel for the management of your data transformation.</p>
<h2><strong></strong></h2>
<h2><strong>Universal Accessibility &amp; Familiarity</strong></h2>
<p><span>Most professionals, regardless of their tech-savviness, are familiar with Excel. It&#8217;s a tool embedded in business processes for decades, making it universally accessible. This widespread familiarity means less time training team members, leading to swift and efficient data handling.</span></p>
<h2><strong>Microsoft Excel for Versatility in Data Handling</strong></h2>
<p><span>Excel’s versatility is unmatched. From simple data entries to advanced pivot tables, VLOOKUP functions, and macro operations, Excel can handle both basic and complex data tasks. Its flexibility makes it perfect for data cleansing, normalization, and even initial stages of analysis in <a href="https://denovaltd.com/procurement-s2p/">S2P processes</a>.</span><strong></strong></p>
<h2><strong>Seamless Integration</strong><strong></strong></h2>
<p>Excel is designed to work harmoniously with various other tools and platforms. This compatibility means data from different sources can easily be imported into Excel for transformation before being fed into more specialized S2P systems.<strong></strong><strong></strong></p></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_169  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><blockquote class="et-pullquote left quote">
<p><span>For businesses that are just embarking on their S2P journey or small to medium enterprises with budget constraints, investing in high-end tools might not be feasible. Excel, being part of the widely used Microsoft Office suite, provides a cost-effective solution for <a href="https://denovaltd.com/data-bi-services/">data transformation</a> without compromising on quality.</span></p>
</blockquote></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_113 et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_130">
				<div class="et_pb_column et_pb_column_1_2 et_pb_column_160  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_170  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>Sign up for regular updates, analysis and research into the latest advancements in Source to Pay processes. </p></div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_2 et_pb_column_161  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_code et_pb_code_9">
				
				
				
				
				<div class="et_pb_code_inner"><div class="hs-form-frame" data-region="na2" data-form-id="79b86424-3889-41c8-a7d3-a11a9e903e3a" data-portal-id="245090126"></div></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_114 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_131">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_162  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_171  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2><strong>Customization and Scalability</strong></h2>
<p><span>Every business has unique needs. With its vast array of functions and features, Excel can be customized to cater to specific data transformation requirements. As the business grows and data needs become more complex, Excel&#8217;s functionalities can be scaled or integrated with other tools, ensuring continuity.</span></p>
<h2><strong>Aids in Transition &amp; Training</strong></h2>
<p>When companies transition to advanced S2P tools, Excel acts as a bridge. The foundational data skills learned from Excel make training individuals on specialized data management software easier, reducing the learning curve.</p>
<h2><strong>Error Detection &amp; Correction</strong></h2>
<p><span>Excel&#8217;s formula auditing feature allows users to trace the sources of errors, making error detection and correction more streamlined. Given that accurate data is paramount in S2P processes, this feature ensures data integrity throughout the transformation phase.</span></p>
<p><span>​</span></p></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_172  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><blockquote class="et-pullquote left quote">
<p><span>While there are <a href="https://denovaltd.com/procurement-s2p/">specialized tools</a> designed exclusively for S2P processes, dismissing Excel would be a mistake. Its relevance in today&#8217;s business landscape, especially concerning data transformation in S2P processes, is undiminished. Excel provides businesses with a combination of flexibility, power, and familiarity, making it an indispensable tool in the data transformation arsenal.</span></p>
</blockquote></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_115 et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_132 et_pb_gutters2">
				<div class="et_pb_column et_pb_column_1_2 et_pb_column_163  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_173  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>&#8220;</p></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_174  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2><span>Whether you&#8217;re just beginning your S2P transformative journey or looking to enhance existing processes, Denova is poised to be your trusted partner.</span></h2></div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_2 et_pb_column_164  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_175  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p><span>If you need hands-on assistance with data cleansing, migration, enrichment, or ongoing management, Denova is committed to empowering your business through the power of accurate, actionable data.</span></p>
<p><span></span></p>
<p><a href="https://denovaltd.com/contact/">Contact us</a> today to find out how we can support your business through your S2P transformation journey. <span></span></p>
<p>&nbsp;</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_116 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_133 et_pb_equal_columns et_pb_gutters2">
				<div class="et_pb_column et_pb_column_1_2 et_pb_column_165  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_176  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>Related Articles</h2></div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_2 et_pb_column_166  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_button_module_wrapper et_pb_button_24_wrapper et_pb_button_alignment_left et_pb_module ">
				<a class="et_pb_button et_pb_button_24 et_pb_bg_layout_light" href="https://denovaltd.com/blog/">Browse All Categories</a>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_134 et_pb_equal_columns et_pb_gutters2">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_167  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_blog_2 et_pb_blog_grid_wrapper et_pb_bg_layout_light">
					<div class="et_pb_blog_grid clearfix ">
					
					
					
					
					<div class="et_pb_ajax_pagination_container">
						<div class="et_pb_salvattore_content" data-columns>
			<article id="post-117603" class="et_pb_post clearfix et_pb_blog_item_2_0 post-117603 post type-post status-publish format-standard has-post-thumbnail hentry category-data">

				<div class="et_pb_image_container"><a href="https://denovaltd.com/power-bi-finance-teams-month-end-approval-reporting/" class="entry-featured-image-url"><img loading="lazy" decoding="async" src="https://denovaltd.com/wp-content/uploads/2026/10/Blog-Post-Images-2-400x250.png" alt="Power BI for Finance Teams: Designing Month-End and Approval Reporting" class="" srcset="https://denovaltd.com/wp-content/uploads/2026/10/Blog-Post-Images-2-scaled.png 479w, https://denovaltd.com/wp-content/uploads/2026/10/Blog-Post-Images-2-400x250.png 480w " sizes="(max-width:479px) 479px, 100vw "  width="400" height="250" /></a></div>
														<h2 class="entry-title">
													<a href="https://denovaltd.com/power-bi-finance-teams-month-end-approval-reporting/">Power BI for Finance Teams: Designing Month-End and Approval Reporting</a>
											</h2>
				
					<p class="post-meta"><span class="published">Oct 1, 2026</span></p><div class="post-content"><div class="post-content-inner"><p>Design month-end and approval reporting around accountable owners, clear status definitions, ageing and reconciled figures. Includes an illustrative worked example and relevant Denova client evidence.</p>
</div></div>			
			</article>
				
			<article id="post-117555" class="et_pb_post clearfix et_pb_blog_item_2_1 post-117555 post type-post status-publish format-standard has-post-thumbnail hentry category-broad category-data category-embedded-delivery">

				<div class="et_pb_image_container"><a href="https://denovaltd.com/how-to-work-with-denova-procurement-data-and-the-right-delivery-model/" class="entry-featured-image-url"><img loading="lazy" decoding="async" src="https://denovaltd.com/wp-content/uploads/2026/09/How-to-Work-with-Denova-400x250.png" alt="How to Work with Denova: Procurement, Data and the Right Delivery Model" class="" srcset="https://denovaltd.com/wp-content/uploads/2026/09/How-to-Work-with-Denova-scaled.png 479w, https://denovaltd.com/wp-content/uploads/2026/09/How-to-Work-with-Denova-400x250.png 480w " sizes="(max-width:479px) 479px, 100vw "  width="400" height="250" /></a></div>
														<h2 class="entry-title">
													<a href="https://denovaltd.com/how-to-work-with-denova-procurement-data-and-the-right-delivery-model/">How to Work with Denova: Procurement, Data and the Right Delivery Model</a>
											</h2>
				
					<p class="post-meta"><span class="published">Sep 30, 2026</span></p><div class="post-content"><div class="post-content-inner"><p>Explore Denova’s Procurement &#038; S2P and Data &#038; BI expertise, with embedded delivery, managed services and projects shaped around your team’s needs.</p>
</div></div>			
			</article>
				
			<article id="post-117491" class="et_pb_post clearfix et_pb_blog_item_2_2 post-117491 post type-post status-publish format-standard has-post-thumbnail hentry category-procurement-transformation">

				<div class="et_pb_image_container"><a href="https://denovaltd.com/procurement-transformation-best-practices/" class="entry-featured-image-url"><img loading="lazy" decoding="async" src="https://denovaltd.com/wp-content/uploads/2026/09/pexels-steve-12810662-400x250.jpg" alt="Procurement Transformation Best Practices: 10 Actions for Lasting Change" class="" srcset="https://denovaltd.com/wp-content/uploads/2026/09/pexels-steve-12810662-scaled.jpg 479w, https://denovaltd.com/wp-content/uploads/2026/09/pexels-steve-12810662-400x250.jpg 480w " sizes="(max-width:479px) 479px, 100vw "  width="400" height="250" /></a></div>
														<h2 class="entry-title">
													<a href="https://denovaltd.com/procurement-transformation-best-practices/">Procurement Transformation Best Practices: 10 Actions for Lasting Change</a>
											</h2>
				
					<p class="post-meta"><span class="published">Sep 26, 2026</span></p><div class="post-content"><div class="post-content-inner"><p>Practical actions to help procurement teams prepare data, engage suppliers, support adoption and maintain improvements through digital S2P change.</p>
</div></div>			
			</article>
				</div>
					</div>
					</div> 
				</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_117 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_135">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_168  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_177  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>Get Started with Denova</h2></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_178  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p><span>Reach out to us today for an initial consultation and discover how Denova can elevate your business operations to new heights of efficiency and effectiveness.</span></p></div>
			</div><div class="et_pb_button_module_wrapper et_pb_button_25_wrapper et_pb_button_alignment_right et_pb_module ">
				<a class="et_pb_button et_pb_button_25 et_pb_bg_layout_light" href="https://denovaltd.com/contact/" data-icon="&#x45;">Get in Touch</a>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div></p><p>The post <a href="https://denovaltd.com/how-microsoft-excel-endures-the-test-of-time/">How Microsoft Excel Endures the Test of Time</a> first appeared on <a href="https://denovaltd.com">denovaltd.com</a>.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
