Skip to content
Current/ Help Center

Time entry blocked or failed: the full diagnosis

8 min read · Updated Sep 6, 2026

There are only two ways time goes wrong in Current, and they look completely different. Either Current blocks you before you save — a warning banner reading "Time can't be logged here yet" and a greyed-out Log time button — or the entry saves, your PSA refuses it, and it stays a draft with a red "didn't sync" line under it. Work out which one you're looking at first; the fixes have nothing in common.

Both behaviours are deliberate. Current fails closed on time: it blocks an entry it already knows your PSA would reject, and when the PSA does reject one, the entry stays an editable draft rather than being marked rejected or thrown away. Nothing is lost — but nothing bills either, until someone acts. Everything here applies to every PSA; the banners and field names are worded for your provider (Autotask says billing code, work type, and contract; ConnectWise says work role, work type, and agreement; HaloPSA says charge rate and contract).

Blocked before you save: the four reasons

The same guard runs everywhere time can be entered — the Log time dialog, the Add time button in the task drawer, the ticket list, and the Start button on the timer. When it blocks, it always tells you why. Match the sentence you're seeing to this table.

What the banner saysWhat it meansThe fix
This is a Current-only project — time can't sync to your PSA.The project has no PSA project behind it. Your PSA is the system of record for time, so there is nowhere for the hours to land.Nothing is broken. Log the time against a PSA-synced project, or build this project in your PSA first. See "Project modes: PSA-synced or Current-native."
This task isn't synced to your PSA yet. (or "This ticket…")The project is synced but this individual task or ticket hasn't been pushed across yet, so your PSA has no id to bill the hours to.Wait for the next scheduled sync, or ask a Tenant Admin to run Integrations → your PSA's card → Sync now, then reopen the item.
This ticket's type doesn't accept time entries.Your PSA refused time on this ticket once already, and Current remembered it. Some ticket types simply don't take time entries.Log the time against the project task instead. See "Logging time on a ticket vs. a task."
Your account isn't linked to a resource in your PSA yet — ask an admin to add you.Your PSA needs a resource (Autotask) or member (ConnectWise) to bill the hours under, and your Current account isn't matched to one.An admin links you: Users & roles → your row → the PSA resource column. Check your own status any time under Settings — the identity card is named for your provider.
Note
Read-only partners never log time
Partner viewers are refused time entry at the database layer — the row-level security policy on time_entries excludes the read_only role, so the write is rejected even if the UI is bypassed. The buttons are hidden for them too. That's the financial firewall working, not a bug. See "The partner financial firewall."

Saved, but stuck as a draft: read the red line

If the entry exists but carries a red message, your PSA took a look and said no. Current stores the reason on the entry and leaves it as a draft so you can fix and resubmit it. On the timesheet (Time entry) the draft shows the PSA's raw reason plus "It stays a draft — fix it and submit again." In the task drawer, the same failure is translated into a plain-English instruction, with Edit, Retry and Delete right there on the row — hover the message to see the PSA's original words.

These are the translations, and whether editing the entry is the fix or not.

Plain-English messageFix byWhat actually happened
That billing code (Autotask) or work role (ConnectWise) is no longer active. Edit this entry and pick a current one.EditThe billing code or work role on the entry has been deactivated in your PSA. Where Current can tell the rejection is about that field, it tries once to substitute an active one automatically before giving up; otherwise it surfaces the PSA's refusal directly. Either way, edit the entry and pick a current value.
That work type isn't valid for this item. Edit the entry and choose another.EditYour PSA rejected the work type for this task or ticket.
The contract (Autotask) or agreement (ConnectWise) on this entry isn't accepting time. Edit the entry and pick a different one.EditThe contract or agreement is closed, expired, or won't take these hours.
Your PSA user isn't set up to log time on this item. Ask an admin to check your resource link.AdminYour Autotask resource or ConnectWise member isn't associated with the item, or holds no role your PSA will accept on it.
Your PSA needs another field filled in before it will accept this. Edit the entry and complete it.EditA PSA-required field is empty. Open the entry and complete it.
Your PSA is briefly rate-limiting us. Retry in a minute.RetryNothing is wrong with the entry. See "PSA rate limits and dead-letter jobs."
Autotask won't take time on this task any more, and retrying sends the same request. Give the entry a replacement task, or write it off.Move or write offYour PSA answered that the task the entry points at does not exist or is not valid for time. Nothing about that answer changes on a retry, so Current removes the Retry button on that row and offers the two decisions below instead.

One Autotask failure has its own long message: "Autotask won't accept this time entry's role — your Autotask resource has no role defined for this project." On project tasks, Current resolves a role your Autotask resource genuinely holds — honouring your pick when it is valid, otherwise your default held role — and retries once with a valid role if Autotask objects. Ticket time entries send the role you picked as-is, and this long role message only appears on tasks. When even the retry fails, there is no valid role to send: ask an admin to add you to the Autotask project team with a role, then hit Retry. ConnectWise has no per-project team roles — there, the equivalent failure names the work role on the entry, and the fix is picking a work role your member is allowed to use.

When there is nothing left to retry

Some refusals are permanent. If your PSA answers that the task an entry points at does not exist or is not valid, the same request will get the same answer next week. Current recognises that class, stops offering a Retry on those rows, and says so above them: "These can't be retried — your PSA no longer accepts the task they point at. Give each one a replacement task, or write it off." Retry all skips them too, and its count says how many rows are actually left to retry.

Two buttons take their place on the row, in Integrations → your PSA's card → Sync details → Outbox. On Autotask workspaces you get both. On ConnectWise and HaloPSA, Current still recognises the refusal and still explains it in plain language, but the two decisions below aren't built for those PSAs yet — the row keeps its Retry so you are never left without an action, and the fix is to correct the entry in the PSA.

  1. 1
    Fix: move the time to another task
    Pick a replacement task. The list starts with the tasks on the same project and only ever offers tasks that exist in your PSA, because an unsynced task would strand the entry again. Turn on Search other projects to look wider. If the replacement belongs to a different partner, Current says whose invoice the hours would land on and makes you type that partner's name before it will continue.
  2. 2
    Read the check before you confirm
    As soon as you pick a task, Current asks your PSA about it and tells you what will happen: the hours will be billed as a new entry, or the time is already in your PSA and Current will link to it rather than bill it twice. If the time turns out to be sitting on the original task all along, it says so. Nothing has been written at this point.
  3. 3
    Confirm
    The entry moves onto the new task and submits through the same path a normal submit uses. The hours still bill under the person who logged them, not under you. If your PSA refuses the new task too, the entry stays a draft on that task with the new reason, and an ordinary Retry works from there.
  4. 4
    Write off: record that the time can never be billed
    Admins and project managers only. Say why, in a sentence. The entry is not deleted and it does not change status: it stays on the person's timesheet labelled Written off, with your name, the date and your reason, and the PSA's original refusal stays readable underneath. What changes is that the hours stop counting — project actuals, the Budget report, the hours tiles and every dashboard hours metric all leave written-off time out.
  5. 5
    Reverse it if you were wrong
    A write-off is not a one-way door. The Outbox keeps a line at the bottom listing what was written off in the last thirty days, and a manager can put an entry back in the queue. Every write-off and every reversal is recorded in Workspace → Audit log with who did it and why.
Heads up
A written-off entry never reaches your PSA
Writing time off is a billing decision, so Current enforces it at the engine rather than by hiding a button: a written-off entry is refused on submit, including from Submit drafts on the timesheet. Reverse the write-off first if it should be billed after all. And Current will not let you write off an entry that already reached your PSA — that one is a real billing record, and the remedy for it is in your PSA.

The same refusal also teaches Current something: when your PSA says it will not accept a task, Current marks that task as gone. It stops appearing in the task picker when you log time, so the next person cannot create the same stuck entry, and it shows up in Sync details → Reconciliation where an admin can deal with it properly.

The checks, in order

  1. 1
    Read the message before you touch anything
    Every block and every failure carries its own reason. Ninety per cent of these are answered by the two tables above without opening a single setting.
  2. 2
    Confirm your PSA identity
    Settings → the identity card (named for your provider). If it says you're linked, it names the Autotask resource or ConnectWise member. If it doesn't, that's your answer for every blocked button on the account — an admin links you in Users & roles.
  3. 3
    Check whether the item is really synced
    Open the task or ticket. A Current-only project or an unsynced task can't take billable time by design — there is no PSA record to attach it to.
  4. 4
    Fix the entry, then resubmit
    For anything in the Edit column above: open the draft, change the field your PSA objected to, and save. Editing a draft re-pushes it automatically, and tells you if the PSA still refuses.
  5. 5
    Retry from the timesheet
    Time entry → Submit drafts pushes every draft in the week at once. The PSA's approval status comes back with Refresh status.
  6. 6
    Sweep the team's stuck hours
    Tenant Admins: Integrations → your PSA's card → Sync details → Outbox. Every failed entry across the workspace, with who logged it, the date, the hours, the PSA's reason, and a one-click Retry. Rows your PSA will never accept carry Fix and Write off instead of Retry — see "When there is nothing left to retry" above. Sync details and the Outbox are Tenant-Admin only — project managers retry their own drafts from Time entry.
Heads up
Never force a bad entry through — and never delete one to clear the list
A time entry that reaches your PSA becomes a real billing record against a real partner. Deleting a failed draft doesn't fix anything; it destroys hours somebody actually worked. Fix the underlying data — the billing code or work role, the contract or agreement, the resource link — and resubmit. Hours nobody resubmits are hours nobody bills.

The drafts nobody failed — and nobody sent

A draft with no error message never failed at all: it was simply never submitted. The Outbox flags drafts whose work date is more than three days old, names the people they belong to, and totals the hours — but it won't push them. Drafts only push when their owner submits them, or when a Tenant Admin retries them from the Outbox. This is where unbilled revenue quietly accumulates, so make the Outbox a weekly habit. Written-off entries are the one thing the Outbox leaves out of both lists and out of Unbilled at risk, which is why it keeps a separate line at the bottom naming what was written off in the last thirty days.

Tip
Submitted time is final in Current
Once an entry leaves draft, the timesheet no longer offers Edit or Delete — your PSA owns it from that moment. Duplicate it into a fresh draft if you need to log something similar. Full background in "Logging time and how it reaches your PSA's billing" and "Our methodology: your PSA stays the source of truth."
Was this helpful?