delivered for clients · names withheldmigration ERP and HCM

Dynamics AX 2012 to Dynamics 365 Finance & Operations

Cohash upgrades Dynamics AX 2012 R2 and R3 to Dynamics 365 finance and operations apps. Microsoft's upgrade analyzer and code upgrade tools go first. Overlayered X++ moves to extensions, and we clean and compress the database before rehearsing the data upgrade in development and then sandbox. We practice cut-over against the downtime you really have, and rebuild AIF services and reports on data entities.

  1. 01Upgrade analysis
  2. 02Code upgrade
  3. 03Data preparation
  4. 04Data upgrade rehearsals
  5. 05Integrations and reports
  6. 06Mock cut-over and go-live
case-study / dynamics-ax-to-d365-finance-operations delivered
beforeDynamics AX 2012 R2 / R3 (on-premises) afterDynamics 365 Finance & Operations (cloud)
01 · USERS AND PARTNERS 02 · INTEGRATION 03 · FINANCE AND OPERATIONS 04 · DATA AND APPS Finance and warehouse users: browser Finance andwarehouse users browser Trading partners: orders · invoices Trading partners orders · invoices Data entities and OData: Data Management Framework Data entities andOData Data ManagementFramework Dynamics 365 F&O: service update cadence Dynamics 365 F&O service update cadence X++ extensions: in source control X++ extensions in source control Attachments in Blob storage: carried by the upgrade Attachments in Blobstorage carried by the upgrade Dataverse: dual-write · virtual entities Dataverse dual-write · virtualentities Rebuilt reports: current tooling Rebuilt reports current tooling
case file

The story

Told without the client's name or anything that could identify them.

what happened

A distributor's finance and operations team still ran Dynamics AX 2012 R3, which stopped getting Microsoft fixes in January 2023, so tax and e-invoicing changes were being patched in-house. Most customizations were overlayered changes to standard objects, and integrations ran through AIF services and file drops on Windows Server and SQL Server versions security wanted gone. We ran the upgrade analysis report and the Lifecycle Services code upgrade tool first, then froze AX 2012 code and moved overlayered X++ to extensions. After data clean-up and rehearsed data upgrades in development and sandbox, a mock cut-over was timed against the downtime limit before go-live on Dynamics 365 finance and operations apps.

why it was urgent

AX 2012 R3 lost Microsoft support in January 2023. No security fixes and no regulatory fixes since then. The supported upgrade to finance and operations starts from AX 2012 R2 or R3 only. Systems with virtual companies or data partitions can't be upgraded at all.

problem statement
  • openTax and e-invoicing changes are now patched in-house because Microsoft no longer ships them for AX.
  • recurringAX runs on Windows Server and SQL Server versions that security wants gone.
  • blockedMost customizations are overlayered changes to standard objects.
  • openIntegrations still run through AIF services and file drops.
architecture

The estate, before and after

before
before

Before: Dynamics AX 2012 R3 with overlayered code and AIF

AX 2012 R3 ran on-premises on SQL Server, with customizations overlayered onto standard objects. Partners exchanged data through AIF services and file drops, and attachments sat on file shares and SharePoint outside the database.

Before: Dynamics AX 2012 R3 with overlayered code and AIF AX 2012 R3 ran on-premises on SQL Server, with customizations overlayered onto standard objects. Partners exchanged data through AIF services and file drops, and attachments sat on file shares and SharePoint outside the database. 01 · USERS AND PARTNERS 02 · AX 2012 R3 ON-PREMISES 03 · INTEGRATIONS AND FILES AX client file drops customizes data integration calls attachment links report data Finance and warehouseusers AX client Trading partners orders · invoices Dynamics AX 2012 R3 no Microsoft fixes since Jan2023 Overlayered X++ changes to standard objects SQL Server database on Windows Server AIF services services · file drops File shares andSharePoint document attachments Reports some won't upgrade
Read the diagram as text
  1. Finance and warehouse users → Dynamics AX 2012 R3: AX client
  2. Trading partners → AIF services: file drops
  3. Overlayered X++ → Dynamics AX 2012 R3: customizes
  4. Dynamics AX 2012 R3 → SQL Server database: data
  5. Dynamics AX 2012 R3 → AIF services: integration calls
  6. Dynamics AX 2012 R3 → File shares and SharePoint: attachment links
  7. Dynamics AX 2012 R3 → Reports: report data
after
after

After: Dynamics 365 finance and operations apps in the cloud

After the upgrade, customizations are X++ extensions and the apps take Microsoft's update cadence. Partners use data entities, OData and the Data Management Framework. Where a process needs Dataverse, it comes in through dual-write or virtual entities.

After: Dynamics 365 finance and operations apps in the cloud After the upgrade, customizations are X++ extensions and the apps take Microsoft's update cadence. Partners use data entities, OData and the Data Management Framework. Where a process needs Dataverse, it comes in through dual-write or virtual entities. 01 · USERS AND PARTNERS 02 · INTEGRATION 03 · FINANCE AND OPERATIONS 04 · DATA AND APPS browser OData · DMF data import · export extends attachments dual-write report data Finance and warehouseusers browser Trading partners orders · invoices Data entities and OData Data Management Framework D3 Dynamics 365 F&O service updatecadence X++ extensions in source control Attachments in Blobstorage carried by the upgrade PP Dataverse dual-write · virtualentities Rebuilt reports current tooling
Read the diagram as text
  1. Finance and warehouse users → Dynamics 365 F&O: browser
  2. Trading partners → Data entities and OData: OData · DMF
  3. Data entities and OData → Dynamics 365 F&O: data import · export
  4. X++ extensions → Dynamics 365 F&O: extends
  5. Dynamics 365 F&O → Attachments in Blob storage: attachments
  6. Dynamics 365 F&O → Dataverse: dual-write
  7. Dynamics 365 F&O → Rebuilt reports: report data
results

What the client got

What changed for the client once the work was done. Described, not scored: we don't publish client figures.

  1. result 01

    Microsoft ships tax and regulatory updates again

    The business runs on Dynamics 365 finance and operations apps, on Microsoft's service update cadence. Regulatory changes come from Microsoft now. Nobody writes in-house patches for them.

  2. result 02

    Customizations are extensions in source control

    Overlayered X++ now lives as extensions in source control. Service updates go on without anyone reworking standard objects by hand.

  3. result 03

    Integrations run on data entities

    The AIF services are gone. In their place are data entities, OData and the Data Management Framework, with Dataverse linked through dual-write or virtual entities wherever a process called for it.

  4. result 04

    Attachments moved with the data

    We loaded the attachments from file shares and SharePoint into the AX database before the upgrade, so the upgrade carried them to Blob storage.

  5. result 05

    Go-live followed a rehearsed cut-over

    We timed technical and functional tasks side by side in the mock cut-over, against the downtime limit. Production ran off that exact plan.

what can go wrong

Risks we plan for

  1. Blocked features

    Virtual companies and data partitions stop the upgrade path. If the analyzer finds them, the plan becomes a reimplementation with data migration, and that's better known early.

  2. Downtime that doesn't fit

    Large databases can push the data upgrade past the weekend window. Cleanup, compression and tuning are done before the mock cut-over, because the window is fixed by the business.

  3. Lost attachments

    Attachments only come across if they are in the AX database before the upgrade. Moving a large file share in takes planning and test runs.

  4. Update cadence after go-live

    Microsoft ships four service updates a year for finance and operations, and you have to take at least two. If regression testing is manual, every one of those turns into its own small project.

ai in this move

Where AI helps, and where it needs guardrails

Once you're on finance and operations, Copilot Studio agents and Power Platform flows can get at ERP data through Dataverse, via dual-write and virtual entities. Give any agent that posts journals or approves purchase orders a dedicated user with a narrow role, and route it through the same workflow approvals as everyone else. On the upgrade itself, we lean on an LLM to triage conflict reports and draft X++ extensions, and our developers check each change.

forward deployed engineers →
you keep

What you're left with

We write these for your setup, and they're working documents. Your team should be able to keep things running from them long after we've gone.

  • report01

    Upgrade analysis summary with blockers and cleanup actions

    yours to keep
  • code02

    Upgraded code base as extensions, in source control

    yours to keep
  • tests03

    Data upgrade rehearsal log with timings per environment

    yours to keep
  • code04

    Integration map from AIF and file drops to data entities and APIs

    yours to keep
  • runbook05

    Cut-over runbook timed against the agreed downtime limit

    yours to keep
  • tests06

    Regression test suite for future service updates

    yours to keep
talent and delivery · dynamics 365 finance & operations (cloud)

Certified engineers, wherever you need them.

Some clients want a project team, some want a couple of engineers on theirs. Either works. Onsite, nearshore or offshore, with handovers across time zones that keep things moving.

Onsite

Engineers at your sites in the US

Nearshore

Overlapping hours with US teams

Offshore

Overnight progress on your backlog

All time zones

Coverage handed over across time zones

24-hour coverage · US Central time
OnsiteUS business hours
Nearshoreoverlapping US hours
Offshoreovernight progress
Combinedhandover, not hand-off
01Should we upgrade or reimplement?

It depends on how much of AX still matches how you work and whether the analyzer finds blockers. An upgrade keeps transaction history and customizations. A reimplementation lets you drop old design choices but means migrating open balances and master data instead. We run the analysis first and price both.

02We're on AX 2012 RTM. Is there a path?

No. Microsoft won't take AX 2012 RTM straight to the cloud version. You'd either get to R3 first or treat the whole thing as a reimplementation.

03What drives the cost?

The number of overlayered objects and code conflicts, database size, the number of integrations and reports, and how many legal entities go live together.

04Can Cohash support us after go-live?

Yes. We take on service update testing, extension development, integration support and Lifecycle Services administration, with onsite, nearshore or offshore engineers.

sources 4 sources linked last checked 2026-10-20 content fingerprint 3fa2ccac
  1. 01Microsoft Lifecycle: Dynamics AX 2012 R3learn.microsoft.com ↗
  2. 02Microsoft Learn: Upgrade from AX 2012 to finance and operationslearn.microsoft.com ↗
  3. 03Microsoft Learn: Finance and operations service update availabilitylearn.microsoft.com ↗
  4. 04Microsoft Learn: unified developer experience for finance and operations appslearn.microsoft.com ↗
Reviewed by the Cohash team Product names are trademarks of their owners. how we handle facts and data →
next step

Planning this move?

A 30-minute working session with a senior engineer. No slides.

useful to bring
  • The platform and the version you're on
  • Where you need to get to, and by when
  • What's custom: rules, plugins, integrations
  • Any audit finding or deadline driving it