Linking a bank account is the easiest way to get transactions into a budgeting app. Sometimes it is not an option: your bank may not be supported, you may not want to share a connection, or you want to load older history. In those cases a statement file works well. This guide covers how to prepare the file, what to check and the exact steps in KHMYS.
Step 1: Download the right file from your bank
Look in your bank's website or app for "statements", "transactions" or "export". You will usually be offered one or more of these:
- CSV (comma-separated values). Opens in any spreadsheet. This is the most reliable format to import because every transaction is already a row.
- PDF statement. A formatted monthly document. Importers have to read text out of the page layout, so results vary by bank and are worth reviewing.
- Other formats such as OFX or QFX. Not every tool reads these, so a CSV is the safer choice.
Choose a date range that does not overlap with anything you already have. If you must overlap, a good importer will flag duplicates, but it is better not to depend on that.
Step 2: Look at the file before you import it
Open the CSV in a spreadsheet and check a few things:
- Is there a header row? The first row should name the columns (Date, Description, Amount and so on).
- How are amounts stored? Banks use one of two layouts. Some give a single Amount column where spending is negative (or sometimes positive). Others give separate Debit and Credit columns. Both can be imported, but you need to know which you have.
- What format are the dates? A date such as 01/02/2026 means January 2 in the United States and February 1 in many other countries. If your file has dates like this, the importer has to guess, so make sure it guesses the way you read it.
- Is anything odd? Totals rows, blank lines or notes at the bottom of the file can show up as fake transactions. Delete them.
A tip: avoid re-saving the file from a spreadsheet unless you need to. Spreadsheets sometimes change date formats or strip leading zeros when saving.
Step 3: Add the account first
Transactions need an account to live in. Create or connect the account the statement belongs to before importing, and use one account per file so balances and history stay clean.
Step 4: Import in KHMYS
In KHMYS the import lives in Settings, because linking a bank is the main way in and files are the alternative:
- Open Settings, then Data Sources.
- In the Import a statement card, choose Choose a file (or drop the file onto the dialog). It accepts CSV, TSV, TXT and PDF files.
- On the Check the columns step, pick the account to import into.
- Match the columns. The app suggests a mapping from your headers. You need Date, Description and either an Amount column or a Debit / money out and Credit / money in pair. Category is optional.
- If every amount in the file is positive, tick Amounts are all positive, treat them as spending.
- Leave Skip rows that look already imported ticked. It shows how many duplicates it found.
- Read the preview. It shows what will actually be created, and it updates as you change the mapping.
- Import, then use the Import complete screen to import another file if you have more months.
Ambiguous dates such as 01/02/2026 are read using the date format in Settings, Preferences. If the preview shows the wrong month, change that setting and look again before importing.
PDF statements are read on a best-effort basis. KHMYS shows what it found, for example how many lines it read, and puts it on the same preview step so you can check it. CSV is more reliable, so prefer it when your bank offers one.
Step 5: Check the result
After importing, spend two minutes confirming it went well:
- Does the number of transactions roughly match the statement?
- Do the first and last dates match the period you downloaded?
- Does the total of the month look right compared with the statement summary?
- Are there any rows with a wrong sign (spending shown as income)? That means the amount mapping was off. The best time to catch it is the preview step, before you import.
Then categorize. Rules save time here, because imported history is mostly the same merchants repeating. See categorizing transactions with rules.
Common problems and fixes
- Everything shows as income. Your file uses positive numbers for spending. Tick the "all positive" option, or map the debit and credit columns.
- Dates are off by months. Day and month are swapped. Change the date format preference.
- Duplicates after importing twice. Keep duplicate skipping on and avoid overlapping date ranges.
- A PDF produced strange lines. Use the CSV export instead, or review each row in the preview.
- Amounts look 100 times too large or small. Some files store cents or use commas as decimal separators. Fix the source file and import again.
Why link a bank if files work?
Files are great for history and for accounts you cannot connect. A bank link removes the monthly chore, since new transactions arrive on their own. If you are weighing the safety of that, read is it safe to connect your bank to a budgeting app. KHMYS supports both, and it does not charge anything today.