feat: Implement initial setup for Financial Crime domain

- Added Makefile for orchestrating domain instantiation and management.
- Created deploy README for guiding the setup process of the Financial Crime domain.
- Introduced domain configuration file for mapping metadata to the deployment template.
- Implemented pre-commit hook for validating metadata before commits.
- Developed instantiation script to manage the lifecycle of the Financial Crime domain.
- Added Salesforce CRM source with associated metadata and transformation files.
- Added SAP Fraud Management source with associated metadata and transformation files.
- Added Temenos Payment source with associated metadata and transformation files.
- Removed obsolete payment event and parties transformation files.
This commit is contained in:
2026-06-14 16:46:06 +12:00
parent f4c46700c5
commit 0aeb893c0f
25 changed files with 612 additions and 85 deletions
@@ -0,0 +1,37 @@
# [SAP Fraud Management](../source.md)
## AlertCase
Pos | Column Name | Data Type | Max Len | Precision | Scale | Nulls | Comment | Destination
--- | --- | --- | --- | --- | --- | --- | --- | ---
1 | TxRiskScore | Decimal | | 18 | 6 | yes | Computed transaction ML/TF risk score | Transaction.Financial Crime Risk Score
2 | DecisionStatus | Text | 30 | | | yes | Alert workflow decision status | [Map Monitoring Outcome](#map-monitoring-outcome)
3 | CaseId | Text | 64 | | | no | Unique SAP alert case identifier | Transaction.Alert Reference
### Map Monitoring Outcome
Maps alert decision outcome into canonical monitoring outcome.
```yaml
type: conditional
target: Transaction · Monitoring Outcome
source:
field: AlertCase.DecisionStatus
cases:
Escalated: "DecisionStatus == 'ESCALATED'"
Cleared: "DecisionStatus == 'CLEARED'"
Under Review: "DecisionStatus == 'OPEN'"
fallback: Under Review
```
### Map Alert Reference
Maps SAP alert case identifier for downstream investigations.
```yaml
type: direct
target: Transaction · Alert Reference
source:
field: AlertCase.CaseId
cast: string
```
@@ -0,0 +1,24 @@
# [SAP Fraud Management](../source.md)
## CustomerRiskProfile
Pos | Column Name | Data Type | Max Len | Precision | Scale | Nulls | Comment | Destination
--- | --- | --- | --- | --- | --- | --- | --- | ---
1 | ReviewRequiredFlag | Boolean | | | | yes | Indicates whether formal review is required | Customer.Risk Review Flag
2 | EddTriggerCode | Text | 20 | | | yes | Enhanced due diligence trigger status code | [Map Enhanced Due Diligence Trigger](#map-enhanced-due-diligence-trigger)
### Map Enhanced Due Diligence Trigger
Derives EDD trigger based on high-risk profile and unresolved alerts.
```yaml
type: conditional
target: Customer · Enhanced Due Diligence Trigger
source:
field: CustomerRiskProfile.EddTriggerCode
cases:
Triggered: "EddTriggerCode == 'TRIGGERED'"
Not Triggered: "EddTriggerCode == 'NOT_TRIGGERED'"
Pending: "EddTriggerCode == 'PENDING'"
fallback: Pending
```
@@ -0,0 +1,24 @@
# [SAP Fraud Management](../source.md)
## SanctionsScreening
Pos | Column Name | Data Type | Max Len | Precision | Scale | Nulls | Comment | Destination
--- | --- | --- | --- | --- | --- | --- | --- | ---
1 | ResultCode | Text | 32 | | | yes | Screening engine outcome code | [Map Sanctions Screen Status](#map-sanctions-screen-status)
2 | MatchFlag | Boolean | | | | yes | Whether a watchlist match was detected | Party.Watchlist Match Indicator
### Map Sanctions Screen Status
Maps sanctions screening outcome from SAP sanctions service.
```yaml
type: conditional
target: Party · Sanctions Screen Status
source:
field: SanctionsScreening.ResultCode
cases:
Clear: "ResultCode == 'CLEAR'"
Potential Match: "ResultCode == 'POTENTIAL_MATCH'"
Confirmed Match: "ResultCode == 'CONFIRMED_MATCH'"
fallback: Clear
```