S40
PO-GR Integration
Purchase Order to Goods Receipt integration with matching, variance approvals, exception handling, and compliance reporting.
Route/po-gr-integration
Entry pathAnalytics nav > PO-GR Integration
Detailed source
26-UC-POGRIntegration.md
UC-POGR: PO to GR Integration Page Use Cases
Page: POGRIntegration.razor
Route: /po-gr-integration
Menu Position: 25 (Analytics & Tracking > PO-GR Integration)
Overview
Purchase Order to Goods Receipt integration with matching, variance approvals, exception handling, and compliance reporting.
Section: Page Header & Actions
| ID |
Section |
Action |
Expected Outcome |
Controls Affected |
| UC-POGR-001 |
Header |
Load page |
Title "PO to Goods Receipt Integration" with exchange icon |
Page title |
| UC-POGR-002 |
Header |
Description |
Shows "Seamless integration..." subtitle |
Description text |
| UC-POGR-003 |
Header |
Click Auto-Match |
Calls PerformAutoMatching, matches GRs to POs |
Auto-Match button |
| UC-POGR-004 |
Header |
Click Refresh |
Calls RefreshData, reloads all data |
Refresh button |
| UC-POGR-005 |
Header |
Click Compliance Report |
Calls GenerateComplianceReport, shows alert with metrics |
Compliance button |
| UC-POGR-006 |
Header |
Processing active |
All header buttons disabled |
Button disabled state |
Section: Summary Cards (4 cards)
| ID |
Section |
Action |
Expected Outcome |
Controls Affected |
| UC-POGR-007 |
Summary |
Pending POs |
Yellow card shows pendingPOsCount, overdue count below |
Card 1 |
| UC-POGR-008 |
Summary |
Unmatched GRs |
Info card shows unmatchedGRsCount |
Card 2 |
| UC-POGR-009 |
Summary |
Variances Pending |
Red card shows variancesAwaitingApproval |
Card 3 |
| UC-POGR-010 |
Summary |
Matching Rate |
Green card shows matchingRate as percentage |
Card 4 |
Section: Tab Navigation
| ID |
Section |
Action |
Expected Outcome |
Controls Affected |
| UC-POGR-011 |
Tabs |
View tabs |
5 tabs: Pending POs, Unmatched GRs, Variance Approvals, Exception Report, Integration Summary |
nav-tabs |
| UC-POGR-012 |
Tabs |
Click tab |
Sets selectedTabIndex, changes activeTab |
Tab click |
| UC-POGR-013 |
Tabs |
Default tab |
"Pending Purchase Orders" active (index 0) |
First tab active |
Section: Pending Purchase Orders Tab
| ID |
Section |
Action |
Expected Outcome |
Controls Affected |
| UC-POGR-014 |
PO Tab |
View headers |
8 columns: Order #, Vendor, Order Date, Expected Delivery, Status, Receipt %, Amount, Actions |
thead table-dark |
| UC-POGR-015 |
PO Tab |
Order number |
Bold, overdue badge if IsOverdue with days count |
Order # cell |
| UC-POGR-016 |
PO Tab |
Expected date |
Shows date or "Not set" if null |
Date cell |
| UC-POGR-017 |
PO Tab |
Status badge |
Color from GetStatusColor: Pending=warning, Approved=info, Sent=primary, PartiallyReceived=warning, Completed=success, Cancelled=danger |
Status badge |
| UC-POGR-018 |
PO Tab |
Receipt % |
Progress bar showing ReceiptPercentage |
Progress bar |
| UC-POGR-019 |
PO Tab |
Amount |
Currency format |
Amount cell |
| UC-POGR-020 |
PO Tab |
Click Create GR |
Opens CreateGRFromPO modal |
Create GR button |
| UC-POGR-021 |
PO Tab |
Click View |
Calls ViewPODetails(purchaseOrderId) |
View button |
| UC-POGR-022 |
PO Tab |
Max rows |
Shows max 50 POs |
Pagination |
| UC-POGR-023 |
PO Tab |
Empty state |
Check icon with "No Pending Purchase Orders" |
Empty message |
Section: Unmatched Goods Receipts Tab
| ID |
Section |
Action |
Expected Outcome |
Controls Affected |
| UC-POGR-024 |
GR Tab |
View headers |
7 columns: Receipt #, Vendor, Receipt Date, Items, Status, Quality Score, Actions |
thead |
| UC-POGR-025 |
GR Tab |
Click Auto-Match All |
Calls PerformAutoMatching |
Auto-Match All button |
| UC-POGR-026 |
GR Tab |
Status badge |
Color from GetGRStatusColor |
Status badge |
| UC-POGR-027 |
GR Tab |
Quality score |
Badge color from GetQualityScoreColor: ≥90=success, ≥80=warning, <80=danger |
Score badge |
| UC-POGR-028 |
GR Tab |
Click Match |
Calls MatchGRToPO(goodsReceiptId) |
Match button |
| UC-POGR-029 |
GR Tab |
Click View |
Calls ViewGRDetails(goodsReceiptId) |
View button |
| UC-POGR-030 |
GR Tab |
Max rows |
Shows max 50 GRs |
Pagination |
| UC-POGR-031 |
GR Tab |
Empty state |
Check icon with "No Unmatched Goods Receipts" |
Empty message |
Section: Variance Approvals Tab
| ID |
Section |
Action |
Expected Outcome |
Controls Affected |
| UC-POGR-032 |
Variance |
View card |
Warning border card for each variance requiring approval |
Variance card |
| UC-POGR-033 |
Variance |
Header |
Shows "Variance Approval Required" with total amount badge |
Card header |
| UC-POGR-034 |
Variance |
Summary row |
Total Variance, Variance Count, Significant Variances |
Summary div |
| UC-POGR-035 |
Variance |
Table headers |
7 columns: Product, Ordered, Received, Qty Variance, Price Variance, Total Variance, Type |
Table thead |
| UC-POGR-036 |
Variance |
Qty variance ≠ 0 |
Yellow warning text |
Qty cell |
| UC-POGR-037 |
Variance |
Price variance > 0.01 |
Yellow warning text |
Price cell |
| UC-POGR-038 |
Variance |
Total > 50 |
Red danger text; else yellow warning |
Total cell |
| UC-POGR-039 |
Variance |
Quality issues |
Shows "Quality" danger badge |
Type cell |
| UC-POGR-040 |
Variance |
Max rows |
Shows max 10 variance details |
Pagination |
| UC-POGR-041 |
Variance |
Click Approve |
Calls ApproveVariance(grId, true) |
Approve button |
| UC-POGR-042 |
Variance |
Click Reject |
Calls ApproveVariance(grId, false) |
Reject button |
| UC-POGR-043 |
Variance |
Click View Details |
Calls ViewVarianceDetails(grId) |
View Details button |
| UC-POGR-044 |
Variance |
Empty state |
Check icon with "No Variances Awaiting Approval" |
Empty message |
Section: Exception Report Tab
| ID |
Section |
Action |
Expected Outcome |
Controls Affected |
| UC-POGR-045 |
Exceptions |
Severity cards |
3 cards: High (danger), Medium (warning), Low (info) with counts |
Severity cards |
| UC-POGR-046 |
Exceptions |
Table headers |
7 columns: Type, Severity, Vendor, Reference, Description, Date, Actions |
thead |
| UC-POGR-047 |
Exceptions |
Type badge |
Color from GetExceptionTypeColor: OverduePO=danger, UnmatchedGR=warning, SignificantVariance=warning, QualityIssue=danger, DeliveryDelay=info |
Type badge |
| UC-POGR-048 |
Exceptions |
Severity badge |
Color from GetSeverityColor |
Severity badge |
| UC-POGR-049 |
Exceptions |
Row class |
From GetExceptionRowClass: High=table-danger, Medium=table-warning |
Row class |
| UC-POGR-050 |
Exceptions |
Reference |
Shows OrderNumber or ReceiptNumber |
Reference cell |
| UC-POGR-051 |
Exceptions |
Click Resolve |
Calls ResolveException(exception) |
Resolve button |
| UC-POGR-052 |
Exceptions |
Max rows |
Shows max 50 exceptions |
Pagination |
| UC-POGR-053 |
Exceptions |
Empty state |
Check icon with "No Exceptions Found" |
Empty message |
Section: Integration Summary Tab
| ID |
Section |
Action |
Expected Outcome |
Controls Affected |
| UC-POGR-054 |
Summary |
Table headers |
9 columns: Order #, Vendor, Order Date, Status, Amount, GRs, Receipt %, Variances, Completed |
thead |
| UC-POGR-055 |
Summary |
Status badge |
Color from GetStatusColor |
Status badge |
| UC-POGR-056 |
Summary |
Receipt % |
Progress bar showing percentage |
Progress bar |
| UC-POGR-057 |
Summary |
HasVariances |
Yes=warning badge, No=success badge |
Variance cell |
| UC-POGR-058 |
Summary |
IsCompleted |
Check icon (success) or clock icon (warning) |
Completed cell |
| UC-POGR-059 |
Summary |
Max rows |
Shows max 50 summaries |
Pagination |
| UC-POGR-060 |
Summary |
Empty state |
Info icon with "No Integration Data" |
Empty message |
Section: Create GR Modal
| ID |
Section |
Action |
Expected Outcome |
Controls Affected |
| UC-POGR-061 |
Modal |
View modal |
Title "Create Goods Receipt from Purchase Order" |
Modal title |
| UC-POGR-062 |
Modal |
PO info |
Shows Order Number and Vendor Name |
Info row |
| UC-POGR-063 |
Modal |
Vendor Delivery Note |
Text input for delivery note |
Input field |
| UC-POGR-064 |
Modal |
Batch Number |
Text input for batch number |
Input field |
| UC-POGR-065 |
Modal |
Receipt Date |
Date input, defaults to today |
Date input |
| UC-POGR-066 |
Modal |
Received By |
Text input for receiver name |
Input field |
| UC-POGR-067 |
Modal |
Notes |
Textarea for notes |
Textarea |
| UC-POGR-068 |
Modal |
Line items table |
Shows Product, Ordered, Received, Damaged, Quality |
Line items table |
| UC-POGR-069 |
Modal |
Received qty |
Number input, min 0, max OrderedQuantity |
Number input |
| UC-POGR-070 |
Modal |
Damaged qty |
Number input, min 0, max ReceivedQuantity |
Number input |
| UC-POGR-071 |
Modal |
Quality score |
Number input 0-100, step 0.1 |
Number input |
| UC-POGR-072 |
Modal |
Click Cancel |
Closes modal via CloseCreateGRModal |
Cancel button |
| UC-POGR-073 |
Modal |
Click Create |
Calls SaveGoodsReceipt, disabled if processing |
Create button |
| UC-POGR-074 |
Modal |
Processing |
Spinner shown, button disabled |
Processing state |
Section: Data Validation Requirements
| ID |
Validation |
Requirement |
| UC-POGR-075 |
Matching Rate |
= (matchedGRs / totalGRs) × 100 |
| UC-POGR-076 |
Date Format |
MMM dd, yyyy for display dates |
| UC-POGR-077 |
Currency Format |
C format for amounts |
| UC-POGR-078 |
Quality Range |
0-100 decimal |
| UC-POGR-079 |
Authorization |
Requires CustomerOperator policy |
| UC-POGR-080 |
Date Range |
Integration summary default 30 days |
Total Use Cases: 80