In partnership with Roar Data (Australia) · Fixed-price, always· +61 433 345 000

Excel to Power BI migration in Dubai — keep the numbers, lose the manual work

For finance teams in Dubai and the UAE whose month-end and management reporting has outgrown a workbook. Audited, built in phases, run in parallel against your existing close, and quoted at a fixed price before work starts.

The starting point is usually the same: a master workbook with links to a dozen exports, a macro somebody wrote years ago, a sheet called “Adjustments” and one person who understands it. It produces the board pack, the entity P&Ls and the VAT workings, a few days later each month than anyone would like.

A migration moves the consolidation, the KPI logic, the history and the distribution out of that workbook and into a Power BI model that reads your finance system directly. Excel stays for budget input, journal templates and ad hoc analysis. If you would rather keep the workbook and remove the manual steps from it, that is a different service: Excel reporting automation. Delivered in partnership with Roar Data, an Australian Power BI consultancy.

Serving Dubai and the UAE. Remote delivery, 7am–7pm Gulf Standard Time, seven days.

Signs it is time

Five symptoms. Two of them is usually enough; four means the workbook is already the bottleneck.

Month-end takes days because of consolidation, not accounting

The ledgers close on time. The days after go on pulling exports from each entity, pasting them into the master, fixing broken links and re-checking totals.

Two versions of the same KPI

Gross margin in the board pack does not match gross margin in the sales review, because two people built two formulas from two exports. Both are defended in the meeting.

A workbook past the point of safety

Tens of megabytes, links to files that have moved, a macro nobody will edit, and calculation set to manual because automatic takes too long. It opens, most of the time.

The VAT return is prepared by re-keying

Output and input tax by supply type are assembled in a separate sheet from figures typed in from the ledger, and reconciled to the return by hand each quarter.

One person holds it together

The workbook works because one accountant knows where the plugs are. When they are on leave, reporting waits. When they resign, it stops.

What stays in Excel and what moves

The migration is not a ban on spreadsheets. It is a decision about which jobs a spreadsheet should be doing.

Stays in ExcelMoves to Power BIGoes
Budget and forecast input templatesConsolidation across entities and systemsMacros that replicate extract-transform-load by hand
Journal and upload templates for the finance systemKPI logic: one definition per measure, applied everywhereCopy-and-paste steps between exports and the master
Ad hoc analysis and one-off investigationsDistribution: the pack, the entity P&Ls, the weekly flashExternal links to files on someone’s desktop
Pivot tables over the governed model (Analyze in Excel)History: every close retained, comparable periods availablePlug lines and silent manual adjustments
Working papers for the auditorVAT and payroll reconciliations by entity and periodThe version of the file with “FINAL v3 (2)” in its name

The workbook audit (week one)

Nothing is quoted or built until the workbook has been read. The audit is the first week of every migration and it produces the migration map the fixed quote is written against.

Inventory. Every workbook, external link and data connection in the reporting chain is listed, so the chain from finance system to board pack is drawn end to end. Most chains are longer than anyone remembered.

Classification. Each sheet is classified as source (an export or a paste), logic (formulas) or presentation (the page someone reads). Source sheets become connections, logic sheets become measures, presentation sheets become report pages.

Measure extraction. Every figure in a report is traced to its formula and written into a measure list with a plain-English definition and a named owner. This is where “gross margin” turns out to have three definitions, and the owner chooses one.

Hidden rules. Manual adjustments, plug lines and hard-coded numbers are found and attributed. Some are legitimate business rules nobody wrote down; they are written down now and become either logic in the model or an input the owner controls.

Migration map. The output is a map of what moves, what stays, what is retired and in which phase, with the open decisions listed. You sign it off; the scope and quote follow from it. The checklist alongside is the one we work through.

Every workbook in the reporting chain listed, with owner, location and last-modified date
Every external link and data connection mapped to its source file or system
Every sheet classified as source, logic or presentation
Every reported figure traced back to its formula and its inputs
Every manual step written down: exports, paste-ins, sort orders, filter settings, macro runs
Every manual adjustment, plug line and override found and attributed to a reason
Every KPI defined once, with a named owner who agrees the definition
Every named range, hidden sheet, hidden column and hard-coded number recorded
A migration map: what moves, what stays, what is retired, and in which phase

Phased migration

Five phases, each with a defined output. The parallel run is the one we will not shorten: it is where the numbers earn trust.

Phase 0 — Workbook audit

The inventory, classification and measure list described above, ending in a migration map you sign off. Nothing is built until the map is agreed, because the fixed quote is written against it.

Phase 1 — Sources and model

Connections to the finance system and the other sources on the map. A chart-of-accounts dimension with your reporting hierarchy, an entity dimension, and a calendar with your fiscal year, close periods and Ramadan and Eid flags so comparable-period measures can shift or exclude those weeks. The measure list becomes a DAX measure library, each measure with its definition written down.

Phase 2 — Parallel run

Power BI and the Excel pack run side by side for one or two month-end closes. Every figure that differs is explained line by line: a timing difference, a plug in the workbook, a mapping error in the model, a mistake in the old formula. We do not switch until two closes match, or until every remaining difference is one you have accepted in writing.

Phase 3 — Switch and retire

Distribution moves to Power BI: the board pack, the entity P&Ls, the weekly flash. The master workbook is frozen and archived with its last reconciled close, and the manual steps on the map are retired one by one. Input workbooks stay where they are.

Phase 4 — Training and support

The person who owns the model is trained on it, with the measure dictionary and refresh runbook as the reference. Ongoing support, if you want it, moves to a fixed monthly fee under managed services rather than an open-ended project.

How long each phase takes depends on the shape of your business: a single entity on one finance system is a short migration; a group on several systems with intercompany eliminations is a longer one. The audit produces a phase plan against your own close calendar, and that plan is what we quote.

UAE finance specifics we build in

A finance model built for the UAE has to carry a few things a generic template does not. These are explanatory notes on how the model handles them; we are not tax agents, auditors or lawyers, and questions of treatment go to yours.

VAT

Each transaction is classified by supply type: standard-rated, zero-rated, exempt and out-of-scope, with reverse-charge imports and designated-zone movements flagged where your system records them. Output and input tax become measures by supply type, period and VAT registration or tax group, so the dashboard reconciles to the return filed to the Federal Tax Authority. The dashboard does not prepare or file the return.

Corporate Tax readiness

The model keeps a P&L per legal entity, not only per group, because Corporate Tax for financial years starting on or after 1 June 2023 is assessed at entity level. Where an entity is a free-zone person, income from activities you have identified as qualifying can be tagged and seen on its own. The model tags what you tell it to; whether income qualifies is a question for your tax adviser.

Multi-entity, multi-currency

Mainland and free-zone entities, branches and cost centres sit in one entity dimension with their type, base currency and registration. Intercompany transactions are tagged at source so eliminations are a measure rather than a manual journal. Every transaction keeps its original currency alongside its AED value. The dirham’s peg makes USD simple; EUR, CNY, INR and the GCC currencies take an FX rate from a stated source, so the conversion is explainable.

WPS and payroll

Payroll cost in the ledger is reconciled to the Wage Protection System SIF totals by entity and month, so a gap between what was booked and what was paid shows up as a number rather than a surprise. Headcount and cost per head follow from the same tables.

Post-dated cheques and receivables

Trading businesses in the UAE run on post-dated cheques, and a receivables ageing that ignores them overstates the risk. PDC on hand, PDC due by week and PDC returned are first-class measures alongside conventional debtor ageing, so cash forecasting sees what is actually in the drawer.

Calendar and seasonality

The calendar table carries your fiscal year and close periods, plus Ramadan, Eid and summer flags, so a comparable-period measure can shift or exclude those weeks rather than comparing a Ramadan month with a normal one. For tourism and hospitality, the October-to-April peak is a flag too. The phased rollout of e-invoicing in the UAE is one more reason to clean customer and supplier master data while the migration is already touching it.

From your finance system, not around it

The model reads the finance system directly rather than the exports that feed the workbook. How depends on the system.

Tally / TallyPrime

Connected through the ODBC driver or the XML interface, via a gateway on the machine that runs Tally. Tally is one company file per entity, so a group means one connection per entity. Ledgers, groups and vouchers map cleanly; cost centres and godowns depend on how consistently they were used. Refresh runs when Tally is open and idle.

Zoho Books

Connected through the API, one organisation per entity. Chart of accounts, journals, invoices, bills and contacts are available; custom fields come through if they were set up consistently. API rate limits mean history is loaded once and refreshed incrementally.

Odoo

Connected to the database (account.move and its lines, with analytic accounts for cost centres and projects) or through the API where direct access is not permitted. Multi-company Odoo carries the entity on every line. Custom modules are the unknown; the audit lists which ones touch the figures you report.

SAP Business One

Connected to the underlying database, SQL Server or HANA. The journal (JDT1) and the document tables (OINV, OPCH and their lines) are well understood, and the financial report structure comes through as a dimension. HANA needs the right driver on the gateway and a read-only user.

Dynamics 365 Business Central

Connected through the API pages or, on-premises, the database. G/L entries with their dimensions become the fact table; your existing account schedules inform the reporting hierarchy. Multi-company is native. Dimensions used inconsistently across companies need a mapping table.

Oracle NetSuite

Connected through SuiteAnalytics Connect (ODBC or JDBC) or saved searches through the API. Transaction lines with subsidiary, department, class and location are the fact table. NetSuite’s own consolidation is kept where it is correct and rebuilt in the model where you need eliminations it does not do.

QuickBooks and Xero

Connected through their APIs, one organisation per entity. Both are simple to read and both have thin dimension support: tracking categories in Xero, classes and locations in QuickBooks. Anything more granular comes from a companion source such as a sales system.

Sales, stock and payroll systems join the finance system in the same model. For a trading business that usually means a point-of-sale or marketplace feed alongside the ledger; our retail and trade page describes that shape.

Messy data is normal

Cleaning happens in the model, not in the source, unless you choose to clean the source. What we need from you is decisions: which record is the master, which old account maps to which new one, which adjustment was a rule and which was a fix. The audit lists them; you make each once; the mappings carry it forward.

Inconsistent customer and supplier names are handled with a mapping table you own: three spellings map to one master, in a sheet you can edit. Duplicate SKUs get the same treatment. Cost centres used differently across entities are mapped to a common reporting structure without changing the source system.

A chart of accounts that changed mid-year is the common hard case. The model carries both structures with a mapping from old to new, so the year reports on either basis and the prior-year comparison holds. The mapping is signed off, because it is a decision about how the business reports, not a technical setting.

What you own at the end

Everything is built in your tenant and handed to a named owner on your team. Nothing sits with us that you would need to ask for back.

If the owner needs more than a handover session, Power BI training in Dubai runs on your own model. If you would rather not carry it in-house, Power BI managed services keeps it running on a fixed monthly fee. For KPI definitions and governance ahead of a build, see Power BI consulting in Dubai.

A Power BI workspace in your own Microsoft tenant, with Dev, Test and Prod stages
The data model: a documented star schema with an entity dimension that will take the next company
A DAX measure library and measure dictionary: name, definition, owner, source
Documentation: model diagram, source list, refresh runbook, security matrix
The archived master workbook with its last reconciled close
A trained owner on your team who can add a measure, change a mapping and read a refresh failure

See a finance demo

A finance report set built the way this page describes.

Look at three things: the P&L page keeps every measure’s definition as you switch between entities and consolidate; the comparable-period toggle shifts the prior-year comparison for the Ramadan weeks rather than comparing unlike months; and the ageing page carries post-dated cheques as their own buckets beside conventional debtor ageing.

Demo built on synthetic data to show layout, KPI definitions and interaction. Not client data.

Excel to Power BI migration — questions finance teams ask

Plain answers to the questions we are asked before a migration is scoped.

Can Power BI replace our manual Excel reports?
The recurring ones, yes: the month-end pack, the entity P&Ls, the weekly sales and cash flash, the ageing reports, the VAT workings. Power BI reads the finance system directly, applies the logic once in a measure library and refreshes on a schedule. It does not replace Excel as an input or analysis tool; budgets are still typed into a sheet, and an accountant chasing a variance will still open one.
How long does an Excel to Power BI migration take?
It depends on how many workbooks and sources are on the migration map, how many entities and currencies the model consolidates, and how many month-end closes you want in the parallel run. A single entity on one finance system is at the short end; a group on two or more systems with intercompany eliminations is at the long end. The audit in week one produces a phase plan with dates against your own close calendar, and the fixed quote is written against that plan.
Will the numbers match Excel?
They will match where Excel was right, and where Excel was wrong you will find out during the parallel run rather than after the switch. Power BI and the existing workbook run side by side for one or two closes and every difference is explained line by line: timing, plugs the workbook was carrying silently, old formula errors, or mapping errors on our side, which we fix. We do not switch until two closes match, or until each remaining difference is one you have accepted in writing.
Our data is messy. Is that a problem?
It is normal. Inconsistent customer names, duplicate SKUs, cost centres used differently by different entities and a chart of accounts that changed mid-year are what most finance systems look like after a few years. The model handles most of it with mapping tables you own and can edit. What we need from you is decisions: which spelling is the master, which old account maps to which new one. You make each once, and the mappings carry it forward.
Can it handle multi-entity and multi-currency?
Yes, from the first day, even if you have one entity now. Each entity sits in an entity dimension with its type (mainland, free zone, branch), its base currency and its VAT registration or tax group. Transactions keep their original currency alongside the AED value, and the FX rate comes from a source you nominate, whether your finance system or a published rate table, so the conversion is explainable. Intercompany transactions are tagged so eliminations are a measure rather than a manual journal.
Can it help with VAT and Corporate Tax reporting?
It can reconcile to them. The model classifies each transaction by VAT supply type, so output and input tax by type and by registration can be compared with the return filed to the Federal Tax Authority. For Corporate Tax, the entity-level P&L segregation makes taxable income visible by entity and lets income from a qualifying free-zone activity be tagged separately. The dashboards report; they do not file, and they do not decide treatment. We are not tax agents or auditors, and questions of treatment go to yours.
Do we lose Excel?
No. Input workbooks, budget templates, journal uploads and ad hoc analysis stay in Excel. Power BI datasets can also be opened from Excel through Analyze in Excel, so an accountant who wants a pivot table over the governed numbers gets one without exporting anything. What goes is the master workbook that consolidated, calculated and distributed, and the manual steps that fed it.
Who maintains it afterwards?
Your own team, or us, or both. The handover includes training the person who will own the model, with a measure dictionary and refresh runbook to work from. If you would rather not carry it in-house, our Power BI managed services cover monitored refreshes, break-fix and small changes on a fixed monthly fee. Many businesses do both: an internal owner for day-to-day questions, and managed support for changes that need a developer.

How fixed pricing works

The method comes first because it is what moves the number. The diagnostic is a fixed price; a migration is quoted against a written scope.

A short discovery call, no charge

Thirty minutes on how month-end runs today, and a look at the workbook, its reports and the systems behind it.

The audit and a written scope

The workbook audit produces the migration map; the scope names sources, model, pages, users, security, parallel-run closes, training and handover.

A fixed quote against that scope

The quote is the price. It does not move because a source turned out harder than it looked.

Inside scope is our cost; outside scope is quoted first

Something worse than expected inside the scope is ours to absorb. Something outside it, such as a new entity or a second pack, is quoted separately before we do it.

Payment stages

Agreed in the scope document before work starts.

The reporting diagnostic is a fixed AED 4,950. That is the whole amount. Nothing is added at checkout. It reviews the workbook, the reports around it and the systems underneath, and returns a written plan for what to move first.

The migration itself is quoted rather than sold from a page. Builds start at AED 15,500 and most land in the AED 15,500 to AED 62,000 range, moved by the number of ERP and source systems, how much of the workbook logic has to be rebuilt as a model, the entities and pages in scope and how many closes are run in parallel. Your written quote carries the figure that applies to your workbook.

Ready to take month-end out of the workbook?

Answer four quick questions and book a time. Bring the master workbook, or a description of it, and we will tell you what the audit would find first.