Monitor timesheet compliance
Timesheet compliance answers one question every week: who has logged the hours they were expected to log? Once enforcement is enabled, a compliance dashboard tracks each person’s status and puts a price tag on the gap, and a background worker sends the reminders so you do not have to.
Turn on compliance enforcement
Section titled “Turn on compliance enforcement”-
Open Organization Settings, go to the Configuration tab, then the Timesheets section.
-
Find the Compliance enforcement panel and check the Prerequisites bar. Enforcement requires at least one active rate card, because the cost-at-risk figure is priced from rate cards. If none exist, the save is rejected with a prompt to set one up first.
-
Choose where expected hours come from: Per-user capacity (each person’s weekly availability from the Capacity Planner) or Fixed (one number for everyone).
-
Set the Compliance threshold, the percentage of expected hours someone must log to count as compliant. The default is 95%.
-
Set the Submission deadline: a day of week, an hour, and a timezone (the default is Friday at 5 PM). Everyone sees the same wall-clock deadline.
-
Pick your Reminders, then flip the panel’s toggle on and select Save changes.
Reminders and digests
Section titled “Reminders and digests”Two automated reminders are available, both on by default:
- Per-user nudge: sent the hour before the deadline to everyone who is not yet compliant, with their logged-versus-expected count.
- Admin digest: a weekly summary sent Monday at 9 AM (organization local time) to Owners and Admins, listing non-compliant members and the total cost at risk.
Roles listed under Exempt from compliance (Guests by default) are left out of both the stats and the nudges.
Send the digest yourself
Section titled “Send the digest yourself”Send digest to admins, on the Compliance dashboard, emails that same summary to every Owner and Admin immediately, for the week you are looking at. It works whether or not enforcement is on, so it is the way to circulate the numbers in a visibility-only organization, or to send a week early rather than waiting for Monday.
Admins who have turned timesheet email off in their notification settings still get the in-app notification, and the confirmation tells you how many that was. It is limited to a few sends per hour.
Read the compliance dashboard
Section titled “Read the compliance dashboard”The dashboard lives on the Timesheet page, under the Approvals tab, in the Compliance section. It is visible to whoever can approve timesheets. For each week you get:
- Summary cards: Compliance rate, Hours expected, Hours logged, and Cost at risk.
- A per-person table with a status badge per row: Compliant (at or above the threshold), Partial (logged something, but below it), Missing (logged nothing), or Exempt.
- Filter chips per status, a week navigator, and an All hours / Billable only view toggle.
- A per-row link to view that person’s compliance event history in the audit log.
Cost at risk multiplies each person’s missing hours by their rate-card rate, so the gap reads in currency, not just hours. If a person has no applicable rate card, the figure is flagged as using a fallback rate.
Best practices
Section titled “Best practices”- Start with reminders-only enforcement, then tighten. Turn on compliance with reminders first; let the organization build the habit before adding hard-lock or escalation. The shift in behavior is what you’re after, not the enforcement.
- Set the threshold low enough to feel achievable. 95% sounds nice but creates a lot of “almost compliant” people. 90% or even 85% in the first quarter; tighten as the team adapts.
- Account for the cost-at-risk total-hours formula. Cost-at-risk prices the TOTAL-hours gap (logged vs expected), not a billable-only gap. The “Billable only” view toggle filters the displayed hours but doesn’t change the cost formula. Tell finance.
- Designate Friday at 5 PM (or your equivalent end-of-week marker) as the canonical deadline. Cross-team consistency matters more than per-team preference. Org-wide same deadline = org-wide same expectation.
- Review compliance reports monthly with team leads, not weekly with everyone. Weekly reports are nudges (and the system handles that); monthly reports are trends. Use the trend conversation to address structural issues, not individual non-compliance.
Troubleshooting / common pitfalls
Section titled “Troubleshooting / common pitfalls”- Save rejected with “Rate cards required”. Compliance enforcement needs at least one active rate card to price the cost-at-risk number. Set up a rate card first. See Configure rate cards.
- Cost-at-risk number looks too high. The formula prices the TOTAL gap, not the billable gap. A person 5 hours short in a non-billable project still shows in the cost-at-risk total at their cost rate.
- A person is consistently Missing despite logging time. Compliance counts every logged entry regardless of its Draft, Pending, or Approved status, so approval state isn’t the cause. Missing means zero hours landed in that week for this organization, so they are more likely logging into a different week, or into a project that belongs to another organization they belong to. Check the week navigator first. Someone who is exempt or has a zero-hour expectation shows as Exempt, not Missing.
- The cost-at-risk number uses a fallback rate. A person without a per-user or per-role rate card falls back to organization default or the env-configured default. Set a per-user rate card to fix the number.
- Reminders aren’t sending. Three causes: (a) toggle off in settings; (b) the user’s notification preferences disable timesheet reminders; (c) the deadline already passed (reminders fire the hour before, not after).
How this combines with other features
Section titled “How this combines with other features”- Compliance + Approvals. These are separate reads: compliance counts logged hours regardless of Draft, Pending, or Approved status, while the Approvals inbox is where entries actually get reviewed. See Approve timesheets.
- Compliance + Expected hours overrides. Per- user, per-role, per-team overrides take precedence over the global expected-hours setting. See Set expected hours overrides.
- Compliance + Hard lock. Pro tier is reminders-only. Enterprise adds hard-lock and escalation. See Enforce timesheets with a hard lock and Run escalation chains.
- Compliance + Audit logs. Every compliance event (notification, missed deadline, escalation step) goes to the audit log. See Read audit logs.
Coming from another tool
Section titled “Coming from another tool”| Tool | Mapping |
|---|---|
| Microsoft Project Online Compliance | Similar timesheet status pattern |
| ServiceNow Time Card compliance | Direct concept |
| Spreadsheet | Onplana replaces manual chasing with auto-reminders |
| Tempo for Jira | Direct |
| Harvest | Lacks formal compliance enforcement; closer to “did anyone log” reports |
Who can change these settings? By default Owners and Admins. The permission is configurable in the permissions matrix, so an organization can widen or tighten it.
Does enabling compliance block anyone from working? Not at this level. Pro-tier enforcement is visibility and reminders only. Blocking modes are an Enterprise feature, covered in Enforce timesheets with a hard lock.
Why does the dashboard show someone as Compliant with zero expected hours? An expected value of zero means no requirement for that week, so the person cannot be out of compliance.
Does compliance work for hourly contractors with no fixed expected hours? Set their expected hours via a per-user override (often 0 or a low floor). The dashboard then reflects what’s expected.
Can compliance pause for vacation weeks? Yes via expected hours overrides set to 0 for that person/week, or via the grant compliance exceptions flow. See Grant compliance exceptions.
Does the cost-at-risk include both billable and non-billable gaps? Yes, the formula uses total expected hours, not billable-only. The Billable Only view toggle filters the displayed columns but the cost calculation remains total-hours-based.
Related
Section titled “Related”- Set expected hours overrides, refine the expected bar
- Grant compliance exceptions, for legitimate exemptions
- Enforce timesheets with a hard lock, Enterprise tier
Was this helpful?
Thanks for your feedback!