Open Banking Reconciliation: The Definitive Guide for Fintech Teams
Open banking reconciliation is the process of matching and verifying financial transaction data received through open banking APIs — bank feeds, payment initiation responses, and account information services — against internal records held in an application's ledger or database. Unlike traditional file-based reconciliation, open banking reconciliation operates on real-time or near-real-time API data, introducing new structural challenges around data freshness, schema variability, and multi-source correlation.
The promise of open banking is direct, API-mediated access to financial data. The reality is that this access creates a reconciliation problem that traditional batch-and-match approaches were never designed to solve. Transaction data arrives continuously, in heterogeneous formats, from multiple bank APIs with different latency profiles and error semantics.
This guide covers the specific technical challenges of reconciling open banking data, the regulatory context driving adoption (PSD2, PSD3, and Section 1033), and the infrastructure patterns that make reliable reconciliation possible at scale.
What Is Open Banking?
Open banking is a regulatory and technical framework that requires banks to share customer-permissioned financial data with authorized third parties through standardized APIs. It replaces screen-scraping and manual file exports with structured, consent-driven data access.
In practice, open banking provides two categories of API access:
Account Information Services (AIS): Read access to account balances, transaction histories, and account metadata. This is the primary data source for reconciliation — it provides the bank-side view of what happened.
Payment Initiation Services (PIS): Write access to initiate payments directly from a user's bank account, bypassing card networks. PIS transactions require their own reconciliation against the corresponding AIS data to confirm settlement.
The combination of AIS and PIS means that an open banking-enabled platform both reads and writes financial data through APIs — creating a bidirectional reconciliation requirement that did not exist in the file-based world.
Regulatory Context: PSD2, PSD3, and Section 1033
Open banking adoption is driven by regulation, not by voluntary bank participation. Understanding the regulatory landscape matters for reconciliation because the rules determine what data is available, how fresh it is, and what guarantees come with it.
PSD2 (EU, 2018–Present)
The revised Payment Services Directive required EU banks to provide API access to authorized third parties (AISPs and PISPs). PSD2 established the regulatory foundation for open banking in Europe, but left API standardization to the market. The result: multiple competing standards (Berlin Group, STET, Open Banking UK, PolishAPI) with different data schemas, authentication flows, and error handling patterns.
For reconciliation, PSD2's fragmentation means that the same logical data — a transaction record — arrives in different structures depending on the bank and the standard it implements. A normalization layer is not optional; it is a prerequisite for reliable matching.
PSD3 (EU, Proposed)
The proposed PSD3 and the accompanying Payment Services Regulation (PSR) address several PSD2 shortcomings relevant to reconciliation: mandatory API performance standards (reducing the latency variability that causes timing-based mismatches), improved data quality requirements (reducing the ambiguity that causes false-positive matches), and a dedicated supervisory regime for API availability. PSD3 will make open banking reconciliation more reliable by narrowing the variance in the data you receive.
Section 1033 (US, CFPB)
The Consumer Financial Protection Bureau's Section 1033 rule establishes open banking in the United States. Unlike PSD2, which focused on payments, Section 1033 is broader — covering transaction data, account information, and certain financial product data. The rule mandates machine-readable data formats and developer-accessible interfaces, which will eventually reduce the reliance on CSV file exports and PDF statements that characterize US bank reconciliation today.
For US fintechs, Section 1033 represents a structural shift: reconciliation workflows that currently depend on daily file drops from bank partners will migrate to API-based data access. The infrastructure that handles this transition needs to support both modes simultaneously during the multi-year adoption curve.
Open Banking vs. Traditional File-Based Reconciliation
The difference between open banking reconciliation and traditional reconciliation is not just the data transport mechanism. It is a fundamentally different operating model for financial data matching.
Data delivery: Traditional reconciliation operates on batch files — CSV exports, SWIFT MT940 statements, or bank-generated reports delivered daily or weekly. Open banking reconciliation operates on API responses, which can be polled or pushed in near-real-time. This changes the reconciliation cadence from daily batch to continuous or event-driven.
Schema consistency: Batch files from a single bank have a stable schema (until the bank changes it). Open banking APIs across multiple banks have different schemas, field names, date formats, and transaction categorization. A transaction described as "CARD PURCHASE" in one bank's API may appear as "POS DEBIT" in another's.
Data freshness: File-based data is stale by definition — it reflects a point-in-time snapshot. API data can reflect pending, processing, or settled states. Reconciling against data that includes pending transactions requires state-aware matching logic that file-based systems do not need.
Volume profile: File-based reconciliation processes a known quantity of records per batch. API-based reconciliation must handle variable throughput — quiet periods and bursts — without degrading match quality. The system must be elastic, not batch-tuned.
Error semantics: When a file download fails, you retry. When an API call returns a partial result, a timeout, or a rate-limit error, the reconciliation system must decide whether to wait, retry, or flag the gap. Error handling in API-based reconciliation is a first-class concern, not an edge case.
Identity correlation: In file-based reconciliation, transaction IDs are typically stable within a file. In API-based reconciliation across multiple banks, there is no shared ID namespace. The same underlying payment may appear with different identifiers in the payer's bank API, the payee's bank API, and your internal records. Deterministic matching requires an ID normalization layer that creates a canonical reference for each transaction.
Consent and access continuity: File-based reconciliation has no consent dependency — the file is already downloaded. Open banking APIs require active user consent (under PSD2) or data-sharing authorization (under Section 1033). Consent expiry, revocation, or re-authentication disruptions create data gaps that the reconciliation system must detect and handle.
Technical Challenges in Open Banking Reconciliation
Five structural challenges distinguish open banking reconciliation from its file-based predecessor.
1. API Fragmentation Across Banking Standards
There is no single open banking API standard. In the EU alone, banks implement Berlin Group (NextGenPSD2), STET, Open Banking UK, and several national variants. Each standard defines different endpoint structures, pagination models, date formats, and transaction categorization schemes. A reconciliation engine that connects to 20 banks may be consuming data from four or five different API standards, each requiring its own normalization logic.
The practical implication: your reconciliation layer needs a data normalization layer between the raw API responses and the matching engine. Without normalization, every new bank connection introduces a new matching edge case.
2. Real-Time Volume and Latency Variability
Open banking APIs are not uniformly fast. Some banks return transaction data within seconds of settlement. Others have latencies measured in hours. A single reconciliation run may be comparing data from a bank that reflects transactions up to the current minute against a bank that is 6 hours behind.
This latency variability means that a mismatch at time T may resolve itself at time T+6h. The reconciliation engine must distinguish between genuine discrepancies and timing-induced gaps — and it must do this without generating false positives that erode operator trust in the system.
3. Pending and In-Flight Transaction States
Open banking APIs expose transaction states that file-based reconciliation never saw: pending authorizations, processing holds, and provisional credits. A transaction may appear as "pending" in the API, then transition to "booked" (confirmed), or disappear entirely if it was an authorization that was never captured.
Reconciling against pending data requires state-machine logic that tracks transaction lifecycle transitions. Matching a pending transaction to a booked transaction is not the same as matching two booked transactions — the confidence level is different, and the action on mismatch is different.
4. Multi-Source Correlation Without Shared IDs
When reconciling data from multiple open banking sources (for example, a user's bank account via AIS and the same user's payment via PIS), there is no guaranteed shared identifier. The PIS initiation may return a payment ID that does not appear in the AIS transaction feed. Correlation must rely on amount, date, counterparty, and reference fields — all of which may be truncated, reformatted, or absent depending on the bank.
This is where deterministic matching (exact field matches on normalized data) and probabilistic matching (confidence-scored fuzzy matching on partial data) must work together. Neither approach alone is sufficient for multi-source open banking reconciliation.
5. Consent Lifecycle and Data Continuity
Under PSD2, AIS consent must be renewed every 90 days (180 days under PSD3 proposals). Under Section 1033, the data-sharing authorization model is still being finalized. In both cases, consent disruption means data gaps. If a user's consent expires on day 85 and is renewed on day 92, the reconciliation system must handle a 7-day gap in bank-side data.
The reconciliation engine must track consent status per data source, flag gaps, and either queue unreconciled transactions for later matching or escalate them to manual review. Ignoring consent gaps leads to false exceptions and wasted operational effort.
Solving Open Banking Reconciliation at Scale
The challenges above are not solvable by adding more matching rules to an existing batch reconciliation system. They require a different architecture — one built for continuous, multi-source, schema-diverse data matching.
Normalization Before Matching
The first architectural requirement is a data normalization layer that sits between the raw API data and the matching engine. This layer: assigns a canonical transaction ID (deterministic ID) to each record regardless of source, maps heterogeneous field names to a unified schema, normalizes dates, currencies, and amounts to a common format, and resolves encoding and truncation differences in description fields.
Normalization is not a preprocessing step — it is a continuous operation that runs every time new data arrives. The quality of your matching depends directly on the quality of your normalization.
Deterministic and Probabilistic Matching
Once data is normalized, the matching engine applies a two-phase approach. Deterministic matching resolves transactions where the normalized data provides exact field-level agreement: same amount, same date, same counterparty, same reference. This handles the majority of transactions — typically 85–95% depending on data quality.
For the remaining transactions, probabilistic matching uses confidence scoring to evaluate partial matches. A transaction with the right amount and date but a truncated reference field might score 0.87 confidence. The system can auto-approve matches above a configurable threshold and route lower-confidence matches to a review queue.
This dual approach is essential for open banking data, where the schema variability and ID fragmentation across banks guarantee that some fraction of transactions will not match deterministically.
Exception Handling and Escalation
Unmatched transactions are not failures — they are expected outcomes in any reconciliation system operating on real-world data. The key is how quickly and accurately they are resolved. An effective exception handling system categorizes unmatched items by root cause (timing gap, missing data, genuine discrepancy), assigns them to the right resolution path (automatic retry, manual review, escalation), and tracks resolution time and patterns to improve future matching.
Continuous Architecture
Traditional batch reconciliation runs once per day or per settlement cycle. Open banking data arrives continuously. The reconciliation architecture must support continuous matching — processing new data as it arrives, updating match states in real time, and generating alerts when exceptions exceed thresholds. This is not about speed for its own sake; it is about catching discrepancies hours or days earlier than a daily batch would.
Open Banking Reconciliation by Vertical
Neobanks and Digital Banks
Neobanks are both producers and consumers of open banking data. They expose APIs to third parties and consume APIs from partner banks and payment networks. Reconciliation must cover inbound AIS queries (confirming the data they expose is accurate), outbound PIS payments (confirming initiated payments settled correctly), and internal ledger consistency (confirming their own records match the bank-of-record data). The reconciliation surface is larger than traditional banks because every customer interaction potentially generates API-mediated data that must be matched.
Marketplaces and Platforms
Marketplaces that use open banking for payouts (instead of or alongside card-based payments) face multi-party reconciliation challenges: the platform's internal ledger, the payer's bank data, the payee's bank data, and the platform's own bank data must all agree. Open banking adds direct bank-to-bank payment flows to the existing card-and-PSP reconciliation stack, increasing the number of data sources that must be correlated.
Lending Platforms
Lenders using open banking for income verification, affordability assessment, and direct debit collection must reconcile API-sourced bank data against loan servicing records. The challenge is longitudinal: lending reconciliation must track repayment events over months or years, handling consent renewals, bank account changes, and data format evolution over the loan lifecycle.
Embedded Finance
Platforms offering embedded financial services (payments, lending, insurance) through their own interfaces rely on open banking APIs to connect to the underlying financial infrastructure. Reconciliation is a cross-cutting concern: every embedded financial product generates transactions that must be matched across the platform's records, the financial provider's records, and the end user's bank records.
Implementation Considerations
Hybrid Operations During Transition
No fintech migrates to open banking overnight. During the transition, the reconciliation system must handle both file-based and API-based data sources simultaneously. This means maintaining normalization logic for legacy file formats and new API schemas, running matching across mixed data sources, and tracking which data sources have been migrated and which have not. The hybrid period may last years, especially in markets where Section 1033 adoption is gradual.
API Reliability and Fallback
Open banking APIs are not 100% available. Bank APIs experience outages, rate limits, and degraded performance. The reconciliation system must implement fallback strategies: retry with exponential backoff, graceful degradation (reconcile what is available, flag what is not), and alternative data sourcing (fall back to file-based data when the API is unavailable). Building reconciliation on the assumption that APIs are always available is building on a foundation that will crack under production conditions.
Compliance and Audit
Open banking reconciliation generates an audit trail that regulators may inspect. Every match, mismatch, exception, and resolution must be logged with timestamps, data sources, and confidence scores. The reconciliation system must support immutable audit logs and the ability to reconstruct the state of any reconciliation run at any point in time. This is not just good practice — under PSD2 and Section 1033, it is a regulatory expectation.
Multi-Geography Operations
Fintechs operating across the EU and US will be reconciling under two different open banking regimes simultaneously. PSD2/PSD3 APIs and Section 1033 APIs have different data models, consent frameworks, and regulatory requirements. The reconciliation infrastructure must abstract these differences so that the matching engine operates on normalized data regardless of the regulatory origin.
Related Resources
→ Payment Rails: ACH, Wire, RTP, and FedNow Explained
→ Multi-PSP Reconciliation: The Complete Infrastructure Guide
→ Bank Reconciliation Automation: Complete Guide for Finance Teams
→ AI Reconciliation: The Definitive Guide
→ Real-Time Reconciliation for High-Volume Fintechs
Frequently Asked Questions
Common questions about this topic
QWhat is open banking reconciliation?
Open banking reconciliation is the process of matching and verifying financial transaction data received through open banking APIs against internal records. Unlike traditional file-based reconciliation that operates on daily batch exports, open banking reconciliation works with real-time or near-real-time API data from bank feeds, payment initiation responses, and account information services.
QHow does open banking reconciliation differ from traditional reconciliation?
The key differences are: data arrives via APIs instead of batch files, schemas vary across banks and standards, transaction states include pending and in-flight records (not just settled), there is no shared ID namespace across sources, and consent lifecycle management adds a data continuity dimension that file-based reconciliation does not have.
QWhat is PSD2 and how does it affect reconciliation?
PSD2 (revised Payment Services Directive) is an EU regulation that requires banks to share customer-permissioned financial data with authorized third parties through APIs. For reconciliation, PSD2 means data arrives in heterogeneous API formats from different banking standards, requiring a normalization layer before matching. PSD3 proposes improvements including mandatory API performance standards and better data quality requirements.
QWhat is Section 1033 and how does it affect US fintechs?
Section 1033 is a CFPB rule establishing open banking in the United States. It mandates machine-readable data formats and developer-accessible interfaces for financial data sharing. For US fintechs, it means reconciliation workflows will migrate from daily file drops to API-based data access, requiring infrastructure that supports both modes during the multi-year adoption curve.
QWhy is a data normalization layer required for open banking reconciliation?
Open banking APIs across multiple banks use different schemas, field names, date formats, and transaction categorization. Without normalization, every new bank connection introduces new matching edge cases. A normalization layer assigns canonical transaction IDs, maps heterogeneous fields to a unified schema, and resolves encoding differences — making reliable matching possible regardless of the data source.
QHow do deterministic and probabilistic matching work together in open banking?
Deterministic matching resolves transactions with exact field-level agreement (same amount, date, counterparty, reference) and handles 85–95% of transactions. Probabilistic matching uses confidence scoring for partial matches where schema variability or ID fragmentation prevents exact matching. Both approaches are needed because open banking data guarantees that some transactions will not match deterministically.
QWhat happens when open banking consent expires during reconciliation?
When consent expires or is revoked, the reconciliation system loses access to bank-side data, creating gaps. The system must track consent status per data source, flag gaps, and either queue unreconciled transactions for later matching (after consent renewal) or escalate them to manual review. Ignoring consent gaps leads to false exceptions and wasted operational effort.
Related Guides
View all guidesGet technical insights weekly
Join 4,000+ fintech engineers receiving our best operational patterns.