How to export your invoice list from FreshBooks
FreshBooks keeps the invoice list in Reports, and hides the date range somewhere people miss: inside the report under Settings, then Filters, rather than above it. The export is labeled for Excel and downloads a CSV, which is fine — every spreadsheet opens one.
I'm Rob Neal. I built the free Signal Check on this site to read exports like this one, so these are the steps I'd give you if you called and asked.
The report to run
Invoice Details
Invoice Details. One row per invoice line, with a Date Paid column filled in on the invoices that have been settled in full.
- Go to Reports and open Invoice Details.
- Under Settings, then Filters, choose a custom date range covering at least the last 12 months, and keep every invoice status.
- Select "More Actions", then "Export for Excel". It downloads a CSV.
Includes the date each invoice was paid, so days to get paid is measured, not estimated.
Worth knowing
- Keep every invoice status in the filter. Dropping the paid ones turns the report into an aging report, which can't show revenue share or how fast you get paid.
- "Export for Excel" downloads a .csv file rather than a .xlsx workbook. That is expected, and it opens the same way.
- Like Xero's, the file is one row per invoice line, so an invoice with three lines appears three times and has to be added back up by invoice number.
Read it honestly
What this export can tell you, and what it can’t.
What it can tell you
- How fast you get paid, measured
- Date Paid is a real date, so the gap from invoice to payment is measured rather than inferred. The middle of that spread is the number to watch over the months.
- How much is stuck past 60 days
- Anything without a Date Paid is still outstanding, so the ledger ages cleanly against your terms.
- Which customers your revenue rides on
- Keeping every status in the filter means the report covers what you invoiced, so customer share is revenue share rather than a snapshot of who owes you.
What it can't
- How long a part-paid invoice has been outstanding
- FreshBooks fills Date Paid only once an invoice is settled in full, so an invoice with a deposit against it reads as unpaid. That's the right answer for aging, and it makes the measured days-to-get-paid slightly conservative.
- Why an invoice is late
- The file has dates and amounts, not conversations. It's good at telling you which five invoices to chase first.
- Whether that revenue made money
- Expenses and time entries are separate reports. Invoicing alone shows the top line, never the margin under it.
Once you have the file
Run the free Signal Check on it.
Drop the export in and you’ll see how much cash is stuck past 60 days, how long your customers take to pay, and how much of your revenue rides on your five biggest customers. It reads the file inside your own browser tab — nothing is uploaded — and it shows you every row it skipped and why.
Run the free Signal CheckUsing something else? The check’s own page has steps for the other systems, and any CSV or Excel file with a customer, an invoice date, and an amount works once you confirm which column is which.
