Skip to content
Build guide

How to build a reconciliation and treasury system

How bank, processor and ledger data are matched, how treasury sees and moves cash, the controls around payments, and an order to build it in.

Overview

What a reconciliation and treasury system does

A reconciliation system matches records that should agree: orders against processor payouts, payouts against bank lines, invoices against receipts. A treasury system gives one view of cash across banks and entities, forecasts it and moves it.

They belong together because both start from the same bank data. Clean bank feeds and a reliable matching engine are what make a cash position trustworthy.

Modules

The modules you need

Most teams need all of these in the end. The phased plan below sets the order.

Bank and processor feeds

Statements and transaction files from every bank and payment provider, in their formats.

Matching engine

One-to-one, one-to-many and three-way matches with rules and tolerances.

Exception queue

Unmatched items routed to the right person with suggested matches.

Cash position

Balances across banks, accounts, entities and currencies, in one view.

Forecasting

Expected inflows and outflows from invoices, payroll and schedules.

Payments

Payment files and API payments with dual authorisation and limits.

Accounting entries

Matched items posted to the general ledger.

Architecture

How the parts fit together

  • 01

    Normalised transaction store

    Every bank and processor format mapped into one model, with the raw file kept.

  • 02

    Rules-based matching

    Matching rules as configuration, with every match recording the rule that made it.

  • 03

    Dual control on payments

    No payment leaves without a second approver, and limits by user and amount.

  • 04

    Idempotent imports

    Re-importing a file never creates duplicates.

  • 05

    Audit trail

    Who matched, unmatched, approved or changed what, and when.

Data model sketch

  • 01

    Bank account

    Bank, entity, currency and connection details.

  • 02

    Statement line

    Each bank or processor line with its raw source.

  • 03

    Internal record

    Orders, invoices or ledger entries to match against.

  • 04

    Match

    The records matched, rule used, tolerance and who confirmed it.

  • 05

    Payment instruction

    Payee, amount, approvals and status.

Integrations

Systems it has to talk to

  • 01

    Banks

    ISO 20022 messages such as camt.053 statements and pain.001 payments, SWIFT MT940 and host-to-host or API connections.

  • 02

    Payment providers

    Settlement and payout reports from each processor.

  • 03

    ERP and general ledger

    Invoices, payables and postings.

  • 04

    E-invoicing and tax systems

    Where invoice data comes from a national system.

Compliance

Rules to design for

Which rules apply depends on your market and product.

  • 01

    Accounting records

    Bookkeeping and retention rules for the entries and their evidence.

  • 02

    Payment controls

    Dual authorisation and segregation of duties expected by auditors and, for regulated firms, by supervisors.

  • 03

    Operational resilience

    For financial firms, DORA and similar rules cover the systems that move money.

  • 04

    Payments rules

    Strong customer authentication and payment scheme rules for payments made through APIs.

Plan

From prototype to production

Build in this order so something real is in users' hands early.

  1. 01

    Clickable prototype

    The exception queue and cash view, tried by finance and treasury staff.

  2. 02

    First bank and matching

    Feeds from the main bank and processor, matching rules and the exception queue.

  3. 03

    All banks and cash position

    Every bank and entity in one cash view, with ledger postings.

  4. 04

    Payments and forecasting

    Payments with dual approval and a cash forecast.

Cost

What drives the cost

These decide most of the budget. For a number based on your own scope, use the cost tool. OceanLab bills $30-50/hr or per milestone.

  • 01

    Banks and formats

    Each bank and file format is an integration.

  • 02

    Matching complexity

    Many-to-many and three-way matches take more rules and testing.

  • 03

    Entities and currencies

    Each entity and currency adds accounts and rules.

  • 04

    Payment connectivity

    Sending payments needs secure bank connections and approval flows.

  • 05

    ERP integration

    How easily data moves to and from your ERP.

Proof

Product builds that match this guide

Work with us

Two ways to work with OceanLab

Project build

We design and build the system as one project. It starts with a clickable prototype your team tries before any production code is written. Pay per milestone (outcome-based) or hourly at $30-50/hr, depending on role and seniority.

Embedded engineers

Our engineers join your team on a flexible monthly retainer. Part-time is fine and it runs month to month, with hours that overlap the US, UK and Europe, the Middle East, and Australia and Asia. Outcome-based or $30-50/hr.

FAQ

Questions

Can matching be fully automatic?

Most of it, once the rules are tuned. The rest goes to an exception queue with suggested matches, and every match records the rule or person behind it.

Which bank formats do you support?

ISO 20022 statements and payments, SWIFT MT940 and MT942, and local formats, through files, host-to-host or bank APIs.

How are payments protected?

Dual authorisation, limits per user and amount, changes to payee details checked separately, and a full audit trail.

Related

Related guides

START YOUR CONVERSATION

Your Next Mission-Critical
System Starts Here

Speak with a senior engineer about your requirements. No sales process, just a direct technical conversation about what you need to build.

OceanLab

Enterprise Software Engineering - Human + AI

Languages

Locations

Global Headquarters

21 Merchant Road, 3rd Floor, Singapore 058267

Main corporate office and leadership operations

North America Office

548 Market Street, PMB 12472, San Francisco, CA 94104

Client operations and business development

India Office

402 Shivalik Shilp II, SG Highway, Ahmedabad 380015

Engineering and delivery center

© 2026 - Copyright. All Rights reserved OceanLab