UAT Testing for Business Central: A Practical Guide for Implementation Teams
If you've been through a Dynamics 365 Business Central implementation, you know the pattern. The consultants configure the system, data gets migrated, integrations are built, and then — often with alarmingly little runway — someone announces it's time for UAT. What follows is usually a scramble: hastily written test scripts, confused business users, and a sign-off process held together by email threads and good intentions.
It doesn't have to be this way. This guide is for implementation teams — whether you're a partner delivering Business Central projects or a client-side project manager trying to get your organisation ready for go-live. It covers what to test, how to structure your test plan, the mistakes that trip up nearly every BC project, and how to get meaningful sign-off without the chaos.
1. Why Business Central UAT Is Different from Generic Software Testing
Business Central is not a standalone application. It's an integrated ERP platform where finance, purchasing, sales, inventory, and potentially manufacturing and warehousing all share the same data and posting logic. This creates a testing challenge that generic UAT approaches simply don't address. The key ERP risks in 2026 — from data migration failures to rushed go-lives — apply to BC implementations just as much as any other platform.
Here's what makes BC testing fundamentally different:
- Multi-module dependencies are the norm — a single sales order touches inventory, general ledger, VAT, dimensions, and potentially warehouse management. Testing the sales order in isolation tells you almost nothing about whether it actually works
- Posted entries are immutable — unlike many systems, once a transaction is posted in BC, it cannot be edited or deleted. Errors in posted entries require correcting entries, which means your testers need to understand the posting logic, not just the data entry screens
- Number series, dimensions, and posting groups drive everything — these configuration elements control how transactions behave across the entire system. A misconfigured posting group won't throw an error — it will silently post to the wrong GL account
- Data migration validation is critical — migrated chart of accounts, customer and vendor master data, item records, and opening balances all need to be validated inside real transactions, not just checked against row counts
- Your testers are often not technical — the people who need to validate Business Central are accounts payable clerks, warehouse operatives, and finance managers. They know their processes inside out, but they're not software testers. Your test cases need to be written in their language
The BC-Specific Risk:
Business Central's tight integration means a configuration error in one module can silently corrupt data across the entire system. Generic test scripts that treat each module independently will miss these cross-cutting issues entirely.
2. What to Test in a Business Central Implementation
The biggest mistake in BC UAT is testing features rather than business processes. Your users don't care whether the "Post" button works — they care whether they can complete a month-end close, process a supplier payment run, or fulfil a customer order from pick to dispatch. Here's what you actually need to cover, organised by area.
Finance
Finance is the backbone of every BC implementation. If the GL is wrong, everything is wrong.
- General ledger posting — post journal entries with dimensions and validate they land in the correct accounts. Check that dimension combinations are enforced correctly
- Accounts payable — full cycle from purchase invoice entry through approval (if using approval workflows), posting, and payment. Test partial payments, credit memos, and vendor ledger entries
- Accounts receivable — sales invoice posting, customer payments, application of payments to invoices, and aged debtor reporting. Test cash receipt journals and direct debit processing if applicable
- Bank reconciliation — import bank statements, run automatic matching, and complete manual matching. Validate that reconciled entries post correctly and the bank account ledger balances
- Fixed assets — acquisition, depreciation runs, disposal, and reclassification. Validate that depreciation books post to the correct GL accounts
- VAT and tax reporting — ensure VAT posting groups are configured correctly and that the VAT return report produces accurate figures. This is non-negotiable for go-live
- Month-end and year-end close — run the close income statement batch job, validate retained earnings, and confirm that the new fiscal year opens correctly with the right number series
Supply Chain
Supply chain testing needs to follow the physical flow of goods, not the menu structure of BC.
- Purchase orders — create, approve, receive, and invoice. Test partial receipts, over-receipts (if allowed), and the impact on inventory valuation
- Sales orders — full order-to-cash cycle including order entry, availability checks, shipment, and invoicing. Test back orders, partial shipments, and returns
- Warehouse management — if using directed put-away and pick, test the full warehouse flow: receive, put-away, pick, and ship. Validate bin contents and warehouse entries reconcile with item ledger entries
- Inventory adjustments and transfers — physical inventory journals, item reclassification, and transfer orders between locations. Validate inventory valuation after each operation
- Item costing — if using average, FIFO, or standard costing, validate that cost calculations are correct after purchase, sale, and adjustment transactions. Run the adjust cost batch job and verify the results
Manufacturing (if applicable)
- Production orders — create from sales demand or planning worksheet, release, post consumption and output, and finish. Validate that costs roll up correctly
- BOMs and routing — ensure production BOMs and routings produce the correct component consumption and capacity entries
- Planning worksheets — run MRP/MPS and validate that the suggested actions (purchase orders, production orders, transfer orders) make sense against actual demand
Integrations and Extensions
- Third-party integrations — test data flow in both directions. If BC integrates with a CRM, e-commerce platform, or payroll system, validate that records sync correctly and that error handling works when the external system is unavailable
- Custom AL extensions — any bespoke functionality built in AL code must be tested within the business process it supports, not in isolation. Pay particular attention to extensions that modify posting behaviour or add validation rules
- Power Automate flows — if approval workflows or notifications use Power Automate, test the full flow including edge cases like delegation, timeout, and rejection
Data Migration
- Master data validation — don't just count records. Post transactions against migrated customers, vendors, items, and GL accounts to confirm they behave correctly
- Opening balances — validate that migrated opening balances in the GL, customer ledger, vendor ledger, and bank accounts reconcile to the legacy system's closing balances
- Historical data — if historical transactions have been migrated (for reporting or audit purposes), validate that they appear correctly in the relevant ledger entries and that reports produce accurate results
Practical Tip:
Build your test scenarios around your organisation's actual chart of accounts, real vendor and customer records, and genuine item numbers. Testing with generic "test data" will miss configuration issues that only surface with your real master data.
Stop Managing BC UAT in Spreadsheets
Centralise Your Business Central Testing with LogicHive
Real-time readiness dashboards, structured sign-off, and full audit trails — built for ERP implementation teams who need to prove go-live readiness.
3. How to Structure Your Business Central Test Plan
A well-structured test plan is the difference between a controlled UAT process and a chaotic free-for-all. Here's how to approach it for a BC implementation.
Understand the Testing Phases
Business Central implementations should follow a clear testing progression. Each phase has a distinct purpose, and skipping phases creates compounding risk.
- Unit testing — the implementation partner tests individual configurations and customisations. Does the posting group configuration post to the correct GL account? Does the AL extension trigger at the right point? This is the partner's responsibility
- System Integration Testing (SIT) — tests that modules work together correctly. A sales order flows from entry through to posted invoice and creates the correct GL entries, inventory movements, and VAT entries. SIT is typically partner-led with client observation
- User Acceptance Testing (UAT) — business users validate that they can complete their real-world processes on the system. This is business-led. If your consultants are executing the tests, it's not UAT — it's extended SIT
Critical Rule:
UAT should not begin until SIT is substantially complete. Starting UAT whilst core integrations and configurations are still being fixed wastes your business users' time and erodes their confidence in the system.
Organise by Business Process, Not Module
This is where most BC test plans go wrong. They're structured around the BC menu: "Finance tests", "Sales tests", "Purchasing tests". But that's not how your business works. Your users don't think in modules — they think in processes.
Structure your test plan around end-to-end business processes:
- Procure-to-pay — from purchase requisition through to supplier payment and GL posting
- Order-to-cash — from sales order entry through to customer invoice and cash receipt
- Inventory receipt-to-consumption — from goods receipt through to warehouse put-away, pick, and eventual sale or production consumption
- Record-to-report — from journal entry through to trial balance, management reporting, and statutory returns
- Hire-to-retire (if using HR/payroll integration) — from employee onboarding through to payroll processing and GL integration
Write Test Cases Business Users Can Follow
Your AP clerk does not need to know that they're testing the "Purchase Invoice Posting Routine". They need clear, step-by-step instructions written in plain English:
Example: Test Case for Supplier Invoice Processing
- Open the Purchase Invoices page from the navigation menu
- Create a new purchase invoice for vendor V10000 (Fabrikam Ltd)
- Enter invoice number INV-2026-001 and posting date 18/02/2026
- Add a line for GL account 6100 (Office Supplies), amount £500.00, with dimension DEPT = ADMIN
- Post the invoice
- Navigate to the posted purchase invoice and confirm the GL entries show £500.00 debit to account 6100 and £500.00 credit to the vendor payables account
- Check the vendor ledger entry for V10000 shows the outstanding amount
Expected result: Invoice posts successfully. GL entries are correct. Vendor balance increases by £500.00. Dimension DEPT = ADMIN is applied to the GL entry.
Notice the specificity: real vendor numbers, real account numbers, real dimension values. This is what separates a useful test case from a vague instruction. For more guidance, see our complete guide on how to run effective UAT.
4. Common Mistakes in Business Central UAT
Having been through dozens of BC go-lives, certain mistakes appear with depressing regularity. Here are the ones that cause the most damage.
Testing in Isolation, Not End-to-End
Teams test that they can create a purchase order. They test that they can post a purchase invoice. But nobody tests the full procure-to-pay cycle — from requisition through to bank payment and GL reconciliation — as a single connected flow. In Business Central, where posted entries cascade through the general ledger, this is where the real issues surface.
Skipping Data Migration Validation
The data migration team confirms that 5,000 customer records have been migrated. Great. But has anyone actually posted an invoice against a migrated customer record? Do the payment terms work? Are the correct posting groups assigned? Data that has "migrated successfully" is not the same as data that works. The history of ERP failures is littered with go-lives that broke because migrated data was technically present but operationally broken.
Not Involving Actual Business Users
Consultants or super users execute the test scripts, and the business signs off based on their assurance. This defeats the entire purpose of UAT. The people who will use BC every day — the ones who know the exceptions, the workarounds, the edge cases — are exactly the people who need to be testing it. If they haven't touched the system before go-live, you're taking an enormous risk.
Leaving UAT Until the Last Two Weeks
This is perhaps the most common and most damaging mistake. UAT gets compressed into the final fortnight before go-live because earlier phases overran. There's no time to fix issues properly, no time for retesting, and the sign-off becomes a formality rather than a genuine validation. As ERP risk research consistently shows, rushed UAT is one of the strongest predictors of go-live failure.
Ignoring Negative Testing
Every test validates the happy path. But what happens when a user enters an invalid posting date? What about a purchase order for a blocked vendor? What if someone tries to ship more than the available inventory? Business Central's validation rules and error handling need testing just as much as the successful paths.
Testing in a Clean Environment
UAT environments with pristine data and no transaction history behave very differently from a system that's been running for three months. Test with migrated data, with realistic transaction volumes, and with the number series and fiscal periods that will be active at go-live.
Business Central UAT Readiness Checklist
Use this checklist before starting UAT on your BC implementation. If you cannot tick every item, your UAT is at risk.
Pre-UAT Prerequisites
- ☐SIT is complete with all critical defects resolved
- ☐UAT environment is refreshed with latest configuration and migrated data
- ☐Number series are configured for the UAT environment
- ☐User accounts are created with correct permission sets
- ☐Fiscal year and accounting periods are open
- ☐All custom extensions are deployed and functional
- ☐Integrations are connected and data is flowing
UAT Execution
- ☐Test cases are written in plain English with specific BC references
- ☐Business users are assigned as testers (not consultants)
- ☐End-to-end process flows are defined (not just module tests)
- ☐Data migration validation is included in test scope
- ☐Defect logging and triage process is agreed
- ☐Sign-off criteria are defined and communicated
- ☐Minimum three weeks of elapsed time is allocated for UAT
5. Getting Sign-Off Without the Chaos
UAT sign-off on a Business Central project should not be a single event. It should be a structured process that builds confidence incrementally and gives decision-makers a clear, evidence-based view of readiness.
Define What "Signed Off" Actually Means
Before UAT begins, agree with all stakeholders what sign-off means. This sounds obvious, but it's remarkably common for different people to have different interpretations. Define it explicitly:
- All critical and high-severity test cases have passed — define your severity categories upfront
- All critical defects are resolved and retested — not just logged, not just "in progress", but fixed, deployed to UAT, and confirmed by the original tester
- Medium-severity defects have agreed workarounds — with a documented plan for post-go-live resolution
- Data migration has been validated — opening balances reconcile and master data has been tested inside real transactions
- Each business area has a named sign-off authority — typically the department head or process owner, not the project team
Structure the Sign-Off Process
Break sign-off into layers rather than treating it as one monolithic decision:
Process-Level Sign-Off
Each business process owner signs off their area: finance signs off record-to-report, purchasing signs off procure-to-pay, sales signs off order-to-cash. This happens first and provides the evidence base for the overall decision.
Integration Sign-Off
Confirm that all integrations between BC and external systems are functioning correctly, with error handling validated. This is often missed as a separate sign-off point.
Data Migration Sign-Off
Finance and operations confirm that migrated data is accurate, complete, and works within the new system. Opening balances reconcile to the legacy system.
Go-Live Readiness Sign-Off
The overall go/no-go decision, informed by the process, integration, and data migration sign-offs. This is a business decision, not a technical one.
Dealing with Conditional Sign-Offs
In practice, UAT sign-off is rarely unconditional. There will always be outstanding items. The key is to manage them transparently:
- Document every condition — if finance signs off with the condition that the bank reconciliation import format is fixed by go-live, write it down with a deadline and an owner
- Categorise outstanding items — distinguish between "must fix before go-live", "workaround available, fix post-go-live", and "cosmetic, fix in next release"
- Make conditions visible to decision-makers — the person making the go/no-go decision needs to see the full picture, not a sanitised summary. A centralised UAT platform makes this visibility automatic rather than relying on manual reporting
Practical Tip:
Create a single "go-live readiness dashboard" that shows test execution progress, defect status by severity, sign-off status by business area, and outstanding conditions — all in real time. This eliminates the last-minute scramble to compile status reports and gives everyone the same view of reality.
Final Thought
Business Central implementations fail at go-live not because the software is inadequate, but because the testing was. UAT is your last line of defence before the business starts running on a new system — and it deserves the same rigour, structure, and investment as the implementation itself.
The organisations that get BC go-lives right are the ones that treat UAT as genuine business assurance: structured test plans, real business users executing tests, evidence-based sign-off, and the discipline to delay when readiness signals are negative. It's not glamorous. But it's the difference between a successful go-live and a very expensive lesson. For more on how LogicHive supports Business Central testing specifically, see our dedicated platform page.
Frequently Asked Questions
How long should UAT take on a Business Central implementation?
For a typical mid-market Business Central implementation, plan for a minimum of three to four weeks of dedicated UAT. This needs to follow completed SIT, not run in parallel with it. Larger implementations with manufacturing, warehouse management, or multiple legal entities may need six weeks or more. Crucially, this is elapsed time with business users available — not consultant time.
Should we test custom extensions separately during Business Central UAT?
Custom extensions built in AL code should be unit tested by the developer and included in SIT before UAT. During UAT, extensions should be tested as part of the end-to-end business process they support — not in isolation. Business users need to validate that the extension behaves correctly within their real workflow, including edge cases the developer may not have anticipated.
What is the difference between SIT and UAT in a Business Central project?
System Integration Testing (SIT) validates that Business Central's modules and integrations work together technically — for example, that a sales order flows correctly from order entry through to posted invoice and general ledger entry. UAT validates that real business users can complete their actual day-to-day tasks on the system. SIT is typically led by the implementation partner; UAT must be led by the business.
How do we handle data migration testing in Business Central UAT?
Data migration testing in Business Central should validate that migrated master data (customers, vendors, items, chart of accounts) works correctly inside real transactions. This means posting against migrated GL accounts, raising purchase orders against migrated vendors, and checking that opening balances reconcile. Don't just validate row counts — validate that the data actually works in business processes.
Who should be involved in Business Central UAT?
UAT must involve the people who will actually use Business Central day-to-day — not just the project team or super users. This means accounts payable clerks, sales order processors, warehouse operatives, and finance managers. The implementation partner should be available to support but should not execute the tests. If consultants are running your UAT, it's not UAT — it's extended SIT.
Run Your Business Central UAT with Confidence
LogicHive gives implementation teams real-time visibility into UAT progress, centralised evidence, and structured sign-off — so your go-live decision is based on facts, not hope.
No credit card required
Related Articles
UAT Tools for ERP Consultants: What to Look For
Discover what ERP consultants actually need from a UAT tool, from multi-client management to reusable test cases and audit trails.
Managing UAT Across Multiple ERP Projects
Practical advice for consultants juggling UAT across multiple client projects. Build reusable frameworks and scale without burning out.
Famous ERP Disasters: Lessons from the Biggest Implementation Failures
Explore the most costly ERP implementation failures in history and the patterns that connect them.
How to Write Effective Test Cases
Learn how to write clear, actionable test cases that business users can actually follow — with examples and templates.