To request a migration, email support@beebole.com. Tell us which legacy account to import, which account it should land in, and how far back you want time records. There is no self-service migration screen in the app.
What gets migrated
A few details worth knowing about the conversion:
- Rate currency. A legacy rate that carries no currency of its own — split rates and unbillable rates never do — falls back to the migrated account’s own currency, taken from the main company, rather than to a default like US dollars.
- Clock times. An entry with a complete, same-day start and end time keeps both. Anything else — no times, only one of the two, an end at or before the start — becomes a whole-day entry. Either way the entry’s duration stays exactly what legacy reported, so report totals never move because times were imported.
- Custom field history. A legacy field that held a history of values collapses to a single value in the new account, and the most recent one wins.
- “No task” projects. A legacy project set to offer no activity at all keeps that behavior: its task picker offers nothing.
- External IDs. Every legacy external ID becomes the value of a text custom field named External ID, visible on people and on the migrated project categories. Integrations that matched records on that ID read it back through the API, where custom field values are exposed like any other data.
Role mapping
Legacy user groups become the built-in roles of the new platform. Per-user permission settings from Legacy are not carried over, so review the role grid after the import — in particular if contractors need less access than employees, since both land in the same role.Data can only be migrated as is. You can choose which data sets to bring over — for example people and projects but no time records — and how far back time records go, but not to restructure the account on the way in. If you want a different structure, see Review your structure before you switch.
What to expect after the migration
The imported history is treated as closed business, so nobody has to re-submit years of timesheets:- Everything up to the cut-over is approved. Each person gets a single approval covering their whole imported history, so no migrated period shows up as a draft, nothing reaches an approver’s queue, and no approval email is ever sent for it.
- The timesheet lock date is set to the last imported day. Migrated records are frozen from the start — admins included — and a period the lock date covers cannot be submitted, so imported history can’t be pushed back into the approval flow by hand.
- Timesheet scores ignore pre-import periods. A person’s timesheet score is computed only from periods after the cut-over, so periods they never worked in the new app don’t read as missed submissions.
- Imported entries keep the amounts legacy reported. Billing and cost figures on migrated entries come from the legacy account, so report totals reconcile with what you saw before the move.
- Nobody is notified. Migrating people creates their records without sending invitations. Invite them from the People page in the sidebar when you are ready.
Related content
Migration guide
How the legacy and new systems coexist, and what has changed between them.
Master data review
Check the imported configuration entity by entity, and fix it in bulk.
Account settings
Review the organization profile and account-level settings after the import.
Data exports
Export your Beebole data for backup or external analysis.
Frequently asked questions
How do I migrate my legacy Beebole account?
How do I migrate my legacy Beebole account?
Email support@beebole.com and we run the import for you. Beebole has no self-service migration screen: tell us which legacy account to import, which new account it should land in, which data sets you want, and how far back time records should go.
Can a Beebole account be migrated more than once?
Can a Beebole account be migrated more than once?
No. The migration is additive and runs once per account — a second run would duplicate everything, so Beebole refuses it. If something needs to be corrected afterwards, contact support and we will look at it with you.
Can I migrate only part of my legacy data?
Can I migrate only part of my legacy data?
Yes. You can leave out whole data sets — for example bring over people and projects but no time records — and set a start date so only recent entries are imported. What you cannot do is change the structure on the way in: the hierarchy, rates, and settings arrive as they were.
Will migrated timesheets need to be submitted and approved again?
Will migrated timesheets need to be submitted and approved again?
No. Beebole marks every imported period as approved and sets the timesheet lock date to the last imported day, so migrated history is frozen and closed. Approvers see nothing new in their queue, and per-person timesheet scores start from the periods after the migration.
Will migrated people receive an invitation email?
Will migrated people receive an invitation email?
No. Migrating people creates their records in Beebole without sending anything. Invite them from the People page in the sidebar whenever you are ready for them to sign in.
How do legacy user groups map to roles in the new Beebole?
How do legacy user groups map to roles in the new Beebole?
Administrators become Admin, employees and contractors both become Employee, team leaders become People manager, and project managers become Project manager; any unrecognized group falls back to Employee. Legacy per-user permission tweaks are not migrated, so adjust the roles — or duplicate one for contractors — once the import is done.
Where do the legacy external IDs end up?
Where do the legacy external IDs end up?
In a text custom field named External ID, created by the migration and visible on people and on the migrated project categories. You can read and edit it like any custom field, and scripts reach it through the API’s custom field queries and mutations.