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

Migration guide

Move from FunctionFox to Pike

Save FunctionFox Customizable Reports as CSV, upload them to Pike templates, and connect the accounting system you invoice from. Budget five to six weeks.

Available now

Every FunctionFox report saves as Excel, PDF, HTML or CSV, and the Customizable Reports (previously Data Exports) cover timesheets, projects and contacts, so you run one report per entity and save it as CSV.

  1. 1Go to Reports → My Reports, pick Customizable Reports in the Categories filter, and run Timesheets - Customizable, Project List - Customizable and Contacts - Customizable. Choose columns in Show Fields, click Run and Save, then save as CSV from the links at the bottom left.
  2. 2Copy clients from Clients → Manage with the Client State filter on All Clients, and task rates from Projects → Tasks for each rate category and project.
  3. 3Run Reports → Personnel Cost Rate Report and save it as CSV for each member’s cost rate.
  4. 4Upload customers, contacts, projects, members, tasks, then time entries under Workspace settings → Integrations → CSV, using the FunctionFox column mapping.

Report pickers list archived projects only when you tick Show Archived in the Project drop-down. Tick it on every report so closed work comes across with its time.

Available now

FunctionFox’s help centre documents no accounting integration: its Invoicing add-on creates invoices inside FunctionFox. Connect the accounting system your finance team invoices from, so Pike works from the same customer list.

  1. 1Connect your accounting system under Workspace settings → Integrations and run Import data before you upload any FunctionFox CSV. Pike imports customers and any invoices finance entered in the ledger.
  2. 2Use the ledger customer numbers as `customerNumber`, or the FunctionFox Client Code where your account uses client codes.
  3. 3Save each FunctionFox invoice as PDF from Invoicing → List Invoices for the archive. Pike does not import invoices by CSV.

From cutover, finance sends invoices from Pike, and Pike sends them to the connected accounting system.

Entity map

What each FunctionFox record becomes in Pike

Column one uses FunctionFox’s default labels. Accounts can rename Client, Project and Task under **Settings & Preferences → Account Preferences → Naming**, so your screens may show other words. A FunctionFox task is a billable service with an hourly rate, not a to-do.

Clients

Pike: Customers

Carries over: Client name, Client Code (if your account uses it), rate category.

You set in Pike: Currency and VAT ID.

Template columns: customerName, customerNumber, mainCurrency

Contacts

Pike: Customer contacts

Carries over: Contact details linked to a client, from Contacts - Customizable.

You set in Pike: A customer number on each contact row.

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

Projects

Pike: Projects

Carries over: Project Code (unique, required), name, client, scope, project manager, start and due date, status, project type.

You set in Pike: A billing type. Check whether your Project List - Customizable export includes estimates.

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

Tasks and rate categories

Pike: Tasks and project hourly rate

Carries over: Task name and hourly rate per project. A task with a $0 rate is non-billable.

You set in Pike: One `hourlyRate` per project. Where tasks on a project carry different rates, use the most common rate.

Template columns: title, projectNumber, billableStatus

Timesheet entries

Pike: Time entries

Carries over: Date, personnel, client, project, task, hours. Check whether your export includes the description and approval state.

You set in Pike: Set `billableStatus` from the task rate, and `approvalStatus` to `approved` for entries approved in FunctionFox.

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

Personnel

Pike: Members

Carries over: Last and first name, username, email, department group, project manager flag. The help centre documents no personnel export, so copy them from Personnel → Manage.

You set in Pike: Workspace role, team and cost profile.

Template columns: email, displayName, team

Expenses

Pike: Expenses

Carries over: Client, project, personnel, vendor, entry date, item. Run the Expense Report as CSV and check whether it includes amounts per row.

You set in Pike: Expense categories from your FunctionFox expense items.

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

Invoices (Invoicing add-on)

Pike: Invoice history from accounting

Carries over: No CSV import. Pike imports invoices from the accounting system where finance recorded them.

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

FunctionFox entityPike entityWhat carries overWhat you set in PikeTemplate columns
ClientsCustomersClient name, Client Code (if your account uses it), rate category.Currency and VAT ID.customerName, customerNumber, mainCurrency
ContactsCustomer contactsContact details linked to a client, from Contacts - Customizable.A customer number on each contact row.customerNumber, name, email, title, phone
ProjectsProjectsProject Code (unique, required), name, client, scope, project manager, start and due date, status, project type.A billing type. Check whether your Project List - Customizable export includes estimates.projectNumber, title, customerNumber, status, billingType, budgetAmount, budgetHours, startDate, endDate, leadEmail
Tasks and rate categoriesTasks and project hourly rateTask name and hourly rate per project. A task with a $0 rate is non-billable.One `hourlyRate` per project. Where tasks on a project carry different rates, use the most common rate.title, projectNumber, billableStatus
Timesheet entriesTime entriesDate, personnel, client, project, task, hours. Check whether your export includes the description and approval state.Set `billableStatus` from the task rate, and `approvalStatus` to `approved` for entries approved in FunctionFox.date, hours, email, projectNumber, taskTitle, note, billableStatus, approvalStatus
PersonnelMembersLast and first name, username, email, department group, project manager flag. The help centre documents no personnel export, so copy them from Personnel → Manage.Workspace role, team and cost profile.email, displayName, team
ExpensesExpensesClient, project, personnel, vendor, entry date, item. Run the Expense Report as CSV and check whether it includes amounts per row.Expense categories from your FunctionFox expense items.date, amount, projectNumber, email, category, description, billableStatus
Invoices (Invoicing add-on)Invoice history from accountingNo CSV import. Pike imports invoices from the accounting system where finance recorded them.New invoices go out from Pike from cutover.

FunctionFox sets bill rates on tasks, grouped in rate categories and applied per client or project, and does not support billable rates by person. Pike takes one `hourlyRate` per project, so copy the task rate your team bills most on each project.

A task-based estimate records estimated hours per task, and a project-level estimate records Estimated Hours and Estimated Fees. Fill `budgetHours` and `budgetAmount` from those. A retainer applies a monthly budget of hours or fees across a client’s projects for up to 24 months.

Personnel Cost Rates carry an effective date and apply to time tracked from that date. Set each Pike cost profile from the current rate on the Personnel Cost Rate report.

The plan

Seven steps out of FunctionFox

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

    The CSV route copies a snapshot. Run every report the same day with Show Archived ticked.

    • Pick a cutover Friday after the month’s invoices go out.
    • Save the Timesheets, Project List and Contacts Customizable Reports, the Expense Report and the Personnel Cost Rate Report as CSV. Copy clients and task rates into a sheet.
    • Keep the raw files unchanged in one folder with the invoice PDFs. This folder is your archive of FunctionFox history.
    exports / rawdo not edit
    • customers.csvraw
    • projects.csvraw
    • tasks.csvraw
    • time-entries.csvraw
    • invoices.csvraw
    Cutover: Friday, week 5

    Done when: Every FunctionFox report and the client and rate sheet in one dated folder, and a cutover Friday on the calendar.

  2. Week 1 to 2

    Operations lead

    2

    2Week 1 to 2 · Operations lead

    Clean the exported files

    Clean the CSV files. Nobody edits FunctionFox after export day.

    • Use the FunctionFox Project Code as `projectNumber` on every project and timesheet row.
    • Map projects with fixed estimated fees to `fixedFee` and the rest to `timeAndMaterials`. Projects for your own business map to `nonBillable`.
    • Fill `email` on every timesheet row from the personnel list. Pike matches time rows to members by email.
    customers.csvbefore / after
    • Acme
    • ACME Ltd
    • Acme retainer

    Acme

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

    Done when: Every open project has a code, a customer number, a billing type and an estimate.

  3. Week 2

    Workspace admin

    3

    3Week 2 · Workspace admin

    Build the workspace shell

    Admins set up Pike before the first upload, so they can give imported projects a team and a rate on day one.

    • Create teams from your FunctionFox department groups and workspace roles from access levels. Invite admins and project managers only.
    • Connect your accounting system and run Import data.
    • Set a cost profile for each member from the Personnel Cost Rate report.
    Workspace setup
    • Teams and roles
    • Templates and labels
    • Cost profiles12 of 12
    • Accounting connected
    • Invite everyoneweek 4

    Done when: Finance sees the ledger’s customers in Pike. Every billable person has a cost profile.

  4. Week 2 to 3

    Workspace admin

    4

    4Week 2 to 3 · Workspace admin

    Upload in dependency order

    Customers, contacts and projects, then members, tasks and time. Pike reports a row it cannot match with its line number.

    • Download each Pike template first, then upload under Workspace settings → Integrations → CSV. Re-upload fixed rows: Pike matches on the key and updates the record.
    • Rebuild each FunctionFox retainer as a Pike retainer with its monthly hours or fee.
    • Spot check three projects against the FunctionFox CEO Desktop: estimate, rate and last month’s hours.
    Import datain order
    • Customers48
    • Projects112
    • Members19
    • Tasks1,430
    • Time entries
    • Deals

    Done when: Client, project, personnel and last-month hour counts match FunctionFox.

  5. Week 3 to 5

    Delivery lead, finance

    5

    5Week 3 to 5 · Delivery lead, finance

    One team in Pike, the rest in FunctionFox

    CSV has no ongoing sync, so the pilot team moves fully to Pike while everyone else tracks time on the FunctionFox Timesheet.

    • The pilot team logs time in Pike only. Everyone else tracks time in FunctionFox.
    • Finance approves pilot time in Time admin and sends one invoice from Pike in place of a FunctionFox invoice.
    • Compare the pilot project’s margin with the FunctionFox Personnel Cost Rate report. A gap means a rate or cost profile 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 the FunctionFox Project Report.

  6. Week 5 to 6

    Migration owner

    6

    6Week 5 to 6 · Migration owner

    Cutover weekend

    Close FunctionFox on Friday evening. Everyone opens Pike on Monday.

    • Friday: project managers approve the week under Timesheets → Approve Timesheet (90 days at most per selection). Save Timesheets - Customizable for the dates since the first export and upload those rows.
    • Use Lock Projects with Friday as the lock date, so nobody adds or edits FunctionFox time after cutover.
    • Archive each user under Personnel → Manage, which deactivates their login and saves their data for reports. Email the FunctionFox Billing Department when you archive users you will not replace.

    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. FunctionFox shows no time after Friday.

  7. Week 6 to 9

    Finance

    7

    7Week 6 to 9 · Finance

    First month-end in Pike

    Done when finance closes a month without opening FunctionFox.

    • Approve all time, invoice every billable project from Pike, and check each invoice appears in your accounting system.
    • Run the FunctionFox Project Report for billable hours from before cutover that no invoice covers, and bill them from Pike.
    • Save every report again as CSV, then ask FunctionFox billing how to close the account. The help centre does not describe cancellation or data retention.
    Baselinebefore / Pike
    Days to invoice
    Unbilled hours at close
    Margin by project

    Done when: Month closed in Pike. Final FunctionFox reports saved with two owners.

Rebuild

Set these up in Pike by hand

  • RetainersSet up retainer projects with their period and allowance.Pike docs
  • Rate categoriesSet bill rates on projects and tasks from your rate categories.Pike docs
  • Personnel Cost RatesCreate a cost profile per member from their cost rate.Pike docs
  • Timesheet approversChoose who approves time for each team in Time admin.Pike docs
  • Invoice layout and numberingSet numbering, terms and layout in invoice settings.Pike docs

Questions

Moving from FunctionFox: common questions

Why are closed projects missing from our report?

Report pickers list archived projects only when you tick Show Archived in the Project drop-down. Tick it and run the report again.

How do FunctionFox tasks map to Pike?

A FunctionFox task is a billable service with an hourly rate. Upload the tasks on each open project as Pike tasks so time rows can reference them, and set the rate on the Pike project.

How do we mark non-billable time?

FunctionFox counts any task with a $0 rate as non-billable. Set `billableStatus` to `nonBillable` on time rows for those tasks.

Can Pike import our FunctionFox invoices?

Not through CSV, and FunctionFox documents no accounting integration. If finance recorded FunctionFox invoices in the ledger, connect it to Pike and Pike imports them from there.

What happens to a user we archive in FunctionFox?

Archiving deactivates the login and removes the user from active users, and their data remains available in reports. Tell the FunctionFox Billing Department if you will not replace them.

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
  • Migration guide for every tool

FunctionFox documentation used for this guide

  • FunctionFox: Reporting in FunctionFox
  • FunctionFox: Customizable Reports
  • FunctionFox: Custom Fields
  • FunctionFox: Personnel Cost Rate Report
  • FunctionFox: Step 3: Add Tasks & Rate Categories
  • FunctionFox: Step 4: Add Clients
  • FunctionFox: Step 5: Add Projects
  • FunctionFox: Step 1: Add Personnel
  • FunctionFox: Project Estimates
  • FunctionFox: Retainer Tracking
  • FunctionFox: Expenses
  • FunctionFox: Advanced Timesheet Management
  • FunctionFox: Closing & Archiving
  • FunctionFox: Invoicing Add-On
  • FunctionFox: FAQ

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.