Payment settlement file drift: governed mapping updates with approvals + replay
Settlement reconciliation breaks in a very specific (and common) way:
- Your processor/marketplace changes a settlement report format without notice.
- Your parsing/mapping logic silently mis-classifies rows (fees vs refunds vs adjustments), or drops fields.
- Finance ops “patches” a spreadsheet or ETL job, but there’s no controlled approval, no deterministic replay, and no clean audit trail.
This is especially painful when refunds/returns land in later settlement cycles than the original sale, so the “truth” is spread across multiple files and timing windows. (terra-insight.com)
Below is a Platform-style pattern for governing settlement mapping changes so AI can suggest fixes, but Autom Mate executes deterministically under control.
Why AI alone is risky here
AI is great at:
- Spotting that a column moved/renamed
- Proposing a new mapping
- Explaining anomalies in plain English
AI is risky for:
- Posting ledger corrections
- Reclassifying fees/refunds
- Replaying historical settlements
Because a “pretty plausible” mapping can still be wrong, and the blast radius is real (misstated revenue, incorrect refunds, broken close). The safe pattern is:
- AI suggests a mapping change + impact summary
- Autom Mate executes only after validations + approvals, using deterministic steps and a full audit trail
End-to-end workflow (Autom Mate)
1) Trigger
- Trigger: New settlement file arrives (SFTP/object storage) or a webhook from your data pipeline*REST/HTTP/Webhook action** (webhook trigger into Autom Mate)
2) Validation (schema + financial controls)
- Parse file and run hard checks:
- Required columns exist
- Data types (dates, amounts, currency)
- Totals reconcile:
gross - fees - refunds +/- adjustments = net payout - Row-level uniqueness (idempotency key:
processor + settlement_id + line_id)
- Integration: REST/HTTP action (fma / mapping JSON from your config repo)
- Autom Mate capability: validats + error handling
3) AI triage (suggest, don’t act)
- If validation fails due to schema drift:
- AI generates:
- “What changed” (columns added/removed/renamed)
- Proposed mapping patch
- Estimated impact (how many rows would reclassify; which GL accounts affected)
- AI generates:
- Integration: REST/HTTP action (call
4) Approvals (human + policy)
- Create an approval task with:
- Diff of mapping (old vs proposed)
- Sample parsed rows (before/after)
- Impact summary
- Route approvals:
- Policy-based: auto-approve if impact is below threshold (e.g., only column rename, no reclassification)
- Human approval required if:
- Any GL reclassification
- Refund/fee logic changes
- Backfill/replay requested
- Integration: REST/HTTP/Webhook action to your ticketing/approval system (e.g., ServiceNow/Jira)
c execution (the important part)
Once approved, Autom Mate runs a locked, deterministic sequence: - Update mapping config (versioned)
- Re-parse the settlement file using the approved mapping
- Produce deterministic outputs:
- Reconciliation report
- Exception list
- Ledger-ready journal payloads
- Post results to downstream systems
- Integration: REST/HTTP action (ERP/GL posting endpoint)
6) Logging / au logs:
- The triggering payload (file metadata, settlement_id)
- Validation results
- The exact approved mapping version
- Every API call + response status
- Final reconciliation artifacts
(Autom Mate’s platform emphasizes logged, monitorable API interactions and workflow execution history.)
7) Exception handling + rollback
- If posting fails mid-run:
- Stop further actions
- Create an exception ticket with the run ID and payload
- Roll back by:
- Reverting mapping to last known-good version
- Marking the settlement as “needs manual review”
- Replaying only after approval
- Autom Mate capability: retries/fallbacks/notifications for failed tasks
Two mini examples
Example A — “Column rename” drift (safnge: fee_amount renamed to processing_fee
- Autom Mate:
- Detects missing required column
- AI proposes 1:1 rename mapping
- Policy auto-approves (no logic change)
- Deterministically reprocesses the file and updates reconciliation
Example B — Refunds now appear as “adjustments” (requires human approval)
- Change: Refund lines moved into a generic
adjustment_typefield - Autom Mate:
- AI suggests new classification rules
- Requires finance approval because GL classification changes
- After approval, Autom Mate replays the last 14 days of settlements and produces a delta report before any posting
Discussion questions
- What’s your current “blast radius” when a settlement format changes—do you detect it before month-end close?
- Which changes should be policy auto-approved vs always require a human (e.g., fee-only vs refund logic)?