SDR/ROC fund-transfer “2% negation” requirement is satisfied at the ar…

Decision

SDR/ROC fund-transfer “2% negation” requirement is satisfied at the architectural layer via SAP-driven X2_Received formula — withdraw earlier proposed Salesforce-side bypass; pivot remediation to operational visibility (Booking diagnostic panel + split ROC error messages + locked SAP doc-type convention with Finance).

Rationale

Deep audit of fullcopy revealed: (1) X2_Received__c is a non-updateable formula evaluating (RW_Total_Amount_Received_Without_GST × 100 / Allotment_Premium) >= 2; (2) the upstream RW_Total_Receipt_Amount_Received__c is Apex-rolled-up by SAPReceiptAPICallOut.paymentDetailRollUps from RW_Payment_Details__c records where Document_Type IN {DF, DZ, D1, DT, DE, SA}; (3) live data census shows 411,738 DZ + 586 SA records exist - confirming SAP actively posts these; (4) SAP S/4HANA convention posts fund-transfer journal vouchers as type SA which IS in the included list - so fund-transfer credits auto-flow into 2% calculation without code intervention; (5) earlier proposed bypass via Funding_Status NotEqualTo Fund Transfer is invalid because Funding_Status picklist has only Self Funded / Loan Bank - Fund Transfer is captured only as a reason picklist value. Real residual risk is operational (SAP posting lag, wrong doc type like AB used, customer/SO mismatch) - not architectural. Three corrective actions: receipt-breakdown panel on Booking, split NCF_Not_Completed_Error into 5 specific messages, contracted SAP-SF doc-type convention with Finance.

Alternatives Rejected

Outcome

Pending