The problem every BC consultant knows
You have upgraded a sandbox. You are about to push it live. Someone asks the question nobody wants to answer: "How do we know nothing is broken?"
If you have been around Business Central (or NAV before it) for any length of time, you know this moment well. The upgrade report says everything passed. The test users say it looks fine. But somewhere in the back of your mind, you know there are 2,000 tables in that environment and you have only eyeballed a handful of them.
The traditional approach is a combination of spot checks, Excel exports, and crossed fingers. You might run a few queries in SSMS or pull some data into Excel and do a VLOOKUP. If you are thorough, you write a script. If you are honest, you admit you are never as thorough as you want to be.
What we built
Environment Compare is a new feature in XPT Data Explorer that lets you compare two Business Central environments side-by-side, directly in your browser. No SQL access needed, no scripts to write, no data to export.
It has three modes, each designed for a different stage of validation.
1. Schema Diff — did the upgrade break anything?
Select your live environment as the source and the upgraded sandbox as the target. The schema diff fetches every table and every field from both environments and compares them. You get:
- Tables only in source — anything that disappeared during the upgrade (regressions)
- Tables only in target — new tables added by the upgrade
- Column changes — new fields, removed fields, per table
- Type and length changes — data type modifications, field length changes, field class changes
- Primary key changes — any modifications to PK composition
Each check is a checkbox, so you can run exactly the checks you need. There is also an extension filter — limit the comparison to your custom extension and ignore the Microsoft base application changes you expect to see.
Results are grouped by table with expandable detail. Colour-coded badges show you at a glance which tables have additions, removals, type changes, or PK changes. No scrolling through a spreadsheet trying to spot the one row that is different.
2. Data Diff — is the data still correct?
Schema changes are one thing. But what about the actual data? Setup tables, number series, posting groups — these are the configuration records that make an ERP tick, and if even one value drifts during a migration, the consequences can be expensive.
Data diff lets you pick a table and compare the actual rows across two environments. Records are matched by primary key, then every field value is compared cell by cell.
The important design decisions here:
- System fields are excluded by default — SystemId, SystemCreatedAt, SystemModifiedAt and friends are always different between environments. They add noise, not signal.
- GUID fields are excluded by default — same logic. GUIDs are almost always regenerated.
- You can select specific columns — if you only care about certain fields on a large table, pick them and skip the rest.
- Max rows cap — default 5,000 as a safety valve for large transactional tables.
Results show three categories: rows added in the target, rows removed from the target, and rows that exist in both but have changed values — with the exact field, old value, and new value highlighted.
3. Record Counts — the 30-second sanity check
Before you run a detailed comparison, you want a quick answer: does anything look obviously wrong?
Record counts fetches the row count for every table in both environments and shows them in a sortable grid. You can toggle "differences only" to filter down to tables where the counts do not match, and sort by the percentage change to find the outliers.
This is the first thing you run. It takes seconds, not minutes. If the Customer table has 5,000 records in production and 0 in the sandbox, you know something went wrong before you waste time on a detailed diff.
Who this is for
We built this for BC consultants and partners — the people who manage upgrades and go-lives for their clients. The typical workflow looks like this:
- Before the upgrade — run a record count snapshot of the live environment
- After upgrading the sandbox — run record counts again and compare. Spot any tables that lost data.
- Schema diff — check for unexpected structural changes. Filter to your custom extension to focus on what matters.
- Data diff on setup tables — compare G/L Setup, Sales & Receivables Setup, Number Series, Posting Groups. Verify every configuration value migrated correctly.
- Save the reports — name them, timestamp them. Evidence for the client that due diligence was done.
This workflow used to involve SQL Server Management Studio, a pile of Excel files, and a lot of manual comparison. Now it is a browser tab.
The gap we are filling
There are tools that let you browse BC schemas. There are tools that let you query BC data. But there is nothing — until now — that lets you compare two environments from a browser without SQL access.
This matters because the world is moving to Business Central SaaS, where you do not have SQL access. SSMS is not an option. You are limited to the APIs and the tools that work with them.
Environment Compare works entirely through the Business Central API. It runs against SaaS and on-prem alike. You do not need database access, you do not need admin rights on the server, and you do not need to install anything other than our lightweight AL extension.
Available now
Environment Compare is available on the Partner tier of XPT Data Explorer. You need at least two BC connections configured — typically your client's production and sandbox environments.
If you manage BC upgrades, migrations, or go-lives, try it out. The schema browser and query builder are free. Upgrade to Partner when you are ready to compare environments.
Full documentation is available at docs.xpt.tools.