Getting transactions in
Three ways in: a screenshot, a CSV, or one-tap bank sync. Use whichever your bank makes easy.
You don't have to pick one and stick with it. Some banks make CSV exports painless. Others, you just screenshot the app. Mix and match.
Every import is reviewed before anything is saved. And duplicates, a date and amount already in your data, are flagged, so you never double-import.
Screenshot import
No file to download, no export to find. Screenshot your bank app's transaction list and OpenTeller reads it into transactions you review before saving.
In iCloud mode this is fully on-device. Apple's Vision OCR reads the text, and Apple's on-device AI turns it into rows. Nothing leaves your device.
In account mode, the OCR text is sent to our server and parsed by GPT, which is more accurate on jumbled screenshots. The raw screenshot never leaves your device, only the extracted text. More on that in Privacy & your data.
The on-device path needs an Apple-Intelligence-capable device on iOS 26+. On unsupported devices the option is hidden. Use CSV instead.
- Screenshot your bank app's transaction list.
- In OpenTeller, choose to import from a screenshot.
- Pick the screenshots you took.
- Review the rows it pulled out.
- Save.
CSV import
Best for bulk history. Download a CSV or statement from your bank's website, then import it.
You map the columns once per bank: which one is the date, which is the amount, which is the description. After that, re-imports are basically two taps.
Parsing and column mapping happen on your device. In account mode, AI can infer the column layout for you from the headers and a few sample rows.
- Export a CSV from your bank's website.
- Add a CSV source in OpenTeller.
- Map the columns once.
- Import.
The mapping is saved on the source, so future imports from the same bank skip setup entirely.
One-tap bank sync
This is for an OpenTeller account on Pro+. It is not automated background syncing. It's user-initiated. You log into your bank inside the app and tap Sync each time.
No aggregator. No stored credentials. No Plaid. Your login goes straight to your bank's own website, opened inside the app on your device. We never see it and never store it.
The first time with a new bank, the app learns how to read your bank's transactions page, a one-time setup scan. After that, you just log in and tap Sync to pull in recent activity.
Works with any bank in the world. There's no aggregator coverage list to check. If you can log into your bank's website, sync works.
- Add your bank as a source.
- Open it and log into your bank.
- The first time, let it learn the page.
- Tap Sync.
- Review and save.
Because it's user-initiated, you log in and sync yourself. It won't run in the background. That's the trade-off for not handing over your credentials.
Which should I use?
- Screenshot: fastest for a few transactions, and works with any bank.
- CSV: best for bulk history, and works on any device.
- Bank sync: most convenient for ongoing updates on Pro+.