WOMMWorks On My Machine · onmymachineitworks.comSample · fictional data

Test report · UX / usability

Acme Ledger · Invoicing and customer portal

4 high-priority UX issues
Method
Moderated remote usability tests (think-aloud) + heuristic review (Nielsen's 10 heuristics)
Participants
8: 4 finance staff at existing customers, 4 trial users
Tasks
10 realistic tasks, same order for everyone, 50-minute sessions
Build
Staging 4.2.0-rc2, desktop Chrome; T6 also on mobile Safari
Sessions
14 Oct 2026 – 17 Oct 2026 · recordings with consent
Moderator and analysis
Tomasz Kordiak

Summary

Everyday work is easy: creating and sending an invoice and paying in the portal were completed by all 8 participants and rated easiest. The trouble is in tasks that matter at month end: recurring invoices (3 of 8 unassisted) and credit notes (2 of 8).

SUS is 71 (the commonly cited average is 68). The four high-priority issues are mostly about where actions live and what errors say, not missing features.

Top recommendation

Put Repeat this invoice and Credit this invoice on the invoice page. 7 of 8 participants looked there first.

Key numbers

74%Unassisted task success
59/80Tasks completed alone
10Completed with help
11Not completed
71SUS score
5.1 / 7Average ease (SEQ)

Defects bugs found during sessions

KeySummarySeverityStatusComponentFound byOwnerCreated
ACME-535SVG logo upload fails silentlyMediumOpenSettingsT10Frontend16 Oct
ACME-536Date picker shows MM/DD while lists use DD/MMMediumOpenUIHeuristicFrontend16 Oct
ACME-537Expired invite link shows 'Something went wrong'LowOpenAuthT9Frontend16 Oct
ACME-538Report filters reset when switching tabsLowOpenReportsT8Frontend16 Oct
ACME-539Bulk send limited to one page of results without warningLowOpenInvoicesHeuristicFrontend17 Oct

Observations

IDAreaObservationImpactSuggested action
OBS-01StrengthCreating and sending an invoice (T1) and paying in the portal (T6): 8/8 success, rated easiest.PositiveDon't change these flows.
OBS-02SegmentsTrial users succeeded as often as long-time customers; existing customers were faster but relied on habits.InfoOnboarding isn't the main problem; task design is.
OBS-03Mental model7 of 8 started secondary actions (credit, repeat, refund) from the invoice page.HighPut actions on the object they act on (UX-01, UX-02).
OBS-04MobilePortal on mobile worked for all 8; one needed to scroll to find 'Pay now'.LowUX-13.
OBS-05Trust3 participants double-clicked Send because nothing happened at first.MediumUX-09; also check idempotency on the API.
OBS-06HelpNo participant opened the help centre; 2 searched Google instead.InfoContextual help links where people get stuck.

Results by task

TaskSuccessAssistedFailedMedian timeEase (1–7)Main problem
T1 · Create and send an invoice to an existing customer8/8––2 min 10 s6.2–
T2 · Set up a monthly recurring invoice3/8235 min 40 s3.4Schedule options hidden behind 'More'
T3 · Record a partial payment5/8121 min 50 s4.8'Mark as paid' assumes the full amount
T4 · Issue a credit note for one line2/8244 min 05 s2.9Started from the Credit notes page
T5 · Find last month's unpaid invoices7/81–1 min 15 s5.7Filter label 'Period' unclear
T6 · Pay an invoice in the customer portal (as a customer)8/8––1 min 30 s6.5–
T7 · Turn on payment reminders6/8112 min 20 s5.1Settings vs per-customer toggle
T8 · Export last quarter's revenue to Excel7/81–1 min 05 s5.9Export button only in the report view
T9 · Invite a colleague as Accountant6/8111 min 40 s5.2Role descriptions missing
T10 · Put your logo on invoices7/81–1 min 25 s5.8SVG upload fails silently

Success = completed without help. Ease = Single Ease Question after each task (7 = very easy).

Participant × task

TaskP1P2P3P4P5P6P7P8
T1✓✓✓✓✓✓✓✓
T2✓✕A✕✓✕✓A
T3✓✓✕✓A✓✕✓
T4✕A✓✕✕✓✕A
T5✓✓✓A✓✓✓✓
T6✓✓✓✓✓✓✓✓
T7✓✓A✓✓✕✓✓
T8✓✓✓✓A✓✓✓
T9✓✓✓A✓✓✕✓
T10✓A✓✓✓✓✓✓

80 task attempts. ✓ success · A assisted · ✕ not completed.

Participants and SUS

IDRoleTypeUsing AcmeTasks aloneSUS
P1Finance managerExisting customer4 years9/1072.5
P2BookkeeperExisting customer2 years7/1065
P3Office managerExisting customer1 year7/1080
P4Finance managerExisting customer3 years6/1057.5
P5Founder (5 people)Trial userNew7/1077.5
P6Freelance accountantTrial userNew8/1070
P7Operations leadTrial userNew7/1062.5
P8Finance assistantTrial userNew8/1085

Average SUS 71.3; existing customers 68.8, trial users 73.8.

Findings 16 issues

IDIssueTasksAffectedSeverityRecommendationEffort
UX-01Recurring options hidden behind 'More'T26/8HighAdd 'Repeat this invoice' next to SendS
UX-02Credit note only reachable from the Credit notes pageT46/8High'Credit this invoice' on the invoice pageM
UX-03'Mark as paid' assumes the full amountT33/8HighAsk for the amount, show remaining balanceS
UX-04Error messages don't name the field or the fixT1, T3, T95/8HighField-level errors, focus first errorM
UX-05Filter label 'Period' is ambiguousT54/8Medium'Issue date' and 'Due date' filters, presetsS
UX-06Reminders: global setting and per-customer toggle conflictT73/8MediumOne place, show effective state per customerM
UX-07Role names without descriptionsT94/8MediumShort description and permission list per roleS
UX-08SVG logo upload fails without a messageT102/8MediumAccept SVG or explain allowed formatsS
UX-09No confirmation after sending (2–3 s delay)T15/8MediumImmediate toast, disable button while sendingS
UX-10Export button only visible inside the reportT82/8LowExport also from the reports listS
UX-11Draft invoices can't be deleted with undoT12/8LowUndo toast for 10 sS
UX-12'Document' and 'invoice' used for the same thingT1, T43/8LowUse 'invoice' everywhereS
UX-13Portal 'Pay now' below the fold on small phonesT62/8LowSticky payment bar on mobileS
UX-14Dialog buttons ordered differently than page buttonsT4, T93/8LowPrimary action always on the rightS
UX-15Customer search ignores VAT numberT12/8LowSearch by VAT number tooS
UX-16Help article for recurring invoices not linkedT23/8LowLink help from the schedule screenS

Top findings in detail

High UX-01 Recurring options are hidden behind 'More'

Observed
6 of 8 opened the Schedule menu and closed it; 3 gave up and asked how to repeat an invoice.
Recommendation
Repeat this invoice next to Send, with the next 3 dates as a preview.

High UX-02 Credit notes start from the wrong place

Observed
6 of 8 opened the invoice first; the only entry point is Credit notes → New, which then asks for an invoice number.
Recommendation
Credit this invoice on the invoice page, with lines pre-filled.

High UX-03 'Mark as paid' assumes the full amount

Observed
3 participants marked a €500 partial payment as fully paid.
Recommendation
Ask for the amount (default: open balance), show the remaining balance before confirming.

High UX-04 Error messages don't say what to fix

Observed
'Validation failed' after saving; 5 participants scrolled the whole form to find the red field.
Recommendation
Name the field and the fix, move focus to the first error. Also fixes accessibility issue A11Y-05.

Heuristic review 20 issues

HeuristicScreenIssueSeverity
Visibility of system statusInvoice editorNo feedback for 2–3 s after SendMedium
Visibility of system statusBank importNo progress indicator for large CSV filesLow
Match with the real worldCredit notesFinance users call them 'corrections'Low
Match with the real worldNavigation'Documents' menu contains only invoicesLow
User control and freedomInvoice listDeleting a draft has no undoMedium
User control and freedomRecurringNo way to skip one occurrenceMedium
Consistency and standardsDialogsPrimary button left in dialogs, right on pagesLow
Consistency and standardsDatesDD/MM in lists, MM/DD in the date pickerMedium
Error preventionPaymentsFull amount pre-filled for partial paymentsHigh
Error preventionCustomersArchive and delete buttons side by sideMedium
Recognition rather than recallReportsFilters reset when switching tabsLow
Recognition rather than recallInvoice editorProduct codes required, names not searchableMedium
Flexibility and efficiencyInvoice listNo keyboard shortcuts for frequent actionsLow
Flexibility and efficiencyBulk actionsBulk send limited to one page of resultsLow
Aesthetic and minimalist designDashboard6 charts, 2 used by participantsLow
Help users with errorsForms'Validation failed' without detailsHigh
Help users with errorsLogin'Something went wrong' on expired inviteMedium
Help and documentationRecurringHelp article exists but isn't linkedLow
Help and documentationRolesNo explanation of what each role can doMedium
Accessibility (quick check)FormsErrors shown by colour onlyHigh

What participants said

WhoTaskQuote
P4T2“I'd expect a ‘repeat monthly’ right next to Send. Is this even possible here?”
P2T4“I'd open the invoice and say ‘correct this line’. Why is it somewhere else?”
P7T3“It says paid. But they only paid half… did I just break the balance?”
P5T1“Validation failed — which field? I'll just try again.”
P6T5“Period of what? Issue date or due date?”
P1T7“I turned reminders on in settings, but this customer still says off.”
P8T6“That was easy. Faster than my bank app.”
P3T9“Accountant or Viewer? I don't know what either can do.”
P5T10“I uploaded the logo… nothing happened?”
P2T8“Found it. The Excel button is a bit hidden but fine.”

Recommendations

PriorityChangeFixesImpactEffort
1Actions on the invoice page: repeat, credit, record payment with amountUX-01, 02, 03HighM
2Field-level error messages with focus managementUX-04HighM
3Immediate feedback on Send; prevent double submitUX-09MediumS
4Role descriptions in the invite dialogUX-07MediumS
5Clear date filters with presetsUX-05MediumS
6One place for reminder settingsUX-06MediumM
7Small fixes: SVG logo, export button, wording, button orderUX-08, 10, 12, 14LowS

After the changes: re-test T2–T4 with 5 new participants; target ≥ 6/8 success and ease ≥ 5. The 10 tasks become UAT cases checked every release.

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