Head-to-head comparison
FreshBooks vs Wave: we ran the same month of books in both
We may earn a referral fee if you sign up through our links. It does not change our test results.
This site compares software. It does not give tax, legal or accounting advice.
The short answer
Both tools gave a cash-basis September profit and loss that matched our answer key exactly. Wave also matched on accrual; FreshBooks' accrual report left out the invoices still in draft. The two runs were not equal: we ran FreshBooks in its 30-day trial and Wave on its free Starter plan, which cannot email invoices, so nothing was sent from Wave.
FreshBooks suits a freelancer whose main job in the software is invoicing a few clients. Invoices and payments were a short routine once set up, and reminders are sent when you choose, with text you can edit. But we found no way to upload a bank statement file in the trial, and it put 9 of our 20 expenses in "Uncategorized".
Wave suits someone who wants the books built from the bank statement and does not need the software to send the invoices. It imported our statement file without a bank login, had ready categories for 9 of our 11 expense types under its own names (we added "Supplies" and used "Computer – Hardware" for equipment), and gave exact cash and accrual reports from one switch. On the free Starter plan, sending invoices from Wave and automatic reminders are not available; Wave's pricing page lists both under its paid Pro plan.
Task by task
We ran the same made-up month in both tools; the method is at the end of this page.
| Task | FreshBooks (trial) | Wave (free Starter plan) |
|---|---|---|
| 1. Set up the business, add 5 clients | CSV import of clients; columns matched by hand. The business details save failed with no message at the top: a required Industry field sat at the bottom of the form. The phone number from sign-up was printed on invoices until we changed it. | Short setup. None of the account owner's personal details were copied into the business profile. The customer CSV had to carry all of Wave's headings in Wave's order, with no column matching. Our two-column file was read by position: an email landed in "First Name" and the header row would have become a sixth customer. We caught it on the preview and used a full file. |
| 2. Create 12 invoices | Typed one by one, about 9 actions each. New invoices stay as drafts until sent or paid, and drafts are left out of "total outstanding". | No invoice import; all 12 typed by hand. Saved invoices are drafts and must be approved. The first item we saved came back pre-filled with the first invoice's text and price on every later invoice, so we overwrote it each time. A stray keystroke once opened a "Create a new tax" window. |
| 3. Record 20 expenses | CSV import, but one file column cannot feed two fields, so we had to add a column. 9 of 20 came in as "Uncategorized Expenses" because the trial had no matching categories. The expense list's Grand Total showed $554.93 against the true $612.28; both reports used the right figure. | Coded from the bank statement, one click and a few letters per line, with no vendor needed. Wave has 31 expense categories ready, under its own names. We added one ("Supplies") and used "Computer – Hardware" for equipment. All 28 statement lines ended up categorized. |
| 4. Import the bank statement, match it | We found no statement-file upload in the trial; Bank Connections offered live connections only (through Yodlee, which needs a bank login). We recorded the 8 payments on their invoices by hand instead. | CSV upload, no bank login needed, after adding a bank account in the chart of accounts. Wave books every line at once as uncategorized income or expense, so deposits count as extra income until they are linked. All 8 deposits were linked by hand: Category, "Payment Received for an Invoice in Wave", then the invoice number. On Starter, Wave made no match suggestions. |
| The partial payment | Recorded by hand on the invoice, so there was no match to check. The $150 paid and $150 owed showed correctly. | Linked by searching INV-1007 in the same submenu. Wave applied $150 and left $150 due. There was no wrong suggestion, because Wave made none on Starter. |
| 5. Send a reminder | A "Send Reminder" option on the invoice. The reminder subject and body were editable on the trial, with merge fields and a preview. | Not possible on Starter. The invoice menu has no reminder option, and automatic reminders are locked behind an "Upgrade" badge. Since nothing was sent from Wave, there was no sent invoice to remind about. |
| Sending invoices | The invoice email text was locked on the trial ("Upgrade to a paid plan to edit this email message"). The Send button needed a second click both times. | Not possible on Starter. The send window offered only Copy link, Download PDF, "Launch email" (opens your own email program) and "Mark invoice as sent". We cancelled it; nothing was sent or marked as sent. |
| 6. September profit and loss | Cash basis matched the answer key exactly, but only in the "Old Report". The new report is billed (accrual) only and left out unsent drafts. Export: spreadsheet (CSV) or print; no direct PDF. | Cash and accrual both matched the answer key exactly, under one switch. Export: CSV or PDF, and the PDF downloads directly. |
What each did better
FreshBooks
- Invoicing day to day. Once the due-date default was set, each invoice was a short, repeatable routine, and the item was remembered for next time.
- Sending from the tool. Invoices and a reminder went out from FreshBooks. In the Wave test, nothing could be sent.
- Payments without surprises. Recording a payment sent no email to the client unless you tick the box.
- Reminders on request. A reminder goes when you send it, and its subject and body were editable on the trial.
Wave
- Bank statement upload. A CSV statement came in without connecting a bank, with the date, amount and description columns detected for us.
- Categories nearly ready. 31 expense categories came with the account; we added one, and no line stayed uncategorized.
- No personal details copied into the business profile.
- Reports. Cash and accrual on one switch, both exact (accrual: $8,425.00, $612.28, $7,812.72), and a direct PDF.
- Price. The Starter plan has no time limit.
Where each tripped us up
FreshBooks: the silent failed save on setup; 9 expenses uncategorized; a Grand Total on the expense list that did not match its own rows; no statement upload that we could find in the trial; the cash report hidden in the "Old Report"; invoice email text locked on the trial.
Wave: customer import that reads columns by position; no invoice import; the saved item carrying the first invoice's text and price into every later invoice; a tax window opening from a stray keystroke; invoice search working only inside the payment submenu; uncategorized income from a fresh bank upload inflating income until linked; no way to send an invoice or a reminder from Wave on Starter.
Price check
| Plan | Monthly price | Notes |
|---|---|---|
| FreshBooks Lite | $23.00 | Invoices to 5 clients |
| FreshBooks Plus | $43.00 | Invoices to 50 clients; accountant access |
| FreshBooks Premium | $70.00 | Unlimited clients |
| FreshBooks Select | Quote | Talk to a consultant |
| Wave Starter | $0 | The plan our test ran on; card payments 2.9% + $0.60 each, per Wave's page (not tested) |
| Wave Pro | $19 | $190 a year; adds sending invoices via Wave, automatic late-payment reminders and bank auto-import, per Wave's page (not tested) |
Prices are the regular prices on each company's own pricing page, both read on October 22, 2026. FreshBooks' page also showed lower introductory prices for the first months. Wave's page showed no current offer. Prices change; check the pricing page before you buy.
FreshBooks Lite allows invoices to 5 clients, and our test business had exactly 5. We did not test Wave Pro or Wave's card payments.
Who should pick which
- You invoice a handful of clients and want the software to send the invoices and reminders: FreshBooks. Check the client limit on the plan you choose. In our trial we found no way to upload a bank statement file, so we recorded payments by hand.
- You want your books to start from your bank statement, with categories nearly ready, and you can send invoices from your own email: Wave. On Starter you copy a link or download a PDF and send it yourself, and chase late clients yourself.
- You want a free option: Wave's Starter plan is $0 with no time limit. FreshBooks' pricing page lists no free plan (Lite, Plus, Premium, Select), only a 30-day trial.
- You want Wave to send the invoices and reminders: that is Wave Pro on Wave's pricing page. We did not test Pro.
How we tested
We made up one month for a one-person web design business, Riley Park Design (September 2026): 5 clients, 12 invoices totaling $8,425, 20 expenses totaling $612.28, and a 28-line bank statement with one partial payment. We ran the same six tasks in FreshBooks' free trial and on Wave's free Starter plan, and checked each tool's profit and loss against an answer key worked out from the test files.
An AI assistant carried out the tasks in our own accounts. A person did the sign-ups and logins and approved every email and download. So we report the steps and problems for each task, not minutes. Test emails went to our own address, and every client in the test is made up. Because Wave's Starter plan cannot email invoices, no email was sent from Wave.
The test files are the same for every tool we compare, so results line up across pages. How we test lists every task and the answer key.
Tested October 20 (FreshBooks) and October 21-22 (Wave), 2026. Screenshots on file.
Try them: FreshBooks · Wave