Skip to content

Discrepancies

Discrepancies are differences detected between trustee tape data and internal portfolio data during reconciliation.


Rule Engine

The reconciliation engine uses a rule-based architecture with pluggable rule implementations.

flowchart TD
    ENGINE["Reconciliation\nEngine"]
    ENGINE --> REGISTRY["Rule Registry"]

    REGISTRY --> COMP["Completeness\nRules"]
    REGISTRY --> CALC["Calculation\nRules"]
    REGISTRY --> TIME["Timing\nRules"]
    REGISTRY --> REF["Reference\nRules"]
    REGISTRY --> BIZ["Business\nRules"]

    COMP --> DETECT["Severity\nCalculator"]
    CALC --> DETECT
    TIME --> DETECT
    REF --> DETECT
    BIZ --> DETECT

    DETECT --> ISSUES["Issue\nStore"]

Rule Categories

Completeness Rules

Detect loans present in one data source but missing from the other.

Rule Description
MissingInInternal Loan in trustee tape but not in internal data
MissingInTrustee Loan in internal data but not in trustee tape

Calculation Rules

Detect numeric value differences between sources.

Rule Description
ParValueMismatch Par value differs beyond tolerance
AccruedInterestMismatch Accrued interest calculation differs
MarketValueMismatch Market value differs

Timing Rules

Detect date-related discrepancies.

Rule Description
MaturityDateMismatch Maturity dates differ
SettlementDateMismatch Settlement dates differ

Reference Rules

Detect reference data differences.

Rule Description
RatingMismatch Credit rating differs (Moody's, S&P, Fitch)
SpreadMismatch Spread differs beyond tolerance
IndustryMismatch Industry classification differs

Business Rules

Detect business logic violations.

Rule Description
DefaultStatus Default status inconsistency
Concentration Concentration limit exceeded
RatingDistribution Rating distribution anomaly

Severity Classification

Severity is automatically calculated based on materiality:

Severity Criteria Action Required
Critical Par >5% diff, missing >$1M Immediate investigation
Error Par 1-5% diff, missing \(100K-\)1M Review before reporting
Warning Rating/spread diff Investigate when possible
Info Minor differences Log for reference

Issue Lifecycle

stateDiagram-v2
    [*] --> open: Issue Detected
    open --> acknowledged: Analyst Reviews
    acknowledged --> resolved: Fix Applied
    acknowledged --> false_positive: Not Real Issue
    open --> false_positive: Dismissed
    resolved --> [*]
    false_positive --> [*]

Status Descriptions

Status Description
open Newly detected, awaiting review
acknowledged Under investigation
resolved Root cause identified and corrected
false_positive Determined to not be a real discrepancy

Tolerance Configuration

Default reconciliation tolerances:

Field Warning Error Critical
Price 0.5% 1% 2%
Spread 10bps 25bps 50bps
Par Value - 1% 5%