Bugwolf

Dynamics 365 UAT

Dynamics 365 UAT Testing Checklist: What to Validate Before Go-Live

Most Dynamics 365 go-live failures aren't caused by bugs in custom code — they're caused by configuration gaps that only surface when real users follow real business processes. Here's the UAT checklist that catches them.

July 21, 202510 min read

A Dynamics 365 implementation is never just one system. It's a suite of interconnected modules — CRM & Sales, Finance & Operations, Supply Chain Management, Field Service — built on a shared data model, often integrated with Azure AD, Power Automate, and a stack of third-party connectors. When a configuration decision in Finance affects the Supply Chain's purchase order workflow, automated testing won't catch it. Neither will the SI's internal QA. That's the gap UAT exists to close.

This checklist covers the areas that matter most in a Dynamics 365 UAT engagement — the ones where failures are most likely to surface after go-live if not validated properly before it. It's structured by domain, because Dynamics 365 UAT isn't a single pass — it's a coordinated programme across modules, roles, and integration layers.

1. Security roles and Azure AD group mapping

Security is the most commonly misconfigured layer in a Dynamics 365 deployment — and the hardest to test thoroughly, because failures are often invisible until a user attempts something they shouldn't be able to do, or discovers they can't access something they should.

Your UAT security checklist should cover:

  • Every named security role in scope: validate that the record-level permissions, field-level security, and business unit scoping match the agreed design
  • Azure AD group assignments: confirm that each AD group maps to the correct Dynamics security role, and that group membership reflects the actual user population going live
  • Cross-BU access: verify that users in one business unit cannot read or write records belonging to another — this is a common gap in multi-entity deployments
  • Privilege escalation paths: test whether combinations of roles produce unintended elevated access (e.g. a user with both a CRM Sales role and a Finance Reader role who can see data they shouldn't)
  • Delegation and impersonation: if service accounts or integration users are in scope, validate their permission model separately from named users

Run security validation with the actual Azure AD users going live — not admin accounts, not test accounts with elevated permissions. The failures hide in the gap between what the design says and what the AD configuration actually delivers.

2. Cross-module workflow validation

Dynamics 365's interconnected module architecture is its greatest strength operationally and its greatest UAT challenge. A Sales opportunity closing triggers Finance posting rules. A Purchase Order approval in Supply Chain depends on Finance's budget configuration. A Field Service work order completion feeds into Finance's billing run. Each of these is a cross-module boundary — and each is a failure point that single-module testing won't surface.

For each cross-module workflow in scope, your UAT checklist should include:

  • End-to-end transaction tracing: follow a transaction from its origin module to its final state in the downstream module, validating each handoff point
  • Data transformation validation: confirm that data mapped across modules (account records, cost centres, legal entity codes) arrives correctly formatted and attributed
  • Error handling: deliberately trigger failure conditions at each handoff and confirm the system surfaces the error correctly — silent failures in cross-module flows are a production risk
  • Volume behaviour: run cross-module workflows at representative transaction volumes, not just one record at a time — batch processing behaviour often differs from single-record behaviour

3. Power Automate flows and integration connectors

Power Automate is the glue layer in most Dynamics 365 implementations — and one of the most reliable sources of silent failures. Flows that work correctly in sandbox often fail in production under real data volumes, under real timing conditions, or when triggered by real user actions rather than test invocations.

Power Platform UAT checklist items:

  • Flow trigger validation: confirm each flow triggers correctly from the actual Dynamics events it's wired to — not just from manual test invocations
  • Timeout and throttling behaviour: test flows under the volume conditions they'll face in production; timeout failures that are invisible in low-volume testing become production incidents
  • Error notification paths: confirm that flow failures surface to the right people — if a flow fails silently, operations teams don't know there's a problem until the downstream effect appears
  • Connector authentication: validate OAuth tokens and connection credentials for every connector in scope; tokens that work in sandbox may expire or be scoped differently in production
  • Retry logic: test what happens when a connected system is unavailable — does the flow retry correctly, or does it drop the record?

4. Data migration integrity

Data migration is one of the highest-risk elements of any Dynamics 365 go-live. Migrated records that look correct in isolation often behave incorrectly when the system applies business rules — because the relationships, codes, or attributes that business rules depend on weren't migrated faithfully.

Data migration UAT should validate:

  • Record counts and completeness: migrated record counts match source system extracts across every entity type in scope
  • Relationship integrity: parent-child relationships, lookup fields, and association records are correctly recreated in Dynamics — orphaned records are a common migration failure mode
  • Code and reference data mapping: legacy codes (account types, product categories, territory codes) are correctly mapped to Dynamics equivalents — errors here corrupt every report and workflow that depends on them
  • Business rule validation: migrated records correctly trigger (or don't trigger) the business rules they should be subject to — a customer record migrated without the right segment attribute will route incorrectly from day one
  • Historical record accuracy: for Finance migrations in particular, validate that opening balances, transaction histories, and financial period attributions are correct before the first live transaction runs

5. Financial configuration per legal entity

Finance & Operations configuration is done at the legal entity level — chart of accounts, tax codes, posting profiles, currency rounding rules, and intercompany settings are all entity-specific. A configuration correct for one legal entity can be completely wrong for another. This is the most technically specialised area of Dynamics 365 UAT, and the one where gaps are most costly.

Finance configuration checklist:

  • Chart of accounts validation: confirm that the correct chart of accounts is assigned to each legal entity and that account mapping from legacy systems is accurate
  • Tax code configuration: validate VAT, GST, or sales tax codes for each legal entity's jurisdiction — cross-border transaction handling is a common failure point
  • Posting profiles: verify that the correct posting profiles are assigned to each transaction type — an incorrect posting profile produces wrong ledger entries that may not surface until month-end close
  • Currency and rounding: for entities transacting in multiple currencies, validate exchange rate configuration and rounding rules against actual transaction scenarios
  • Period and fiscal calendar: confirm that financial periods are correctly configured and that period-end close processes run correctly for each entity
  • Intercompany transactions: if intercompany trading is in scope, validate the full intercompany posting chain end-to-end before go-live

6. Role-based user journey testing

Everything above is infrastructure validation. User journey testing is where you confirm that the system actually works for the people who'll use it — not as an administrator checking configuration, but as a sales rep closing a deal, a finance analyst running a month-end report, or a field technician completing a work order.

Effective user journey testing in Dynamics 365 means:

  • Testing with the correct security role active — not as a system administrator who can see everything
  • Following the actual end-to-end workflow, including handoffs between modules and systems
  • Using realistic test data that reflects production data characteristics — edge cases like zero-value transactions, multi-currency orders, and records with incomplete data
  • Including exception flows — what happens when the system rejects an entry, when an approval is denied, or when a required field is missing
  • Documenting both passes and failures — passing scenarios become your regression baseline

A Dynamics 365 system that passes every configuration check can still fail a user journey test — because the user is following a business process that the configuration never anticipated. That's the gap UAT closes.

Why Microsoft partner implementations benefit from independent UAT

Most Dynamics 365 implementations are delivered by a Microsoft partner — a systems integrator with certification and delivery experience. The partner's internal testing is a necessary part of delivery. It's also structurally limited: a team that built the configuration is not well-positioned to test it objectively. They know where the gaps are; they know which scenarios to avoid; they've tested against the spec, not against the business.

Independent UAT — conducted by a team with no stake in the implementation outcome — provides a different kind of assurance. It tests the system as users will experience it, not as the implementers intended it to work. It surfaces the gap between specification and reality. And it gives the business an objective basis for the go-live decision, rather than sign-off from the same team responsible for the build.

For Dynamics 365 deployments involving multiple modules, complex integrations, or regulated industries, independent UAT is the last line of defence before go-live. Not because partners do bad work — most don't — but because objectivity is structurally impossible when the same team is responsible for both building and validating what they built.

How to use this checklist

This checklist is a starting point, not a complete test plan. A Dynamics 365 UAT programme needs to be scoped to the specific modules in scope, the specific integrations active, and the specific business processes the organisation relies on. The items above are the areas where failures are most likely and most consequential — they should be in every Dynamics 365 UAT plan.

The items specific to your deployment — the specific Power Automate flows, the specific legal entity configuration, the specific cross-module workflows — need to be added on top. A specialist UAT partner brings platform pattern knowledge from prior engagements to that scoping process: knowing which scenarios to prioritise, which edge cases to build test data for, and which failure modes are most likely given the implementation approach your SI has taken.

Frequently Asked Questions

What should a Dynamics 365 UAT security checklist cover?

A Dynamics 365 UAT security checklist should validate every named security role — including record-level permissions, field-level security, and business unit scoping — Azure AD group assignments, cross-BU access restrictions, privilege escalation paths from combined roles, and delegation or impersonation scenarios for service accounts. Validation must use the actual Azure AD users going live, not admin or elevated test accounts.

How do you test cross-module workflows in Dynamics 365 UAT?

For each cross-module workflow, UAT should validate end-to-end transaction tracing from origin module to final state in the downstream module, data transformation accuracy across module boundaries, error handling at each handoff point (particularly for silent failures), and volume behaviour at representative transaction loads — since batch processing behaviour often differs from single-record testing.

What Power Automate issues should Dynamics 365 UAT catch before go-live?

UAT should validate that each flow triggers correctly from actual Dynamics events (not manual test invocations), timeout and throttling behaviour under production volumes, error notification paths so flow failures surface to the right people, connector authentication including OAuth tokens that may be scoped differently in production, and retry logic when connected systems are temporarily unavailable.

What does data migration UAT for Dynamics 365 need to validate?

Data migration UAT should validate migrated record counts against source system extracts, relationship integrity for parent-child records and lookup fields, accuracy of code and reference data mapping from legacy systems, correct triggering of business rules on migrated records, and historical record accuracy — including opening balances, transaction histories, and financial period attributions — before the first live transaction runs.

Why do enterprises need independent UAT for Dynamics 365 implementations?

Microsoft partner teams that built the configuration are structurally limited in testing it objectively — they know which scenarios to avoid and have validated against the specification rather than business reality. Independent UAT provides objective assurance by testing the system as real users will experience it, surfacing the gap between specification and reality, and giving the business an independent basis for the go-live decision.

Dynamics 365 go-live on the horizon?

Bugwolf's Dynamics 365 UAT specialists have embedded into enterprise CRM, Finance, Supply Chain, and Field Service deployments. Talk to us before you flip the switch — not after.

Talk to the founder