🎬 Simulate:
Invoice Management
Search Filters
Results
3 results
| Invoice No | Learner | Product | Amount | Payment Date | Status | |
|---|---|---|---|---|---|---|
| INV-2026-0047 | Bounmy Keodara | Basic Digital Skills · Lifetime | 500,000 | 2026-06-18 09:14 | Pending | View Detail |
| INV-2026-0051 | Khamla Vongsa | Digital Literacy Track | 300,000 | 2026-06-20 14:32 | Pending | View Detail |
| INV-2026-0055 | Malivan Siphanxay | Basic Digital Skills · 1 Year | 200,000 | 2026-06-25 11:08 | Pending | View Detail |
Screen Flow (from uc-bil-10-manage-invoice.flow.puml):
📝 Spec notes — UC-BIL.10 / SCR-BIL.16 (fields, actions, requirements)
Identity
- Screen: SCR-BIL.16 — Invoice Admin
- Use case: UC-BIL.10 — Manage Invoice
Brief description
Admin-facing Invoice Management page supporting UC-BIL.10. Sale Admin searches and filters invoices (by payment status — default: Pending, learner email / name, payment date range) → result list → clicks "View Detail" to navigate to the Invoice Detail page (SCR-BIL.17) for full transaction detail and payment status editing.
Fields
filter_status"Status" — enum (all/pending/paid/failed/cancelled) · default: pending · always · editablesearch_learner"Learner (email or name)" — text · max 255 · always · editablefilter_date_from"Payment Date From" — date · always · editablefilter_date_to"To" — date · always · editable · validation: filter_date_to ≥ filter_date_fromrow_invoice_no"Invoice No" — text · lookup.Invoice.invoice_no · always · read-onlyrow_learner"Learner" — text · lookup.User.full_name · always · read-onlyrow_product"Product" — text · lookup.Product.name · always · read-onlyrow_amount"Amount" — number · lookup.Invoice.amount · always · read-onlyrow_payment_date"Payment Date" — datetime · lookup.Invoice.payment_date · always · read-onlyrow_status"Status" — enum (pending/paid/failed/cancelled) · lookup.Invoice.status · always · read-onlyempty_state_message— text · visible when result_count == 0 · "No invoices found matching the search criteria." · read-only
Actions
search"Search" — always enabled · triggers UC-BIL.10-M-2clear"Clear" — always enabled · resets filtersview_detail"View Detail" — enabled when row_status != null · triggers UC-BIL.10-M-4 · navigates to SCR-BIL.17
Additional requirements
- RBAC — Sale Admin (ACT-12) only; reject 403 and log a security event if the user lacks the required role. [refs: NFR-10]
- TLS 1.2+; search query must not store PII outside the audit trail. [refs: NFR-03]
- Pagination in the result list (default 20 rows/page). [refs: NFR-02]
- Supports desktop (admin primary device); result list scrollable horizontally on smaller viewports. [refs: NFR-08]
- WCAG — filter form uses fieldset + legend; result table has full <th scope> semantics; all controls keyboard-navigable. [refs: NFR-09]