Sales and Products › Manage Invoice
🎬 Simulate:

Invoice Management

Search Filters
Invoice 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 · editable
  • search_learner "Learner (email or name)" — text · max 255 · always · editable
  • filter_date_from "Payment Date From" — date · always · editable
  • filter_date_to "To" — date · always · editable · validation: filter_date_to ≥ filter_date_from
  • row_invoice_no "Invoice No" — text · lookup.Invoice.invoice_no · always · read-only
  • row_learner "Learner" — text · lookup.User.full_name · always · read-only
  • row_product "Product" — text · lookup.Product.name · always · read-only
  • row_amount "Amount" — number · lookup.Invoice.amount · always · read-only
  • row_payment_date "Payment Date" — datetime · lookup.Invoice.payment_date · always · read-only
  • row_status "Status" — enum (pending/paid/failed/cancelled) · lookup.Invoice.status · always · read-only
  • empty_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-2
  • clear "Clear" — always enabled · resets filters
  • view_detail "View Detail" — enabled when row_status != null · triggers UC-BIL.10-M-4 · navigates to SCR-BIL.17
Additional requirements
  1. RBAC — Sale Admin (ACT-12) only; reject 403 and log a security event if the user lacks the required role. [refs: NFR-10]
  2. TLS 1.2+; search query must not store PII outside the audit trail. [refs: NFR-03]
  3. Pagination in the result list (default 20 rows/page). [refs: NFR-02]
  4. Supports desktop (admin primary device); result list scrollable horizontally on smaller viewports. [refs: NFR-08]
  5. WCAG — filter form uses fieldset + legend; result table has full <th scope> semantics; all controls keyboard-navigable. [refs: NFR-09]