Tofu gives you two ways to get bank statement transactions into Xero. Export a Xero-supported CSV and import it manually, or publish verified statements directly to your Xero bank account using Bank Feeds. Both paths start the same way: upload your statement, review the extracted data, and verify.
1. Turn on Bank Statement as Extraction Type
Go to Entity Settings → Features.
Under Document Extraction Types, toggle Bank Statement ON.
Once enabled, bank statement extraction can be used across both Accounts Payable (AP) and Accounts Receivable (AR) workflows to support faster reconciliation.
2. Upload a Bank Statement
You can upload bank statements manually or via a cloud integration:
Go to your Source Documents column.
Click Upload document.
Select your bank statement file to upload.
Tofu reliably processes bank statements up to 100 pages. For larger files, Tofu will ask you to confirm before extraction continues.
💡 For the easiest workflow, connect Google Drive, SharePoint or Email so statements uploaded to your connected folder sync into Tofu automatically.
3. Review the extracted data and verify
Go to the Extractions column to review:
Bank Account
Currency
Statement Start Date and Statement End Date
Opening Balance and Closing Balance
Transaction Table Includes:
Date
Description (expandable for full details)
Amount (money in shows as a positive value, money out as a negative value)
Reference
Currency (assigned per transaction row for multi-currency statements; rows without a currency use the statement header currency)
💡 Edit header details or line items directly in Tofu. Click Save Draft before leaving the page. Click Verify once the data is accurate.
📘 Learn more: How to Review Bank Statements v2 in Tofu
4. Publish Directly to Xero with Bank Feeds
📌 This feature is waitlisted. Contact your Customer Success Manager to get it enabled for your organization.
If your entity is connected to Xero, you can publish a verified bank statement straight into your Xero bank account. Your transactions appear in Xero ready for reconciliation, with no CSV download or manual import needed.
Each statement can only be published to Xero once. After a successful publish, the statement is locked in Tofu and no further changes can be sent to Xero, so review everything carefully before publishing.
Before you publish, check that:
Your Xero organization supports Bank Feeds. The following organization types don't work with this integration: Inactive organizations, the Demo Company, and Ledger editions.
The bank account on the statement exists in Xero and in Entity Settings → Accounting. The Bank Account field shows the matched account once linked.
Statement Start Date and Statement End Date are filled in, and every transaction date in the transaction table falls within that range. Xero accepts statements dated within the past 12 months, and the end date cannot be in the future.
Opening Balance and Closing Balance are entered, and the closing balance matches the opening balance plus your transaction totals.
The statement is Verified.
To publish:
Open the verified bank statement.
Click Publish at the top of the Bank Statement tab.
Tofu sends the transactions to the matching bank account in Xero. Click on the Xero link to open the statement in Xero.
In Xero, go to Accounting → Bank accounts to reconcile as usual.
💡Good to know
Statements publish as a whole. If any line fails validation, nothing is sent to Xero. Simply fix the flagged lines and publish the statement again.
Bank feeds supports single account bank statements. For multi account statements, use the Xero Bank Statement CSV export below.
The first time you publish, Xero may ask you to reconnect your integration. This grants Tofu the bank feeds permission needed to publish statements.
5. Export a CSV and Import into Xero
Prefer to import manually, or working with a multi account statement? You can export a Xero supported CSV instead.
In Tofu:
Open the verified bank statement and click Export.
Select the Xero (CSV) template.
Tofu converts the statement into a Xero-supported CSV, ready for import. No manual mapping needed.
In Xero:
Go to Accounting → Bank accounts.
Choose the bank account you want to update.
Click Import a Statement.
Upload the Xero-formatted file you exported from Tofu.
Transactions will process immediately, allowing fast reconciliation.
✅ Pro Tips
Complete the statement dates and opening and closing balances before verifying, so publishing is available right away.
Verify currencies for each line item in multi-currency statements.
Use AI contact suggestions to save time, but always review.
Integrate cloud storage for automated uploads.







