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.
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.
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.
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."
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 →
hoursas a decimal (1:30 becomes 1.5) - Team member →
first nameandlast 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.
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.
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?
How long does the migration take?
Can I run both during a transition period?
FreshBooks has accounting features. Does Miru?
What about FreshBooks' mobile app?
$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