Conversion

Import a Bank Statement Into Expensify (CSV/OFX)

Expensify imports card transactions from CSV, OFX, QFX, or XLS, not PDF. Convert your statement, then upload it under Imported Card Feeds to bring in expenses.

6 min read
Updated 2026-08-06
By EasyBankConvert Team

TL;DR - Quick Summary

Expensify imports card and bank transactions from CSV, OFX, QFX, and XLS files, not from a PDF. Convert your statement to a CSV first, then upload it under Imported Card Feeds for a personal card, or under Company Cards for a domain, so the transactions become expenses to review.

Why Expensify won't read your PDF

Expensify turns transactions into expenses, but it needs them as structured data first. It imports CSV, OFX, QFX, and XLS files, and it cannot read a PDF statement, which is a printed page rather than a table of dated charges. When your bank or card is not supported for a direct connection, or you need transactions older than a feed provides, the statement you have is a PDF Expensify has no way to open. Converting it to a CSV turns the charges into rows Expensify can upload, so each becomes an expense you can categorize, add a receipt to, and submit, instead of being keyed in one at a time.

Importing a personal card statement from a file

For an individual card, Expensify has a file import built for exactly this. Go to Settings, then Account, then Wallet, then Imported Card Feeds, choose Import Transactions from File, and upload your converted CSV or OFX. Expensify itself points to this path for when your bank is not supported or you need older transactions than a live feed pulls. After you confirm the upload, allow a minute or two for the transactions to appear as expenses. Because a converted file comes out with clean columns, the import goes through without the formatting fixes a raw bank export often needs.

Company card import for a domain

Administrators managing company cards import at the domain level instead. Go to Settings, then Domains, then the domain name, then Company Cards, and use the Manage or Import CSV option. A company card file needs a bit more than a personal one: the card number, date, merchant, amount, and currency, so Expensify can assign each transaction to the right cardholder. Formatting the converted CSV against Expensify's template keeps those columns aligned. This is the route for bringing a card program's activity into Expensify when the card is not on a supported direct feed.

CSV columns and the mapping error

The columns are where imports succeed or fail. A personal import needs Merchant, Transaction Date, and Amount as positive values, with a single header row and a clear date format such as yyyy-mm-dd. A company card import additionally needs Account and Currency. If Expensify shows an attribute-value mapping is missing error, the file is missing one of those required fields. Converting the statement helps because the output already carries consistent, labeled columns, so you map once and avoid the trial-and-error of reshaping a bank's raw export by hand in a spreadsheet.

When to use file import, and privacy

A direct bank or card connection is the smoother path when it is available, so file import is the fallback: an unsupported bank, a card not on a feed, or a stretch of history older than the connection reaches. That is precisely when a converted statement earns its place. Because these files hold card and account activity, they are processed to build the CSV and then deleted automatically, with nothing retained on a server afterward. For a finance team importing card statements for several people or entities, that automatic deletion keeps spend data out of a third-party tool once the import is done.

How it works

  1. Convert the PDF: Convert the PDF statement into a CSV or OFX with Merchant, Date, and Amount columns.
  2. Open the import: For a personal card, go to Settings, Account, Wallet, Imported Card Feeds, and choose Import Transactions from File.
  3. Upload the file: Upload the converted file and, for a company card, include the card number and currency columns.
  4. Review expenses: Wait a minute or two for the transactions to appear, then categorize and add receipts.

Comparison

Import pathWhere in ExpensifyFile needsBest for
Direct connectionBank or card linkNoneSupported banks, ongoing
Personal file importWallet, Imported Card FeedsMerchant, Date, AmountUnsupported banks or old data
Company card importDomains, Company CardsCard number, currency tooAdmin-managed card programs
Manual entryNew expense formNoneA one-off expense

A 120-transaction card statement converts to an Expensify-ready CSV in about 30 seconds. Convert your statements now.

See pricing

Frequently Asked Questions

Related guides and articles

Try It Yourself

Experience the power of automated conversion

Start Converting