All articles

Enterprise Systems9 min read

ERP User Acceptance Testing: A UAT Plan With Test Scripts

ERP user acceptance testing proves the system supports real business processes with real data before go-live. This guide gives a UAT plan, scenarios by module, end-to-end flows, a test script template, defect triage rules and sign-off criteria.

Written byUsama AsifPublished

ERP user acceptance testing (UAT) is the stage where the people who will run the business on the system test it against real processes, with migrated data, before go-live. It checks end-to-end flows such as procure-to-pay, order-to-cash and record-to-report, logs and triages defects, and ends with a formal sign-off by each process owner.

UAT is different from the testing your implementer or developer does. System and integration testing ask "does the software work as built?". UAT asks "can we run the business on this?". The two overlap, but only the business can answer the second question. This plan works for a packaged ERP or a custom ERP build; in a custom project, UAT is also where you confirm that each module matches the agreed scope before the next one starts.

What should ERP UAT cover?

UAT should cover every process the business will run in the ERP on day one, tested end to end across modules, plus the reports, approvals, integrations and access rights those processes depend on. Testing screens one by one is not enough.

The layers of a UAT plan

LayerWhat it testsExample
Single-module scenariosOne task in one moduleCreate a supplier with tax details and bank account
End-to-end flowsA process across modules, through to the ledgerRequisition to PO to receipt to supplier invoice to payment
Approvals and controlsLimits, segregation of duties, audit trailA PO above the manager's limit routes to the next approver
ReportsFigures agree with transactionsAged payables equals the payables control account
IntegrationsData in and out of other systemsWeb orders arrive with correct prices and tax
Access rightsEach role sees and does only what it shouldA stores user cannot approve a supplier invoice
Period-endClose tasks work in sequenceAccruals, depreciation, revaluation, period lock

Which end-to-end flows must be tested?

At minimum, test procure-to-pay, order-to-cash and record-to-report, plus any operational flow you run, such as plan-to-produce for manufacturers or inventory transfers for multi-site businesses. Each flow must be followed through to the general ledger and checked there.

Procure-to-pay

  1. Raise a purchase requisition for stock and for a non-stock service
  2. Approve it at and above the approval limit
  3. Convert to purchase order and send to the supplier
  4. Receive goods in full, then a partial receipt on a second order
  5. Post the supplier invoice, including a price variance outside tolerance
  6. Run the payment proposal, approve and post the payment
  7. Check stock, the payables ledger, accruals and the general ledger entries

Order-to-cash

  1. Create a quote for a customer with special pricing
  2. Convert to sales order; trigger a credit limit check
  3. Pick, pack and ship, including a back order
  4. Invoice, including tax for a domestic and a cross-border customer if relevant
  5. Process a credit note for a return
  6. Receive and allocate a customer payment, including a part payment
  7. Check receivables ageing, revenue accounts and stock movements

Record-to-report

  1. Post a manual journal that requires approval
  2. Run a recurring journal and an accrual with reversal
  3. Run depreciation for fixed assets
  4. Revalue foreign currency balances, if you trade in more than one currency
  5. Reconcile bank accounts
  6. Close the period and confirm users cannot post into it
  7. Run the trial balance, profit and loss, balance sheet and management reports, and compare them with expectations

Other flows to add when they apply

  • Plan-to-produce: bill of materials, work order, material issue, labour or machine time, finished goods receipt, variance
  • Inventory: transfer between locations, cycle count and adjustment, batch or serial tracking
  • Inter-company: a sale from one entity to another, with both sides posted (see multi-entity ERP governance)
  • Payroll or HR, if in scope: a pay run with joiners, leavers and changes, checked against the old system's results

How do you write an ERP UAT test script?

A UAT script states the scenario, the role that performs it, the starting data, each step, the expected result and the actual result, with space for evidence. It is written by the business, usually by champions with the process owner, not by the people who built the system.

Test script template

FieldExample
Script IDP2P-07
Process and scenarioProcure-to-pay: supplier invoice with price variance outside tolerance
RoleAccounts payable clerk
PreconditionsPO 4500123 received in full; tolerance set by process owner
Steps1. Open supplier invoice entry. 2. Match to PO 4500123. 3. Enter unit price above the PO price beyond tolerance. 4. Submit.
Expected resultInvoice is blocked for payment and routed to the purchasing approver; no payment proposal includes it
Actual resultRecorded by the tester
EvidenceScreenshot or document number
StatusPass, fail or blocked
Defect referenceIf failed

Write both "happy path" scripts and negative scripts that try to break a rule: an approval limit exceeded, a closed period, a duplicate supplier invoice number, a user acting outside their role. Negative tests find the gaps that matter most for control.

What data and environment does UAT need?

Run UAT in a dedicated test environment that mirrors production configuration, loaded with data from the latest trial migration. Testing with invented data misses the problems hidden in real records.

  • Migrated master data: real customers, suppliers, items and chart of accounts, so testers recognise them
  • Opening balances and open transactions from a trial load, so receipts, invoices and payments can be tested against real open items
  • Production-like configuration: the approval limits, tax codes and user roles you intend to go live with
  • Working integrations to test copies of connected systems, or agreed stubs where a live test copy does not exist
  • A fixed configuration during each test cycle, with changes released between cycles, so results are comparable

UAT is also a strong test of migration quality. Our ERP data migration plan explains trial loads and reconciliation, which should run before UAT starts.

If your project is a custom build, our ERP module development service delivers modules in sequence, so each one can pass UAT before the next is released.

How should UAT defects be triaged?

Every failed step becomes a logged defect with a severity, an owner and a target fix cycle. A short daily triage meeting with the process owners and the delivery team decides what is a defect, what is a change request and what is a training issue.

SeverityDefinitionGo-live rule
CriticalProcess cannot be completed, or financial results are wrong, with no workaroundMust be fixed and retested before go-live
HighProcess can be completed only with a difficult or risky workaroundFixed before go-live unless the process owner formally accepts the workaround
MediumInconvenient, with a reasonable workaroundCan go live with a plan and date for the fix
LowCosmetic or minorScheduled after go-live

Three triage questions

  1. Is the system behaving differently from the agreed design? That is a defect.
  2. Is it behaving as designed, but the design is wrong for the business? That is a change request. It is reviewed for impact on scope and timeline and agreed before work starts.
  3. Did the tester expect something the design never promised? That is often a training or communication issue; record it for the training plan.

Keep the categories separate. Mixing change requests into the defect log is a common reason UAT never seems to end.

How long and how many cycles should UAT run?

Plan at least two cycles: a first cycle that runs every script and finds the defects, and a second that retests fixes and reruns the end-to-end flows. The duration depends on the number of processes and testers, so plan it from your script count rather than from a generic rule.

A simple way to estimate: count the scripts, estimate the time per script from a sample, divide by the hours your testers can actually give per day, then add time for retesting. Testers are usually also doing their day jobs, which is the most common reason UAT overruns.

Illustrative UAT plan for a mid-sized distributor

This is an illustrative structure, not a client case.

WeekActivityWho
Before UATScripts written and reviewed; trial migration loaded; testers trained on the test environmentChampions, process owners, delivery team
Cycle 1All single-module scripts, then end-to-end flows; defects logged dailyChampions per area
Fix windowCritical and high defects fixed and released as one buildDelivery team
Cycle 2Retest fixed defects; rerun all end-to-end flows and period-end; access rights testsChampions, finance
Sign-offOpen defect review; workarounds accepted or rejected; sign-off by each process ownerProcess owners, sponsor

What are the UAT sign-off criteria?

Sign-off is a written decision by each process owner that their processes can run in the system from go-live. It should rest on agreed criteria, set before UAT starts.

UAT sign-off checklist

  • All scripts executed, with evidence
  • No open critical defects; open high defects each have a workaround accepted in writing by the process owner
  • End-to-end flows passed and checked through to the general ledger
  • Period-end close completed in the test environment
  • Key reports reconciled to underlying transactions
  • Access rights tested for every role, including negative tests
  • Integrations tested with realistic volumes
  • Open medium and low defects listed with planned fix dates
  • Each process owner and the sponsor have signed

UAT sign-off feeds directly into the go-live decision. Our ERP go-live checklist covers what happens next: cut-over, hypercare and the first month-end.

When is a large UAT programme not the right approach?

For a small, single-entity system with a few users and standard processes, dozens of formal scripts may cost more than the risk they reduce. A shorter list of end-to-end scenarios run by the people who will use the system, plus a period-end test, may be enough.

The trade-off runs the other way when money, stock or regulated data move through the system. Skipping negative tests and period-end testing is where serious problems are usually missed. If UAT keeps surfacing basic gaps in design, the issue is earlier in the project; see why ERP implementations fail and the ERP implementation steps guide.

How to start

List the processes you will run in the ERP on day one, name a process owner for each, and choose the champions who will write and run scripts. If you are still defining scope, our software requirements brief template helps you describe processes in a form that later becomes your test scenarios.

Timeline Digital builds 2 to 3 key modules as a free pilot before the full project starts, which gives your team a first, small round of acceptance testing on real screens. Discuss your project with us, or see how we deliver on our custom ERP software page.

Frequently asked questions

What is UAT in an ERP implementation?

User acceptance testing is the stage where the business tests the ERP against its real processes, with migrated data, before go-live. Champions run scripted scenarios and end-to-end flows such as procure-to-pay and order-to-cash, defects are logged and triaged, and each process owner signs off that their processes can run in the system from day one.

Who should perform ERP user acceptance testing?

The people who will use the system: champions and experienced staff from each area, led by the process owner. The implementer or developer supports them by preparing the environment, loading data and fixing defects, but should not run UAT on the business’s behalf, because only the business can confirm it can operate on the system.

What is the difference between UAT and system testing in an ERP project?

System and integration testing are done by the delivery team to confirm the software works as designed and the parts connect correctly. UAT is done by business users to confirm the system supports real processes, controls and reports with real data. A system can pass technical testing and still fail UAT if the design does not fit how the business works.

How many UAT cycles does an ERP project need?

Plan at least two. The first cycle runs every script and surfaces defects. After a fix window, the second cycle retests fixes and reruns all end-to-end flows and the period-end close. Larger or multi-entity projects often add a further cycle or a dress rehearsal before the go-live decision.

Can you go live with open UAT defects?

Usually yes for medium and low defects with a workaround and a fix date. Critical defects, where a process cannot be completed or financial results are wrong, should be fixed and retested first. High defects should only remain open if the process owner accepts the workaround in writing. Set these rules before UAT starts, not during the go-live meeting.

What data should be used for ERP UAT?

Use data from the latest trial migration: real master data, opening balances and open transactions, loaded into a test environment configured like production. Testers then work with customers, items and suppliers they recognise, and UAT also checks migration quality. Invented test data tends to hide the duplicates, missing fields and odd cases found in real records.

Topics in this article

  • ERP
  • ERP Testing
  • User Acceptance Testing
  • UAT
  • ERP Implementation
  • Enterprise Systems

Start a conversation

Tell us how your business works.

Describe what is slowing your team down. We will help you work out what to build, and how a free pilot lets you judge our work before the full project.

Prefer WhatsApp? Start a chat

What happens next

  1. You send a short brief

    The problem, the people involved and any target date. A senior engineer replies within 4 business hours.

  2. We understand your workflow

    A first call about how your business works today. An NDA can be signed before you share details.

  3. You test a free pilot

    You choose 2 to 3 key modules and we build them first, so you judge real software before the full project.