How to Migrate from QuickBooks Time to Klees Without Losing Data
A QuickBooks Time to Klees migration playbook — CSV export fields, cost-code mapping, payroll cutover, and the 7-day timeline that prevents data loss.
TL;DR
- QuickBooks Time exports to CSV cleanly across employees, customers, jobs, cost codes, and time entries.
- The Klees CSV importer handles those fields in one upload — no manual rebuilding.
- The migration runs in 7 calendar days end-to-end, with a parallel payroll on day 6 to verify cost-code mapping.
- The risk isn’t data loss — it’s cost-code mismatches at payroll cutover. Plan for a 2-hour reconciliation buffer.
- Most operators recover the migration cost in the first month from reduced seat fees, eliminated buddy punching, and faster payroll close.
QuickBooks Time customers move to Klees for a handful of reasons that show up consistently in our intake calls: bilingual UI for crews that need it, PinShot selfie verification to close the buddy-punching gap, lower seat fees at 25+ users, and multi-state payroll consolidation. The decision to switch usually isn’t hard. What stalls the project is the worry that something will break — that historical time entries will get lost, that cost codes won’t map, that the first payroll on the new system will be wrong.
None of those concerns hold up if the migration is run methodically. This is the playbook I give every QuickBooks Time customer making this move. It works for crews of 5 to 250 on QuickBooks Time Premium, Elite, or the legacy TSheets product. Larger and more complex setups extend by a few days, not weeks.
For the broader pricing context that usually drives this decision, see why QuickBooks Time costs you 2x what it should.
What data lives in QuickBooks Time?
Before exporting, it helps to know what you actually have. QuickBooks Time stores five categories of data that matter for migration:
- Employee records — name, email, wage rate, role, status
- Customer / job records — name, address, customer ID, status
- Cost codes / service items — full list with descriptions and billable status
- Time entries — historical clock-in/out records, GPS, notes
- Approval and payroll history — approved timesheets, payroll exports
For migration purposes, you’ll export the first three in full, the fourth as a backup, and leave the fifth in place as the historical record.
Step 1 (Day 1): Export from QuickBooks Time
QuickBooks Time supports CSV export from the Reports section. The exports you need:
| Export | Where in QBT | What it contains |
|---|---|---|
| Employees | Reports → Employee | Roster, wage rates, status |
| Customers / Jobs | Reports → Customer | Customer hierarchy, sub-jobs |
| Service items | Settings → Time Tracking | Cost code list |
| Time entries (last 90 days) | Reports → Approved Time | Historical entries for backup |
| Geofence settings | Settings → Geofencing | Site coordinates and radii |
Save all five CSVs to a working folder. Don’t modify them yet — the audit pass comes next.
Step 2 (Day 1): Audit the exports
The biggest migration risk is importing dirty data into the new system. QuickBooks Time customers who’ve been on the platform 3+ years almost always have:
- Inactive employees still on the roster
- Customer records for accounts ended years ago
- Duplicate cost codes from naming-convention changes
- Sub-jobs nested 4 levels deep when 2 levels is plenty
Spend 30–60 minutes cleaning the CSVs in a spreadsheet:
- Remove employees marked inactive longer than 6 months
- Remove customers with no active jobs and no time entries in 6 months
- Consolidate duplicate cost codes (keep the most-used naming)
- Flatten over-nested customer hierarchies to a 2-level structure (customer → site)
Operators who skip this step end up importing 1,200 stale cost codes from the last decade and confusing their foremen for weeks. The 30 minutes of cleanup is the highest-ROI work in the entire migration.
Step 3 (Day 2): Import into Klees
The Klees CSV importer accepts the cleaned files in one workflow:
- Upload employees CSV — Klees auto-detects QuickBooks Time field naming
- Upload customers CSV — Klees maps customer → site relationships
- Upload service items CSV — these become Klees cost codes
- Verify the import preview before committing
- Commit the import
Three things to configure manually after import:
- Geofences — copy coordinates from the QBT geofence export; Klees defaults to 100m radius if not specified
- Foreman roles — assign which employees have Crew Clock and approval permissions
- Language defaults — set EN/ES/PT per employee based on their primary language
The 7-day construction migration playbook covers the configuration steps in more depth.

Step 4 (Day 3): Foreman training
Foremen are the single biggest predictor of migration success. Pull them for a 60-minute walkthrough covering:
- Individual clock-in flow with PinShot
- Crew Clock batch operation
- Job/cost-code switching mid-shift
- Approving the daily timesheet
- Reading the Live Map
- Handling missed clock-outs
Run the session in the foreman’s primary language. If half your foremen are Spanish-primary, run a Spanish session — don’t translate slides. Klees ships full Spanish and Portuguese UI, so the in-app experience matches whatever you train in.
For bilingual training specifics, see the bilingual cleaning crew article — same training pattern applies to construction crews with bilingual foremen.
Step 5 (Day 4): Pilot with one crew
Pick one crew. Ideally a foreman who isn’t allergic to change. Run that crew on Klees for one full shift. QuickBooks Time stays active for everyone else.
What you’re checking:
- Did every worker clock in cleanly?
- Did PinShot capture without false rejections?
- Did geofences behave correctly?
- Did Live Map show the crew where you expected?
- Did the end-of-shift export match the foreman’s hand-count?
- Did cost codes assign correctly?
If anything fails, fix it before day 5. Most pilots pass cleanly because the import preview on day 2 catches the structural problems.
Step 6 (Day 5): Full crew rollout
Every worker moves to Klees this morning. QuickBooks Time stays active as a backup for a few more days but the operational system of record is now Klees.
Three rules:
- Foremen run the first clock-in. Every foreman walks their crew through the first Crew Clock or individual clock-in.
- Office staff stay reachable. One person in the office on phone duty for two hours.
- No payroll changes today. Operational adoption is the only goal.
For larger operators with multiple sites, run rollout state-by-state or region-by-region rather than all at once. The Alta Janitorial case study documents Alta’s state-by-state rollout across 5 Western states.
Step 7 (Day 6): Parallel payroll run
The first full pay period after rollout, you run payroll twice — once from QuickBooks Time, once from Klees — and compare. This is where cost-code mismatches surface.
The reconciliation checklist:
- Total payroll hours within ±0.5% across systems
- Each cost code totals within $50 across systems
- Overtime calculation matches state rules
- Prevailing-wage projects roll up correctly
- Multi-state allocation matches if applicable
If the totals reconcile, the migration succeeded. If they don’t, the gap is almost always a cost-code mapping issue, fixable in 30 minutes in the Klees admin. Klees integrates with QuickBooks Online and Desktop via the standard connector, so the payroll export feeds the same QuickBooks instance you’ve been using.
For multi-state operators, the IRS withholding reference is the standard guide for verifying state tax handling during the parallel run.
Step 8 (Day 7): Shut down QuickBooks Time
The final step is the one operators most often forget: actually shut down QuickBooks Time. If you leave it running “just in case,” foremen drift back to it and dual entry creeps in.
Cutover steps:
- Final export from QuickBooks Time for archive (CSV + PDF backup)
- Cancel QuickBooks Time seats (stop the bill)
- Notify foremen that QBT is read-only as of today
- Update payroll documentation and SOPs
- Schedule a 30-day check-in to review variance
The bill from QuickBooks Time stops the next billing cycle. For most operators, the seat-fee savings alone pay for the first month of Klees, then continue indefinitely.
What you keep, what you archive
A common question: do I need to import 5 years of historical time entries into Klees?
Almost always no. The cleaner approach:
- Keep in Klees — current employees, active customers, active cost codes, current geofences
- Archive from QuickBooks Time — historical time entries (CSV + PDF), old payroll runs, terminated employees, closed customer records
Klees defaults to a 7-year retention on new entries, which covers the standard FLSA audit window plus the additional retention some prevailing-wage projects require. Historical QuickBooks Time data lives in your CSV archive and your QuickBooks Online instance for reference.
FAQ
How long does the full migration take?
Seven calendar days end-to-end for a standard 10–100 person crew. Larger and more complex operations (multi-state, multi-language, complex prevailing-wage structures) extend to 10–14 days.
Can I run QuickBooks Time and Klees in parallel longer than a week?
Technically yes, but most operators find that running both for more than 7–10 days causes dual-entry drift and data integrity problems. A clean cutover is better than an extended parallel run.
What’s the biggest cost-code mapping issue to watch for?
QuickBooks Time customers who use “service items” with overloaded names (one code used for two different cost categories) hit this most. The audit step on day 1 surfaces these; the parallel payroll on day 6 confirms they’re resolved.
Does Klees integrate with QuickBooks Online the same way QBT does?
Klees exports to QuickBooks Online and Desktop via the standard connector. The integration is one-click after setup and runs on pay-period cadence. From the QuickBooks side, the experience is similar to the QBT integration.
What if I’m currently on legacy TSheets (pre-QuickBooks branding)?
Same export fields, same import workflow. Intuit renamed TSheets to QuickBooks Time in 2021 but the underlying CSV structure is consistent. Migration timeline and process are identical.
Ready to scope your 7-day plan? Book a migration consult — Klees field-ops will review your QuickBooks Time configuration and produce a step-by-step timeline for your specific crew structure.
Leads field-ops migrations at Klees. 12 years rolling out time tracking and dispatch systems for construction and janitorial crews across the Americas.
Connect on LinkedIn →Related reads
What QuickBooks Time Customers Should Do Before the Next Price Hike
QuickBooks Time keeps raising prices. Here's the customer playbook to evaluate alternatives before the next renewal lands on the desk.
ClockShark Has No Selfie Verification. Here's What That Costs You
ClockShark tracks GPS but not identity. Here's the buddy-punching exposure that creates, and how PinShot selfie verification in Klees closes the gap.
QuickBooks Time vs Klees: A 2026 Side-by-Side Comparison
Honest 2026 comparison of QuickBooks Time vs Klees: pricing, PinShot, bilingual UI, geofencing, payroll, and which fits construction and cleaning crews.