Financial Reconciliation Engine

AI ↔ AI

Parallel extraction from two sources, matching, discrepancy classification, and resolution.

5 nodes · 5 edgesfinance
agentdbsystem
Visual
Extract Agent (Source A)agent

Pull transaction records from core banking ledger.

parallelMatching Agent
Extract Agent (Source B)agent

Pull corresponding records from payment processor settlement files.

parallelMatching Agent
Matching Agentagent

Fuzzy-match transactions by amount, date, and reference using learned rules.

sequentialDiscrepancy Classifier
Discrepancy Classifieragent

Categorize unmatched items: timing difference, amount mismatch, missing entry, duplicate.

sequentialResolution Suggestions
Resolution Suggestionsagent

Propose corrective journal entries or investigation steps for each discrepancy.

fallbackMatching Agent
uc-reconciliation-engine.osop.yaml
osop_version: "1.0"
id: "reconciliation-engine"
name: "Financial Reconciliation Engine"
description: "Parallel extraction from two sources, matching, discrepancy classification, and resolution."

nodes:
  - id: "extract_a"
    type: "agent"
    subtype: "worker"
    name: "Extract Agent (Source A)"
    description: "Pull transaction records from core banking ledger."

  - id: "extract_b"
    type: "agent"
    subtype: "worker"
    name: "Extract Agent (Source B)"
    description: "Pull corresponding records from payment processor settlement files."

  - id: "match"
    type: "agent"
    subtype: "llm"
    name: "Matching Agent"
    description: "Fuzzy-match transactions by amount, date, and reference using learned rules."

  - id: "classify"
    type: "agent"
    subtype: "llm"
    name: "Discrepancy Classifier"
    description: "Categorize unmatched items: timing difference, amount mismatch, missing entry, duplicate."

  - id: "resolve"
    type: "agent"
    subtype: "llm"
    name: "Resolution Suggestions"
    description: "Propose corrective journal entries or investigation steps for each discrepancy."

edges:
  - from: "extract_a"
    to: "match"
    mode: "parallel"
  - from: "extract_b"
    to: "match"
    mode: "parallel"
  - from: "match"
    to: "classify"
    mode: "sequential"
  - from: "classify"
    to: "resolve"
    mode: "sequential"
  - from: "resolve"
    to: "match"
    mode: "fallback"
    label: "Re-match with relaxed tolerance if too many unresolved"