Skip to content
Current/ Help Center

Logging time and how it reaches your PSA's billing

3 min read · Updated Jul 26, 2026

Time you log in Current is the same time that shows up on your PSA's invoice — so the Log time dialog is built to match what your PSA actually requires, catch problems before you submit, and never silently lose an entry if the sync hiccups. The dialog speaks your provider's language: on Autotask the billing fields are billing code, work type, contract, and role; on ConnectWise they're work role, work type, and agreement. The flow is identical.

Logging an entry

You can log time three ways: start a timer and stop it when you're done, quick-add time directly from a task card, or fill in a weekly timesheet grid. All three open the same Log time dialog and go through the same checks.

  1. 1
    Pick what you worked on
    Choose the project, then the task or ticket. Anything not yet synced to your PSA is shown disabled, labeled "(not synced)."
  2. 2
    Set date, hours, and start/end time
    Hours can be entered in quarter-hour increments; editing the end time recalculates hours automatically, and vice versa.
  3. 3
    Fill in billing details
    The billing fields for your provider — billing code, work type, contract, and role on Autotask; work role, work type, and agreement on ConnectWise. Current pre-fills what it can from your PSA (see below), and warns you if the lists haven't synced yet.
  4. 4
    Add a summary
    Required — your PSA needs a summary on every time entry. Internal notes are optional and never shown to partners.
  5. 5
    Choose visibility
    Leave "Visible to co-managing users" off to keep the note internal, or turn it on to share it with a co-managing partner. It's never shown in the partner portal either way.
  6. 6
    Log time
    Current saves the entry and, for a PSA-synced project, immediately tries to push it to your PSA.

Smart defaults

Where your PSA already has an answer, Current uses it instead of guessing: the contract or agreement defaults to the exact one your PSA has on that project — matched by the contract's own id, not by picking a same-named contract that might belong to a different client — and the role defaults to your assigned role on that task if you're the assignee. Anything the PSA doesn't provide falls back to whatever you used last on that project — and if you've never logged time on that project, the billing code or work role defaults to the one you used most recently anywhere, so it's rarely blank. Every default stays editable.

Time rounding is a workspace setting

How Current rounds logged hours is a workspace-wide setting a Tenant Admin controls in Settings — round up, round to the nearest, or don't round at all, in quarter-hour or tenth-hour steps. It applies to everyone's entries so the whole team bills the same way. It ships defaulted to exactly how Current has always rounded, so nobody's numbers change unless an admin deliberately changes the setting.

Note
Stop & log won't lose your timer
When you Stop & log a running timer, Current clears the timer only after the entry has actually saved. If the save hiccups, the timer stays exactly where it was so you can try again — the time you tracked is never dropped on the floor. While an entry is still on its way to your PSA, it shows an honest "sending to your PSA" state rather than appearing finished.

Why an entry might be blocked

Current checks before you can log time against something that can't actually accept it, and shows you the specific reason rather than a generic error:

  • The project is Current-native — time here stays in Current and never tries to sync.
  • The task or ticket hasn't synced to your PSA yet.
  • The ticket's type doesn't accept time entries in your PSA.
  • Your Current account isn't linked to a PSA resource or member yet.
Heads up
This guard is intentional, not a bug
If a legitimate entry gets blocked, the fix is to correct the underlying data (link your PSA resource, wait for the sync, etc.) — not to force the entry through. This protects your PSA's billing records from bad or duplicate data.

From logged to approved

An entry moves through Draft, Submitted, Synced, and Approved (or Rejected). Approved and Rejected are read back from your PSA itself — Current doesn't guess at approval status. If a push fails, the entry stays as a local draft with the reason shown, so it's never silently lost; a manager can also retry other people's stuck drafts in bulk.

Note
Rejected and voided time is shown, but never counted
Two kinds of entry stay on your Time page but stop counting as delivered work. A Rejected entry was turned down by a manager, so it was never worked. A voided entry is one your PSA deleted during pre-invoice review, so nobody is billed for it: Current marks it Voided, struck through, and prints the amount that is not counted next to your total. Neither one feeds Hours logged, Budget used, projects over budget, or the Effort, Resources, Budget and Profitability reports. The row is deliberately left on screen so you can see what happened rather than wonder where your hours went, and if the entry was removed by mistake, log it again.
Note
Two identical blocks bill twice; a retry never does
If you genuinely log two separate blocks of the same length on the same ticket and day, both bill. Current does not refuse the second one as a duplicate. And when a push fails and you retry it, the same block is never billed twice. On Autotask and ConnectWise, Current tags each entry it sends, so it can tell a real second block apart from a retry of the first. HaloPSA works differently, see the next note.
Note
HaloPSA: a second identical block can be refused
HaloPSA gives Current nowhere to put that tag, so on HaloPSA Current keeps the record on its own side instead: it notes that it is about to send an entry, before it sends it. If a push reaches HaloPSA but the confirmation never makes it back, the next push of a same length block on that same ticket and day is refused rather than risk billing the work twice. That is deliberate, and it stays refused until you take one of the two exits below, so pushing the same entry again on its own will not clear it. If the action already in HaloPSA is this same work, delete the Current entry. If it is separate work, log this block in HaloPSA on that ticket and then push the Current entry again straight away, and Current links your entry to that HaloPSA action. Do not run a HaloPSA sync first. The sync brings that action in as its own separate entry, which claims it, and your entry can never link to it after that.

See "Project modes: PSA-synced or Current-native" for how project type determines whether time syncs at all, and "The partner financial firewall" for how time-entry data is kept away from partner viewers.

Was this helpful?