Test report · User acceptance testing
UAT · Acme Ledger 4.1
Summary
Five business testers ran 98 UAT cases written from the 4.1 tickets in plain English, each with starting data and an expected result in their own vocabulary. 95 passed, 2 failed and 1 was blocked.
Both failures are accepted as known issues with a workaround: invoices scheduled for the 31st (ACME-398) and the year revenue report with December credit notes (ACME-401). Both are fixed in 4.1.1. A High defect found by Support — the portal charging a card three times when paying three invoices — was fixed and retested during UAT.
Each tester got their own cases in Xray, a 20-minute walkthrough and a test account with their real role.
Every report was triaged by QA before becoming a Jira bug: 23 reports → 8 bugs, 6 test data issues, 9 questions answered.
Results overview
Acceptance criteria
| Criterion | Target | Actual | Met |
|---|---|---|---|
| All UAT cases executed | 100% | 97/98 (1 blocked by deployment) | Partly |
| No open Critical/High defect without a workaround | 0 | 0 (ACME-398 has a workaround) | Yes |
| Each feature area accepted by its business owner | 8 of 8 | 8 of 8 | Yes |
| Every result has evidence | 100% | 100% | Yes |
| Known issues communicated to customers | Before release | Help article drafted | Yes |
Defects 8 from UAT
| Severity | Fixed | Deferred | Open | Total |
|---|---|---|---|---|
| High | 1 | 1 | – | 2 |
| Medium | 1 | 1 | 1 | 3 |
| Low | 2 | 1 | – | 3 |
| Total | 4 | 3 | 1 | 8 |
| Key | Summary | Severity | Status | Component | Found by | Owner | Created |
|---|---|---|---|---|---|---|---|
ACME-398 | Recurring invoice on the 31st not created in 30-day months Workaround: 'last day of month'. Fix in 4.1.1. | High | Deferred | Recurring | UAT-024 | Backend | 22 Sep |
ACME-401 | Year revenue report doesn't subtract credit notes issued in December Controlling accepts for 4.1; fix in 4.1.1. | Medium | Deferred | Reports | UAT-071 | Backend | 23 Sep |
ACME-399 | German reminder falls back to English for the subject line | Low | Fixed | Reminders | UAT-041 | Backend | 22 Sep |
ACME-403 | Paying three invoices at once charges the card three times Found by Support; fixed same day. | High | Fixed | Customer portal | UAT-080 | Frontend | 22 Sep |
ACME-404 | Bank CSV with semicolons rejected | Medium | Fixed | Payments | UAT-060 | Backend | 23 Sep |
ACME-405 | Portal question form missing on staging | Medium | Open | Deployment | UAT-085 | Platform | 23 Sep |
ACME-406 | Credit note PDF title says 'Invoice' in French | Low | Fixed | – | Backend | 23 Sep | |
ACME-407 | Customer export has no column for tags | Low | Deferred | Customers | – | Backend | 24 Sep |
Observations
| ID | Area | Observation | Impact | Suggested action |
|---|---|---|---|---|
OBS-01 | Process | Testers asked 9 questions in the UAT channel; 7 were about where to find a setting. | UX | Pass to product; see the usability report. |
OBS-02 | Test data | 6 reports were test data issues (customers without a VAT number, an expired test card). | Effort | Add the missing data to the seed script. |
OBS-03 | Timing | Testers completed 96% of cases in the first two days; the last day was retests. | Positive | Keep the 3-day UAT window. |
OBS-04 | Evidence | Every result has a screenshot or note; 3 notes were too short to reproduce and were completed in a 5-minute call. | Low | Add an example note to the instructions. |
OBS-05 | Wording | Finance testers call credit notes 'corrections'; the app says 'credit note'. | UX | Consider a help text; no change required. |
Results by feature area
| Feature area | Epic | Cases | Passed | Failed | Blocked | Status |
|---|---|---|---|---|---|---|
| Issuing invoices | ACME-380 | 20 | 20 | – | – | Accepted |
| Recurring invoices | ACME-391 | 12 | 11 | 1 | – | Accepted with known issue |
| Payment reminders | ACME-402 | 12 | 12 | – | – | Accepted |
| Credit notes | ACME-380 | 8 | 8 | – | – | Accepted |
| Payments | ACME-410 | 12 | 12 | – | – | Accepted |
| Month-end reports | ACME-417 | 12 | 11 | 1 | – | Accepted with known issue |
| Customer portal | ACME-420 | 12 | 11 | – | 1 | Accepted, 1 blocked |
| Customers | ACME-425 | 10 | 10 | – | – | Accepted |
Results by tester
| Tester | Cases | Passed | Failed | Blocked | Time spent |
|---|---|---|---|---|---|
| Marta (Finance) | 28 | 27 | 1 | – | 6.5 h |
| Piotr (Finance) | 24 | 24 | – | – | 5 h |
| Jonas (Support) | 17 | 16 | – | 1 | 6 h |
| Aisha (Support) | 17 | 17 | – | – | 4.5 h |
| Elif (Controlling) | 12 | 11 | 1 | – | 4 h |
Triage of reports
| Reported by | Reports | Became bugs | Test data | Questions |
|---|---|---|---|---|
| Marta (Finance) | 7 | 3 | 2 | 2 |
| Piotr (Finance) | 4 | 1 | 1 | 2 |
| Jonas (Support) | 6 | 2 | 2 | 2 |
| Aisha (Support) | 3 | 1 | 0 | 2 |
| Elif (Controlling) | 3 | 1 | 1 | 1 |
| Total | 23 | 8 | 6 | 9 |
Not every failure is a bug. Triaging before Jira kept the bug list short and the developers focused.
Failed and blocked cases
| Case | Title | Tester | Result | Reason / defect |
|---|---|---|---|---|
UAT-024 | Monthly invoice on the 31st | Marta (Finance) | Fail | ACME-398: No invoice created in 30-day months |
UAT-071 | Totals match my spreadsheet | Elif (Controlling) | Fail | ACME-401: Year total differs by credit notes from December |
UAT-085 | Customer sends a question about an invoice | Jonas (Support) | Blocked | ACME-405: Question form not deployed to staging |
A case as the tester saw it
| Step | What to do | What you should see |
|---|---|---|
| 1 | Log in as marta.uat and open Customers → Northwind Traders. | The customer page with 3 open invoices. |
| 2 | Click New invoice, add 2 × 'Consulting day' at €800. | Net €1,600.00, VAT 23% €368.00, total €1,968.00. |
| 3 | Click Send. | Status changes to Sent; the PDF opens and shows the same totals. |
| 4 | Open the email in the test inbox (link in the case). | The email has the PDF attached and a 'Pay now' link. |
| 5 | Take a screenshot of the PDF and attach it to the result. | Result saved with your screenshot. |
No endpoints, IDs or field names. Technical checks for the same feature are in a separate technical case.
All test cases 98 cases
Issuing invoices 20 cases
| Case | Title | Tester | Result | Defect |
|---|---|---|---|---|
UAT-001 | Send an invoice to a regular customer | Marta (Finance) | Pass | – |
UAT-002 | Send an invoice in US dollars | Piotr (Finance) | Pass | – |
UAT-003 | Invoice a customer in Germany (reverse charge) | Marta (Finance) | Pass | – |
UAT-004 | Add a discount to one line | Piotr (Finance) | Pass | – |
UAT-005 | Add a discount to the whole invoice | Marta (Finance) | Pass | – |
UAT-006 | Invoice with 30 lines | Piotr (Finance) | Pass | – |
UAT-007 | Change the due date | Marta (Finance) | Pass | – |
UAT-008 | Attach a timesheet PDF | Piotr (Finance) | Pass | – |
UAT-009 | Save a draft and finish it later | Marta (Finance) | Pass | – |
UAT-010 | Copy last month's invoice | Piotr (Finance) | Pass | – |
UAT-011 | Cancel an invoice sent by mistake | Marta (Finance) | Pass | – |
UAT-012 | Check the PDF matches the screen | Piotr (Finance) | Pass | – |
UAT-013 | Invoice a new customer created on the fly | Marta (Finance) | Pass | – |
UAT-014 | Use a product from the catalogue | Piotr (Finance) | Pass | – |
UAT-015 | Use a custom line without a product | Marta (Finance) | Pass | – |
UAT-016 | Check the invoice number sequence | Piotr (Finance) | Pass | – |
UAT-017 | Send to two email addresses | Marta (Finance) | Pass | – |
UAT-018 | Resend an invoice | Piotr (Finance) | Pass | – |
UAT-019 | Download the PDF | Marta (Finance) | Pass | – |
UAT-020 | See the invoice in the customer's history | Piotr (Finance) | Pass | – |
Recurring invoices 12 cases
| Case | Title | Tester | Result | Defect |
|---|---|---|---|---|
UAT-021 | Set up a monthly invoice | Marta (Finance) | Pass | – |
UAT-022 | Set up a quarterly invoice | Marta (Finance) | Pass | – |
UAT-023 | Set up a yearly invoice | Marta (Finance) | Pass | – |
UAT-024 | Monthly invoice on the 31st | Marta (Finance) | Fail | ACME-398 |
UAT-025 | Monthly invoice on the 28th | Marta (Finance) | Pass | – |
UAT-026 | Stop a schedule at an end date | Marta (Finance) | Pass | – |
UAT-027 | Pause and resume a schedule | Marta (Finance) | Pass | – |
UAT-028 | Change the price for future invoices | Marta (Finance) | Pass | – |
UAT-029 | Check the next three dates | Marta (Finance) | Pass | – |
UAT-030 | Turn on automatic sending | Marta (Finance) | Pass | – |
UAT-031 | See schedules on the customer page | Marta (Finance) | Pass | – |
UAT-032 | Schedule for an archived customer stops | Marta (Finance) | Pass | – |
Payment reminders 12 cases
| Case | Title | Tester | Result | Defect |
|---|---|---|---|---|
UAT-033 | First reminder 3 days before due date | Jonas (Support) | Pass | – |
UAT-034 | Reminder on the due date | Aisha (Support) | Pass | – |
UAT-035 | Reminder 7 days overdue | Jonas (Support) | Pass | – |
UAT-036 | Reminder 30 days overdue | Aisha (Support) | Pass | – |
UAT-037 | No reminder after payment | Jonas (Support) | Pass | – |
UAT-038 | Customer who opted out gets nothing | Aisha (Support) | Pass | – |
UAT-039 | Reminder text uses our trading name | Jonas (Support) | Pass | – |
UAT-040 | Preview the reminder text | Aisha (Support) | Pass | – |
UAT-041 | Reminder in German for a German customer | Jonas (Support) | Pass (retest) | ACME-399 |
UAT-042 | Reminder includes the PDF | Aisha (Support) | Pass | – |
UAT-043 | See sent reminders on the invoice | Jonas (Support) | Pass | – |
UAT-044 | Maximum of four reminders | Aisha (Support) | Pass | – |
Credit notes 8 cases
| Case | Title | Tester | Result | Defect |
|---|---|---|---|---|
UAT-045 | Credit one line of an invoice | Piotr (Finance) | Pass | – |
UAT-046 | Credit the whole invoice | Piotr (Finance) | Pass | – |
UAT-047 | Try to credit more than the invoice | Piotr (Finance) | Pass | – |
UAT-048 | Credit note PDF looks right | Piotr (Finance) | Pass | – |
UAT-049 | Customer receives the credit note | Piotr (Finance) | Pass | – |
UAT-050 | Balance goes down after the credit note | Piotr (Finance) | Pass | – |
UAT-051 | Credit note shows in the VAT report | Piotr (Finance) | Pass | – |
UAT-052 | Credit note numbering | Piotr (Finance) | Pass | – |
Payments 12 cases
| Case | Title | Tester | Result | Defect |
|---|---|---|---|---|
UAT-053 | Record a bank transfer | Marta (Finance) | Pass | – |
UAT-054 | Record a card payment | Piotr (Finance) | Pass | – |
UAT-055 | Record a partial payment | Marta (Finance) | Pass | – |
UAT-056 | Two partial payments close the invoice | Piotr (Finance) | Pass | – |
UAT-057 | Warning on overpayment | Marta (Finance) | Pass | – |
UAT-058 | Back-dated payment | Piotr (Finance) | Pass | – |
UAT-059 | Remove a wrong payment | Marta (Finance) | Pass | – |
UAT-060 | Import a bank statement CSV | Piotr (Finance) | Pass (retest) | ACME-404 |
UAT-061 | Unknown reference goes to review | Marta (Finance) | Pass | – |
UAT-062 | Refund a payment | Piotr (Finance) | Pass | – |
UAT-063 | Partial refund | Marta (Finance) | Pass | – |
UAT-064 | Customer sees the refund | Piotr (Finance) | Pass | – |
Month-end reports 12 cases
| Case | Title | Tester | Result | Defect |
|---|---|---|---|---|
UAT-065 | Revenue for last month | Elif (Controlling) | Pass | – |
UAT-066 | Revenue for the quarter | Elif (Controlling) | Pass | – |
UAT-067 | Revenue for the year | Elif (Controlling) | Pass | – |
UAT-068 | Aged receivables | Elif (Controlling) | Pass | – |
UAT-069 | VAT summary | Elif (Controlling) | Pass | – |
UAT-070 | Export to Excel | Elif (Controlling) | Pass | – |
UAT-071 | Totals match my spreadsheet | Elif (Controlling) | Fail | ACME-401 |
UAT-072 | Filter by currency | Elif (Controlling) | Pass | – |
UAT-073 | Credit notes reduce revenue | Elif (Controlling) | Pass | – |
UAT-074 | Report for a single customer | Elif (Controlling) | Pass | – |
UAT-075 | Scheduled report email | Elif (Controlling) | Pass | – |
UAT-076 | Report for a month with no invoices | Elif (Controlling) | Pass | – |
Customer portal 12 cases
| Case | Title | Tester | Result | Defect |
|---|---|---|---|---|
UAT-077 | Customer opens the invoice link | Jonas (Support) | Pass | – |
UAT-078 | Customer opens it on a phone | Aisha (Support) | Pass | – |
UAT-079 | Customer pays by card | Jonas (Support) | Pass | – |
UAT-080 | Customer pays three invoices | Aisha (Support) | Pass (retest) | ACME-403 |
UAT-081 | Customer downloads the PDF | Jonas (Support) | Pass | – |
UAT-082 | Customer sees past payments | Aisha (Support) | Pass | – |
UAT-083 | Link stops working after 90 days | Jonas (Support) | Pass | – |
UAT-084 | Portal in French | Aisha (Support) | Pass | – |
UAT-085 | Customer sends a question about an invoice | Jonas (Support) | Blocked | ACME-405 |
UAT-086 | Pay button disappears after payment | Aisha (Support) | Pass | – |
UAT-087 | Customer sees a credit note | Jonas (Support) | Pass | – |
UAT-088 | Portal shows our logo and colours | Aisha (Support) | Pass | – |
Customers 10 cases
| Case | Title | Tester | Result | Defect |
|---|---|---|---|---|
UAT-089 | Add a company customer | Jonas (Support) | Pass | – |
UAT-090 | Add an individual customer | Aisha (Support) | Pass | – |
UAT-091 | Check a VAT number | Jonas (Support) | Pass | – |
UAT-092 | Edit a customer's address | Aisha (Support) | Pass | – |
UAT-093 | Archive a customer | Jonas (Support) | Pass | – |
UAT-094 | Find a customer by name | Aisha (Support) | Pass | – |
UAT-095 | Find a customer by VAT number | Jonas (Support) | Pass | – |
UAT-096 | Export customers to Excel | Aisha (Support) | Pass | – |
UAT-097 | Merge two duplicates | Jonas (Support) | Pass | – |
UAT-098 | See a customer's open balance | Aisha (Support) | Pass | – |
Acceptance
Finance, Support and Controlling accept release 4.1 on 24 Sep 2026, with ACME-398 and ACME-401 as known issues and the workarounds communicated to customers who use recurring invoices and year reports.
Marta (Acme)
Jonas (Acme)
Elif (Acme)
Sample report. Acme Ledger, its data, people and defects are fictional. Your report shows your product, your tickets and your tools.
More sample reports · Book a 15-minute call