Xero & QBO App Store ratings

Bank Statement Extraction, Rebuilt From the Ground Up

Multi-account, multi-currency, account codes, tax rates, and double-entry, extracted automatically and validated line by line. Then it posts straight into Xero, no CSV in between.
Company logoCompany logo
MacBook mockup

Extraction Was Never the Hard Part

You could already get transactions out of a PDF. The work that ate your day was everything after: separating accounts, converting currencies, coding each line, and checking it all still balanced before you dared import it.

Splitting accounts and currencies by hand

One statement, three accounts, two currencies. Untangling which transaction belongs where is its own project before coding even starts.

Coding after extraction, not during it

Dates and amounts alone don't get you to a postable entry. Someone still has to assign account codes, apply the right tax rate, and tag each line, transaction by transaction.

No way to catch an error until reconciliation fails

A missed line or a bad running balance surfaces weeks later, in a client call, not at the moment it happened.

CSV as the missing link

Extract, export to CSV, reformat, re-import. Every hop is a chance for something to break or drop.

Upload the PDF. Tofu does the coding, the checking, and the posting.

From Statement to Posted Entry

Upload the PDF. Tofu does the coding, the checking, and the posting.

Multi-account, multi-currency, handled natively

A single statement with several accounts or currencies in different denominations gets split, matched, and converted correctly, no manual separation first.

Account code, tax rate, and tags per line, double-entry intact

Not just what happened and for how much, but how each line should be coded, automatically — with parent and child lines keeping their double-entry relationship intact instead of collapsing into a single flat row.

Multi-level validation, before anything reaches you

Opening and closing balances, transaction dates, credit and debit totals, and per-line running balances are all checked. If something doesn't reconcile, tofu re-extracts rather than handing you a broken file.

Direct to Xero, no CSV

The extracted, coded, validated entry posts straight into Xero. No export, no reformat, no re-import.

What's New?

Five upgrades that take a statement from PDF to posted entry.

Multi-account, multi-currency in one upload

A single statement with several accounts or currencies gets split, matched, and converted correctly. USD, SGD, EUR, and JPY accounts from one file, each balanced independently.

Tofu extracting four bank accounts in different currencies from a single statement upload
Tofu extraction settings showing tax rate, currency, and per-line field configuration

Automatic line-level coding

Account code, tax rate, and tags extracted per transaction. Not just what happened and for how much, but how it should be coded, automatically.

Double-entry support

Parent and child lines keep their relationship intact, with a full journal entry review of debits and credits, instead of collapsing into a single flat row.

Journal entry review in Tofu showing debit and credit lines with child transactions
Tofu validation summary comparing extracted and calculated balances with per-line checks

Four-point validation before anything is handed back

Opening and closing balances, transaction dates, credit and debit totals, and per-line running balances, all checked. If something doesn't reconcile, Tofu re-extracts rather than handing you a broken file.

Direct Xero posting

The extracted, coded, validated entry posts straight into Xero. No export, no reformat, no re-import.

Bank statement published to Xero from Tofu with View in Xero button

How It Works, in Four Steps

No templates or format settings. Drop any bank statement, including multi-account and multi-currency files, and Tofu extracts, codes, validates, and posts straight to Xero.

Step 1: Upload

Drop any bank statement PDF into Tofu, any bank, any country, any length, including multi-account and multi-currency statements in a single file.

Step 2: Extract and Code

Tofu reads every transaction, date, description, amount, reference, and debit or credit, then assigns account code, tax rate, and tags per line, preserving double-entry and child-transaction structure.

Step 3: Validate

Opening and closing balances, transaction dates, credit and debit totals, and per-line running balances are checked automatically. Click any field to see exactly where it came from on the original statement.

Step 4: Post

One click sends the validated entry straight into Xero. No CSV, no manual import.

What makes Tofu different

Capability Tofu Vendor A Vendor B Vendor C
Extract rows to CSV Yes Yes Yes Yes
Per-entity coding to client's own COA, tax, tags (double-entry / child transactions) Yes, self-learning from the GL Partial, receipts and invoices only Partial, learns nominal and VAT codes Rule based only
Multi-account plus multi-currency in one statement Yes (revamp) No, rejects multi-account No Splits multi-account, not multi-currency native
Validation and AI agentic self-correction loop Yes, re-extracts until math ties No Balance check only Balance check only
Multilingual plus handwriting (200+ languages) Yes No, English centric No, English centric No, English and Latin
Pricing Flat rate, unlimited users and entities Per client, costly at scale Credit based, statements cost more Tiered

Bank Statement Extraction FAQs

Can’t find the answer you’re looking for? Please contact our team.
What's different about the rebuilt bank statement extraction?

It now handles multi-account and multi-currency statements natively, extracts account code, tax rate, and tags per transaction, supports double-entry with child transactions, and posts directly to Xero without a CSV step.

Can it handle multiple accounts or currencies in one statement?

Yes. A single upload can contain several accounts and currencies, correctly split and converted.

Does it just extract, or does it code the transactions too?

It codes each line, account code, tax rate, and tags, so the output is postable, not just readable.

How does validation work?

Tofu checks opening and closing balances, transaction dates, credit and debit totals, and per-line running balances before anything is handed back. If it doesn't reconcile, it re-extracts.

Do I still need to export to CSV?

No. Validated entries post directly to Xero.

Can Tofu handle multi-page statements?

Yes, tested past 1,000 pages in a single upload, with no page limits.

How much does it cost?

Plans start at $79/month and include a monthly extraction allowance. Bank statement pages each count as one extraction. Xero integration is free, with unlimited users on every plan.

Does it support double-entry and child transactions?

Yes. Parent and child lines keep their relationship intact, with a full journal entry review of debits and credits, instead of collapsing into a single flat row.

Do I need bank templates or setup first?

No. Upload any bank statement from any bank or country. Tofu adapts automatically — no templates, format settings, or configuration required.

How bookkeepers like you use Tofu

Trusted by thousands of bookkeepers and accounting firms across 30+ countries.

"I allocated three people for these three clients before. With Tofu, one person can handle these three clients."

Nishantha Kulasuriya
CEO
,
Rigor Consulting

"I was already dreaming of a tool that could capture receipt data automatically. tofu delivered exactly that even for Philippine BIR compliance. I can totally advocate."

Melita De Jesus
Managing Director
,
The Busy Experts Inc.

"tofu is a game-changer because of its zero-configuration AI.
It has effectively turned our junior staff from data-entry clerks into data reviewers."

Li Han Tan
Co-Founder
,
WLP Pte Ltd

"It saves our team more than 50% of our bookkeeping time. Definitely worth the investment. Once you get tofu trained, you don't have to worry for the rest."

Pin Mei
Yeong Pin Mei
Accounting Manager
,
Phoenix Accounting Group

"tofu is one of the best apps I've ever come across. You upload your bank statement and it takes less than five minutes. You have no idea the joy that tofu gives me."

Elizabeth Simon
Elizabeth Simon
Founder
,
Zattus Accounting

"I can tell tofu exactly what to pick up and how to code things, and it actually learns. The interface is clean, reviewing is quick, and I don't need to stress over screens anymore.

That's what made me stick with tofu over Dext."

Siyam Jiffry
Owner
,
MSJ Consultancy

“tofu is not an additional tool, it's a must-have for every accountant. Every accountant in the world needs to upgrade their skills. If they just focus on being a freelancer doing things the old way, they'll be old school."

Fakhrudin Fauzi
Founder & CEO
,
MFD Advisory

"With tofu, they can save more time and go back on time. No need to always spend overtime just to close the bookkeeping."

Michele Lim
GBS Assistant Director
,
Cheng & Co

"When there's a bookkeeping task, we ask ourselves: 'Can you tofu it?' If you can, please just load it in. Don't think."

Photo of Lucas Seah, CEO at Excellence Singapore
Lucas Seah
CEO
,
Excellence Singapore

Upload Your Messiest Multi-Account, Multi-Currency Statement.

Coded, validated, and posted to Xero, no CSV required.