Time Tracking

Records technician time against tickets and projects, reviews it, and turns the approved billable hours into invoices — for MSPs and the clients they service.

The problem

The hours are the product, and they leak. A technician fixes something at 4pm, means to write it down, and goes home. Someone reconstructs the week from memory on Friday afternoon. Nobody is sure whether the three hours of rework on a botched migration should be charged to the client or swallowed. By the time the invoice is drafted, the person who did the work has forgotten the detail that would have justified the line item — so the line is trimmed, or the client queries it, or both.

What Solidlio does about it

Time is captured where the work happens: a timer on the ticket, or a manual entry in minutes. The timer runs on the server rather than in a browser tab, so it survives a reload and follows the technician to their phone. Every entry carries a billable flag and the rate in force when it was recorded. An administrator then reviews the queue — approving is what makes time invoiceable, and it is restricted to administrators rather than to the technicians whose work is being reviewed. Only billable, approved, un-invoiced time reaches a client’s bill, and each entry is stamped with its invoice so it cannot be billed twice.


Capabilities

CapabilityWhat it does
Server-side timerStarts a clock on a ticket or project that survives reloads and moves between web and mobile.
Offline captureKeeps the mobile clock running with no connection and reconciles from the local start time.
One-timer guaranteeEnforces a single running clock per person; a second start is refused rather than overwriting.
Manual entryRecords a date, minutes, description and billable flag after the fact.
Billable / internal splitMarks rework and internal work as non-billable so it is measured but never charged.
Approval gateRequires an administrator to approve before time can be invoiced; approval locks the entry.
Bulk approvalApproves a filtered set one row at a time, stopping and naming the row on first failure.
Correction before approvalEdits or deletes a pending entry; approved and invoiced time is locked.
Ticket invoicingBills approved ticket time per client at each entry’s own stored rate.
Project T&M invoicingBills approved project time at one agreed hourly rate for Time & Materials and Hybrid projects.
Rate snapshottingStores the hourly rate on the entry, so later rate changes never restate past work.
Personal weekly viewReports a technician’s own seven-day totals, split billable and non-billable.

Built for MSPs and their clients

Time tracking is two-sided. A managed client’s own staff log time on their own tickets; the servicing MSP logs time on the same tickets. Both see an approval queue in their own portal.

OrganizationMSP
Logging timeOwn staff log against their own tickets and projectsTechnicians log against every client they service
Approving timeOrg administrators approve their own staff’s timeMSP administrators approve across the clients they service
Approval queueOperations → Time Approvals in the Org portalOperations → Time Approvals in the MSP portal
InvoicingProject T&M invoicing on their own projectsPer-client ticket invoicing plus project T&M invoicing
Visibility boundaryRestricted to their own organizationSpans their own account plus the client accounts they manage

Time tracking is a staff function. The end-user portal does not surface time entry or approval, and customer-portal callers are refused approval by the API.


How it works

  1. Start the clock — a technician opens a ticket and presses Start timer, or logs minutes manually if the work is already done.
  2. Stop and describe — stopping writes a time entry for the elapsed minutes, rounded up to at least one minute, with the description and billable flag.
  3. Review — the entry lands in Time Approvals as pending. Anyone can correct or delete their own pending time; nobody can invoice it yet.
  4. Approve — an org or MSP administrator approves. The entry locks against editing and becomes eligible for billing.
  5. Invoice — billable, approved, un-invoiced time is swept onto an invoice, per client for ticket work or per project for Time & Materials work.
  6. Locked — invoiced entries can no longer be unapproved or deleted, so the record behind a bill cannot move after the fact.

Compliance and audit

Every time entry records who logged it, the calendar date of the work, the duration in minutes, a free-text description, whether it was billable, and the hourly rate in force when it was created. Approval records the approver’s identity and the approval timestamp. Invoicing stamps the entry with its invoice id and the time it was billed.

That is enough to reconstruct, for any line on any invoice, which entries produced it, who performed the work, who authorised the charge and when. Because the rate is stored on the entry rather than read from the person at billing time, a historical invoice remains reproducible after a rate change.

The approval boundary is enforced in the service, not in the interface. A technician cannot approve time by calling the API directly, and neither can a customer-portal user.


Editions

Time tracking carries no plan gate. Every capability above is available on every tier, including Free.

CapabilityFreeStarterGrowthScaleEnterprise
Timers and manual entry
Billable / internal split
Approval gate and bulk approval
Ticket time invoicing
Project T&M invoicing

Integrations

Time tracking feeds Solidlio’s own billing: approved ticket time becomes client invoices, and approved project time becomes Time & Materials invoices with tax resolved from the customer organization’s jurisdiction. Invoices raised this way flow onward through the same accounting integrations as the rest of Solidlio billing.

The mobile app (iOS and Android) runs the same timer. Because the clock is a server-side resource rather than browser state, a timer started on the web can be stopped on a phone and the reverse. A timer started with no connection keeps running against local storage and reconciles with the server when the app comes back online, using the local start time rather than restarting from zero.

Hours that survive the trip from the keyboard to the invoice.

See this working on a real account.

Book a walkthrough and we will run this capability against your own clients, devices and tickets.

Book a demo All features

A 30-minute walkthrough against your own workflow. No slides.