New: multi-entity reconciliation is liveNow indexing Cosmos, Substrate, Solana & BitcoinPost journal entries straight to QuickBooks OnlineRead-only API access, no keys, no withdrawal permissionsBook a 30-minute walkthrough with our team
SimplyLedger

Matching

Swaps and bridges,
matched leg to leg.

A swap or a bridge moves value in two on-chain transactions, often minutes or hours apart. Post both legs to a hold account and tick them together: SimplyLedger ties them into one match and posts the residual, the bridge fee or the price move between legs, to a difference account.

How a match works

Two legs in, one match out.

10,000 USDC bridged from Ethereum to Arbitrum arrives as two postings, one per chain. Matched across the linked hold accounts, they net to the bridge fee, which posts to the difference account by itself.

Two postings, 17 minutes apart
Bridge out14:02 · Ethereum

−10,000.00 USDC

Contra Hold · Bridges (ETH)

Bridge in14:19 · Arbitrum

+9,996.40 USDC

Contra Hold · Bridges (ARB)

Match · linked hold accounts

One movement, two members

In from the Ethereum leg
10,000.00
Out to the Arbitrum leg
−9,996.40
Residual
3.60
Posted automatically

Difference posting

3.60 · the bridge fee

Difference

Hold accounts

Back to zero for this movement

Hold or suspense

Two pairing tools for two different questions.

Hold is for legs you know belong together. Suspense is for money you know moved but couldn't attribute when you posted it.

Hold account

These legs belong together.

Pairs
Postings with each other
When
A swap or bridge, once both legs have posted
Residual goes to
Difference account set on the hold account
Suspense account

Money moved, but what did it settle?

Pairs
Postings with a QuickBooks payment, bill payment, transfer or journal entry
When
Whenever the settling entry exists in QuickBooks
Residual goes to
The Suspense Matches account, when you post it

Capabilities

Two transactions, one movement.

  • Hold accounts from QuickBooks

    Give any QuickBooks account the Hold role and it gets its own matching view, with a count of what's still unmatched.

  • Any number of legs

    Tick two or more postings and match them. A bridge that fragments into several postings is one match with several members.

  • Across chains

    Link hold accounts to each other so one match can span them, for bridges whose legs post to different accounts.

  • Residuals posted for you

    Give the hold account a difference account and every match with a non-zero residual posts it there automatically.

  • Only the candidates

    Limit a hold account's view to the categories that are actually swap and bridge traffic.

  • Cheap to undo

    Unlinking keeps both postings on the ledger and reverts the difference posting, so a wrong pair takes a click to fix.

Workflow

From two loose legs to one closed match.

  1. Step 01

    Set up a hold account

    Tick Hold on a QuickBooks account in your chart of accounts, and choose its difference account.

  2. Step 02

    Post both legs to it

    Each leg posts as it lands, against the hold account, so neither side floats in your books.

  3. Step 03

    Match

    Search by hash, reference, token or category, tick the legs and select Match.

  4. Step 04

    Check the difference

    The residual shows in your entity currency. One far bigger than the fee you expected usually means the wrong pair.

In the product

See it in SimplyLedger.

Unmatched postings on a hold account, ready to tick and match

What's left to match on a hold account

Unmatched postings with their hash, date, amount, token, value and category, searchable and filtered by date.

FAQ

Common
questions.

Quick answers about how SimplyLedger fits your stack. Need something more specific?

Talk to us
Why not post a swap as one transaction?

On chain it isn't one. The legs are separate transactions, sometimes on different chains and hours apart. Posting each as it lands and matching them keeps every posting tied to a real transaction hash.

Why is there a difference at all?

Bridges charge fees, and the prices of the two tokens move between the legs, so the residual is rarely zero. It's also a useful check: a difference much larger than the expected fee usually means the wrong postings were matched.

How is hold different from suspense?

Hold pairs the legs of one movement you already know belong together. Suspense parks postings you couldn't attribute yet, to be matched to QuickBooks payments or journal entries later. They're separate account roles with separate screens.

What does it need?

QuickBooks Online connected for the entity, and at least one QuickBooks account with the Hold role.

Your crypto. Your books. In sync.

Book a call and we’ll walk you through the workflow for your stack.