breaks

Reconciliation, explained

Every Break
Has a Reason

Match files, folders, tables and statements on your own machine. breaks tells you why the rest didn't match, and keeps the proof.

The launch, then only what matters. No spam. Privacy

macOS first. Windows is a fast follow.

The problem

Two Sources. One Number. No Idea Why.

Matching is easy. Explaining what didn't match is hard.

01

Data Everywhere

Ledgers in files. Statements in folders. Positions in a warehouse. None of it lines up on its own.

The usual way
ledger.csvstatements/*.mt940warehouse.positionscopy_paste.xlsx
With breaks
Left sideledger.csvfx_rates.parquetjoined
Right sidestatements/*.mt940collected as one
02

Counts, Not Causes

"11 breaks" is where the work starts. Working out each one by hand eats the week.

The usual way
11breaks, no reasons
With breaks
PAY-10003Amount differs−6,739.26
PAY-10010Only on ledger5,417.07
PAY-90000Only on statement—

Value differs 5No counterpart 6Ai explains each

03

Proof That Vanishes

Fixes made in a spreadsheet leave no trail. When the auditor asks, you start again.

The usual way
  • recon_final.xlsx
  • recon_final_v2.xlsx
  • recon_final_v2_FIXED.xlsx
With breaks
config v1
run r1, inputs v1
replay
r2 replays r1 identical
verify
r1 unchanged
compare
r1 against r2, figure by figure

How it works

From Two Sides to Every Answer

  1. Connect

    Files, folders, tables or queries, on either side

  2. Propose

    Keys and comparisons found from your data, each with its measured overlap

  3. Run

    Every row matched, or given one reason from a closed set

  4. Explain

    Evidence on every match, AI explanations beside every break

Matched Break Under review

Core features

See It Run

No mockups. These are the real screens, running on synthetic data.

A side built from several datasets

Compose one side from several datasets. Linkages are proposed from measured overlap, including the overlap before and after a transform.

A file read exactly as it is

Delimited, fixed-width, Parquet, spreadsheets and XML at a declared grain. Nothing is silently reinterpreted: what was detected is shown, and what was measured is marked as measured.

Keys found from the data

breaks proposes keys and comparisons and measures how often each agrees. A pair with low agreement is listed, not applied. You accept, change or reject each proposal.

A workbench for the breaks

Filter by reason, see both sides side by side with the differing characters underlined, group breaks by what differs, and resolve items by hand or with a second pass for near matches.

Rows against their totals

Reconcile detail rows against a summary or a balance. Any difference opens to the rows behind it.

Spreadsheets as they really are

Headers below row one, merged titles, hidden rows and serial dates are handled, so a workbook reconciles as it was sent.

A folder of SWIFT statements

MT940 statements and MT544 to MT547 settlements are read as a corpus, with control checks, sequence gaps, duplicates and lifecycle links.

Incremental and SCD tables, as at any date

A table that keeps its own history, with valid-from and valid-to columns, is read as it stood at the instant you choose. breaks shows which keys were restated since.

Reports and sign-off

PDF, HTML, XLSX and CSV reports in which every figure comes from the result. Certify a period and close it, or schedule unattended runs.

Everything, from the command line or your agent

Every feature in the app has a bx command. Script it, schedule it, put it in CI. Or connect your agent through the built-in MCP server to read results and propose changes, with a person deciding in the app.

  • Replay a run and prove it is identical
  • Breaks tracked across runs
  • Balances and variance attribution
  • An audit record of every action
bx run --workspace northwind --run r1 --config cash.toml \
    --input cash_ledger --input bank_statement
run cash-ledger-vs-statement · reasons v1
side left cash_ledger: rows 40 · groups 40
side right bank_statement: rows 40 · groups 40
groups 43: matched 32 · breaks 11
reason no_counterpart: 6 groups, 6 members
reason value_differs: 5 groups, 10 members

bx run replay --workspace northwind r1
r2 replays r1 · same input versions · identical

bx run verify --workspace northwind r1
r1: result unchanged (blake3:0993f4f1…)
Real bx output on synthetic data. Paths and hashes shortened; timings left out.

Sources

Any Source. Any Pairing.

A Databricks table against a folder of bank statements. A ledger file against three datasets joined into one.

  • Files
  • SFTP
  • Amazon S3
  • Azure Blob Storage
  • Databricks
  • Delta Lake
  • IcebergComing Soon
  • SnowflakeComing Soon

Files

  • Delimited and fixed-width
  • Parquet
  • Spreadsheets
  • XML at a declared grain
  • JSON Coming Soon
  • SQLite Coming Soon

Many Files, One Side

  • A whole folder collected as one input
  • SWIFT MT940 and MT544 to MT547 as a corpus

Tables and Queries

  • Databricks tables and queries
  • Delta Lake
  • Incremental tables at a version or a date
  • Apache Iceberg Coming Soon
  • Snowflake Coming Soon
  • PostgreSQL Coming Soon

Remote Storage

  • SFTP
  • Network shares
  • S3-compatible storage
  • Azure Blob Storage
  • HTTP

On-device AI

AI That Explains. Never Decides.

A model ships inside the app and runs on your machine. It explains, summarises and suggests. Every number still comes from the engine.

  • Qwen3.5-2B, Apache-2.0, in the installer
  • Never writes a figure, a reason or a result
  • Results byte-identical with or without it

Bring Your Own Model

Prefer a different model? Point breaks at a model tool already running on your machine. The Models screen shows exactly what each job would send, and "No model" is always one click away.

A Built-In MCP Server for Your Agents

breaks ships its own MCP server. Connect your agent to read results and propose changes. Only a person, in the app, can decide.

Trust

Yours. Repeatable. Provable.

Stays on Your Machine

No telemetry. Nothing leaves unless you connect a source or download a model. The interface itself cannot reach the internet.

Same In, Same Out

Same inputs and configuration, byte-identical output, every time. Money in exact decimals, never floating point.

Proof Built In

Every action audited. Every match keeps its evidence. Every run can be replayed and verified.

Enterprise Coming Soon

Built for the Whole Team

The same engine, ready for how larger finance and operations teams work.

  • Single sign-on

    Sign in with your company's identity provider.

  • Roles and four-eyes approval

    Who may configure, who may run, and a second person to approve.

  • Shared server

    One place for the team's reconciliations, alongside the desktop app.

  • Managed deployment

    Signed builds, and an enterprise build with updates under your control.

Download

Be First to Reconcile

Hear first when the download is ready, then only about releases that matter. No spam.

The launch, then only what matters. No spam. Privacy

macOS
Apple silicon
Coming soon
Windows
After macOS
Fast follow