Skip to content
Bankautomation

General ledger reconciliation software for sub-ledger differences and suspense accounts

Sub-ledger to general ledger reconciliation is the control that quietly holds a bank's books together, and the suspense account is where its failures accumulate until someone is asked to explain a balance.

Run the demo

camt.053 · NOSTRO USD · value date 03 sep 2026

Nostro cash break, sample data

Match rate

75.0%

Breaks

4

At risk

$533.9k

Oldest

4d

Date ±1d
Amount

This console matches the first rows a side. It left out statement and ledger , so anything in them is not counted below. To run a full file, .

BRK-001

Aged 0d

$219,105.40

2026-09-03 · both sides

REF//FX/SPOT/7741 · INTERBANK FX DESK

Amount differs by 164.80 USD (0.075%)

Re-price the ledger leg on the correspondent rate source for the value date and post 164.80 USD to FX variance.

FX RATE SOURCE

→ Treasury Ops

BRK-002

Aged 4d

$187,650.00

2026-08-30 · ledger

PAY/90012/R · KESTREL LOGISTICS

Second ledger entry for 187,650.00 USD against REF//PAY/90012

Confirm the original entry REF//PAY/90012 cleared, then reverse this posting under maker-checker and note the reversal on the original item.

DUPLICATE POSTING

→ Finance

BRK-003

Aged 0d

$123,760.00

2026-09-03 · both sides

REF//TRF/554121 · HALCYON TRADING

Statement 61,880.00 vs ledger 123,760.00 (50% short)

Split the ledger posting and match the settled leg; leave the residual 61,880.00 USD open against the same reference.

PARTIAL SETTLEMENT

→ Payments Ops

BRK-004

Aged 0d

$3,410.00

2026-09-03 · statement

REF//CHG/Q3FEES · CORRESPONDENT CHARGES

On the statement, nothing in the ledger

Post 3,410.00 USD to the charges account for the period and add it to the standing accrual so it stops surfacing as a break.

FEE NOT ACCRUED

→ Finance

Everything matched under these tolerances.

Tighten the date or amount tolerance to see the breaks it was absorbing.

Correspondent statement

camt.053 · NOSTRO USD

Value date Reference Amount
2026-09-02 REF//NONREF/2026090301 1,284,500.00
2026-09-02 REF//INV/88231 96,400.00
2026-09-03 REF//TRF/554120 452,180.25
2026-09-03 REF//FX/SPOT/7741 218,940.60
2026-09-01 REF//SEPA/33421 74,220.00
2026-09-03 REF//CHG/Q3FEES 3,410.00
2026-09-03 REF//TRF/554121 61,880.00
2026-09-02 REF//PAY/90012 187,650.00
2026-09-02 REF//INV/88245 242,015.00
2026-09-03 REF//TRF/554133 18,905.50
2026-09-01 REF//PAY/90044 505,300.00
2026-09-03 REF//INV/88260 132,640.75

Internal nostro ledger

Core banking export

Value date Reference Amount
2026-09-02 NONREF/2026090301 1,284,500.00
2026-09-02 INV/88231 96,400.00
2026-09-03 TRF/554120 452,180.25
2026-09-03 FX/SPOT/7741 219,105.40
2026-08-31 SEPA/33421 74,220.00
2026-09-02 PAY/90012 187,650.00
2026-09-03 TRF/554121 123,760.00
2026-08-30 PAY/90012/R 187,650.00
2026-09-02 INV/88245 242,015.00
2026-09-03 TRF/554133 18,905.50
2026-09-01 PAY/90044 505,300.00
2026-09-03 INV/88260 132,640.75
Matched pairs are tinted on both sides. Breaks carry the brass left rule and appear in the worklist.

Sample data only. Matching runs in your browser; classification is written by the model when you press Run. Matching done in your browser. Writing classifications… Classifications written by the model on this run. Decision support, not a compliance determination. The classification model was unavailable, so the built-in rule classifier wrote these. Same matching, same numbers. This console classifies up to 12 runs a minute and this run went over, so the built-in rule classifier wrote these. Same matching, same numbers. Wait a minute for the model, or . The model wrote the first 8 classifications; the rule classifier wrote the remaining .

Open the full resolver

Why differences appear at all

  • Timing: the sub-ledger posts on trade date, the GL on settlement, and the difference is legitimate until it is not.
  • Mapping: a product or fee type posts to an account the mapping did not anticipate.
  • Manual journals: an adjustment in the GL with no corresponding sub-ledger movement.
  • Failed interfaces: a batch that partially posted and was never fully replayed.
  • Rounding and FX revaluation, which are small individually and structural in aggregate.

Suspense accounts deserve a workflow, not a balance

A suspense balance is not a number, it is a set of items each of which somebody must resolve. When suspense is reconciled item by item, with an owner and an age per item, the balance falls because the work is visible. When it is reviewed as a balance, it grows, and the review becomes an explanation of the growth.

Input

A suspense population at month end

  • 14 items, 2,318,440.00 USD total
  • Oldest item 63 days, no owner recorded
  • Nine items share the same fee type

Output

The same population as work

  • Nine items grouped as Fee not accrued, one accrual fix, one approval.
  • Three items Timing, cleared by the next settlement cycle, tolerance proposed and approved.
  • Two items aged past threshold, escalated with an owner and a due date.

Mapping is the control everybody forgets

Sub-ledger to general ledger reconciliation depends on a mapping: which sub-ledger movement belongs to which GL account. That mapping is usually built once during an implementation and then changed piecemeal as products launch, fees change and entities reorganise. Because a mapping change rarely breaks anything visibly, it accumulates without review, and a surprising proportion of persistent GL differences trace back to a mapping decision nobody can now explain.

  • Every mapping rule should have a version, an author and an effective date, exactly like a matching tolerance.
  • A new product or fee type should require a mapping decision before it can post, rather than defaulting to a suspense account.
  • Unmapped movements should raise an exception with an owner, not accumulate silently.
  • The mapping should be readable by the finance team without a developer translating it.

The four sources of a GL difference

CauseWhat it looks likeCorrect handling
Timing Sub-ledger posts on one date, GL on another Expected item under an approved window, cleared automatically
Mapping A movement posted to the wrong account Mapping correction, versioned, with the population restated
Manual journal A GL entry with no sub-ledger movement behind it Item with an owner and supporting evidence attached
Genuine error A posting that should not exist Reversal under maker-checker with a reason code

Swipe the table sideways to read every column.

Suspense accounts, and why they quietly grow

A suspense account exists so that a posting with an unknown destination does not stop the day. That is a sensible mechanism and it becomes a problem for one reason: nothing in the process makes the balance uncomfortable. An item parked in suspense has no owner, no age that anyone reports on, and no requirement to be resolved before the next one arrives, so the population grows by small amounts until it is large enough to be a finding.

Treating suspense as a reconciliation in its own right fixes it without any new policy. Every item that enters carries the reason it could not be posted, the person who parked it and the date the clock started. Every item that leaves carries the account it went to and who approved the move. The balance is then not a number to be explained at quarter end but a queue with an age profile, and a queue with a visible age profile tends to get worked.

What a reconciled ledger is worth to the people who never open it

The finance team feels the close. Everyone else feels the consequences of an unreconciled ledger without connecting them to it: a business line reading a margin that later restates, a treasury desk funding against a balance it does not fully trust, a regulatory return assembled from figures that needed a footnote. None of those are accounting problems in the moment they are felt, which is why the reconciliation is usually funded as a control cost rather than as what it actually is, which is the point where the bank decides whether its own numbers are usable.

Only the last two need a person. The first two are configuration problems dressed as daily work, and a reconciliation that classifies them correctly makes that obvious within a month rather than within a year.

Manual journals, and the reason they attract attention

A manual journal is a posting made by a person rather than produced by a process, and it is the entry an auditor looks at first because it is the entry with the fewest built-in controls. The reconciliation view of a manual journal is simple: it is an unmatched GL movement, and it should carry the same requirements as any other open item. An owner, a reason, supporting evidence attached at the time, and an approver who is not the person who posted it. A reconciliation that treats manual journals as ordinary items removes an entire category of quarter end question.

Reconciling daily when the ledger closes monthly

A common objection is that the general ledger is a monthly instrument and reconciling it daily is over-engineering. In practice the opposite holds. Daily reconciliation of the sub-ledger to GL movement, rather than of the balance, catches a mapping error on the day it starts instead of after it has produced thirty days of misposted entries. The monthly balance reconciliation then confirms a position that is already known to be right, which is why banks that move to daily movement matching usually report that the month end became uneventful rather than faster.

Certification without the scramble

An account is certified when its reconciliation is complete, its open items are classified and owned, and a reviewer who is not the preparer approves it. Because that state is a system fact rather than a signature on a printout, the evidence for the period is an export rather than a project. The finance framing of the same engine is on financial reconciliation software, and the sign-off view is balance sheet reconciliation.

Questions about general ledger reconciliation software

Can it read our chart of accounts?

The account structure comes from your GL export, and account level configuration such as tolerances, owners and certification cadence is applied on top of it. The chart of accounts stays owned by finance.

Do you support multi-entity and multi-currency?

Yes. Entity is part of the account model and currency is part of the item, with matching restricted within currency and revaluation differences classified rather than absorbed silently. Multi-entity is the Institution plan.

How are manual journals handled?

A journal with no sub-ledger counterpart is an unmatched item like any other: classified, owned, aged and evidenced. That is usually the fastest way to find out how many are being raised and why.

Can we reconcile intercompany balances?

Intercompany is a two sided reconciliation between entities and runs on the same engine, with the difference that both sides are yours and the classification vocabulary can be shared.

More banking automation pages

Every process line we cover, in one place.

Account reconciliation software Where the differences start, account by account. Bank reconciliation software Statement against ledger, MT940 and camt.053 native. Automated reconciliation software Match rates, tolerances, and what auto-match must never mean. Payment reconciliation software Instructed, settled and posted, reconciled three ways. Financial reconciliation software The same engine, framed for the finance team. ATM reconciliation software Cash, switch and network settlement, balanced daily. Credit union reconciliation software Corporate, share draft, card, ATM and shared branching. ACH reconciliation software Origination, receipt, returns and FedACH settlement. Federal Reserve account reconciliation Master account, FIRD, Fedwire and FedNow against the GL. Correspondent bank reconciliation Due from, due to and respondent settlement against the GL. AML compliance software Program workflow, evidence and cadence. Not a detection model. KYC automation software Onboarding and periodic refresh, queued and evidenced. AML software for banks What to ask, and what to refuse to buy. Compliance workflow automation Maker-checker, SLAs and evidence as a system property. BSA AML monitoring software Alert triage as a worklist, not a second inbox. RPA for banks Why screen-scraping bots break, and what replaces them. Balance sheet reconciliation software Certification, sign-off and the quarter-end pack. ISO 20022 payment automation Structured data, repair rates and CBPR+ deadlines. Nostro reconciliation automation The most bank-specific reconciliation there is.

Get started

Put your first reconciliation on rails

Create an account, and we will email you how onboarding works and what a first source connection looks like. The Reconciliation Break Resolver is open to try right now, on sample data, without an account.

Run the demo

No card required to create an account. Sample data only in the demo. Bankautomation is operations software, not a regulated service.