Choosing your bank connectivity channels
The bank connectivity channel is the technical route by which a company receives data from its bank before it can reconcile it. The choice determines which formats are available, delivery times, reliability and cost. In France, EBICS is the market standard, SwiftNet is the norm for international groups that bank with many institutions, and APIs add real-time data on top of the end-of-day statement, which arrives only once per business day.
| Channel | Type | Typical uses | Watch points |
|---|---|---|---|
| EBICS T | File transfer signed at the transport level | Receiving statements (CFONB120, camt.053), sending payment files with separate approval (web portal) | Market standard in France, Germany, Switzerland and Austria; enough for reconciliation (inbound data) |
| EBICS TS | EBICS + attached personal electronic signature | Sending binding payment orders (pain.001) with no web re-approval | Signing certificates must be managed; the legacy 3SKey service is being retired in favor of qualified certificates |
| SwiftNet FIN | Single-message interbank messaging (MT/MX) | MT940/942 from multiple banks internationally | Swift for Corporates (SCORE) membership, per-message fees, corporate BIC required |
| SwiftNet FileAct | File transfer over the Swift network | High volumes of camt, pain and CFONB files for groups with many banks | Heavy onboarding; often run through a service bureau |
| PSD2 API (AIS) | Regulatory account information API | Balances and transactions on demand, multi-bank aggregation | Limited scope (payment accounts only), SCA renewal every 180 days, no service-level commitment |
| Premium API / contractual open banking | Paid bank APIs | Enriched statements on demand, real-time credit notifications, instant payments | Coverage and pricing vary widely from bank to bank |
| sFTP host-to-host | Bilateral file drop | Legacy setups at large corporates, very high volumes | The company is responsible for security, monitoring and incident recovery |
Setting up statement delivery with your bank
A statement subscription is the service through which a bank provides a customer with the statements for an account, in an agreed format and at an agreed frequency. Much of a reconciliation’s quality is decided when these subscriptions are set up. Formats, level of detail, frequency and delivery times are negotiated and written into the contract, one account at a time.
- Scope: every account, across all entities and currencies. An account left out is a gap in your controls.
- Formats: camt.053 as the target (specify the version), with CFONB120 or MT940 as a fallback during testing; camt.054 for the detail behind batches booked as a single amount.
- Level of detail: require batch detail (one
TxDtlsper transaction) rather than opaque lump-sum entries. Some banks offer this as a paid option. - Frequency and timing: the D+1 statement available by 7:00 a.m. at the latest to keep the morning batch run on schedule; intraday statements (camt.052) at 10 a.m., 1 p.m. and 4 p.m. if treasury needs them.
- References: check that the bank passes through
EndToEndId,MndtIdand the batch reference, not just a concatenated description. - Incident recovery: a procedure to resend a statement (missing or corrupted file) and how far back history can be downloaded.
The reconciliation engine: matching rules
The reconciliation engine is the component that compares two or more sets of entries and produces matches between their lines. Matches are made automatically when confidence is complete, suggested to an operator when it is partial, and sent to exceptions in all other cases. The rules run in a cascade, from the strictest to the loosest.
EndToEndId, pspReference, batch number: deterministic one-to-one matching. Highest confidence, auto-matched with no review.# Rules evaluated in ascending priority order; the first rule that matches wins.
rules:
- id: r10-endtoend-exact
priority: 10
match: one_to_one
keys:
- left: bank.entry.end_to_end_id # camt TxDtls/Refs/EndToEndId
right: psp.payout.reference # reference carried by the PSP transfer
conditions:
- amount_equal: true # to the cent
action: auto_match # automatic matching
- id: r20-payout-batch
priority: 20
match: one_to_many # 1 bank entry <- n settlement lines
keys:
- left: bank.entry.remittance_info # "SETTLEMENT BATCH 42 ACME FR"
right: psp.settlement.batch_number
conditions:
- sum_equal:
tolerance: 0.00 # the batch invariant tolerates no gap
- id: r30-montant-date
priority: 30
match: one_to_one
conditions:
- amount_equal: true
- date_window_days: 2 # settlement -> bank lag
action: suggest # suggestion for a person to approve
- id: r90-catch-all
priority: 90
action: exception # everything else goes to the workflow
classify_by: bank.entry.btc_code # pre-sorted by BkTxCd / AFB codeManaging exceptions: workflow and discipline
An exception is any entry the engine has not matched. It becomes an open item that is categorized, dated and assigned to someone. The setup is judged by how fast exceptions are resolved and how well the handling of each one is documented.
- Named owners, with target turnaround times by category (fees: 2 days; missing payout: 1 day, because it is cash).
- Aging visible to everyone: 0–7 days, 8–30 days, more than 30 days; anything over 30 days is escalated to the closing committee.
- Improvement loop: every recurring exception must end up either as a new matching rule or as a fix at the source (a reference missing from an upstream data flow).
- Segregation of duties: the person who reconciles does not approve their own correcting entries above a set threshold.
Managing by KPIs
| KPI | Definition | Indicative target | Warning sign |
|---|---|---|---|
| Auto-match rate (volume) | Entries matched with no manual work / total | > 90-95 % | Sudden drop = degraded upstream flow (lost references) |
| Auto-match rate (value) | Amounts matched automatically / total | > 98 % | Volume/value gap = small items left unhandled |
| Average exception resolution time | From detection to closure | < 5 business days | Growing share aged > 30 days |
| Data delivery time | Time the last statement arrives | < 7:00 a.m. | Recurring delays from one bank |
| Suspense account balance | Accounts 471/472 (suspense), absolute value | Trending to 0, every line justified | Steady growth = items piling up |
| Cost per exception | Fully loaded team cost / number of exceptions handled | Steadily falling | Useful for deciding on tooling investment |
The auto-match rate is the metric most often reported, but the aging of open items says more about the health of the process. A backlog whose average age stays low shows the team is keeping pace with incoming work. An aging backlog signals a painful close three months before it happens.
Tool landscape
Available tools range from ERP modules to specialized high-volume engines. The selection criteria are the number of banks and PSPs connected, transaction volumes, the need for many-to-many matching, and the team’s maturity. License cost is only one factor among them.
| Card type | Examples | Strengths | Who it suits |
|---|---|---|---|
| TMS (treasury) | Kyriba, Sage XRT Treasury, Agicap (SMBs) | Built-in bank connectivity (EBICS/Swift), cash reconciliation, forecasting | Multi-bank treasury teams; detailed accounting reconciliation is not their core strength |
| Dedicated reconciliation | SmartStream TLM, Duco, BlackLine, ReconArt | Very high volumes, many-to-many matching, exception workflow, audit trail, account certification | Financial institutions, high-volume online retailers, CFOs seeking strong internal controls |
| ERP modules | SAP (Electronic Bank Statement), Oracle, Microsoft Dynamics, NetSuite | Native general ledger integration, automatic matching, no data flows to build | Single-ERP organizations with simple, well-referenced flows |
| Bank connectivity | Exalog Allmybanks, EBICS/Swift service bureaus | Reliable multi-bank data collection, file distribution to internal systems | A delivery layer upstream of whatever engine you use |
| In-house (data) | Data warehouse + SQL/Python, orchestrator | Full flexibility, no software cost | Strong data teams; watch maintenance costs and auditability (audit trail, segregation of duties) |