Off the tabs. Without losing the history.
The customer list, the job notes, the price list, and who still owes you, out of the tabs you sync by hand and into one connected record, with a validation step before anything goes live.

Is it time?
The signs shops leave Spreadsheets on.
The sheet has a keeper
One person knows which tab is true. When the record needs a human index, the record is the bottleneck.
Versions disagree
The truck’s copy, the office copy, and the email attachment all diverge by Friday. One record ends the merge.
Balances are a hunt
Who owes what should be a column you trust, not a cross-tab investigation at month end.
What comes over
The history is yours. It comes along.
- Customers, contacts, and locations
- Outstanding balances
- The price list: landing as your price book
- Open jobs, mapped from your columns
- Notes and tags
- Team members
And what doesn’t: said here, not discovered later.
Itemized invoice history
Past invoices and payments come over as opening balances, not reconstructed line items. We will not invent detail your sheet never held.
Photos and loose files
Files that live outside the sheet do not migrate in the load. New work attaches everything to the job from day one.
Whatever the columns cannot say
Mapping quality follows the sheet’s structure. The dry run shows exactly what mapped, and what needs a human look, before you approve.
Moving day
Leave without looking back.
The history comes with you, validated line by line. The only thing left behind is the bill.
How migration works
Nine steps. Not “import, then hope.”
01
Export
Pulled through the API or their export. Nothing is retyped by hand.
02
Mapping
Fields land in their Thorbis homes, custom fields and tags included.
03
Staging
A separate copy, away from anything live. The live shop is not the test environment.
04
Validation
A report you read: record counts, balances, unmapped fields. You sign off.
05
Parallel operation
Their system stays up beside the board while you confirm the data matches.
06
Cutover
Live when you approve it. You pick the morning, not a go-live calendar.
07
Reconciliation
Key totals compared against the old system. Money has to match or it waits.
08
Rollback prep
The original export is retained, so the load can re-run if something is wrong.
09
Post-launch review
Flagged records walked through with you. Nothing left in limbo.
No fixed clock is promised. The load is verified, and both systems run in parallel until you call the board the record.
Cutover controls
The switch is kept boring on purpose.
01
A freeze window
A short window where the old system stops changing, so the final delta is clean.
02
Owner sign-off
Nothing cuts over until the validation report has a name on it.
03
An exception list
Anything the importer could not map cleanly is flagged for review, not silently dropped.
04
Rollback notes
What we would do if Monday is wrong, written down before Monday.
Asked before the switch
Straight answers.
My spreadsheet is messy. Can it still come in?
Usually, yes. The columns are reviewed and mapped, and the validation report shows exactly what landed where. The two columns that do not map get a human decision, not a silent drop.
Do I lose the history I built up?
The customer list, notes, price list, and balances transfer. Detailed old invoices become opening balances, stated plainly, because pretending to itemize them would be inventing records.
Do I have to set everything up at once?
No. Start with the loop (customers, scheduling, estimates, invoices, payments) and turn on more when the business asks for it.
Coming from somewhere else?
Start
Bring the history. Leave the mess.
Standard migration is in Core. You do not buy a project to leave the software you already paid for. The dry run is yours to reject.
Coming from a suite? We’ll extract your records.
Rather talk first? Email the team.

