Pike
  • Pricing
  • Contact us
Log in
  1. Home/
  2. Migration guide/
  3. Harvest
Harvest logoPike logo

Migration guide

Move from Harvest to Pike

Connect Harvest, run Import data, and keep Harvest syncing while teams move one at a time. Budget five weeks from connection to cutover, then one month-end in Pike.

Available now

Pike reads Harvest through the Harvest API, so clients, projects, rates, time and invoices import with their links intact.

  1. 1In Pike, go to Workspace settings → Integrations → Harvest, click Add integration, and sign in to Harvest as an administrator so Pike can read rates and cost rates on every project.
  2. 2Turn on Import Forecast if your team schedules in Harvest Forecast, and upload the Projects schedule export from Forecast.
  3. 3Click Import data. The stepper imports clients, contacts, projects, tasks, users, time entries, expenses and invoices, in that order.
  4. 4Turn on Keep syncing. Pike imports new Harvest time every 3 hours while the rest of the team finishes the month in Harvest.

Pike never writes to Harvest. A client or project deleted in Harvest shows as Removed in Harvest in Pike, with its history intact.

Available now

Use CSV when no Harvest administrator can authorize Pike, or when you bring over only part of your history.

  1. 1Export clients and contacts from Manage → Clients, then projects and people from their own lists, each as CSV.
  2. 2Run the Detailed time report for the period you keep, with archived items included, and export it as CSV. Harvest exports rounded and unrounded hours: map the unrounded column to `hours` unless you bill on rounded time.
  3. 3Keep invoice history in your accounting system and connect that system to Pike. The CSV route does not import invoices.
  4. 4Upload customers, contacts, projects, members, then time entries under Workspace settings → Integrations → CSV, using the Harvest column mapping.

Harvest's help centre lists no screen export for task and person rates per project. Check whether your project export includes them, or use Native sync, which reads them through the Harvest API.

Entity map

What each Harvest record becomes in Pike

Column one uses Harvest's own labels. Pike matches people on the email of each Harvest user.

Clients

Pike: Customers

Carries over: Name, address, currency, archived state.

You set in Pike: Customer number and VAT ID. The Harvest client record holds neither.

Template columns: customerName, mainCurrency

Client contacts

Pike: Customer contacts

Carries over: First and last name, title, email, office and mobile phone.

You set in Pike: Nothing.

Template columns: customerNumber, name, email, title, phone

Projects

Pike: Projects

Carries over: Name, code, client, project type (Time & Materials, Fixed Fee or Non-Billable), fee, budget, start and end dates, notes, archived state.

You set in Pike: Team, phases and project template.

Template columns: projectNumber, title, customerNumber, billingType, budgetAmount, budgetHours, hourlyRate, startDate, endDate

Tasks and task assignments

Pike: Tasks

Carries over: Task name, billable flag on each project, hourly rate when the project bills by Tasks, task budget.

You set in Pike: Assignees and status. Harvest tasks hold neither.

Template columns: title, projectNumber, billableStatus

Users and user assignments

Pike: Members

Carries over: Email, name, contractor flag, default billable rate, cost rate, weekly capacity, rate per project.

You set in Pike: Workspace role, team and position.

Template columns: email, displayName

Time entries

Pike: Time entries

Carries over: Date, hours, notes, billable flag, billed flag with the Harvest invoice number, approval status (unsubmitted, submitted, approved), the cost rate on the entry.

You set in Pike: Nothing.

Template columns: date, hours, email, projectNumber, taskTitle, note, billableStatus, approvalStatus, invoiced

Expenses

Pike: Expenses

Carries over: Date, amount, expense category, billable flag, approval status, receipt link.

You set in Pike: Nothing.

Template columns: date, amount, projectNumber, email, category, billableStatus

Invoices

Pike: Invoice history (read-only)

Carries over: Number, client, state (draft, open, paid, closed), line items.

You set in Pike: New invoices go out from Pike from cutover.

Forecast schedule export

Pike: Allocations

Carries over: Person, client, project and hours per week.

You set in Pike: Member names that differ between Forecast and Pike.

Template columns: email, projectNumber, startDate, endDate, hoursPerWeek

Harvest entityPike entityWhat carries overWhat you set in PikeTemplate columns
ClientsCustomersName, address, currency, archived state.Customer number and VAT ID. The Harvest client record holds neither.customerName, mainCurrency
Client contactsCustomer contactsFirst and last name, title, email, office and mobile phone.Nothing.customerNumber, name, email, title, phone
ProjectsProjectsName, code, client, project type (Time & Materials, Fixed Fee or Non-Billable), fee, budget, start and end dates, notes, archived state.Team, phases and project template.projectNumber, title, customerNumber, billingType, budgetAmount, budgetHours, hourlyRate, startDate, endDate
Tasks and task assignmentsTasksTask name, billable flag on each project, hourly rate when the project bills by Tasks, task budget.Assignees and status. Harvest tasks hold neither.title, projectNumber, billableStatus
Users and user assignmentsMembersEmail, name, contractor flag, default billable rate, cost rate, weekly capacity, rate per project.Workspace role, team and position.email, displayName
Time entriesTime entriesDate, hours, notes, billable flag, billed flag with the Harvest invoice number, approval status (unsubmitted, submitted, approved), the cost rate on the entry.Nothing.date, hours, email, projectNumber, taskTitle, note, billableStatus, approvalStatus, invoiced
ExpensesExpensesDate, amount, expense category, billable flag, approval status, receipt link.Nothing.date, amount, projectNumber, email, category, billableStatus
InvoicesInvoice history (read-only)Number, client, state (draft, open, paid, closed), line items.New invoices go out from Pike from cutover.
Forecast schedule exportAllocationsPerson, client, project and hours per week.Member names that differ between Forecast and Pike.email, projectNumber, startDate, endDate, hoursPerWeek

Harvest sets one Bill by option per project: Project, Tasks or People. Pike reads the hourly rate from that level, so a project billed by People brings each person’s project rate, or their default rate where the project uses default rates.

Hours Per Project, Hours Per Task and Hours Per Person import as hour budgets. Total Project Fees and Fees Per Task import as money budgets, and monthly budgets as budgets that reset each month.

Each Harvest time entry records the cost rate in force when it was logged. Pike stores that rate on the entry and sets the member’s cost profile from the current Harvest cost rate, so margin on past months matches Harvest.

The plan

Seven steps out of Harvest

The same steps as the main migration guide, with this tool's screens and settings.

  1. Week 1

    Migration owner, finance

    1

    1Week 1 · Migration owner, finance

    Freeze scope and export

    On Native sync Pike reads Harvest directly. The export in week one is your archive copy.

    • Pick a cutover Friday after your last Harvest invoice run of the month.
    • Run the Detailed time report for every year you keep outside Pike and save it as CSV.
    • List the projects that bill by Tasks or People, or use monthly budgets. You check these after the import.
    exports / rawdo not edit
    • customers.csvraw
    • projects.csvraw
    • tasks.csvraw
    • time-entries.csvraw
    • invoices.csvraw
    Cutover: Friday, week 5

    Done when: Archive exports in one folder, a cutover Friday on the calendar, and a Harvest administrator named to authorize Pike.

  2. Week 1 to 2

    Operations lead

    2

    2Week 1 to 2 · Operations lead

    Clean the data in Harvest

    Pike imports what Harvest holds, so merge and fill in inside Harvest before you click Import data.

    • Merge duplicate clients and archive clients with no open projects.
    • Give every active project a code. Pike uses it as the project number.
    • Check every active user has the email they will sign in to Pike with, and a cost rate.
    customers.csvbefore / after
    • Acme
    • ACME Ltd
    • Acme retainer

    Acme

    C-104 · T&M · 1,250/h

    Done when: No duplicate clients. Every active project has a code, a project type and a budget.

  3. Week 2

    Workspace admin

    3

    3Week 2 · Workspace admin

    Build the workspace shell

    Admins set up Pike first, so they can give imported projects a team on day one.

    • Create teams and workspace roles. Invite admins and project leads only.
    • Connect your accounting system and run its Import data, so finance sees ledger customers and invoices in Pike.
    • Set a cost profile for anyone who logs time and has no cost rate in Harvest.
    Workspace setup
    • Teams and roles
    • Templates and labels
    • Cost profiles12 of 12
    • Accounting connected
    • Invite everyoneweek 4

    Done when: Admins and leads are in Pike. Finance sees the same customer list as the ledger.

  4. Week 2 to 3

    Workspace admin

    4

    4Week 2 to 3 · Workspace admin

    Run Import data

    One click imports clients, projects, users and time in dependency order.

    • Turn on Read for every entity, and Import Forecast if you schedule in Forecast.
    • Click Import data and retry anything listed under Sync issues.
    • Open one project per Bill by option and compare budget, rate and last month’s hours with Harvest.
    Import datain order
    • Customers48
    • Projects112
    • Members19
    • Tasks1,430
    • Time entries
    • Deals

    Done when: Client, project, user and last-month hour counts match Harvest.

  5. Week 3 to 4

    Delivery lead, finance

    5

    5Week 3 to 4 · Delivery lead, finance

    One team in Pike, the rest in Harvest

    Turn on Keep syncing and move one team with a live client project and an invoice due.

    • The pilot team logs time in Pike only. Everyone else logs in Harvest, and Pike imports that time every 3 hours.
    • Finance approves the pilot team’s time in Time admin and sends one invoice from Pike in place of Harvest.
    • Compare the pilot project’s margin with its Harvest project analysis. A gap means a rate or cost rate needs a fix in Pike.

    Old tool

    Rest of team

    logs as before

    keep syncing

    Pike

    Pilot team

    approved, invoiced

    Done when: One invoice sent from Pike. Pilot time in Pike matches the same week in Harvest.

  6. Week 4 to 5

    Migration owner

    6

    6Week 4 to 5 · Migration owner

    Cutover weekend

    Close Harvest on Friday evening. Archive projects and people in Harvest in place of a read-only mode.

    • Friday: everyone submits, managers approve the week in Harvest, then an admin clicks Sync now in Pike and turns Keep syncing off.
    • Archive projects and people in Harvest, then lower the seat count in Harvest billing. Harvest charges for archived people until the seat count drops.
    • Monday: everyone logs time in Pike. Pin one message with links to log time, find tasks and ask for help.

    Fri

    Approve. Sync. Read-only.

    Sat, Sun

    Rest.

    Mon

    All in Pike. Demo at 10:00.

    Done when: Time admin shows every active member by Monday afternoon. Harvest shows no time after Friday.

  7. Week 5 to 8

    Finance

    7

    7Week 5 to 8 · Finance

    First month-end in Pike

    Done when finance closes a month without opening Harvest.

    • Approve all time, invoice every billable project from Pike and send the invoices to accounting.
    • Run Harvest’s uninvoiced report once more to catch Time & Materials hours nobody billed before cutover.
    • The account owner closes Harvest and downloads the data file Harvest emails. The download link works for one week.
    Baselinebefore / Pike
    Days to invoice
    Unbilled hours at close
    Margin by project

    Done when: Month closed in Pike. Harvest data file saved with two owners. Harvest account closed.

Rebuild

Set these up in Pike by hand

  • Open estimatesCreate them as deals with value and expected close date.Pike docs
  • RetainersSet up retainer projects with their period and allowance.Pike docs
  • Invoice layout and payment termsSet numbering, terms and layout in invoice settings.Pike docs
  • Timesheet approversChoose who approves time for each team in Time admin.Pike docs

Questions

Moving from Harvest: common questions

Does Pike know which Harvest hours we already invoiced?

Yes. Pike imports the billed flag and the Harvest invoice number on each time entry. Those hours show as invoiced and never appear on a new Pike invoice.

What happens to approved and locked Harvest time?

Harvest locks entries once they are approved or invoiced. Pike imports the approval status, so approved Harvest time is approved in Pike and needs no second approval.

Can we bring our Harvest Forecast schedule?

Yes. Harvest says Forecast has no public API, so Pike reads the Projects schedule export from Forecast when Import Forecast is on. Pike matches people by name, so fix any name that differs between Forecast and Pike first.

We bill some clients in another currency. What imports?

Pike imports the currency set on each Harvest client and project. Harvest relabels amounts without converting them, so check totals on those clients after the import.

Who on our side connects Harvest?

A Pike workspace admin adds the integration and a Harvest administrator signs in to authorize it. With an administrator login, Pike reads every project, rate and cost rate.

Support through the move and after it

Migration support comes with every plan: we map your exports, run the imports with you and check the counts before cutover. After go-live, hypercare until the first month-end closes in Pike. Then we hand over to your admins and stay close for as long as you use Pike. Email hello@usepike.com with your source tool and we will say which route fits.

  • Switch playbook
  • Harvest vs Pike
  • Harvest integration
  • Migration guide for every tool

Harvest documentation used for this guide

  • Harvest API v2 reference
  • Harvest: Exporting data
  • Harvest: Detailed time and detailed expense reports
  • Harvest: Managing clients
  • Harvest: Understanding the three project types
  • Harvest: Archiving, deleting and restoring people
  • Harvest: Cancelling your subscription or closing your account
  • Harvest: Does Forecast have an API
  • Harvest: Exporting the Forecast schedule
  • Harvest: Multiple currencies
  • Harvest: Uninvoiced report

Your business runs better on Pike.

Contact sales
  • ISO 27001 CertifiedISO 27001
  • GDPR CompliantGDPR
  • AICPA SOC 2 Type IISOC 2 Type II

Built to keep sensitive client data secure and private.

Pike box logoPike
Features
ProjectsResourcing & capacityFinance & invoicingDashboardsCustomers & salesTime & absencePike MCPIntegrations
Company
BlogOur storySwitch playbookMigration guideGet in touch
Industries
Creative agenciesMarketing agenciesDigital agenciesConsulting firmsIT consultanciesArchitecture firms
Resources
DocsChangelogPrivacy policyTerms and conditionsGlossaryFree toolsFAQ
All systems operational

Engineered around the 🌎

© 2026 Pike. All rights reserved.