We write X++ for Dynamics 365 Finance and Supply Chain and test it before each service update lands.
Microsoft applies at least two Finance and Operations service updates a year, tested or not. When an update breaks something, it's usually an extension built without a test suite or an integration nobody owns. We write the X++ and its tests together, and we track the update calendar so it doesn't surprise you.
Four service updates a year (Feb, Apr, Jul, Oct); minimum two
Next end of service
10.0.47 on 20 Nov 2026
release watch
Service update 10.0.49 (major release)11 Sep 2026
Four service updates a year, minimum two
connects with
in short·20-second read
Cohash implements and extends Dynamics 365 Finance and Supply Chain Management.
We configure legal entities and ledgers, procurement, inventory and production. We write X++ extensions using chain of command and events, build data entities and integrations, and set up the unified developer experience with Power Platform pipelines. Microsoft ships four service updates a year and you must take two, so we regression-test each one, 10.0.49 for example, before production sees it.
you probably need this if
The last service update broke an extension and the first report came from a user.
There's no automated regression suite, so testing an update takes the whole team a week.
You're on AX 2012 and the overlayered code count is unknown.
30 Jun 2026MB-700 solution architect certification retired Microsoft retired the Finance and Operations Apps Solution Architect Expert certification on 30 June 2026, and its exam with it. source ↗
11 Sep 2026Service update 10.0.49 (major release) Generally available for self-update from 11 September 2026. Autoupdate windows for production open on 2 October and on 30 October 2026. source ↗
today · Oct 22, 2026
no date yetFour service updates a year, minimum twoService updates come out in February, April, July and October. You have to take at least two a year, and you can pause one at a time. 10.0.47 reaches end of service on 20 November 2026.source ↗
no date yetUnified developer experienceYou develop finance and operations in Visual Studio, against cloud-hosted environments managed through Power Platform. Dataverse integration goes through dual-write and virtual entities.source ↗
the story · dynamics 365 finance & operations estate
From the first call to a setup your own team can run.
Here's what usually prompts a call about your Dynamics 365 Finance & Operations estate, what we do about it and in which order, and where you end up.
01 · where it hurts02 · what we change03 · how it runs04 · where you end up
incident board · dynamics 365 finance &…3 open
openThe last service update broke an extension and the first report came from a user.
recurringThere's no automated regression suite, so testing an update takes the whole team a week.
blockedYou're on AX 2012 and the overlayered code count is unknown.
exposure
Finance and SCM implementationX++ developmentService update readinessUnified developer experienceIntegrationsAX 2012 upgrades and staffing
startrehearsehandover
Environment and code review
Update and build plan
Build and test
Go live and hand over
we are here
ready to hand over
Production is on a supported update, on a date the team picked.
The upgrade plan is based on objects we counted and a data upgrade we tested.
Service update calendar mapped to close and peak periods
Automated regression suite covering finance, procurement and inventory flows
chapter 01 · where it hurts
Why teams reach out
The last service update broke an extension and the first report came from a user.
There's no automated regression suite, so testing an update takes the whole team a week.
You're on AX 2012 and the overlayered code count is unknown.
chapter 02 · what we change
How we solve it
Finance and SCM implementation
X++ development
Service update readiness
Unified developer experience
Integrations
AX 2012 upgrades and staffing
chapter 03 · how it runs
Our approach
Environment and code review
Update and build plan
Build and test
Go live and hand over
chapter 04 · where you end up
What changes
Production is on a supported update, on a date the team picked.
The upgrade plan is based on objects we counted and a data upgrade we tested.
Service update calendar mapped to close and peak periods
Automated regression suite covering finance, procurement and inventory flows
what we do
Our Dynamics 365 Finance & Operations work
6 kinds of Dynamics 365 Finance & Operations work, each run by engineers who have done it on live tenants.
Legal entities, chart of accounts, financial dimensions, procurement, inventory, warehousing and production configured from your process, with data migration through data entities and the data management framework.
Extensions built with chain of command, event handlers and table and form extensions instead of overlayering, kept in source control and built through Azure DevOps or Power Platform pipelines.
Each service update is applied to a sandbox in the preview or early GA window, run against an automated regression suite (RSAT or your own), and scheduled into the update window you choose in Lifecycle Services.
Moving development to the Power Platform-hosted unified developer environments, with Visual Studio, X++ deployment to the cloud and Dataverse integration through dual-write or virtual entities.
OData and custom services, business events, recurring data jobs and Azure Integration Services or middleware flows to CRM, banks, carriers and the data platform.
Code upgrade from AX 2012 overlayers to extensions, data upgrade, and X++ developers or functional consultants on contract, contract-to-hire or permanent terms.
capability 01 / 06in production
Finance and SCM implementation
Legal entities, chart of accounts, financial dimensions, procurement, inventory, warehousing and production configured from your process, with data migration through data entities and the data management framework.
Extensions built with chain of command, event handlers and table and form extensions instead of overlayering, kept in source control and built through Azure DevOps or Power Platform pipelines.
Each service update is applied to a sandbox in the preview or early GA window, run against an automated regression suite (RSAT or your own), and scheduled into the update window you choose in Lifecycle Services.
Moving development to the Power Platform-hosted unified developer environments, with Visual Studio, X++ deployment to the cloud and Dataverse integration through dual-write or virtual entities.
OData and custom services, business events, recurring data jobs and Azure Integration Services or middleware flows to CRM, banks, carriers and the data platform.
Code upgrade from AX 2012 overlayers to extensions, data upgrade, and X++ developers or functional consultants on contract, contract-to-hire or permanent terms.
Dynamics 365 Finance & Operations situations we walk into
We pieced these together from Dynamics 365 Finance & Operations situations that come up a lot. They're patterns. You won't find a specific client in them.
case file 01
Finance and SCM on 10.0.46 with no regression suite
composite · not a client story
Beforethe situation
The environment sits on 10.0.46, which reached end of service on 21 August 2026. Testing each update has been manual and slow, so updates were paused until Microsoft's automatic update forced the issue.
What we dothe work
We build a regression suite around close, purchase-to-pay, order-to-cash and inventory, apply 10.0.49 to a sandbox and fix the extensions that fail. The production update is booked into the second autoupdate window to leave time for one more test pass.
Afterwhere you end up
Production is on a supported update, on a date the team picked. Next time, a suite tests the update, and nobody spends a week on it by hand.
case file 02
AX 2012 with heavy overlayering and a hard support date
composite · not a client story
Beforethe situation
AX 2012 R3 runs finance and distribution with thousands of overlayered objects across several models. The infrastructure is old and the business wants to be on Dynamics 365 within the year.
What we dothe work
We run code analysis against each model and sort overlayered objects into rebuild as extension, replace with standard or drop. Data upgrade runs on a copy of production early so data issues show up while code is still being rebuilt.
Afterwhere you end up
The upgrade plan is based on objects we counted and a data upgrade we tested. New code uses extension patterns that hold up through service updates.
How a Dynamics 365 Finance & Operations engagement runs
We don't start a step until the last one has produced something you can check.
step 01
Environment and code review
We go through your models, extensions and integrations and your update settings in Lifecycle Services. Then we look at how the last two service updates were tested.
step 02
Update and build plan
A calendar that sets the next service updates against your close and peak periods. A regression suite plan. And a plan to move development onto the unified developer experience.
step 03
Build and test
We build X++ extensions and integrations with automated tests, deploy them through pipelines, and run them against each service update in a sandbox before production.
step 04
Go live and hand over
Cut-over or update with your team, then the regression suite, pipeline configuration and integration register left with the people who'll run them.
ai on dynamics 365 finance & operations
Where AI fits on Dynamics 365 Finance & Operations, and where it needs guardrails.
Microsoft's main AI route into Finance and Supply Chain Management is the Dynamics 365 ERP MCP server. Agents in Copilot Studio or other clients read data, work forms and call actions under the agent's security role. The older static ERP MCP server retired on 1 October 2026. You need a supported version and allowed clients, and the roles need careful design.
AI agentasks for data or an action
Scoped identityonly the access it needs
MCP serverthe one door into the platform
Logged, approveda person signs off on writes
Dynamics 365 Finance & Operationsdoes the work
Microsoft publishes the Dynamics 365 ERP MCP server. Admins add each agent platform on the Allowed MCP Clients page. The agent's security role then filters every menu item, entity and action it sees. Security, user setup and feature management forms are excluded altogether. We add dedicated agent identities and logging, and postings need approval.
Dynamic Dynamics 365 ERP MCP server
The server has data tools over data entities, form tools that work pages the way a user would, and action tools for X++ classes exposed as AI tools. You need 10.0.47 or later (or 10.0.46 PQU-2, or 10.0.45 PQU-7) on a Tier 2 or unified developer environment. Cloud-hosted environments won't work.
Agent roles and licensing
Agent identities with the System agent role are exempt from user licences. But the role grants no access. What the agent can do comes from other roles, so we build one per agent from duties and privileges. Outside Copilot Studio each tool call costs 0.1 Copilot credits, unless users hold Finance or Supply Chain Premium.
Moving off the static server
The static server retired on 1 October 2026. It had 13 fixed tools, built on the Dataverse connector framework. If you have agents built on it, they have to move to the dynamic server. We inventory them, rewrite their instructions around the new tools and retest.
Custom actions in X++
Sometimes business logic isn't reachable through entities or forms. Then developers can expose an X++ class as an AI tool through the ICustomAPI interface. We write those with security on the menu item, plus tests that run with each service update.
Where Finance and SCM sit with Dataverse, Power Platform and data
The ledger, procurement and inventory run in Dynamics 365 Finance and Supply Chain Management. Data reaches Dataverse and the Dynamics 365 customer apps through dual-write and virtual entities, business events trigger Power Automate, and Fabric receives finance data for reporting.
What a Dynamics 365 Finance & Operations engagement leaves behind
These are working documents, written against your configuration, so your team can run them without us.
plan01
Service update calendar mapped to close and peak periods
yours to keep
tests02
Automated regression suite covering finance, procurement and inventory flows
yours to keep
inventory03
Extension inventory with chain of command and event usage per model
yours to keep
code04
Pipeline setup for X++ builds and deployments
yours to keep
inventory05
Integration register with data entity, auth and monitoring per flow
yours to keep
design06
AX 2012 code upgrade assessment with overlayer counts by model
yours to keep
talent and delivery · dynamics 365 finance & operations
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.
F&O integration developer (OData, business events)
F&O technical architect and ALM engineer
due diligence · dynamics 365 finance & operations
Questions to ask any partner, including us.
Put these to anyone bidding on your Dynamics 365 Finance & Operations work. The ones who've done it answer differently from the ones who've read about it.
Q1
Which service update window will we use, and what testing happens before it?
There are two autoupdate windows, four weeks apart. The second one gives you room for a proper test pass, if the regression plan is ready to run.
Q2
How much of our regression testing is automated today?
You take at least two of the four updates a year, so manual testing becomes a standing bill. The share that's automated is what keeps updates boring.
Q3
Do any of our extensions call internal or obsolete methods?
Code that calls non-public APIs is what usually breaks in an update. Find it early and you know how big the hardening job is.
Q4
When will our developers move to the unified developer experience?
Microsoft is consolidating finance and operations development with Power Platform environments. If you plan the move now, you won't have to rush it later.
Q5
Which tables use dual-write, which use virtual entities, and why?
Pick wrong and you get sync conflicts or performance problems. Decide table by table, and Dataverse and finance data stay consistent.
01How many service updates do we have to take?
Four a year, in February, April, July and October, and Microsoft makes you take at least two. You can pause one update at a time. When the pause ends, Microsoft applies the latest update automatically according to your Lifecycle Services settings, so we plan test windows around those dates.
02How do we stop service updates from breaking our extensions?
Don't lean on internal methods. Use chain of command and events, and keep a regression suite that runs by itself. We put each update on a sandbox early and run the suite, so fixes land before your autoupdate window.
03Should we move to the unified developer experience?
Finance and operations development is being consolidated with Power Platform environments, and new development should assume it. Environment creation and X++ deployment change. Most coding habits don't. We start with one team and move the others once it works.
04What's involved in upgrading from AX 2012?
You need a code upgrade from overlayering to extensions, a data upgrade, rebuilt integrations and a full retest. Usually the code upgrade is the big unknown. We run Microsoft's analysis tools against your models and count overlayered objects, and only then give a plan.
05Dual-write or virtual entities for Dataverse?
Dual-write copies data both ways in near real time, and suits shared master data such as customers and products. Virtual entities show finance and operations data in Dataverse without copying it. Many estates use both, picked table by table.
06Do you staff X++ developers?
Yes. We place X++ developers and Finance and SCM functional consultants, both hard to find, on contract, contract-to-hire or permanent terms. They can be onsite in the US or nearshore and offshore.
services
Related services
Projects on Dynamics 365 Finance & Operations usually end up touching one of these, so they're worth a look.
Reviewed by the Cohash teamDynamics 365 Finance & Operations is a trademark of its owner, used here to identify the platform.how we handle facts and data →
next step
Tell us what you're running. We'll tell you what we'd do first.
A 30-minute working session with a senior engineer. No slides.