Ratepayer App — Bills Management Module Acceptance Tests¶
Test series: RPA-BILL-01 to RPA-BILL-08
Objective: Validate that a ratepayer can view, filter, and manage bills; select and pay a single bill or multiple bills; and pay on behalf of another ratepayer.
Mirrors: ratepayer-portal/bills-management.md (RPP-BILL-01 to RPP-BILL-16). Bill Details, checkout modal, gateway initiation, and Payment Return screens should be validated against the same web criteria once those app screens are captured; this file covers the confirmed list-level and multi-bill-payment screens from the screenshots.
Execution ownership¶
Recommended owners: Ratepayer/Public Portal users; Customer Service observer; Payment/Integration representative
Prerequisites: A signed-in ratepayer with paid, partially paid, unpaid, and overdue bills; an eligible bill for payment; a controlled payment test method; and another ratepayer's phone number for the Pay for Others flow.
Execution control
Use approved UAT data only. Mask personal, authentication, and payment information in screenshots and attachments.
Feature overview¶
The Bills tab covers the ratepayer's property-rate billing journey:
- My Bill list with search, status filter tabs (All/Unpaid/Partially Paid/Paid/etc.), and summary totals (Total, Unpaid, and further categories on scroll).
- Bill row with reference number, overdue/status indicator, due date, region, property category, outstanding amount, and status badge.
- Multiple Bill Pay screen with per-bill selection, a Partial/Full payment toggle, and a running selected total.
- Pay for Other Rate Payer with phone entry, an explainer panel, and OTP verification.
Coverage summary¶
| Test ID | Feature | Scenario | Priority |
|---|---|---|---|
| RPA-BILL-01 | Bills List | List display and navigation | Critical |
| RPA-BILL-02 | Bills List | Status tabs and summary totals | High |
| RPA-BILL-03 | Bills List | Search | High |
| RPA-BILL-04 | Multiple Bill Pay | Bill selection and Partial/Full payment | Critical |
| RPA-BILL-05 | Multiple Bill Pay | Payment submission | Critical |
| RPA-BILL-06 | Pay for Other | Phone verification and explainer | High |
| RPA-BILL-07 | Bill Details | Details and single-bill payment (pending confirmation) | Critical |
| RPA-BILL-08 | Bills List | Bill status display | High |
Implementation observations requiring UAT confirmation¶
| Observation from screenshots | Required validation |
|---|---|
| The bill row shows "Overdue" as a red label above the due date, separate from the status badge (e.g., "PARTIALLY PAID"), meaning a bill can display both an overdue indicator and a payment-status badge simultaneously. | Confirm this dual-indicator behaviour matches the intended web parity (ratepayer-portal/bills-management.md RPP-BILL-16). |
| The status filter tabs visible are All, Unpaid, Partially Paid, Paid, with further tabs (partially obscured, likely Overdue/Cancelled/Adjusted/Pending) reachable by scrolling horizontally. | Confirm the full list of tabs matches web's All, Overdue & Arrears, Cancelled, Adjusted, Paid, Partial, Pending. |
| Multiple Bill Pay shows a per-bill "Partial" button and a chevron "›" action, plus a running "0 selected / GH₵0.00" footer with a Pay Now button. | Confirm what the chevron action opens (e.g., a detail/percentage picker) versus the Partial button, and whether a Full option/toggle exists alongside Partial. |
| Bill statistics cards, bill Download PDF/Send Email actions, and expandable row details (created date, creator, zone type) were not captured in the supplied screenshots. | Confirm whether these exist in the app; supply screenshots to extend this module to full parity with ratepayer-portal/bills-management.md. |
| Bill Details, the payment checkout modal (percentage buttons, custom amount), gateway initiation, and Payment Return/receipt screens were not captured for a single-bill payment flow (only the Multiple Bill Pay and Download Receipts screens were shown). | Confirm whether single-bill payment reuses the same checkout UI as Multiple Bill Pay or has a dedicated screen; supply screenshots to extend RPA-BILL-07 to full parity with ratepayer-portal/bills-management.md RPP-BILL-06 to RPP-BILL-12. |
RPA-BILL-01 — Bills list display and navigation¶
Feature overview¶
My Bill displays the ratepayer's bills in a list with search, summary totals, status tabs, and a chevron action per row.
Preconditions
- A signed-in ratepayer with at least one bill.
| Field | Value |
|---|---|
| Priority | Critical |
| Test action | Open My Bill and open a bill from the list. |
| Expected result | Bills render with correct data and the chevron action opens bill details. |
| Execution result | PASS |
| Evidence reference | Insert link or reference |
| Defect reference | Insert ID or None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| Page header | 1. Tap the Bills tab. | The "My Bill" heading and search bar are shown. | PASS |
|
| Bill row content | 1. Inspect a bill row. | Bill number, reference, overdue/due-date indicator, region, property category, outstanding amount (with "out of" total), and status badge are shown. | PASS |
|
| Open bill via chevron | 1. Tap the chevron on a bill row. | Bill details open for the correct bill. | PASS |
|
| Empty state | 1. Open Bills with no matching bills. | An empty state message is shown. | PASS |
Tester notes
Record actual result, test data identifiers, device/OS/build, and any variance.
RPA-BILL-02 — Bills list status tabs and summary totals¶
Feature overview¶
Summary cards show Total and Unpaid (and further totals on scroll), and status tabs filter the list.
Preconditions
- A signed-in ratepayer with bills in several statuses.
| Field | Value |
|---|---|
| Priority | High |
| Test action | Switch between status tabs and review the summary totals. |
| Expected result | Each tab loads bills for its status and totals reconcile. |
| Execution result | PASS |
| Evidence reference | Insert link or reference |
| Defect reference | Insert ID or None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| Total summary card | 1. Inspect the Total card. | It shows the sum of all billed amounts. | PASS |
|
| Unpaid summary card | 1. Inspect the Unpaid card. | It shows the sum of unpaid amounts. | PASS |
|
| Scroll to further totals | 1. Scroll the summary row horizontally. | Additional total categories (e.g., Partially Paid, Paid) are revealed. | PASS |
|
| Tab navigation | 1. Tap each status tab (All, Unpaid, Partially Paid, Paid, and any further tabs). | Each tab displays bills matching the selected status. | PASS |
Confirm full tab set — see observations. |
| Tab resets search | 1. Enter a search term, then switch tabs. | Confirm whether search/filters reset on tab switch. | PASS |
Tester notes
Record actual result, test data identifiers, device/OS/build, and any variance.
RPA-BILL-03 — Bills list search¶
Feature overview¶
The search box filters bills by reference, title, or related identifiers.
Preconditions
- A signed-in ratepayer with bills distinguishable by reference or title.
| Field | Value |
|---|---|
| Priority | High |
| Test action | Search for a bill by reference/title. |
| Expected result | The list reflects the search term. |
| Execution result | PASS |
| Evidence reference | Insert link or reference |
| Defect reference | Insert ID or None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| Search by reference | 1. Enter a bill reference number in "Search by reference, title, …". | Only the matching bill is shown. | PASS |
|
| Filter icon | 1. Tap the filter/sliders icon next to the search box. | Additional filter options are shown. | PASS |
Confirm what filters are offered (property, date range, etc.). |
| No results | 1. Search for a value with no match. | An empty state is shown. | PASS |
|
| Clear search | 1. Clear the search field. | The full list is restored. | PASS |
Tester notes
Record actual result, test data identifiers, device/OS/build, and any variance.
RPA-BILL-04 — Multiple Bill Pay — selection and Partial/Full payment¶
Feature overview¶
Multiple Bill Pay lists eligible bills with a checkbox, a per-bill amount, and a Partial action; a footer shows the selected count and total.
Preconditions
- A signed-in ratepayer with at least one payable bill.
| Field | Value |
|---|---|
| Priority | Critical |
| Test action | Select bills and adjust payment amounts on Multiple Bill Pay. |
| Expected result | Selection, totals, and partial-amount entry work correctly. |
| Execution result | PASS |
| Evidence reference | Insert link or reference |
| Defect reference | Insert ID or None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| Open Multiple Bill Pay | 1. From Home, tap Pay Multiple Bills. | The Multiple Bill Pay screen opens listing eligible bills. | PASS |
|
| Select a bill | 1. Tap the checkbox on a bill. | The footer updates to "1 selected" and the running total. | PASS |
|
| Deselect a bill | 1. Untick a selected bill's checkbox. | The footer count and total decrease accordingly. | PASS |
|
| Partial payment | 1. Tap Partial on a bill. | A partial-amount entry (percentage or custom) is shown and is capped at the outstanding balance. | PASS |
|
| Chevron detail | 1. Tap the chevron ("›") on a bill row. | Additional bill detail/payment options are shown. | PASS |
Confirm exact behaviour. |
| Paid bill not selectable | 1. Attempt to select a fully paid bill. | The checkbox is disabled. | PASS |
|
| Status tabs on this screen | 1. Switch between All/Unpaid/Partially Paid/Overdue tabs on Multiple Bill Pay. | The bill list filters accordingly. | PASS |
Tester notes
Record actual result, test data identifiers, device/OS/build, and any variance.
RPA-BILL-05 — Multiple Bill Pay — payment submission¶
Feature overview¶
The Pay Now button initiates payment for all selected bills at their chosen amounts.
Preconditions
- At least one bill selected on Multiple Bill Pay with a valid amount.
| Field | Value |
|---|---|
| Priority | Critical |
| Test action | Submit a multi-bill payment. |
| Expected result | The gateway opens with the correct combined amount and the payment completes/returns correctly. |
| Execution result | PASS |
| Evidence reference | Insert link or reference |
| Defect reference | Insert ID or None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| Pay Now disabled with no selection | 1. Inspect Pay Now with 0 bills selected. | The button is disabled ("0 selected / GH₵0.00"). | PASS |
|
| Pay Now enabled with selection | 1. Select one or more bills. | Pay Now becomes enabled and reflects the correct total. | PASS |
|
| Initiate payment | 1. Tap Pay Now. | The payment gateway opens (in-app browser or redirect). | PASS |
|
| Gateway failure | 1. Trigger a gateway/network failure. | A clear error is shown and payment is not initiated. | PASS |
|
| Successful completion | 1. Complete payment on the gateway. | The user returns to the app with a success confirmation. | PASS |
|
| Cancelled/interrupted payment | 1. Cancel or interrupt the gateway flow. | No duplicate charge occurs; status reflects pending/failed appropriately. | PASS |
Tester notes
Record actual result, test data identifiers, device/OS/build, and any variance.
RPA-BILL-06 — Pay for Other Rate Payer — phone verification and explainer¶
Feature overview¶
Pay for Others captures the other ratepayer's phone number, verifies it via OTP, and explains the flow via a "How this works" panel.
Preconditions
- A signed-in ratepayer and the phone number of another ratepayer with payable bills.
| Field | Value |
|---|---|
| Priority | High |
| Test action | Enter a phone number, review the explainer, and complete OTP verification. |
| Expected result | A verified phone loads the other ratepayer's bills; the explainer content is accurate. |
| Execution result | PASS |
| Evidence reference | Insert link or reference |
| Defect reference | Insert ID or None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| Page header and input | 1. Tap Pay for others. | "Pay for Others" opens with a phone number field pre-set to Ghana. | PASS |
|
| How this works panel | 1. Inspect the "How this works" panel. | 5 numbered steps describe phone entry, OTP verification, bill display, selection/payment, and receipt generation, accurately reflecting the actual flow. | PASS |
Confirm content accuracy against the real flow. |
| Verify & Search Bill | 1. Enter a valid phone number. 2. Tap Verify & Search Bill. |
An OTP is requested and an OTP entry step is shown. | PASS |
|
| Correct OTP | 1. Enter the received OTP. | Verification succeeds and the other ratepayer's bills load. | PASS |
|
| Incorrect OTP | 1. Enter a wrong OTP. | An invalid-OTP error is shown. | PASS |
|
| No bills found | 1. Verify a phone number with no bills. | A "No Bills Found" state is shown. | PASS |
|
| Unknown/invalid phone | 1. Enter a number not associated with any account. | A clear error is shown and no OTP is requested (or OTP fails gracefully). | PASS |
Tester notes
Record actual result, test data identifiers, device/OS/build, and any variance.
RPA-BILL-07 — Bill Details and single-bill payment (pending confirmation)¶
Feature overview¶
Tapping a bill from My Bill is expected to open a details screen with a Pay Now action and checkout, equivalent to the web's Bill Details and checkout modal.
Preconditions
- A signed-in ratepayer with a bill that has an outstanding amount.
| Field | Value |
|---|---|
| Priority | Critical |
| Test action | Open bill details and pay a single bill, then validate against ratepayer-portal/bills-management.md RPP-BILL-06 to RPP-BILL-12. |
| Expected result | Bill details, checkout, gateway initiation, and the return/receipt screen behave as they do on web, or intentional differences are confirmed. |
| Execution result | PASS |
| Evidence reference | Insert link or reference |
| Defect reference | Insert ID or None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| Bill details content | 1. Open bill details. | Bill summary, payer/property info, line items, and totals are shown. | PASS |
Pending screenshot confirmation. |
| Pay Now / checkout | 1. Tap Pay Now. | A checkout screen shows the outstanding amount with percentage and custom-amount options. | PASS |
|
| Validation | 1. Attempt to pay GH₵0 or an amount above outstanding. | The relevant validation error is shown. | PASS |
|
| Gateway initiation | 1. Submit a valid payment. | The gateway opens and completes the payment. | PASS |
|
| Payment return/receipt | 1. Return from the gateway after payment. | A receipt/confirmation screen is shown with the verified status. | PASS |
|
| Print/export/share | 1. Use Print, Export PDF, and Share actions on the bill or receipt. | Each action behaves as expected. | PASS |
See payment-history.md RPA-PAY-06 for the confirmed receipt screen. |
Tester notes
Record actual result, test data identifiers, device/OS/build, and any variance. Expand this section to full parity with ratepayer-portal/bills-management.md once Bill Details and single-bill checkout screens are captured.
RPA-BILL-08 — Bill status display¶
Feature overview¶
Bills carry a status badge (e.g., Partially Paid) and, separately, an overdue indicator when past due.
Preconditions
- A signed-in ratepayer with bills in multiple statuses, including at least one overdue.
| Field | Value |
|---|---|
| Priority | High |
| Test action | Review status display across the bills list. |
| Expected result | Statuses match the underlying bill state and are visually distinct. |
| Execution result | PASS |
| Evidence reference | Insert link or reference |
| Defect reference | Insert ID or None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| Status badge | 1. Inspect a bill row. | A colored badge (e.g., "PARTIALLY PAID") matches the bill's payment state. | PASS |
|
| Overdue indicator | 1. Inspect a bill past its due date. | A red "Overdue" label is shown above the due date, in addition to the status badge. | PASS |
|
| Amount reconciliation | 1. Compare the outstanding amount shown with "out of" the total. | Figures reconcile with the underlying bill amounts. | PASS |
|
| Status consistency | 1. Compare the list status with bill details (once available). | Status is consistent across screens. | PASS |
Tester notes
Record actual result, test data identifiers, device/OS/build, and any variance.