Skip to main content

How to Use Tofu to Convert Bank Statements for Easy Import into Xero

Tofu now supports bank statement extraction for AP and AR workflows. Upload PDF bank statements, review extracted transactions, and export them as CSV files for easy import into accounting systems-speeding up reconciliation and reducing manual work.

Written by Jess B
Updated this week

Note: Bank Statement Extraction is an early feature, so your organization’s owner must opt in before it can be used at an entity level.

1. Turn on Bank Statement as Extraction Type

  1. Go to Entity Settings → Features.

  2. 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:

  1. Go to your Source Documents column.

  2. Click Upload document.

  3. Select your bank statement file to upload.

Important note for large bank statements

Tofu can reliably process bank statements up to 60 pages. For larger files, Tofu may ask you to confirm extraction before processing continues.

If this happens:

  • Upload the bank statement as usual.

  • Open the extraction.

  • Re-extract the file if needed.

  • Confirm that you want Tofu to process the large file.

This confirmation helps prevent very large bank statements from being processed by accident.

💡 Recommended: Connect Google Drive, SharePoint or Email
For the easiest workflow, integrate your cloud storage with Tofu. Any bank statements uploaded to your connected folder will automatically sync into Tofu, eliminating the need for repeated manual uploads.


3. Review the extracted data and verify

Go to the Extractions column to review:

  • Bank Account

  • Currency

  • Statement dates

Transaction Table Includes:

  • Date

  • Description (expandable for full details)

  • Debit / Credit

  • Balance (if available on the statement)

  • Reference

  • Contact (shown at the far right of the table)

  • Currency (per transaction row for multi-currency statements)

Multi-Currency Notes:

For bank statements, currency is assigned per transaction row.

If a row has no currency selected, Tofu automatically uses the statement header currency.

AI Contact Suggestions:
Tofie can suggest a Contact name based on transaction details. It also learns from previously reviewed bank transactions, so suggestions improve over time. You can always edit these before exporting.

💡 Edit header details or line items directly in Tofu. Click Save Draft before leaving the page. Click Verify once the data is accurate.


4. Export to Xero

After verifying the bank statement:

  1. Click Export.

  2. Select the Xero Bank Statement template.

Tofu converts the statement into a Xero-supported CSV, ready for import. No manual mapping needed.


5. Import into Xero

Now that you have the export file:

  1. Log in to Xero.

  2. Go to Accounting → Bank accounts.

  3. Choose the bank account you want to update.

  4. Click Import a Statement.

  5. Upload the Xero-formatted file you exported from Tofu.

Transactions will process immediately, allowing fast reconciliation.


📌 Early Feature Limitations

Bank Statement Extraction is an early feature that supports AP and AR workflows, and we want to be transparent about what’s supported today.

  • Page limits
    Tofu can reliably process bank statements up to 60 pages. Larger files may still work, but results can vary depending on document layout and quality.

  • Entity knowledge and rules
    Bank statements can now benefit from your entity’s existing knowledge and rules where applicable. This means previously learned patterns may help improve extraction quality, though support is still expanding.

Pro Tips

  • 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.

  • Always click Save Draft before navigating away.

Did this answer your question?