Listen to this article
Not every bank links cleanly, and not everyone wants a live connection in the first place. Plenty of people would rather download a statement and bring it in by hand. WIMM treats that path as a real first-class option, not a fallback you tolerate. You can import CSV, Excel, OFX, and QFX files, and for the big US banks WIMM figures out the column layout for you. This is also the fastest way to move your history over from another app or a stubborn credit union.
Photo by Mika Baumeister on Unsplash
Formats WIMM reads, and the banks it knows
WIMM imports four file types: CSV, Excel (XLSX), OFX, and QFX. When you upload, it tries to detect the layout automatically. It recognizes the export formats of the major US banks out of the box, including Bank of America, Wells Fargo, Chase, Citi, Amex, Capital One, and Discover, so you usually skip column mapping entirely.
If your file is from somewhere WIMM does not recognize, a generic CSV importer steps in and lets you map the columns by hand. You can also override the detected format whenever you want, so you are never stuck with a guess that came out wrong.
The import wizard, step by step

Photo by Artem Podrez on Pexels
The importer walks you through clear stages instead of dropping a file into the dark.
Upload is where you drop the file, pick which account it belongs to, and optionally set the bank format if you would rather not rely on detection.
Preview shows a table of the parsed rows so you can see what WIMM understood. It also surfaces a duplicate count, any parse errors, and date warnings, so problems are visible before anything is saved.
Fuzzy Review only appears when near-duplicate matches are found. For each match you decide whether to skip or keep it, and the default is skip, which protects you from accidentally importing the same transaction twice.
Importing runs the actual load and shows progress. For multi-file imports it tracks progress per file.
Complete gives you a plain summary: how many transactions were imported, how many were skipped, how many had errors, and how many were auto-categorized.
How WIMM avoids duplicate transactions
Duplicate protection is the part that makes repeat imports safe, so it is worth understanding the two layers.
The first layer is an exact match. WIMM builds a SHA-256 fingerprint from the date, the amount, and the first 50 characters of the description. If a new row matches an existing fingerprint, it is a clear duplicate.
The second layer is a fuzzy match, for the cases where a bank tweaks the wording between exports. A row is flagged as a likely duplicate when the date is the same or within 3 days, the amount is within a penny, and the description similarity is at or above 0.8. Very short descriptions use a lower bar, since there is less text to compare. Anything the fuzzy layer flags lands in that Fuzzy Review step, where you make the final call.
The free history cap, and what Premium changes
Note
On the free tier, an import brings in the last 3 months of history. Premium removes that cap, so you can import unlimited history and load years of transactions in one pass. The importer, the format detection, and the duplicate protection are identical on both tiers. The only difference is how far back you can go.
This makes manual import genuinely useful for free users who mostly care about the present, while letting Premium users rebuild a full long-term picture from old statements.
Switching from another app

Photo by Jakub Zerdzicki on Pexels
If you are coming from somewhere else, manual import is your on-ramp. YNAB users can bring their data over by exporting it and running it through the generic importer, which handles the column mapping for the YNAB layout. And because WIMM auto-detects the big banks' formats, most people skip manual mapping entirely and just confirm the preview.
This is also the answer for credit unions and smaller banks that Plaid does not reach. If you can download a statement, WIMM can read it, so those accounts are tracked right alongside everything else.
How this compares to other tools
A spreadsheet can hold your transactions, but it makes you write formulas and maintain everything by hand. Mint's filtering was always shallow once your data was in. WIMM's edge here is quieter and practical: it auto-detects the formats of the banks most people actually use, so the import is mostly a couple of clicks, and the duplicate protection means you can re-import without fear.
Try it on the demo
The demo loads sample transactions so you can see how an imported account looks once it is in: app.wimm.money/demo?mode=transactions. When you are ready, sign in, download a statement from your bank, and run it through the wizard.
Try WIMM today
The demo loads with realistic data and no signup. See what this article describes in action.