1. Your QIF file
A .qif download from your bank or Quicken, or its text pasted below.
Choose a file or paste the text, then click Check file.
Result
Repaired file
The rules, and what they leave out
- Structure: a !Type: header, every record ended by a line with only ^, a D (date) and T (amount) line in each record.
- Dates: D lines in M/D/Y, D/M/Y, with dots or an apostrophe year (1/ 5'24). The order is proven only by a date that can be read one way; mixed orders are an error.
- Amounts: plain decimals; US thousands commas are legal and left alone; comma decimals and brackets are rewritten.
- Splits: S, E and $ lines must add up to the T total.
- Fixed automatically: a closing ^, plain-decimal amounts, and, only if you ask, dates rewritten to four-digit years in a proven or confirmed order, and a !Type header you choose.
- Never guessed: the date order when the file does not prove it, a garbled amount, which split is wrong, or whether two similar rows are one purchase.
- Not checked: that balances match your bank, that the file came from your bank, investment (Invst) transactions in depth, category or account names, or what any one importer will accept. Read from memory of common QIF practice, which was never formally standardised; confirm against your importer's own documentation.
Common questions
Why do my QIF dates import as the wrong month?
A QIF date such as 03/04/2024 does not say whether it is 3 April or March 4, and the format has no field to declare it. The importer uses its own setting. This tool reads the whole file: any date like 13/01/2024 proves day-first and any date like 01/13/2024 proves month-first. If every date has both numbers 12 or under it says the order cannot be proven and tells you to set the importer to match your bank.
Why were transactions imported twice from a QIF file?
QIF has no transaction ID, so an importer cannot tell that a row it already has appears again in a second download. The checker flags rows with the same date, amount and payee, and you can remove overlapping date ranges before importing. OFX files do carry an ID; the OFX file check covers those.
What does a missing ^ do?
Every QIF record ends with a line containing only ^. If the last one is missing, most importers drop the final transaction without an error. The checker finds it and can add it.
What are the S, E and $ lines?
They are split lines: a single payment divided across categories. The $ amounts must add up to the T total. When they do not, importers reject the transaction or post it unbalanced, and the checker names the record.
Does it change my file without telling me?
No. Every change is listed with the line it was made on. Only provable fixes are made: a closing ^, plain-decimal amounts, and, if you ask, dates rewritten to a four-digit year in an order the file proves or you confirm. A garbled amount, mixed date orders and unbalanced splits are reported and left for you.
Is my file uploaded anywhere?
No. It is read in your browser tab and a test in the code asserts there are no network calls. Bank files contain account details, so do not paste one into a tool that uploads it.