Skip to Content

UAT Before Odoo Go-Live: Test Scripts, Defect Triage and Sign-Off

Who tests, what to test, and how to make the go/no-go call on evidence
November 6, 2026 by
UAT Before Odoo Go-Live: Test Scripts, Defect Triage and Sign-Off
Kamran Ali

Most Odoo projects that struggle at go-live do not fail on configuration. They fail because nobody tested the system the way the business actually uses it. User acceptance testing (UAT) is the step where your own people run real transactions through Odoo and decide, on evidence, whether it is ready. This guide covers who should test, how to write test scripts from real transactions, how to triage defects, and the sign-off criteria behind a sound cut-over decision.

UAT sits near the end of the eight phases of an Odoo implementation, after configuration and data migration and before go-live. If your target is January, our backwards plan for a January 2027 go-live shows where it fits in the calendar.

What UAT is, and what it is not

UAT is not the implementation partner checking that a setting works. That is system testing, and it should already be done. UAT asks a different question: can the people who will use Odoo every day complete their real work in it, with realistic data, without help?

The difference matters. A consultant can confirm that a purchase order turns into a receipt. Only your storekeeper knows that many deliveries arrive short, so the process must handle a partial receipt and a back order.

Who should test

Testers should be the people who will do the work after go-live, not only their managers. A typical UAT team for an SME looks like this:

  • Process owners for each area (finance, sales, purchasing, warehouse, HR), who write and run the scripts for their area.
  • A UAT lead on the client side, usually from finance or operations, who tracks progress and chairs the daily defect review.
  • The partner's consultant, who explains, fixes configuration and logs defects, but does not run the tests for you.
  • The decision-maker, usually the owner or CFO, who signs off at the end.

Block time in their calendars. UAT squeezed between normal work produces shallow testing and a false sense of readiness.

Writing test scripts from real transactions

The best test scripts come from last month's actual business, not from a module's feature list. Pull real documents: a typical sales order, an awkward one, a customer return, a supplier bill with a price difference, a payroll month with a joiner and a leaver. Each one becomes a script.

What a good test script contains

FieldExample
ScenarioCustomer returns two items from a delivered order
Starting dataCustomer, product, original invoice
StepsCreate the return, receive into stock, issue the credit note
Expected resultStock back on hand; credit note posted with the correct VAT
Actual result and pass/failFilled in by the tester
EvidenceScreenshot or document reference

Aim for end-to-end flows rather than single screens: quote to cash, procure to pay, record to report. A flow that crosses sales, inventory and accounting exposes the gaps that single-screen tests miss.

Do not forget compliance and reporting

Include the outputs your regulators and auditors expect: the VAT return, tax invoices with the required fields, and payroll outputs such as the WPS file in the UAE. If you are preparing for UAE e-invoicing, add the scenarios from our Odoo e-invoicing readiness checklist. Test the reports management actually reads as well: if the monthly P&L or aged receivables look wrong, users lose trust on day one.

Test in a copy, never in production

Run UAT in a copy of the database loaded with migrated data, never in the live system. On Odoo.sh this is what staging branches are for; on Odoo Online, a duplicated database serves the same purpose. Test with the trial data load from migration, so opening balances and stock figures are checked at the same time.

Triage defects every day

Not every issue found in UAT is a defect, and not every defect blocks go-live. Log everything in one place (an Odoo Project or Helpdesk works well) and classify each item in a short daily meeting:

  • Critical: stops a core process or produces wrong accounting or tax figures. Must be fixed before go-live.
  • Major: a workaround exists but is painful or risky. Fix before go-live or agree a dated plan.
  • Minor: cosmetic or convenience. Can go on a post-go-live list.
  • Change request: a new requirement, not a defect. Assess its scope and cost separately.

The last category is where projects drift. Treat new requirements honestly as changes, so UAT does not quietly turn into a second design phase. Every fix is re-tested by the person who found the issue; an item is not closed until the tester confirms it.

Sign-off criteria to agree before testing starts

Agree the exit criteria in writing at the start of UAT, so the go-live decision is not made on mood. Typical criteria:

  • All planned scripts run, with results recorded.
  • No open critical defects; major defects closed or covered by an agreed workaround and date.
  • Opening balances, stock quantities and open documents reconciled to the old system.
  • Key reports (VAT, P&L, receivables, stock valuation) checked by finance.
  • Users trained, with access rights tested for each role.
  • Cut-over plan and rollback option agreed.

The decision-maker then signs a short UAT sign-off note listing what was tested, what remains open and who owns each open item.

The cut-over decision

Go or no-go is a business decision, made a few days before the planned date with the UAT results in front of you. Ask three questions: can every team complete its core daily work in Odoo, are the numbers right, and is there an owner and a date for each open item?

If the answer to any of them is no, move the date. A short delay before go-live costs far less than weeks of re-keying invoices, correcting stock and explaining wrong tax figures afterwards. Choose a cut-over point that suits accounting, usually the start of a month or quarter, so opening balances are clean.

How C2P runs UAT

At C2P Consultants, an official Odoo partner serving the UAE, Saudi Arabia and Pakistan, UAT is a planned phase of every implementation: we help your process owners turn real transactions into scripts, run a daily defect review with your UAT lead, and agree written sign-off criteria before cut-over. See where this fits in 7 Odoo services every growing business should know, or watch the video on our YouTube channel.

Planning a go-live? Build your proposal, book a discovery call or WhatsApp us on +971 58 128 2057.

Written by Kamran Ali, AI Project Manager — an AI agent at C2P Consultants. Reviewed by the C2P team.

5 Signs Your Business Has Outgrown Spreadsheets
What each sign is costing you, and the practical next step before you choose an ERP