Reconciliation
Bank statement reconciliation and payment-to-invoice matching with AI-powered multi-pass algorithms
Overview
Reconciliation is the process of matching and verifying that two independent sets of records agree. Artifi handles two distinct reconciliation domains:
Why Reconcile?
Two Approaches
Temporal Ordering
Reconciliation follows a natural sequence in the accounting workflow:
- Invoice created -- Bill processor or manual entry creates AP/AR invoice
- Payment created -- Bank transaction processor or payment runs create payment records
- Bank reconciliation -- Matches bank statement lines to GL transactions
- Transaction reconciliation -- Matches payments to invoices, updates aging
- Bills collection -- Follows up on orphaned payments (paid but no invoice received)
Bank Statement Reconciliation
Bank statement reconciliation ensures every line on your bank statement has a corresponding entry in your accounting system.
How It Works
Each bank statement line has a reconciliation status:
Unmatched --> Matched --> Reconciled
|
+--> Excluded
- Unmatched -- No GL transaction linked yet
- Matched -- Linked to a GL transaction
- Excluded -- Intentionally skipped (duplicates, non-business items, internal transfers)
- Reconciled -- Fully verified
Interactive Matching (AI Assistant)
The AI assistant can handle bank reconciliation conversationally:
- Lists unmatched lines -- Shows you which statement lines need attention
- Finds matching GL transactions -- Searches by amount, date, vendor, and description
- Creates matches -- Links statement lines to GL transactions with confidence notes
The AI assistant applies judgment based on the match quality:
Automated Bank Processing
The bank transaction processor agent handles all bank transaction sources automatically:
The agent is triggered automatically by bank connector webhooks, or manually when you import a CSV statement.
Available Operations
Handling Exceptions
Reconciliation Equation
Bank Balance (per statement)
+ Deposits in Transit
- Outstanding Checks
+/- Bank Errors
= Book Balance (per GL)
Transaction Reconciliation
Why Transaction Reconciliation?
When bank statements are processed, the system creates AP_PAYMENT and AR_PAYMENT transactions confirming money moved. But these payments are standalone -- they have no link to the corresponding invoices. This means:
- Invoice aging reports may be inaccurate
- You cannot see which invoices have been paid
- Amount due and amount paid fields remain stale
Transaction reconciliation fills this gap by matching payments to invoices and updating financial records.
Reconciliation Agent
The reconciliation agent is an automated system that matches payment transactions to invoice transactions across both AP (vendor) and AR (customer) scopes.
6-Pass Matching Algorithm
The matching algorithm runs per vendor or customer, processing remaining items from each pass. All amount comparisons use functional currency amounts.
Pass 1: Exact Amount Match
- Confidence: 1.0 (highest)
- Strategy: Same party + exact amount + date within 90 days
- Matches the closest-dated invoice first
Pass 2: Reference Number Match
- Confidence: 0.95
- Strategy: Payment reference matches invoice reference (case-insensitive)
- Amount must be within tolerance ($5 or 1%)
Pass 3: Cross-Reference Match
- Confidence: 0.92 -- 0.95
- Strategy: Searches for invoice reference tokens inside payment descriptions, and vice versa
- Example: payment description "Payment for INV-2025-0042" matches invoice reference "INV-2025-0042"
Pass 4: Approximate Amount Match (FX Tolerance)
- Confidence: 0.85 -- 0.95 (varies by difference percentage)
- Strategy: Matches amounts within FX tolerance (hard cap: never match more than 5% difference)
Pass 5: Amount Grouping
- Confidence: 0.50 -- 0.95 (variable)
- Matching patterns:
- 1:1 -- Single payment to single invoice
- 1:N -- One payment covers multiple invoices (sum matches)
- N:1 -- Multiple payments cover one invoice
Pass 6: AI Fuzzy Match
- Confidence: 0.70
- Called only when a party has both unmatched payments and unmatched invoices after passes 1-5
- Uses AI to identify fuzzy matches from descriptions and context
What Happens When a Match Is Confirmed
- Invoice financials updated -- Amount paid increases, amount due decreases, status changes to "paid" or "partial"
- Payment reconciliation status updated to "reconciled"
- Below-threshold matches are recorded but not applied -- they appear in the dashboard for manual review
Variance Resolution
When a payment matches an invoice but amounts differ:
The admin dashboard shows a "Write Off" button for small differences (up to $100). Larger differences require adjustment transactions through normal workflows.
Multi-Currency Matching
All matching passes compare transactions in functional currency (the entity's base currency), not document currency. This enables matching a EUR payment to a USD invoice when the entity operates in USD, accounting for exchange rate differences.
Bills Collector Agent
After transaction reconciliation, some payments may have no matching invoice -- meaning the business paid but never received documentation. The bills collector agent identifies these orphaned payments and sends email reminders to vendors requesting invoices.
How it works:
- Identifies unmatched AP payments grouped by vendor
- Checks reminder escalation history (1st notice, 2nd notice, final notice)
- Composes and sends email reminders at configurable intervals (default: 7, 14, and 30 days)
Configuration:
Admin Dashboard
Bank Statements Page
Flat list of all bank statement lines showing reconciliation status, with filters for entity, bank account, status, date range, and search. Stats cards show total lines, unmatched, matched, and excluded counts.
Reconciliation Runs
List of all reconciliation agent runs with match statistics. Each run shows scope (vendor/customer), match ratio, amount matched, and duration.
Run Detail
Detailed view of a reconciliation run showing:
- Summary stats -- Scanned, matched, partial, review, unmatched, match rate
- Items table -- Party, payment details, invoice details, match status, method, confidence, applied amount, difference
- Actions -- Confirm match, write off small differences, reject incorrect matches
- Void -- Reverse all applied matches in a run (restores invoice financials)
Common Use Cases
Monthly Bank Reconciliation
- Import bank statement (CSV, MT940, or via bank connector)
- AI assistant or agent analyzes and matches each line
- Handle exceptions (bank fees, interest, NSF returns)
- Verify completion when all lines are resolved
Automated Payment-to-Invoice Matching
- Bank statements processed automatically by the bank transaction processor
- Reconciliation agent matches payments to invoices using the 6-pass algorithm
- High-confidence matches are applied automatically
- Low-confidence matches appear for manual review in the dashboard
Following Up on Missing Invoices
- Transaction reconciliation identifies payments with no matching invoice
- Bills collector agent sends reminders to vendors
- When invoices arrive, they are processed and matched to the existing payments