STEP 1: EXPORT from Harvest
Export the following CSV files from Harvest (instructions and locations for exports are below)
- Clients List (harvest_client_list.csv)
- Contacts List (harvest_contact_list.csv)
- Projects List (harvest_project_list.csv)
- Time Report (harvest_time_report.csv)
- Expenses (harvest_expense_report.csv)
- Invoices (harvest_invoice_report.csv)
- Invoices Line Items (harvest_invoice_line_item_report.csv)
Clients List can be found on the Clients page
- Navigate to the Clients page
- Select Import/Export
- Select Export Clients

Contacts List can be found on the Clients page
- Navigate to the Clients page
- Select Import/Export
- Select Export Contacts

The Projects List can be found on the Projects page
- Select Export
- Select Active tab
- Select CSV as the format
- Select Export projects

Time Report can be found on the Settings page
- Select Import/Export tab
- Select Export all time button

Expenses can be found on the Reports page
- Select Import/Export tab
- Select Export all expenses button

Invoices (+ Invoice Line Items) can be found on the Reports page
- Select the Invoicing tab
- Year dropdown filter, select All Time (or desired range)
- Select Export dropdown
- Select Export Invoices to CSV
- Select Export Line Items to CSV


STEP 2: IMPORT into hrglass
1. Open the importer
Go to Settings → Import Data and choose Harvest → hrglass.
2. Choose what to bring over
At the top of the wizard, tick the data you want to import:
- Clients & contacts — always imported; this is the baseline.
- Projects & tasks — requires both your Projects CSV and your Time entries CSV. Harvest keeps task names inside the time report, so we need that file to build your task list even if you do not import the hours themselves.
- Time entries — optional; imports the dated hours from the same Time entries CSV.
- Expenses — optional; requires Projects & tasks.
- Invoices — optional; requires Projects & tasks. You can also upload an optional Invoice line items CSV for cleaner, per-line detail.
3. Upload and map your CSVs
For each stage:
- Upload the CSV from Harvest.
- Review the column mapping. hrglass will try to auto-match common headers. If you exported project notes, the Notes field should map automatically to Harvest’s Project Notes column.
- Resolve any issues. Rows flagged “needs attention” are usually tied to projects that were archived in Harvest — archived projects do not appear in the Projects export, but their time entries still do. Un-archive those projects in Harvest, re-export, and re-run that stage if you need them.
4. Review duplicates and links
- Existing clients, projects, and contacts in hrglass are matched by name to avoid duplicates.
- Invoices can be linked to projects manually or automatically using the project linker.
- Expenses that cannot be matched to a project are labeled as likely belonging to an archived Harvest project.
5. Import and finish
Commit each stage in order. Once all selected stages are complete, the summary shows what was created and a link back to your Dashboard.
Tips
- You can run a partial import (for example, only Clients & contacts), then return later and add Projects, Time entries, Expenses, or Invoices.
- Unmatched people from your Harvest team are automatically attributed to the workspace owner by default; turn this off if you prefer to skip them and see a list instead.
- Keep your CSVs in plain UTF-8 with their original headers for the most reliable mapping.