The standard path is exporting clients, invoices, and expenses from QuickBooks as CSV files, then importing each into FreshBooks through its import tool, mapping columns as you go. It handles current, active data reasonably well. Years of historical transaction detail, custom fields, and anything QuickBooks structures differently than FreshBooks expects usually needs manual cleanup before or after the import.
A smaller number of businesses don't want to migrate at all, they want QuickBooks and FreshBooks running together, often because one team invoices clients through FreshBooks while the company's core books stay in QuickBooks. There's no native FreshBooks-QuickBooks sync for this. It's either a manual double-entry process or a custom integration built against both APIs.