Appearance
Deposit AML Monitoring
Automated anti-money laundering threshold monitoring via daily balance snapshots.
Overview
The deposit AML monitoring system automatically flags accounts that breach configurable transaction thresholds during End-of-Day (EOD) processing. This provides compliance teams with real-time alerts and a complete audit trail.
How It Works
EOD Balance Snapshot
During EOD batch processing, eod_capture_balance_snapshots runs for every ACTIVE, DORMANT, and FROZEN account:
- Captures daily snapshot — opening/closing balance, deposits, withdrawals, accrued interest
- Checks AML thresholds — compares daily totals against product-level flags
- Flags breaches — sets
aml_flag = 1with structuredaml_detailsJSON - Queues notifications — inserts activity log entries for compliance review
AML Threshold Flags
These flags are configured per deposit product type:
| Flag | Default | Description |
|---|---|---|
AML_DAILY_DEPOSIT_THRESHOLD | 10,000 | Daily cumulative deposit amount trigger |
AML_DAILY_WITHDRAWAL_THRESHOLD | 10,000 | Daily cumulative withdrawal amount trigger |
AML_MONTHLY_TURNOVER_THRESHOLD | 100,000 | Monthly total turnover trigger |
AML_ENABLE_NOTIFICATIONS | true | Whether to queue notification on breach |
AML Details Structure
When a breach is detected, the aml_details JSON contains:
json
{
"breach_type": "DAILY_DEPOSIT",
"threshold": 10000.0,
"actual_amount": 15000.0,
"transaction_count": 3,
"flagged_date": "2026-04-26"
}Balance Snapshot Table
The deposit_account_balance_snapshot table stores one row per account per day:
| Column | Description |
|---|---|
opening_balance | Previous day's closing balance |
closing_balance | Current account balance |
total_deposits / total_withdrawals | Daily aggregates |
deposit_count / withdrawal_count | Transaction counts |
accrued_interest | Interest accrued on this day |
blocked_amount / hold_amount | Active blocks and holds |
aml_flag | 1 if any threshold breached |
aml_details | JSON with breach details |
Frontend
The BalanceSnapshotDialog component provides:
- Date-filtered balance history table
- AML-only filter toggle
- Color-coded AML flag indicators (red rows for breaches)
- Click-through to detailed breach information
- Summary cards (avg balance, total deposits/withdrawals, AML flag count)
API Endpoints
| Method | Path | Permission |
|---|---|---|
POST | /deposit-accounts/eod/capture-balance-snapshots | RUN_EOD |
POST | /deposit-accounts/eod/expire-holds | RUN_EOD |
