# 6. Funding Invoices — Test Cases

User Type: **CSR**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: funding_invoices.md — every feature, sub-feature, and rule covered

## Test Execution Policy

- Zero tolerance: any deviation from the documented behavior is a defect.
- Every failed test is logged with a Bug ID, the feature, the sub-feature, the expected vs actual result, and the severity; 100% of bugs are fixed before the group passes.
- 100% pass rate is required for the group to be marked complete.

## Coverage Matrix

| Feature | Sub-feature / Rule | Test IDs |
|---------|--------------------|----------|
| 6.1 | Invoice list with number, program, amount, due date, status | TC-CSR-6-01-001 |
| 6.1 | Invoice detail view with line items | TC-CSR-6-01-002 |
| 6.1 | Download invoice PDF | TC-CSR-6-01-003 |
| 6.1 | Filter by status and period | TC-CSR-6-01-004 |
| 6.1 | Overdue invoice indicators | TC-CSR-6-01-005 |
| 6.1 | Funding Invoice List available on web and mobile | TC-CSR-6-01-006 |
| 6.1 | funding invoice list event logging (viewed) | TC-CSR-6-01-007 |
| 6.1 | Audit logging of funding invoice list | TC-CSR-6-01-008 |
| 6.1 | Rule: Invoice list with number, program, amount, due date, status. | TC-CSR-6-01-009 |
| 6.1 | Rule: Invoice detail view with line items. | TC-CSR-6-01-010 |
| 6.1 | Rule: Download invoice PDF. | TC-CSR-6-01-011 |
| 6.1 | Rule: Filter by status and period. | TC-CSR-6-01-012 |
| 6.1 | Rule: Overdue invoice indicators. | TC-CSR-6-01-013 |
| 6.2 | Payment list with date, amount, method, reference | TC-CSR-6-02-014 |
| 6.2 | Payment receipts download | TC-CSR-6-02-015 |
| 6.2 | Payment-to-invoice reconciliation | TC-CSR-6-02-016 |
| 6.2 | Filter by period and program | TC-CSR-6-02-017 |
| 6.2 | Payment summary totals | TC-CSR-6-02-018 |
| 6.2 | Payment History available on web and mobile | TC-CSR-6-02-019 |
| 6.2 | payment history event logging (viewed) | TC-CSR-6-02-020 |
| 6.2 | Audit logging of payment history | TC-CSR-6-02-021 |
| 6.2 | Rule: Payment list with date, amount, method, reference. | TC-CSR-6-02-022 |
| 6.2 | Rule: Payment receipts download. | TC-CSR-6-02-023 |
| 6.2 | Rule: Payment-to-invoice reconciliation. | TC-CSR-6-02-024 |
| 6.2 | Rule: Filter by period and program. | TC-CSR-6-02-025 |
| 6.2 | Rule: Payment summary totals. | TC-CSR-6-02-026 |

## 6.1 Funding Invoice List

### TC-CSR-6-01-001 — Invoice list with number, program, amount, due date, status
**Type:** Positive
**Covers:** 6.1 → Invoice list with number, program, amount, due date, status; Rule: Invoice list with number, program, amount, due date, status.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: Invoice list with number, program, amount, due date, status.
2. Observe the result and verify the full behavior: Invoice list with number, program, amount, due date, status.
**Expected Result:** Invoice list with number, program, amount, due date, status — delivered exactly as documented.
**Priority:** Critical

### TC-CSR-6-01-002 — Invoice detail view with line items
**Type:** Positive
**Covers:** 6.1 → Invoice detail view with line items; Rule: Invoice detail view with line items.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: Invoice detail view with line items.
2. Observe the result and verify the full behavior: Invoice detail view with line items.
**Expected Result:** Invoice detail view with line items — delivered exactly as documented.
**Priority:** High

### TC-CSR-6-01-003 — Download invoice PDF
**Type:** Positive
**Covers:** 6.1 → Download invoice PDF; Rule: Download invoice PDF.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: Download invoice PDF.
2. Observe the result and verify the full behavior: Download invoice PDF.
**Expected Result:** Download invoice PDF — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-6-01-004 — Filter by status and period
**Type:** Positive
**Covers:** 6.1 → Filter by status and period; Rule: Filter by status and period.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: Filter by status and period.
2. Observe the result and verify the full behavior: Filter by status and period.
**Expected Result:** Filter by status and period — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-6-01-005 — Overdue invoice indicators
**Type:** Positive
**Covers:** 6.1 → Overdue invoice indicators; Rule: Overdue invoice indicators.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: Overdue invoice indicators.
2. Observe the result and verify the full behavior: Overdue invoice indicators.
**Expected Result:** Overdue invoice indicators — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-6-01-006 — Funding Invoice List available on web and mobile
**Type:** Positive
**Covers:** 6.1 → Funding Invoice List available on web and mobile; Rule: Invoice list with number, program, amount, due date, status.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: Funding Invoice List available on web and mobile.
2. Observe the result and verify the full behavior: Funding Invoice List available on web and mobile.
**Expected Result:** Funding Invoice List available on web and mobile — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-6-01-007 — funding invoice list event logging (viewed)
**Type:** Positive
**Covers:** 6.1 → funding invoice list event logging (viewed); Rule: Invoice detail view with line items.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: funding invoice list event logging (viewed).
2. Observe the result and verify the full behavior: funding invoice list event logging (viewed).
**Expected Result:** funding invoice list event logging (viewed) — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-6-01-008 — Audit logging of funding invoice list
**Type:** Positive
**Covers:** 6.1 → Audit logging of funding invoice list; Rule: Download invoice PDF.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: Audit logging of funding invoice list.
2. Observe the result and verify the full behavior: Audit logging of funding invoice list.
**Expected Result:** Audit logging of funding invoice list — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-6-01-009 — Rule: Invoice list with number, program, amount, due date, status.
**Type:** Positive
**Covers:** 6.1 → Rule: Invoice list with number, program, amount, due date, status.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform the action that triggers the rule: Invoice list with number, program, amount, due date, status.
2. Observe the result and verify the full behavior: Invoice list with number, program, amount, due date, status.
**Expected Result:** Invoice list with number, program, amount, due date, status. — delivered exactly as documented.
**Priority:** Critical

### TC-CSR-6-01-010 — Rule: Invoice detail view with line items.
**Type:** Positive
**Covers:** 6.1 → Rule: Invoice detail view with line items.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform the action that triggers the rule: Invoice detail view with line items.
2. Observe the result and verify the full behavior: Invoice detail view with line items.
**Expected Result:** Invoice detail view with line items. — delivered exactly as documented.
**Priority:** High

### TC-CSR-6-01-011 — Rule: Download invoice PDF.
**Type:** Positive
**Covers:** 6.1 → Rule: Download invoice PDF.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform the action that triggers the rule: Download invoice PDF.
2. Observe the result and verify the full behavior: Download invoice PDF.
**Expected Result:** Download invoice PDF. — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-6-01-012 — Rule: Filter by status and period.
**Type:** Positive
**Covers:** 6.1 → Rule: Filter by status and period.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform the action that triggers the rule: Filter by status and period.
2. Observe the result and verify the full behavior: Filter by status and period.
**Expected Result:** Filter by status and period. — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-6-01-013 — Rule: Overdue invoice indicators.
**Type:** Positive
**Covers:** 6.1 → Rule: Overdue invoice indicators.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform the action that triggers the rule: Overdue invoice indicators.
2. Observe the result and verify the full behavior: Overdue invoice indicators.
**Expected Result:** Overdue invoice indicators. — delivered exactly as documented.
**Priority:** Medium

## 6.2 Payment History

### TC-CSR-6-02-014 — Payment list with date, amount, method, reference
**Type:** Positive
**Covers:** 6.2 → Payment list with date, amount, method, reference; Rule: Payment list with date, amount, method, reference.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: Payment list with date, amount, method, reference.
2. Observe the result and verify the full behavior: Payment list with date, amount, method, reference.
**Expected Result:** Payment list with date, amount, method, reference — delivered exactly as documented.
**Priority:** Critical

### TC-CSR-6-02-015 — Payment receipts download
**Type:** Positive
**Covers:** 6.2 → Payment receipts download; Rule: Payment receipts download.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: Payment receipts download.
2. Observe the result and verify the full behavior: Payment receipts download.
**Expected Result:** Payment receipts download — delivered exactly as documented.
**Priority:** High

### TC-CSR-6-02-016 — Payment-to-invoice reconciliation
**Type:** Positive
**Covers:** 6.2 → Payment-to-invoice reconciliation; Rule: Payment-to-invoice reconciliation.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: Payment-to-invoice reconciliation.
2. Observe the result and verify the full behavior: Payment-to-invoice reconciliation.
**Expected Result:** Payment-to-invoice reconciliation — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-6-02-017 — Filter by period and program
**Type:** Positive
**Covers:** 6.2 → Filter by period and program; Rule: Filter by period and program.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: Filter by period and program.
2. Observe the result and verify the full behavior: Filter by period and program.
**Expected Result:** Filter by period and program — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-6-02-018 — Payment summary totals
**Type:** Positive
**Covers:** 6.2 → Payment summary totals; Rule: Payment summary totals.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: Payment summary totals.
2. Observe the result and verify the full behavior: Payment summary totals.
**Expected Result:** Payment summary totals — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-6-02-019 — Payment History available on web and mobile
**Type:** Positive
**Covers:** 6.2 → Payment History available on web and mobile; Rule: Payment list with date, amount, method, reference.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: Payment History available on web and mobile.
2. Observe the result and verify the full behavior: Payment History available on web and mobile.
**Expected Result:** Payment History available on web and mobile — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-6-02-020 — payment history event logging (viewed)
**Type:** Positive
**Covers:** 6.2 → payment history event logging (viewed); Rule: Payment receipts download.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: payment history event logging (viewed).
2. Observe the result and verify the full behavior: payment history event logging (viewed).
**Expected Result:** payment history event logging (viewed) — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-6-02-021 — Audit logging of payment history
**Type:** Positive
**Covers:** 6.2 → Audit logging of payment history; Rule: Payment-to-invoice reconciliation.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: Audit logging of payment history.
2. Observe the result and verify the full behavior: Audit logging of payment history.
**Expected Result:** Audit logging of payment history — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-6-02-022 — Rule: Payment list with date, amount, method, reference.
**Type:** Positive
**Covers:** 6.2 → Rule: Payment list with date, amount, method, reference.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform the action that triggers the rule: Payment list with date, amount, method, reference.
2. Observe the result and verify the full behavior: Payment list with date, amount, method, reference.
**Expected Result:** Payment list with date, amount, method, reference. — delivered exactly as documented.
**Priority:** Critical

### TC-CSR-6-02-023 — Rule: Payment receipts download.
**Type:** Positive
**Covers:** 6.2 → Rule: Payment receipts download.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform the action that triggers the rule: Payment receipts download.
2. Observe the result and verify the full behavior: Payment receipts download.
**Expected Result:** Payment receipts download. — delivered exactly as documented.
**Priority:** High

### TC-CSR-6-02-024 — Rule: Payment-to-invoice reconciliation.
**Type:** Positive
**Covers:** 6.2 → Rule: Payment-to-invoice reconciliation.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform the action that triggers the rule: Payment-to-invoice reconciliation.
2. Observe the result and verify the full behavior: Payment-to-invoice reconciliation.
**Expected Result:** Payment-to-invoice reconciliation. — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-6-02-025 — Rule: Filter by period and program.
**Type:** Positive
**Covers:** 6.2 → Rule: Filter by period and program.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform the action that triggers the rule: Filter by period and program.
2. Observe the result and verify the full behavior: Filter by period and program.
**Expected Result:** Filter by period and program. — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-6-02-026 — Rule: Payment summary totals.
**Type:** Positive
**Covers:** 6.2 → Rule: Payment summary totals.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform the action that triggers the rule: Payment summary totals.
2. Observe the result and verify the full behavior: Payment summary totals.
**Expected Result:** Payment summary totals. — delivered exactly as documented.
**Priority:** Medium
