Skip to content
Migration Harvest

How to Migrate from Harvest to Miru

Import Harvest time entries in your browser. Preview a CSV, match teammates and check your history before switching.

Vipul A M Vipul A M · · 2 min read
Teams
Miru team management screen with members and roles
This article is currently written in English. Navigation, dates, and calls to action follow your selected language.

You can now bring a Harvest Detailed Time CSV into Miru from your browser. Preview it first, match your teammates, then import the entries you have reviewed.

This imports time entries, clients and projects. It does not import expenses, invoices or payment records. Keep those exports separately.

1. Export the time history you need

In Harvest, open Reports → Detailed Time, choose your date range and export a CSV. Keep the original file. Harvest’s export instructions explain the available formats and custom columns.

Miru needs Date, Client, Project, Hours, First Name and Last Name. Include the billing-status and rate columns to carry that information over. The browser accepts CSV files up to 20 MB.

2. Create your workspace and add your team

Create a Miru workspace and add the teammates whose hours you are importing. Harvest names must match a Miru teammate, or be mapped to one in the preview. Mapping a name does not invite or create a person.

You must be a workspace owner or admin to import.

3. Preview, match people and import

Open Settings → Import Harvest. Choose your CSV and click Preview import. Previewing does not create clients, projects or time entries.

Review the dates, client and project names, unmatched people, warnings and row issues. Choose the correct teammate when a name differs. Fix any CSV errors and preview again after changing the file or mappings.

When the preview is correct, click Import time entries. The receipt shows imported, skipped and failed rows. It remains available after you reload the page.

Existing imported entries are checked for duplicates. Review warnings about archived records being restored or long names being shortened.

4. Reconcile before you invoice

Compare hours by person, project and date range with Harvest. Check notes and billable status. Hours are stored in whole minutes, so fractional-minute values are rounded.

Check project-member rates before creating a draft invoice from imported unbilled time. Existing rates are retained, and historical rate changes are not preserved per entry. Already-invoiced Harvest entries should remain billed, so they are not offered as new invoice items.

Keep Harvest available until the time history and any separate financial records are accounted for. The time needed depends on the size and quality of your export.

Prefer the CLI?

The same importer is available from the terminal:

curl -fsSL https://miru.so/install.sh | sh
miru login --email you@example.com
miru import --file harvest-time.csv --format harvest --dry-run

For a different teammate name, add --map "Jane Doe=jane@yourfirm.com" to the preview command. Resolve issues, then repeat the same command without --dry-run to import.

Need help? Ask about migration before sending a private team export. For a dedicated environment, see Managed Miru.

Open Harvest import, check pricing, or read the full migration guide.

Share:
Vipul A M

Vipul A M

Co-founder at Saeloun. Building Miru. Rails contributor. Shipping from Pune, India.

Put it to work

Run one cleaner billing cycle in Miru.

If this article is about tracking time, billing clients, comparing tools, or automating work, Miru is the product version of that idea. Start for $1/member, invite the team, and send the next invoice from tracked work.

What you get

  • Time tracking, invoices, expenses, and payments in one place.
  • $1 per member per month. Free if you self-host.
  • Open source, with CLI, API, MCP, and self-hosting paths.
See Miru

The article is the argument. Miru is the workflow.

Track the work, approve the hours, send the invoice, and get paid without bolting together three separate tools.

Teams
Miru team management screen with members and roles
Team Miru