How QuickBooks Desktop Export Formatting Works
Source: quickbooks_controller.rb
- Boolean fields in the IIF export are converted to Y/N format; the "!|" prefix on a field definition inverts the boolean value (true becomes N, false becomes Y)
- Credit transactions use different account mappings than invoices — the credit accounts must be separately configured
- Date field formatting varies by record type: customers, vendors, and products use created_on date; transactions use post_date
- Voided and soft-deleted records are excluded from the export entirely
- Discount, freight, and GST lines are only included in the export when their values are greater than 0 — zero-value lines are omitted to keep the IIF file clean
Support scenarios
- "Credits are going to the wrong account in QuickBooks" → Credits use different account mappings than invoices. Check that the credit-specific accounts are configured correctly in accounting settings — they are separate from invoice accounts.
- "Some transactions have the wrong date in QuickBooks" → Transactions use post_date while contacts/products use created_on. If a transaction was posted on a different date than expected, check the post_date value in Workshop.
- "Discount line is missing from the QuickBooks export" → Discount, freight, and GST lines are only included when their values are greater than zero. A zero discount is intentionally omitted from the export.