Use this page for technical screen behavior, source references, and active Playwright coverage.
Payment allocation modal for matching vendor payments to vendor invoices (GRNs) with TDS deduction support.
Page: VendorPaymentAllocation.razor (Modal Component) Route: N/A (Modal within VendorPayments.razor) Menu Position: N/A (Sub-component)
Payment allocation modal for matching vendor payments to vendor invoices (GRNs) with TDS deduction support.
| ID | Section | Action | Expected Outcome | Controls Affected |
|---|---|---|---|---|
| UC-VPALLOC-001 | Info | View payment details | Shows Payment #, Vendor Name | Header row |
| UC-VPALLOC-002 | Info | Payment Amount | Bold ₹ formatted amount | Amount display |
| UC-VPALLOC-003 | Info | Already Allocated | Shows previously allocated amount | Allocated display |
| UC-VPALLOC-004 | Info | Available for Allocation | Payment Amount - Already Allocated | Available display |
| ID | Section | Action | Expected Outcome | Controls Affected |
|---|---|---|---|---|
| UC-VPALLOC-005 | Invoices | View header | "Available Invoices" with count | Panel header |
| UC-VPALLOC-006 | Invoices | Search invoices | Filters by GRN number | Search input |
| UC-VPALLOC-007 | Invoices | Invoice row | Shows GRN #, Date, Total, Paid, Balance | Row layout |
| UC-VPALLOC-008 | Invoices | GRN Number | Bold, primary colored link | GRN display |
| UC-VPALLOC-009 | Invoices | Invoice Date | DD/MM/YYYY format | Date cell |
| UC-VPALLOC-010 | Invoices | Total Amount | ₹ formatted | Amount cell |
| UC-VPALLOC-011 | Invoices | Paid Amount | ₹ formatted, success color | Paid cell |
| UC-VPALLOC-012 | Invoices | Balance Due | ₹ formatted, warning if > 0 | Balance cell |
| UC-VPALLOC-013 | Invoices | Click Add | Calls AddToAllocation(invoice) | Plus button |
| UC-VPALLOC-014 | Invoices | Already in allocation | Add button disabled, "Added" shown | Disabled state |
| UC-VPALLOC-015 | Invoices | Empty state | "No unpaid invoices found" message | Empty message |
| ID | Section | Action | Expected Outcome | Controls Affected |
|---|---|---|---|---|
| UC-VPALLOC-016 | Pending | View header | "Allocations" with count | Panel header |
| UC-VPALLOC-017 | Pending | Allocation row | GRN #, Balance, Allocation Amount, TDS | Row layout |
| UC-VPALLOC-018 | Pending | Invoice Balance | Read-only balance display | Balance display |
| UC-VPALLOC-019 | Pending | Allocation Amount | Editable number, max = balance | Number input |
| UC-VPALLOC-020 | Pending | TDS Amount | Editable number for TDS deduction | Number input |
| UC-VPALLOC-021 | Pending | Net Amount | AllocationAmount - TDS, read-only | Calculated field |
| UC-VPALLOC-022 | Pending | Click Remove | Removes from pending list | Trash button |
| UC-VPALLOC-023 | Pending | Validation | Amount cannot exceed balance | Validation |
| UC-VPALLOC-024 | Pending | Empty state | "No allocations added" message | Empty message |
| ID | Section | Action | Expected Outcome | Controls Affected |
|---|---|---|---|---|
| UC-VPALLOC-025 | Existing | View header | "Saved Allocations" with count | Panel header |
| UC-VPALLOC-026 | Existing | Allocation row | GRN #, Amount, TDS, Net, Date, Status | Row layout |
| UC-VPALLOC-027 | Existing | Allocation Date | DD/MM/YYYY when allocated | Date display |
| UC-VPALLOC-028 | Existing | Status Active | Green (bg-success) badge | Status badge |
| UC-VPALLOC-029 | Existing | Status Reversed | Red (bg-danger) badge | Status badge |
| UC-VPALLOC-030 | Existing | Click Reverse | Opens reverse confirmation modal | Reverse button |
| ID | Section | Action | Expected Outcome | Controls Affected |
|---|---|---|---|---|
| UC-VPALLOC-031 | Summary | Total Allocation | Sum of pending allocation amounts | Total display |
| UC-VPALLOC-032 | Summary | Remaining | Available - Total Allocation | Remaining display |
| UC-VPALLOC-033 | Summary | Over-allocation warning | Red warning if Total > Available | Warning alert |
| UC-VPALLOC-034 | Actions | Click Cancel | Closes modal, discards pending | Cancel button |
| UC-VPALLOC-035 | Actions | Click Save | Saves all pending allocations, disabled if none | Save button |
Total Use Cases: 35