Symptom: Instructors are ending flights, but no invoice shows up in the Invoices list or in QuickBooks.
Flight-end auto-invoicing has several preconditions. The setup checklist at the top of Invoicing Settings tracks them; if the header reads N steps left to invoice flights, that is the cause. Work through them in order.
In Invoicing Settings → Invoicing Defaults, confirm the Invoicing Active toggle is on (Enable or disable automatic invoice creation when flights end). If the card badge reads Disabled, no invoices are created on flight end. See [[invoicing-defaults-settings]].
The QuickBooks Online card must show Connected. If it shows Not connected or Reconnect, invoicing through QuickBooks cannot run. Connect or reconnect. See [[invoicing-connect-quickbooks]] and [[invoicing-troubleshooting-quickbooks-connection]].
This is the most common blocker. The checklist item Set the QuickBooks income account calls it out: without it, the first flight invoice will fail. Set the Income Account ID in QuickBooks Defaults. See [[invoicing-quickbooks-defaults-settings]].
If both Aircraft Rate ($/hr) and Instructor Rate ($/hr) are 0, a flight-end invoice has no billable line — the checklist warns Without a default $/hr rate, flight-end invoices will be empty. Set at least one default rate, or rely on per-aircraft (Fleet page) and per-instructor (Members page) overrides. See [[invoicing-defaults-settings]].
Flight invoices are created when a flight is closed out with its hours captured. Confirm the booking's flight was checked out and that Hobbs (and Tach, if your aircraft uses it) and instructor time were recorded — an invoice is built from those hours. A flight that was never closed out, or one with no recorded hours, has nothing to invoice.
If all of the above are in order — invoicing active, QuickBooks connected, income account mapped, at least one default rate set, and the flight closed out with hours — the invoice is created on the server side after the flight closes, and the issue is in the sync rather than anything you can change in the dashboard. Contact support so the team can check the sync for that flight.