Skip to content

Timesheets

Timesheets in Hubbado record work done by a resource on an assignment, grouped into weekly timesheet blocks that are submitted and reviewed before billing.

  • Each block covers one assignment, one resource, and one week (Monday–Sunday).
  • Blocks split at month-end, so you can close the month on time even when a week straddles two months.
  • Billing runs only when all blocks in a billing period are submitted and all entries are in a final state.

Why this matters - A clear path from logging time, to review, to invoicing
- Reliable month-end close, even when a week crosses into the next month
- Control over who sees pricing and who can change each entry

Path: Timesheets (in the main navigation)


Core concepts

Timesheet entries

A timesheet entry is a single record of work on a specific day.

How entries are created

  1. Select a day.
  2. Select an assignment.
  3. Select a rate (hourly or fixed).
  4. Enter:
  5. Start time
  6. End time
  7. Break (required — see below)
  8. Add a Description if you want to (optional, up to 200 characters).

Key rules

  • Start/end increments: Start and end times are restricted to 30-minute increments.
  • Break:
  • A single unpaid break per entry.
  • Required — it defaults to 60 minutes, but you can set it to 0 if there was no break.
  • Entered in 30-minute increments.
  • If the resource needs multiple breaks, they add multiple entries for the same day.
  • Duration validation (per entry):
  • Total time must be greater than 0 and no more than 24 hours.
  • The 24-hour rule is per entry only (not per day).

Note — Overlaps
Hubbado does not currently detect overlapping entries (including entries that cross midnight). If this affects you, please raise it with your Hubbado admin or contact Hubbado — your feedback will shape how we handle overlaps in the future.


Rates & calculation

Rates determine how entries are billed.

Hourly rates

  • Time is entered in 30-minute chunks.
  • Billable amount = duration × hourly rate.
  • Rounding: Part-hour charges are rounded down to whole pence and may appear as a separate line on invoices.

Fixed rates

Fixed rates charge a flat amount per entry, regardless of the exact number of hours, as long as:

  1. The entry's total time passes validation (greater than 0 and no more than 24 hours), and
  2. The minimum required hours configured on the rate are met.

  3. The minimum-hours rule is enforced when the entry is saved.

  4. If the minimum is not met:
  5. Save is blocked.
  6. You'll see:
    • Information text:

      "This rate will charge a fixed amount. To use this rate you must add at least X hours. Any additional time will not be billed."

    • An error at the top:

      "Total time must be at least X hours."


Rate eligibility

The rate picker only shows rates that are eligible for:

  • The entry date (within the rate's date range), and
  • The resource's role dates on that assignment.

If you edit an existing entry and the rate it used is no longer eligible (for example, it ended, or the role dates changed):

  • You can still open and edit the entry.
  • Saving will fail until a new valid rate is selected.
  • The rate field shows a validation error.

Timesheet blocks

A timesheet block is the unit used for submission, review, and reminders.

  • Scope: One assignment × one resource × one week.
  • Period: Monday–Sunday, but:
  • Blocks are split at month-end, so for example a week that spans the 30th to the 2nd becomes two blocks:
    • Block A: up to the last day of the month
    • Block B: the remaining days in the new month
  • States:
  • Unsubmitted
  • Submitted
  • Queried

Important
Blocks never have an "Approved" state. They remain Submitted. Billing readiness depends on the block state plus the state of the entries inside it, not a separate "approved block" status.


Timezones & DST

Each timesheet entry is billed to the date you select when creating it, regardless of what timezone you're in. Times are displayed using your account timezone at the time you created the entry. If you later change your timezone, existing entries keep their original timezone.

Crossing midnight and daylight saving time

  • If your shift crosses midnight, the entry is still billed to the day you selected — not the calendar day of the start or end time.
  • On daylight-saving changeover days, Hubbado calculates the actual elapsed time. A shift doesn't gain or lose an hour just because the clocks changed.

Example — Crossing midnight with daylight saving
A shift from 00:00 to 03:00 on a "spring forward" night counts as 2 hours, not 3.
The 24-hour per entry rule still applies.


Creating a week

When you create a new week of timesheets, Hubbado asks how you'd like to start it. You have two choices:

  • Use Blank — start the week with no entries and add each one yourself.
  • Use Default Hours — fill the week using the default hours set up for the assignment, so a resource who works the same pattern each week doesn't have to re-enter it.

After applying default hours, you can review and edit the entries before submitting, just like any other entries.

When default hours can't be applied

Applying default hours is sometimes blocked. If it is, you'll see one of these messages:

  • "Insufficient funds to use default hours" — there isn't enough budget remaining on the assignment to cover the default hours.
  • "Cannot apply default hours due to existing entries" — the week already has entries, so applying defaults on top of them isn't allowed.
  • "At least one entry has non-active rate" — one of the default entries uses a rate that isn't currently active.

In these cases, choose Use Blank and add your entries manually instead.


Lifecycle for resources

Block creation

Blocks are created automatically and in real time:

  • Weekly auto-creation:
    Every Monday at 02:30 UTC, Hubbado:
  • Creates timesheet blocks for all active assignments within their date range.
  • Aligns periods to Mon–Sun.
  • Splits blocks at month boundaries.
  • Does not create duplicate blocks.

  • Real-time creation:
    Blocks are also created or updated when:

  • A resource is added to an assignment.
  • Assignment dates or resources are changed.
  • No blocks are created outside the assignment's start and end dates.

Creating and editing entries

  • Only the resource assigned to the assignment can:
  • Add entries.
  • Edit entries.
  • Remove entries.
  • Submit blocks.

There are no exceptions — managing-company admins and superusers cannot enter time on behalf of a resource.

Real-time calculations

  • As you enter start time, end time, and break, the form automatically calculates:
  • Total time (the duration of the entry).
  • Total charge (the amount to be billed, if pricing is visible to you).
  • Calculations update immediately as you type, helping you check the entry before saving.

On the entry form there is a Show Total Charge / Hide Total Charge toggle so you can hide the amount while entering time — for example when working alongside colleagues. This is a display preference; it does not change what you're allowed to see.

Description

  • Each entry has a Description field (up to 200 characters) where the resource can add a short note about the work.
  • The description is visible to:
  • The resource.
  • Reviewers.
  • Managing-company admins.

Submission

For each block:

  1. Add entries
  2. Day → assignment → rate → start/end/break → optional description.
  3. Validation checks duration, rate eligibility, minimum hours for fixed rates, and so on.

  4. Submit block

  5. The resource clicks Submit at block level.
  6. The block moves from Unsubmitted → Submitted.
  7. All entries in the block move to Pending Approval.

  8. Recall block

  9. As long as no entry in the block has been Approved or Voided, the resource can Recall the block.
  10. Recall moves the block back to Unsubmitted, and entries back to Unsubmitted.

Important
Once any entry in a block is Approved or Voided, the resource cannot recall that block.
Further changes require a reviewer or admin to Query the block.


Empty blocks

Empty blocks are important for billing completeness.

  • A block with no entries can still be Submitted by the resource.
  • Empty blocks do not require approval.
  • Submitting one signals "there is no time for this period".

Billing dependency
Billing for a period requires that all blocks in that period are Submitted (including empty ones) and that all entries in those blocks are in final states.


Removing entries

Removing entries is resource-only.

When a resource removes an entry, what happens depends on the entry's current state:

Entry never submitted (Unsubmitted)

  • The entry is simply deleted and permanently removed from the system.
  • No reviewer action is required.

Entry submitted but not yet approved

  • Removing it moves it to Removal Pending Approval.
  • A reviewer or admin then approves the removal, after which the entry becomes Removed.

Entry already approved

  • Removing it moves it to Removal Pending Approval.
  • Reviewer or admin approval is required to finalise the removal.
  • They can:
  • Approve the removal — the entry moves to the final Removed state.
  • Reject the removal — the entry returns to Approved.

Note — Removal on an unsubmitted or queried entry
If a removal is flagged on an entry that is still Unsubmitted or Queried, the entry shows as Removal Unsubmitted until the block is submitted.

Important — Removed entries are permanent
Once removed, an entry stays removed even if the block is later Queried and resubmitted. If the resource wants the entry back, they must create a new entry with the same details.


Dashboard & interface

Summary cards

The dashboard summary card shows your timesheet status at a glance.

For resources:

  • The badge shows either the number of queried timesheets (if there are any) or the number of overdue timesheets — never both added together.
  • Clicking the card takes you to your timesheets page.

For reviewers:

  • The badge shows the number of timesheets Pending Approval.
  • Clicking the card takes you to the review page.

Badge colour:

  • Green: 0 items needing attention.
  • Yellow: 1 item needing attention.
  • Red: 2 or more items needing attention.

The badge updates in real time as timesheets are submitted, approved, queried, or become overdue.


Week view & navigation

Weekly calendar view:

  • Shows all entries for a week (Mon–Sun), organised by day.
  • Each day shows:
  • All entries for that day.
  • Total hours for the day.
  • An add-entry button.
  • The week summary shows:
  • Total hours for the week.
  • Total charge (if pricing is visible to you).
  • Block state (Unsubmitted, Submitted, or Queried).
  • Submit / Recall buttons (when they apply).

Navigation:

  • Week selector: move forward or backward by week.
  • Date picker: jump to any specific week.

Resource overview tabs group your timesheets by what needs doing. Each tab shows a count:

  • Missing: weeks you haven't created entries for yet.
  • Unsubmitted: blocks with entries that haven't been submitted.
  • Queried: blocks a reviewer has sent back for changes.
  • Pending Approval: blocks you've submitted and that are awaiting approval.
  • Voided: individual entries that have been voided.
  • Search: find timesheets across a date range (see below).

Searching for timesheets

From the resource overview, the Search tab lets you find timesheets across any date range:

  1. Open the Search tab.
  2. Enter a start date and an end date.
  3. View the results.

The results show:

  • All entries within that date range.
  • Grouped by assignment.
  • Total hours and charges (if pricing is visible to you).
  • The state of each entry.

This is useful for:

  • Reviewing work done during a specific period.
  • Checking which timesheets have been approved versus still pending.
  • Preparing for invoicing or client reports.

Lifecycle for reviewers & admins

The timesheet reviewer configured on the assignment, managing-company admins, and superusers can review timesheets. Their powers differ — a plain reviewer has fewer actions than an admin or superuser. The differences are called out below.

Review interface overview

Review list view:

The main review page shows all timesheets needing your attention.

Review tabs each show a count:

  • Unsubmitted
  • Pending Approval
  • Queried
  • Approved
  • Removed / Voided
  • Overdue
  • Filters

Filters let you narrow the list. The available filters are:

  • From and To dates.
  • Assignment.
  • Client company.
  • Resources.
  • Timesheet reviewers.
  • Only me — show only timesheets where you are the reviewer.
  • Overdue state.

Filters can be combined to create a focused view (for example, all timesheets pending approval for one assignment in the last month).

Detailed block view:

Clicking a block opens the detailed view, showing:

  • Block header: resource, assignment, period, totals.
  • All entries: a day-by-day breakdown with:
  • Start and end times, break, and duration.
  • Rate and amounts (if pricing is visible to you).
  • Each entry's state.
  • The resource's description.
  • Action buttons (which buttons appear depends on your role — see below).
  • Audit trail: the full history of submissions, approvals, queries, and voids (visible to reviewers and admins only).

Workflow:

  1. Review the entries in a block.
  2. If everything is correct, click Approve to approve the whole block.
  3. If something needs changing, click Query to send the block back to the resource with a note explaining what to fix.
  4. If an individual entry should not be billed but the rest are correct, an admin or superuser can Void that entry (this requires a reason) and then approve the block.

What each reviewer can do

The action buttons you see depend on your role:

  • Timesheet reviewer (configured on the assignment): at block level, Approve and Query only.
  • Managing-company admins and superusers: everything a reviewer can do, plus per-entry Void, re-approving a voided entry, and querying blocks in more situations (see Querying, below).

Approving

  • Approve block:
  • Applied at block level.
  • Approves all non-voided entries in the block (each moves to Approved).
  • Voided entries stay Voided.

This is available to the assignment's timesheet reviewer, managing-company admins, and superusers.

There is also a per-entry Approve and Void for handling individual entries; Void and re-approving a voided entry are admin and superuser only (see Voiding, below).

Note — Re-approving voided entries
Approving a block never re-approves a voided entry. If a voided entry should be billed after correction, an admin or superuser must re-approve it individually.

Removal approvals

  • Entries in Removal Pending Approval are resolved (the removal is approved or rejected) by the same people who can approve blocks: the assignment's timesheet reviewer, managing-company admins, and superusers.
  • These outcomes are covered by the normal approval and void notifications.

Querying

Querying a block is the main way to send time back for changes.

  • A timesheet reviewer can Query a block when it has been Submitted and its entries are Pending Approval.
  • Querying a block whose entries are already approved or voided (or an empty block) is Hubbado-admin and superuser only.
  • Querying a block:
  • Sets the block state to Queried.
  • Moves all entries in the block to Queried state.
  • Makes all entries editable again by the resource.

Note
Querying sends back the entire block (all entries), not individual entries. A mistake spotted in one entry often means others in the same week need a look too.

What stays removed

  • Entries that are already Removed stay removed when the block is queried.

Resubmission

  • When the resource fixes the entries and resubmits a Queried block, all entries move back to Pending Approval.
  • The resource does not need to add a note when resubmitting. (The note that's required is the one the reviewer adds when querying — see below.)
  • Previously voided invoices stay voided; new invoices are created when the period is ready again.

Querying blocks that already have invoices

If a timesheet block has already been invoiced and you need to query it, Hubbado shows you which invoices are linked so you can decide how to proceed.

You have two choices:

  • Query timesheets only — the invoices stay as they are, and corrections will result in credit notes and new invoices when the time is re-approved.
  • Query timesheets and void unpaid invoices — Hubbado voids any unpaid invoices linked to the block, and fresh invoices are generated once the corrected time is re-approved.

Paid invoices are never voided. If a paid invoice needs correction, credit notes are generated automatically when the timesheet is corrected and re-approved. See the Billing guide for details.

Important
Voiding invoices in Hubbado does not update external accounting systems (Xero, QuickBooks, and so on). You must also remove or adjust voided invoices in your accounting software.


Voiding entries

Void is an entry-level action and is admin and superuser only — the assignment's timesheet reviewer cannot void.

  • Use it when time was recorded but should not be billed or paid.
  • It can be applied to:
  • Entries that are Pending Approval.
  • Approved entries (this may lead to credit notes later).

When voiding an entry:

  • A reason is required.
  • The reason appears:
  • In the audit trail.
  • To the resource.

A voided entry can later be re-approved individually, again by an admin or superuser.


Billing readiness & archiving

What triggers invoice generation

Invoices are generated automatically once you and your team have finished processing a billing period's timesheets. Specifically, Hubbado generates invoices when:

  1. All timesheet blocks for the period are Submitted (including empty ones).
  2. All entries in those blocks are in a final state — Approved, Voided, or Removed.

If any entries are still pending review, or any blocks haven't been submitted yet, invoices wait until everything is resolved.

For intermediated assignments, Hubbado may generate two invoices for the same period — one for the supplier and one for the client. See Direct vs. Intermediated Assignments for details.

Note
If an invoice was previously voided, it is not reissued. When the period becomes ready again, a fresh invoice is created with a new number.


Overdue timesheets

A timesheet block is overdue when the week it covers has passed but the resource hasn't submitted it yet (or it was queried and is waiting for a response).

When a block is overdue:

  • The resource receives reminder emails to submit their time.
  • Dashboard badges highlight the overdue blocks.
  • The assignment shows an overdue warning so managers can follow up.

Archiving assignments

An assignment is archived once it is Completed and there is nothing left to process. Specifically, archiving happens when:

  • The assignment is Completed.
  • There are no outstanding timesheets, invoices, or billing periods.
  • Any purchase-order and invoicing checks for the assignment are satisfied.

Once archived, the assignment and its timesheets are locked — no further edits, queries, approvals, or voids are allowed.


Usage reports

A usage report is a PDF summary of timesheet activity for an assignment.

What a usage report contains:

  • The timesheets for the assignment.
  • Resource names, dates worked, hours worked, and rates used.
  • Total amounts (depending on the pricing shown — see below).
  • Summary totals.

How to generate a usage report:

  1. Open the assignment's usage report view.
  2. Use the Show pricing toggle if you want amounts included in the report.
  3. Click Download as PDF.

The PDF is generated and downloaded to your device.

Use cases:

  • Giving clients a summary of work completed in a billing period.
  • Internal review of how a resource's time was used.
  • Reconciling timesheet totals against purchase orders or budgets.
  • Keeping backup records for compliance or accounting.

Note — Pricing visibility
The usage report follows the same pricing-visibility rules as the rest of Hubbado. What appears when you turn on Show pricing depends on the assignment's pricing-visibility settings (see Permissions & visibility, below).


Notifications & reminders

Event-triggered notifications

Hubbado groups notifications so you don't get flooded with email. Events of the same type for the same person within about 5 minutes are combined into a single email.

When a resource submits a block:

  • Who receives email: the timesheet reviewer.
  • When: about 5 minutes after submission.
  • Email contains: a list of all timesheets submitted by that resource in the last few minutes.

When a reviewer queries a block:

  • Who receives email: the resource.
  • When: about 5 minutes after the query.
  • Email contains:
  • The reviewer's note explaining what needs to be fixed.
  • A list of the queried timesheets.

When a reviewer approves timesheets:

  • Who receives email: the resource.
  • When: about 5 minutes after approval.
  • Email contains: a list of the approved timesheets.

When an entry is voided:

  • Who receives email: the resource.
  • When: about 5 minutes after voiding.
  • Email contains: a list of the voided timesheets and the reason for voiding.

When a resource recalls a block:

  • Who receives email: the timesheet reviewer.
  • When: about 5 minutes after the recall.
  • Email contains: a list of the recalled timesheets.

Note — Rejected actions
If an action is rejected (for example, if you try to approve a block but don't have permission), you'll see an on-screen message explaining why. No email is sent for rejected actions.


Scheduled reminder emails

A daily check at 09:00 UTC works out who needs a reminder.

Resource reminders

  • Who receives email: resources with overdue blocks (the block's end date has passed and it is still Unsubmitted or Queried).
  • Email contains:
  • A count of missing timesheets.
  • A count of unsubmitted timesheets.
  • A count of queried timesheets.

Month-end resource reminders

  • Who receives email: resources with timesheet blocks still outstanding since the start of the month.
  • Email contains: a fuller month view of outstanding timesheets.

Reviewer reminders

  • Who receives email: reviewers with timesheets awaiting approval. This covers all pending approvals, not only overdue ones.
  • Email contains: a count of the timesheets awaiting approval.

Dashboard badges & indicators

Dashboard summary card

The dashboard summary card badge is described under Summary cards above.

Assignment page

  • An overdue timesheets warning appears when an assignment has overdue timesheets (the week has ended and the block is still Unsubmitted or Queried).
  • It shows a count, a warning message, and a link to the Overdue tab on the review page.
  • Severity:
  • 0–1: OK (no warning).
  • 2–5: Warning (yellow).
  • 6 or more: Error (red).

Permissions & visibility

Who can do what

  • Resources
  • Add, edit, and remove entries.
  • Submit and recall blocks (recall only until any entry is Approved or Voided).
  • Add a description to entries.
  • Timesheet reviewers (configured on the assignment)
  • Approve blocks.
  • Query blocks (a submitted block whose entries are pending approval).
  • Managing-company admins & superusers
  • Everything a reviewer can do, plus:
    • Void entries and re-approve voided entries individually.
    • Query blocks in more situations — including blocks whose entries are already approved or voided, and empty blocks.
    • Approve removals (Removal Pending Approval).
  • They cannot add time or submit blocks on behalf of a resource.

Removing entries is resource-only.


Pricing visibility

How much pricing each person sees is governed by the assignment's pricing-visibility settings, not by an individual permission. The settings control:

  • Show supplier pricing — whether supplier amounts are shown.
  • Show client pricing — whether client amounts are shown.
  • Hide markup — when on, people see only the amounts for their own side (client users see client amounts, supplier users see supplier amounts), so the markup between the two isn't revealed.

There is no separate "can view total charge" permission. On the entry form, the Show Total Charge / Hide Total Charge toggle simply lets you hide the amount on screen while you work — it's a display preference, not a permission, and it doesn't change what you're allowed to see.


Audit trail & history

Hubbado keeps a detailed audit trail of timesheet states and actions.

  • Reviewers and managing-company admins see the full audit history:
  • Who did what (Submit, Recall, Approve, Query, Void, Remove, re-approve, and so on).
  • When it happened.
  • All notes and reasons (query notes, void reasons, and the like).

  • Resources see only the current state and the reasons relevant to them:

  • Approval, query, and void reasons.
  • Their own descriptions.
  • Not the full step-by-step history.

Troubleshooting

"I can't edit or delete this timesheet entry"

Possible reasons:

  1. The block has been submitted and contains approved or voided entries.
  2. Solution: ask a reviewer or admin to Query the block. This moves all entries back to Queried state and makes them editable again.

  3. There are updates on this entry that have not been applied yet.

  4. What this means: Hubbado is still processing a recent action (submit, approve, query, and so on) on this entry or its block.
  5. Solution: wait 10–30 seconds and refresh the page. This usually clears within seconds, but some actions take a little longer.
  6. If it persists after a minute, contact your Hubbado admin.

  7. The assignment has been archived.

  8. Solution: archived assignments cannot be edited. Contact your managing-company admin if this was done in error.

  9. The block is currently being submitted or recalled.

  10. Solution: wait for the submission or recall to finish, then try again.

"I submitted my timesheet but I need to make a change"

If no entries have been approved or voided yet:

  • You can Recall the block yourself.
  • Click Recall on the block.
  • The block returns to Unsubmitted, and all entries become editable.
  • Make your changes.
  • Submit the block again when ready.

If any entry has been approved or voided:

  • You cannot recall the block yourself.
  • Contact your timesheet reviewer or managing-company admin.
  • Ask them to Query the block.
  • They'll be notified when you resubmit it.

"The rate I need isn't showing in the rate picker"

Possible reasons:

  1. The rate's date range doesn't cover the entry date.
  2. Solution: check with your admin whether the rate should be extended, or whether a different rate should be used.

  3. Your role dates on the assignment don't cover the entry date.

  4. Solution: your admin needs to adjust your role dates on the assignment.

  5. The rate has ended or been deactivated.

  6. Solution: contact your admin to reactivate the rate or create a new one.

Note: if you're editing an existing entry and the rate it used is no longer eligible, you must select a new valid rate before you can save.


"It says there are updates that haven't been applied yet"

Sometimes you can't edit an entry because Hubbado is still finishing a recent action on it.

Common triggers:

  • Submitting a block.
  • Recalling a block.
  • Approving timesheets.
  • Querying a block.
  • Voiding an entry.

How long does it last?

  • Usually a few seconds to half a minute.
  • Hubbado finishes processing the action in the background, then the entry becomes editable again.

What to do:

  • Wait 10–30 seconds and refresh the page.
  • If it persists for more than a minute, contact Hubbado support.

"My timesheet shows as overdue but I submitted it"

Check the block state:

  • If the block is Submitted, it's not overdue.
  • If the block is Queried, it counts as overdue until you resubmit it.

Overdue criteria:

  • The current date is after the block's end date, and
  • The block state is Unsubmitted or Queried.

Solution:

  • If the block was queried, make the requested changes and Submit it again.
  • If you think this is an error, contact your timesheet reviewer or admin.

"I can't see pricing on my timesheets"

What you can see is controlled by the assignment's pricing-visibility settings (Show supplier pricing, Show client pricing, Hide markup). If you can't see the amounts you expect:

  • Ask your managing-company admin to check the assignment's pricing-visibility settings.
  • Remember the Show Total Charge / Hide Total Charge toggle on the entry form: if it's set to hide, switch it to Show Total Charge to reveal amounts you're already allowed to see.

State overview

Block states

  • Unsubmitted
  • Created automatically or in real time; may have zero or more entries.
  • Submitted
  • The resource has submitted it; ready for review.
  • Stays Submitted even after entries are Approved or Voided.
  • Queried
  • A reviewer or admin has queried it; entries are editable again.
  • When resubmitted, the block returns to Submitted.

Blocks do not have a separate "Approved" state.


Entry states

  • Unsubmitted — created by the resource and not yet part of a submitted block.
  • Pending Approval — included in a submitted block and awaiting review. (This is what a submitted entry shows; there is no separate "Submitted" entry state.)
  • Queried — sent back for changes.
  • Approved — accepted by a reviewer or admin.
  • Voided — accepted as entered, but will not be billed or paid.
  • Removal Pending Approval — a removal that needs a reviewer or admin to approve it.
  • Removed — removed and finalised; will not be billed.
  • Removal Unsubmitted — a removal flagged on an entry that is still Unsubmitted or Queried; finalised when the block is submitted.