Skip to content
Migration Guide

Stop paying $70/month
for invoicing.

FreshBooks was great in 2015. Then they discovered pricing tiers, feature-gating, and the dark art of charging more every year for the same product. There's a better way.

app.miru.so
Your new Miru dashboard

The FreshBooks pricing problem

$23 / $43 / $70 per month

FreshBooks Lite is $23/month for 5 clients. Plus is $43/month for 50 clients. Premium is $70/month for unlimited. And those prices keep climbing. Miru is $1/member/month for unlimited everything. No tiers. No client limits.

Feature-gating everywhere

Want expense tracking on FreshBooks? Pay more. Want proposals? Pay more. Want more than 5 clients? Pay more. Miru doesn't gate features behind pricing tiers. Every member gets time tracking, invoicing, expenses, CLI, and Stripe payments. All of it, for $1 a month each.

Closed source, their rules

FreshBooks is a black box. You can't self-host it. You can't audit the code. You can't export your data in a format that works anywhere else without effort. Miru is MIT-licensed, open source, and self-hostable. Your data, your infrastructure, your rules.

The math is embarrassing

FreshBooks Premium for a 10-person team: $70/month + 9 × $11 = $169/month = $2,028/year. Miru for the same team: $10/month = $120/year. You save $1,908/year. And every member gets time tracking, invoicing, and expenses. No $11-per-user add-on.

Five steps. Ten minutes. Real savings.

1

Export your FreshBooks data

In FreshBooks, go to Reports > Time Entry Details, set the date range to cover everything you want to keep, then More Actions > Export for Excel. It downloads a CSV. Export your client list from Clients and your expenses from Expenses the same way, and keep those files for your records.

2

Sign up for Miru

app.miru.so/signup. Create your organization. $1 per member per month, full features. No annual commitment. No "let me transfer you to sales."

3

Import your history via CLI (one spreadsheet edit first)

Miru's importer expects six headers: date, client, project, hours, first name, last name. Open the export in a spreadsheet, rename them, save. The CLI creates clients and projects as it goes. Only time entries import; clients and projects are created from them. Keep your FreshBooks invoice and expense exports for your records.

  • Entry date → date, client → client, project → project
  • Hours → hours as a decimal (1:30 becomes 1.5)
  • Team member → first name and last name; notes → notes
$ curl -fsSL https://miru.so/install.sh | sh
$ miru login
$ miru import --file freshbooks-time.csv --format harvest --dry-run
$ miru import --file freshbooks-time.csv --format harvest --map "Full Name=email@example.com"

The dry run lists any team member it cannot match; map them with --map "Full Name=email@example.com" and run it again, or pass --assign-unmatched-to you@example.com. Prefer not to touch a spreadsheet? Email your export to hello@saeloun.com and we'll import it for you.

4

Invite your team and connect Stripe

Invite your team members from Team > Invite. Then connect your Stripe account in Settings > Payments. If you were already using Stripe with FreshBooks, you can use the same Stripe account — just connect it to Miru. Your clients' saved payment methods carry over through Stripe.

5

Cancel FreshBooks

Settings > Billing > Cancel. They'll try to win you back with a discount. Do the math on what you're saving and close the tab. The $70/month you were paying FreshBooks can go toward literally anything else. A nice lunch for your team. A month of a tool that actually respects your budget.

Questions you'll have

Will I lose my client and invoice data?
Your time entries come with you, and the importer creates every client and project they mention. Clients you only ever invoiced take a minute each under Clients > New. Invoices, expenses and payments do not import: export those from FreshBooks as PDF or CSV before you cancel and keep them for your records. Let unpaid FreshBooks invoices settle while you run both; new invoices start in Miru.
How long does the migration take?
Export from FreshBooks: 2 minutes. Renaming the columns in a spreadsheet: 5 minutes. Miru signup: 1 minute. Import: seconds. Dry run and name mapping: 1 minute. Team invites: 2 minutes. Total: about 10 minutes of actual work.
Can I run both during a transition period?
Yes. Many teams run FreshBooks and Miru side by side for a billing cycle. Send your next round of invoices from Miru. When you see clients paying through Stripe with zero issues, cancel FreshBooks.
FreshBooks has accounting features. Does Miru?
Miru is not an accounting tool and doesn't pretend to be. It handles time tracking, invoicing, expenses, and payments — the operational side. For accounting, export your Miru data to your accountant's tool of choice. We don't try to be QuickBooks. We try to be the best billing tool for teams that track time.
What about FreshBooks' mobile app?
Miru's web app is fully responsive and works on mobile browsers. Native iOS and Android apps are in beta on TestFlight and Google Play internal testing. Email hello@saeloun.com for early access. The CLI works on any machine with a terminal.

$70/month is a lot for invoicing.

Miru does invoicing, time tracking, expenses, and payments for $1/member/month.

One plan. No tiers. See pricing · All migration guides