Dynamics GP to Business Central Migration for a Perth Manufacturer
Twelve years of financial and inventory data migrated from Dynamics GP 2016 to Dynamics 365 Business Central. Dexterity production scheduling customisation rebuilt as a Business Central AL extension. Four GP Report Writer reports rebuilt in Power BI. Live before the GP 2016 extended support deadline.
Manufacturing business: 55 staff, production scheduling and job costing
A Perth-based manufacturer producing structural steel components for the mining and construction sectors. The business ran project-based manufacturing with jobs tracked from quote through production to despatch. They had been on Dynamics GP 2016 for twelve years.
Over that time, the GP environment had accumulated one significant Dexterity customisation: a production scheduling module built directly in the Dexterity layer that tracked work-in-progress status across the shop floor and fed job costing data back into GP. The customisation had been built by an external developer who was no longer available.
The finance team ran four recurring GP Report Writer reports — weekly job profitability, monthly WIP summary, debtor aging with job reference, and a supplier performance summary — all exported to Excel and distributed by email before each management meeting.
What needed to change
Microsoft's published end date for GP 2016 extended support was July 2026. The business had been aware of this but had deferred migration planning, partly because of uncertainty about the Dexterity customisation.
The Dexterity production scheduling module was the primary operational concern. It was embedded in the daily workflow of both the shop floor team and the finance team. Moving to Business Central without it was not an option for go-live. The original developer was no longer contactable, and the documentation was minimal.
A secondary concern was the four GP Report Writer reports. These were not glamorous, but they were used in every management meeting. The finance manager was clear: they needed to work on day one, not be rebuilt as a post-migration phase.
The business also had two integrations: a direct SQL connection to their estimating software (a custom tool that pushed accepted quotes into GP as jobs), and a file-based integration to their freight platform that generated packing slips and updated despatch dates in GP.
What we built
Migrated to Dynamics 365 Business Central with twelve years of financial and job costing history. Dexterity production scheduling module reverse-engineered and rebuilt as a Business Central AL extension. Four management reports rebuilt in Power BI. Both integrations rebuilt on the Business Central API.
GP Data Extraction & Migration
Full SQL extraction from the GP 2016 company database: chart of accounts, 340 customer records, 280 supplier records, inventory items, job history for twelve years, open AP/AR, and transaction history. ETL pipeline built in Python with staging validation. Two test migrations run before production.
Dexterity Reverse Engineering & AL Build
The Dexterity customisation was reverse-engineered by connecting to the GP SQL database and tracing the custom tables, triggers, and screen forms. The production scheduling logic was documented from the database structure and the existing functionality confirmed with the operations team. The equivalent was then built as a Business Central AL extension: job card status tracking, WIP movements, and the feed to job costing records.
Power BI Report Rebuild
All four GP Report Writer reports analysed and rebuilt in Power BI using the Business Central Power BI connector. Weekly job profitability, monthly WIP summary, debtor aging with job reference, and supplier performance all rebuilt as live reports rather than exported snapshots. Finance team retrained on Power BI during the parallel running period.
Integration Rebuild
Estimating software integration rebuilt via Business Central API: accepted quotes now push directly into Business Central job cards via REST. Freight platform integration rebuilt as a webhook-based connection, updating despatch status in Business Central in real time rather than via file exchange.
How it works
GP Environment Audit
Connected to the GP 2016 SQL database. Catalogued all custom tables created by the Dexterity module, all GP Report Writer reports, both integrations, and twelve years of transaction data volumes. Dexterity layer documented from SQL structure — no access to original source code.
Dexterity Module Analysis
Custom tables, relationships, and triggers in the Dexterity customisation mapped to a functional specification. Operations team interviewed to validate the documented logic against actual workflow. Gaps in the SQL-derived documentation filled by observation of the live system.
Data Mapping & ETL Build
GP to Business Central data model mapping completed. Python ETL pipeline built for extraction, transformation, and Business Central API load. First test migration in week 8: finance team validated financial data; operations team validated job history.
AL Extension Development
Business Central AL extension built to replicate the production scheduling functionality: job status tracking, WIP updates, shop floor recording, and job costing feed. Tested in Business Central sandbox against migrated job data before UAT.
Power BI Build & Integration Rebuild
Four Power BI reports built using the Business Central certified connector. Both integrations rebuilt on the Business Central REST API. All tested against the Business Central sandbox before cutover.
Parallel Running & Cutover
Three-week parallel run with both systems live. Finance team validated reports; operations team validated AL extension. End-of-month cutover at end of June, six weeks before the GP 2016 extended support deadline. GP kept in read-only mode for 90 days.
Measurable outcomes
The Dexterity module was the reason we had been putting off the GP migration for two years. Nobody wanted to touch it. HELLO PEOPLE reverse-engineered the whole thing from the SQL database, confirmed the logic with our operations team, and rebuilt it in Business Central before go-live. The AL extension actually handles a few edge cases better than the original did.
How we delivered it
Environment Audit & Dexterity Analysis
3 weeksGP SQL database catalogued. Dexterity customisation reverse-engineered from SQL structure and confirmed with operations team. Full migration scope documented.
Data Mapping & ETL Build
5 weeksGP to BC data model mapping. ETL pipeline built. First test migration run and finance team validation.
AL Extension Development
6 weeksBusiness Central AL extension built for production scheduling. Tested in sandbox against migrated job data.
Power BI & Integrations
4 weeksFour Power BI reports built. Both integrations rebuilt on BC API. All tested in sandbox.
Parallel Running & Cutover
3 weeks (+ 1 week buffer)Three-week parallel run. End-of-month cutover. Post-cutover support through first BAS and management reporting cycle.
Similar Project?
Want something similar for your business?
Tell us about your industry, your workflows, and what you want to achieve. We will scope it, quote it fixed-price, and build it.
Tell Us About Your Project
What industry are you in? What systems do you use? What is the biggest operational problem you want solved? We will come back with a plan and fixed-price quote.
Prefer a quick chat? Call 0425 531 127 – we're Perth-based and we answer the phone.