Toggl is hired to record who worked on what, and for how long. The data is simple and portable, but if client invoices or payroll are built from it, the move needs a clean cutover. Below: how to judge what the job needs, an open-source option, and a procedure that keeps the hours intact.
Time tracking is a habit. Once a team has the timer in a browser and a monthly report, nobody wants to change it, especially if client invoices come from it.
Billing follows seats, so people who stop tracking stay on the invoice unless someone removes them. The cost is small per person, which is why it stays out of sight.
The data is the easy part to move. What needs care is the money downstream: invoices and payroll that rely on the hours. Start by finding the charge with the audit.
Only alternatives we have checked. An open-source project is listed with the license its repository reports, on the date shown; one whose license could not be read as a single standard id is not offered as open source. Read the license guide before running any of them.
| Alternative | Kind | License | Read from |
|---|---|---|---|
| Kimai | Open source | AGPL-3.0 | Kimai repositoryChecked Oct 25, 2026 |
Each feature below is what the product's own page or README says, linked to where we read it on the date shown. Pros and cons are limited to what those pages state and to what the path itself changes. We do not rank products on quality.
Time tracking is a small, well-bounded job: a person, a project, a start and an end. The data is simple, which is why it is rated as one of the easier moves. The risk is not the data but what money depends on it.
If time feeds client invoices, do the move between billing cycles, not in the middle of one, and reconcile the first cycle's hours against the old tool before sending anything.
Samples are made up and are not Toggl's prices. Type in the figures from your own invoice or order form.
The honest yearly cost of running open-source software yourself, set against the bill it replaces, with the seat count where it stops paying.
Paid seats against seats in use: what the idle ones cost a year, and what you save by right-sizing at renewal.
Arithmetic only, not tax, accounting or legal advice. Check the figures against your own order form.
Move between billing cycles and prove the hours match. In outline:
Count users, projects, clients and the date range of entries. Note who actually tracked time in the last month and who has not.
List every invoice, payroll run or report built from this data, with the date it is next produced.
Export all entries with project, client, person, date, duration, billable flag and notes. Open the file and compare the total hours for one closed month with the old tool's own report.
Set up the destination, import clients and projects first, then entries. Compare hours per person and per project for the same closed month.
Run both in parallel for one billing cycle. Build the invoices from the old tool and compare them with the new one before switching.
Tell people the date, move the timers and browser or phone apps, and update whatever reads the data for invoicing or payroll.
Keep the export. After the last invoice relying on the old history is settled, end the plan inside the contract's notice window.
Run the vendor report for QuickBooks Online or Xero, then open the free audit.
General information, not legal advice. See cancelling without penalties. Last reviewed Oct 25, 2026. Product names belong to their owners and are used only to identify them.
Send us the export and see which lines are worth a second look. A connected version is planned. Toggl is one of the lines worth a look.
Worked example. Type over it.
Result
| Self-hosting, per year | Amount |
|---|---|
| Hosting, backups, tooling | 720.00 |
| Admin and restore-test time | 2,640.00 |
| Total | 3,360.00 |
| One-off set-up (not in the yearly total) | 1,200.00 |
The saving holds only if the time is real. Price the admin hours at what that person's time costs the company, not at zero.
Worked example. Type over it.
Result
“In use” is your call: last sign-in in the past 30 or 90 days from the vendor's admin report. A seat for someone on leave is not idle.