!Type:Bank D02/01/2024 T-500.00 PTransfer to Savings L[Savings] ^ In the account file, the reverse:
D01/10/2024 T-150.00 PAmazon L[CreditCard] ← optional main category (if any) SFood ← split 1 category $80.00 SBooks ← split 2 category $70.00 ^ Splits must sum to the total T amount. Use brackets [AccountName] in the L field. qif file format
read line if line starts with "!Type:" -> set current type else if line == "^" -> save current record and reset else: first char = field code value = line[1:] add field to current record | Software | Import | Export | |----------|--------|--------| | Quicken (modern) | Yes (legacy) | Yes | | GnuCash | Yes | Yes | | MoneyDance | Yes | Yes | | KMyMoney | Yes | Yes | | Excel (via text import) | Manual | Yes | | QuickBooks | No | No (uses IIF or QBO) | Note: Quicken 2016+ prefers QXF or QDF. Use QIF only for basic transactions. 11. Common Errors & Fixes | Error | Likely cause | Fix | |-------|--------------|-----| | "Unsupported file type" | Missing !Type: header or wrong type | Add correct header at line 1 | | "Transaction not imported" | Missing date ( D ) or amount ( T ) | Ensure every record has at least D+T | | "Split total mismatch" | Sum of $ fields ≠ total T | Adjust splits or total | | "Category not found" | Category doesn't exist in destination file | Import categories first ( !Type:Cat ) | 12. Alternatives | Format | Pros | Cons | |--------|------|------| | QFX (OFX) | Supports multiple currencies, account hierarchy, banking automation | Binary-ish, harder to hand-edit | | CSV | Universal, simple | No standard structure, loss of split/payee details | | JSON/XML | Structured, modern | Not natively supported by Quicken | If you need a specific parser or validator for QIF files (e.g., Python, JavaScript, or Excel macro), let me know and I can provide a tailored code example. Use QIF only for basic transactions
QIF is a plain-text, human-readable format designed to transfer financial data between Quicken and other accounting software (like GnuCash, MoneyDance, or Excel). While largely superseded by QFX (OFX) for direct banking, QIF remains widely supported for manual import/export. A QIF file is divided into records (transactions, accounts, or securities), each ending with a ^ (caret) character. Alternatives | Format | Pros | Cons |
Example (bank account):