Reconciling a self-hosted ledger with bank and processor records

A fintech that runs its own ledger must prove that every balance matches the bank and processor records behind it. This page covers the rules, the exception handling, the platforms that fit and what to ask a partner before building.

On this page

Why ledger reconciliation is harder when the ledger is self-hosted

Reconciliation is a control your team builds, staffs and evidences; it is not a feature you switch on when the ledger goes live. Once balances sit in a self-hosted ledger, someone must match those entries against bank statements and processor exports every day and again at month end, and the result must be explainable to an auditor. The ledger is the internal record, while the bank and processor files are external records with their own cut-off times, settlement batches and fee treatment. The gap between those records is where exceptions come from, and no ledger removes that gap on its own.

The timing differences are the first thing to design for. A card payment may be authorized in the ledger on one day, captured at the processor the next, and settled to the bank days later, with fees netted out of the payout. Your team must decide which event posts to the ledger, which file is the source of truth for each stage, and how a late or reversed item is treated. Blnk is the hub ledger in this design, and its reconciliation capabilities, including how it matches external records and holds unmatched items, must be confirmed against the exact version you deploy. Write down the matching keys, such as the processor transaction ID, the bank reference and the amount and currency, before you configure anything.

Self-hosting also moves ownership of the exception process to you. Someone must own the queue of unmatched items, set aging thresholds, approve manual adjustments as correcting entries rather than edits to history, and produce the month-end pack that ties ledger balances to statements. Ask your implementation partner to show how each unmatched item is recorded, who can clear it, and what evidence is kept when it is cleared. Confirm these roles and retention periods against your own control framework and any record-keeping rules that apply to you, because the reconciliation evidence is only as credible as the process that produced it.

Which control requirements shape the reconciliation design

This table maps the control requirements most likely to affect a self-hosted reconciliation service to where each one comes from and what it means for the build. Read each row as a design input to settle before the matching engine and exception queue are configured. The main takeaway is that encryption, access, logging and testing cadence apply to the reconciliation service and its feeds, not only to the ledger database.

RequirementWhere it comes fromWhat it means for the build
Encryption of customer informationFTC Safeguards Rule, 16 CFR 314.4, for covered financial institutionsEncrypt bank statement files, processor exports and matched records in transit over external networks and at rest, including staging folders and report outputs.
Multi-factor authentication for system accessFTC Safeguards Rule, 16 CFR 314.4Require MFA for anyone who can view, approve or override exceptions, change matching rules or pull month-end reports, including vendor support accounts.
Change management for matching rulesFTC Safeguards Rule, 16 CFR 314.4Treat reconciliation rules, tolerance thresholds and posting mappings as controlled changes with review, approval and a rollback path.
Logging of authorized user activityFTC Safeguards Rule, 16 CFR 314.4Log who uploaded a statement, who matched or cleared an item, who changed a rule and who exported a report, and keep those logs protected from the operators they record.
Penetration testing and vulnerability assessment cadenceFTC Safeguards Rule, 16 CFR 314.4(d)(2), absent effective continuous monitoringInclude the reconciliation service, its file ingestion endpoints and API connections to processors in the annual penetration test and at least six-monthly vulnerability assessments.
Retention of bank statements and bills receivable or payableSEC Rule 17a-4(b), applies only to broker-dealersConfirm whether the organization is a broker-dealer before adopting this rule. If it is, keep statements and bills for at least three years, with the first two easily accessible.
Matching completenessInternal control goal, design requirement to confirm with the organization's auditorEvery bank line and processor record should be matched, queued as an exception or explicitly marked as out of scope, with counts that reconcile to source file totals each run.
Audit trail for matches and adjustmentsInternal control goal, design requirement to confirm with the organization's auditorEach match, manual clearance and correcting entry should keep the source record references, the reviewer, the timestamp and the reason, so a month-end balance can be traced back to its inputs.

Which ledger and finance platforms fit a reconciliation build

A reconciliation build usually combines a system that records internal balances with systems that hold bank and processor evidence. The platforms below play different roles in that design, so the first decision is which one owns the internal record, which one holds the external records, and where matching and exceptions live.

Blnk as the hub ledger

Blnk is an open source ledger intended to sit between payment flows and downstream accounting, so it is the natural place to hold internal entries that reconciliation compares against external records. Confirm with the vendor which reconciliation rules, matching logic and exception handling the current release supports, and which versions receive fixes. Do not assume a matching feature exists until you have seen it working against your own bank and processor export samples.

TigerBeetle as the balance store

TigerBeetle is built as a ledger of record for high-volume balances and transfers, so it holds the authoritative internal movements but is not designed as a reporting layer. Reconciliation therefore reads from its data through an export or query layer that you build or adopt, and that layer must preserve transfer identifiers and timestamps. Ask the vendor how the data can be extracted for matching, and how that extract is tested against the ledger's own totals.

Odoo Community for bank matching

Odoo Community is published under LGPL v3 and includes accounting with bank statement import and reconciliation, which can serve as the general ledger side of a match. Enterprise adds hosting, version upgrades and Studio customization, so confirm which reconciliation features you need are present in Community before you commit. Verify the statement import formats your bank provides and how unmatched lines are presented to finance staff.

ERPNext for finance matching

ERPNext is a free and open source ERP built on the Frappe framework and licensed under GPL-3.0, with accounting and bank transaction records that can be matched against vouchers. Confirm the bank reconciliation tool, the matching rules it offers, and whether it handles multi-currency settlement lines that your processor sends. Test it with a sample month of statements before treating it as the matching engine for production.

Hyperswitch for processor records

Hyperswitch is an Apache-2.0 composable payments platform that connects to multiple processors and can be self-hosted, so it is a source of payment-side status, refunds and reporting for the processor side of the match. It does not replace the bank statement, so you still need the settlement files from each processor. Confirm which export formats and settlement reports it produces, and how fee and payout records map to ledger entries.

How timing differences and unmatched items are handled by situation

A timing difference occurs when a payment is recorded in the ledger on one date but settles at the bank or processor on another, for example when a payment settles after the daily cutoff or on a bank holiday. The entry is correct; the bank record simply lands in a later period. The treatment is to hold the item as an expected, time-bounded match candidate rather than to post an adjustment. Confirm with your Blnk configuration how the reconciliation rules define the date tolerance and how a late bank line is linked to the original ledger entry.

  • Expected treatment: Keep the ledger entry as posted and mark the item as awaiting bank confirmation, with the expected settlement date recorded.
  • Owner: The treasury or cash operations team owns the item, with finance reviewing anything still open at period end.
  • What is recorded: The original transaction reference, the expected and actual settlement dates, and the matching rule that linked them once the bank line arrives.
  • Evidence kept: The bank statement line, the cutoff calendar in use, and the rule version that produced the match.
  • Confirm: The exact date tolerance and whether holiday calendars are configurable in your Blnk setup, because no default window should be assumed.

Check that the cutoff calendar used by the reconciliation matches the bank's published holiday schedule for each account.

Integration points between the ledger, banks and processors

Reconciliation depends on six components that exchange data with the ledger: two ingestion paths for external records, the query layer, the exception queue, the general ledger interface and the evidence store. Each one should run inside the organization's own cloud account, data center or air-gapped network, with access limited to the roles that need it.

Bank statement ingestion

This component receives statement files from each bank account and normalizes them into entries the matching rules can read. The formats each bank supplies vary, so confirm the file types, character encodings, cut-off times and delivery channel for every account with the bank before building parsers. Place the ingestion service in the same network zone as the ledger, with inbound transfers landing in a restricted staging store that only the ingestion service account can write to.

Processor export ingestion

Each payment processor provides its own settlement and payout exports, with different field names, fee breakdowns and refund treatment. Confirm the export format, delivery method and reporting schedule for every processor in use, since these determine how fees and chargebacks reach the ledger. Keep processor credentials in a secrets manager inside your environment, and restrict read access to the ingestion job rather than to individual staff.

Ledger API and query layer

Reconciliation reads balances and transaction histories from the ledger and posts correcting entries when a match reveals an error. Corrections should be new entries that reference the original, never edits to posted records, so the query layer should expose read endpoints broadly to reporting while limiting write access to a small set of service accounts. Run it inside your private network with mutual TLS between services, and confirm which operations Blnk exposes for reversals before you design the flow.

Exception queue and user roles

Unmatched items, timing differences and suspected duplicates sit in an exception queue until someone resolves them. Define roles that separate those who investigate, those who approve a correcting entry and those who close a period, so no one person can both create and clear an item. Host the queue in your network, require multi-factor authentication for every user who can see customer data, and log each action with the user identity.

General ledger interface

Month-end totals from the operational ledger must post into the general ledger in a form the accounting team can tie out. The interface should send summarized journal batches with control totals, and it should block posting for a period until reconciled balances match. Confirm the target system's import format and whether it accepts batch identifiers for traceability, and run the interface under a service account with change control over its mapping rules.

Evidence store and retention

Statements, match results, approval records and exports form the evidence that auditors and examiners request. Set retention periods from your own obligations: if you are a broker-dealer, SEC Rule 17a-4(b) sets a minimum of three years for bank statements and related records, with the first two in an easily accessible place. Store evidence in write-once or access-logged storage in your environment, and confirm the retention schedule with your compliance and legal teams before go-live.

How a reconciliation rollout moves from scope to month-end run

The sequence moves from an agreed inventory of accounts and files to a tested rule set, a supervised exception workflow, a parallel close and a documented cutover, so finance can rely on the self-hosted reconciliation before the old process is retired.

  1. Inventory accounts, processors and file formats

    DeployOpen works with your finance and operations leads to list every bank account, payment processor, settlement report and internal ledger account in scope. For each source, the inventory records the file format, delivery method, timezone, cutoff rule and who owns the export. The output is a signed scope document that states what is in and out of the reconciliation, so no feed is discovered mid-project. Done when finance confirms the inventory matches its close checklist.

  2. Design matching rules and timing tolerances

    Using the inventory, the team defines matching keys such as transaction ID, amount, currency, value date and reference, and sets the rules for timing differences, such as settlements that land a day after the ledger posting. Blnk's reconciliation features are configured against these rules only after you confirm they cover your case. Each rule is written down with its owner and the reason it exists. Done when the rule specification has been approved by the controller.

  3. Test rules on historical files

    The rules are run against several months of past bank statements and processor exports that finance has already reconciled by hand. Results are compared with the known outcome, and each mismatch is classified as a rule gap, a data format problem or a genuine exception. Test results, match rates and remaining unmatched items are documented in a test report. Done when every rule change is linked to a test result and the controller accepts the report.

  4. Build the exception queue and access roles

    Unmatched items flow into an exception queue with fields for age, source, amount, suggested cause and assigned owner. Roles separate who can view, who can investigate, who can approve a manual match or a correcting entry, and who administers the rules. Every action, including manual matches, reversals and approvals, is logged with user identity and timestamp. Done when a test user can complete a full exception lifecycle and the audit log shows each step.

  5. Run in parallel through a full month-end close

    The self-hosted reconciliation runs alongside the existing process for at least one complete close cycle, and the length of the run follows your own close calendar as set in the written scope. At close, DeployOpen produces a variance report comparing matched totals, unmatched items and differences against the legacy reconciliation, with each variance explained. Done when finance signs off on every variance or logs it as an open issue with an owner.

  6. Cut over with runbook and retained evidence

    Cutover follows a written runbook covering file feeds, scheduled jobs, rollback steps, contacts and the order in which the legacy process is switched off. The team retains the rule specification, test report, variance report, access matrix and audit log in a location your records policy covers. Done when the runbook has been rehearsed, the controller approves go-live, and the evidence package is filed with the close records.

Which evidence a reviewer asks for and which component produces it

This table maps each piece of evidence a reviewer typically requests for a reconciled self-hosted ledger to the system component that generates it. Read it as a checklist to design logging and retention before the first month-end close, not after an assessor asks. DeployOpen prepares this evidence, but independent auditors and certification bodies issue any opinion on it.

Evidence itemWhat it showsComponent that produces it
Matching completeness reportEvery bank statement line and processor record is matched, unmatched or explained for the periodReconciliation engine output reconciled against bank and processor export totals
Exception queue historyEach unmatched item, when it was raised, who owns it and how it was resolvedException queue with owner assignment and resolution workflow
Correcting-entry logEach reversal or adjustment posted to fix a mismatch, with the reason and approverLedger posting history using correcting entries rather than edits to original transactions
Logged user actions in the reconciliation toolWho viewed, matched, overrode or closed items, and when, supporting the activity logging expected under 16 CFR 314.4Application audit log and centralized log store with access restricted to authorized staff
Change records for matching rulesWhich matching rules changed, who approved the change, and the test evidence before releaseVersion control for rule definitions, change tickets and staging test results
Penetration test and vulnerability assessment resultsTesting of the reconciliation service at the frequency the Safeguards Rule sets when continuous monitoring is absentScheduled external test reports and remediation tracking for the reconciliation service
Retained statements and business communicationsBank statements and related records kept for the retention period that applies to the institution, confirmed with counselDocument archive with retention rules, legal hold and access logs, such as the records preservation controls in 17 CFR 240.17a-4 where broker-dealer rules apply

What buyers ask before hiring a partner to build reconciliation

How much effort does a reconciliation build take?

Effort depends mostly on how many bank and processor sources feed the ledger, how varied their file formats are, how complex the matching rules must be, how many items each close cycle produces, and how far the current close process is documented. A single bank account with one processor and a clean daily export is a small, bounded task. Multiple currencies, split settlements, partial refunds and chargebacks that post days later add rule design and test cases quickly. Ask any partner to break the estimate into source onboarding, rule design, exception handling, reporting and testing, so you can see which line items your own data will move.

How long does a reconciliation project usually run?

The timeline is set by the written scope, the number of sources, the length of the parallel run against your existing close, and how quickly the organization grants access to bank and processor exports and a test environment. No fixed duration applies across engagements. Parallel running deserves particular attention, because the new matching results should be compared with the manual close for enough cycles to show that differences are explained. Ask the partner to state which milestones depend on your team, such as rule sign-off and access approvals, and which depend on their work.

What does our finance team need to provide during the build?

Reconciliation rules are only as good as the finance knowledge behind them, so the organization needs named owners who can explain how each bank and processor settles, how timing differences are normally cleared, and which unmatched items are acceptable. Owners also need to supply sample statements and processor exports in their real formats, read-only access to the sources, a test environment that mirrors production data handling, and named approvers who sign off rule changes and month-end reports. Confirm these commitments in the written scope before work starts.

Can our own team build a reconciliation without a partner?

Yes, for simple matching against a small number of sources, provided the team has the right skills. Those skills include relational database design, scripting for file parsing and scheduled jobs, a working knowledge of double-entry accounting and settlement timing, and enough secure engineering practice to handle financial data. The harder parts are exception queue design, audit trails for every manual decision, and testing that proves the logic behaves correctly after each change. If these gaps exist internally, an outside partner can cover them in a defined scope while your team keeps ownership of the rules.

What work continues after go-live?

Reconciliation needs ongoing work after launch. Typical recurring tasks include adjusting matching rules when a bank or processor changes its file format or settlement pattern, onboarding new processors, applying platform and dependency upgrades, reviewing the exception queue trends, and keeping month-end reports aligned with finance requirements. These can be handled by your internal team or by a support retainer with a partner. Ask which tasks a retainer covers, how change requests are scoped and approved, and how upgrades are tested before they reach production.

Does reconciliation alone satisfy a regulator?

No. Reconciliation is one control within a wider body of evidence, and it does not by itself demonstrate compliance with any regulation. Regulators and auditors also look at access controls, logging of administrator activity, change management for posting logic, encryption, backup and recovery, and records retention. For example, the FTC Safeguards Rule at 16 CFR 314.4 covers encryption, multi-factor authentication, change management and activity logging for covered institutions, and the SEC's Rule 17a-4(b) sets retention periods for bank statements and related records for broker-dealers. Reconciliation outputs can support those controls, but your compliance team must decide which evidence applies to your entity. DeployOpen prepares systems, controls and evidence for assessments, but independent auditors issue any opinion.

How is the cost of a reconciliation build quoted?

DeployOpen does not publish a price list. Most engagements are fixed-scope, so a written proposal follows from an agreed scope, deliverables and timeline. When comparing quotes from any partner, ask for each component to be priced separately: discovery and rule design, source connector work, exception queue and reporting, testing and parallel run support, documentation, handover, and any recurring retainer. Also ask which costs are one-time and which recur, such as hosting, licenses for the chosen platform, and support. Be wary of quotes that do not list what is excluded.

What to ask an implementation partner about reconciliation scope

Start by asking for a written scope that lists every bank account, payment processor, file type and month-end report included. Reconciliation projects fail most often at the edges: a processor's settlement file that was never mapped, a second bank account that finance assumed was covered, or a report nobody agreed to build. Ask the partner which bank statement formats and processor exports they have handled before, whether they can show sample files with the fields they parsed, and how they test those parsers with malformed rows, duplicated lines, currency changes and files that arrive late. Ask whether timing differences such as settlement lag, weekend cut-offs and partial refunds are handled by matching rules that are tested against several months of historical data, and whether they will report match rates and unmatched counts from that backtest before go-live.

Next, ask how exceptions are owned and approved. Your partner should describe the exception queue states, who may assign or close an item, how a reviewer's decision is recorded, and whether each action is logged with user identity and timestamp. Ask how correcting entries stay separate from edits to posted entries: a reconciling adjustment should be a new, linked transaction with its own approval, never an overwrite of a posted record. Also ask how they will run a parallel close, meaning the ledger and the existing close process produce month-end figures side by side for at least one full cycle, and what differences they will explain line by line before cutover.

Finally, ask what evidence they will hand over. The FTC Safeguards Rule at 16 CFR 314.4 expects change management procedures and activity logging for authorized users, and penetration testing or vulnerability assessments at least every six months where continuous monitoring is not in place. Confirm whether the partner will prepare change records for matching-rule updates, access reviews for reconciliation operators, and the penetration test scope covering the reconciliation service and its file ingestion endpoints. Ask which of these deliverables are fixed in the written scope and which would be billed as additional work.

How DeployOpen scopes and supports a reconciliation build

DeployOpen plans, implements, customizes, integrates, tests, documents and supports self-hosted open-source platforms inside your own infrastructure. For reconciliation, we start from the matching rules, exception ownership and month-end reports your finance team needs, then build and hand them over as a documented system.

How we scope

  • Written scope lists each bank account, processor export and ledger account the reconciliation covers
  • Scope names matching rules, tolerance thresholds and the timing windows used for late settlements
  • Exception queue roles, escalation paths and who approves manual resolutions are defined before build starts
  • Month-end reports, their recipients and their formats are agreed and listed as deliverables
  • Engagements are fixed-scope, with timelines and deliverables confirmed in writing before work begins

How we build

  • Matching rules are configured and tested against sample bank statements and processor exports you provide
  • Timing differences such as in-transit settlements and reversals are tested with known edge cases
  • Unmatched items route into the exception queue with the source record and ledger entry attached
  • Access controls, logging of manual adjustments and change management for matching logic are implemented in your environment
  • Integrations with bank feeds and processor exports are built inside your cloud accounts, data centers or air-gapped network

How we hand over

  • Runbooks cover rule changes, queue handling, month-end close steps and recovery from a failed import
  • Test evidence records which sample files, rules and expected results were used and what passed
  • Configuration, interfaces and data flows are documented so your team can maintain them independently
  • Walkthroughs with finance and operations staff cover the exception queue and report outputs
  • Evidence packs are organized for your compliance team and independent auditors, who issue any assessment

How we support

  • Ongoing support, upgrades and continuous testing are available as a retainer after handover
  • Upgrades of the ledger and reconciliation components are planned, tested and documented before release to production
  • Security testing of the reconciliation interfaces can be scheduled as part of the same support relationship
  • Changes to matching rules go through the same review and test steps used during the original build
  • Support terms, response expectations and included services are set out in the written agreement

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.