Managing your organization

Building anomaly rules

Craft flexible rules that flag the timesheet patterns your team needs to catch.

Starter plan and upManagers and up

Anomaly rules are how BadgeOut watches your team's hours for you. When a period reaches review, each timesheet is checked against the rules you've set, and anything unusual (a day of overtime, weekend work, a missing entry) is flagged before you approve. The builder is where you decide what counts as unusual for your organization.

Find your anomaly rules

  1. Open Settings, then select Anomaly Rules under Time-Related.
  2. Review the rules already in place. Each one shows its name, a severity badge, and a switch to turn it on or off.

BadgeOut seeds every organization with a starter set, already enabled:

  • Overtime Detection
  • Undertime Detection
  • Weekend Work Detection
  • Missing Workdays
  • Punch Rounding Mismatch
  • Unnecessary PTO Usage
  • Insufficient Daily Hours
  • Future Hours Entry

Use these as they are, adjust them, or add your own.

The Anomaly Detection Rules list with several rules, each showing a severity badge and an enable toggle, and a New Rule button.

Select New Rule to build one from scratch, or select an existing rule to edit it.

How a rule is built

Every rule has two parts: the details that describe it, and one or more conditions that define what it catches. When you add more than one condition, they chain with AND, so the rule fires only when all of them match. That's what makes a rule precise: each condition you add narrows what gets flagged.

A new rule walks you through these two parts as a wizard. Editing an existing one puts them on two tabs, Rule Details and Configuration, with a Save Changes button pinned to the bottom.

Set the rule details

On the Rule Details step, describe the rule and how it should read when it fires:

  1. Enter a Name, such as "Manager overtime on indirect codes".
  2. Optionally add a Description noting when the rule should trigger.
  3. Choose a Severity: High, Medium, or Low. Severity sets how much a flag stands out, from a red high marker down to a green low one.
  4. Write a Message Template, the text shown on each flag. Drop in variables and BadgeOut fills them with the real values: {value}, {date}, {role}, {chargeCode}, and {expectedValue}. For example, {value} billable hours logged on {date}.
  5. Leave Enabled on to put the rule to work right away, or turn it off to keep it as a draft.

On a new rule, select Next: Configure Rule to move on.

The Rule Details form with Name, Severity, Message Template, and an Enabled toggle.

Add conditions

The Configuration step has two panels. The Condition Library on the left lists every condition you can add; the Rule Configuration panel on the right is where you assemble and tune them.

  1. In the Condition Library, select a condition to add it. Each condition can be used once per rule, so it's marked with a check once it's in.
  2. In Rule Configuration, fill in that condition's settings (a threshold, a minimum, a set of roles, and so on).
  3. Add more conditions to narrow the rule. Each new block joins the one above it with an AND connector, and the panel notes "Chained rule with N conditions (ALL must match)".
  4. Select Create Rule, or Save Changes when editing. A rule needs at least one condition before you can save it.

The Configuration step: the Condition Library on the left and the Rule Configuration panel on the right with conditions chained by AND connectors.

Conditions you can combine

Each condition watches for one kind of pattern. Mix and match them to describe exactly what your team needs to catch.

ConditionWhat it flagsKey setting
Overtime DetectionDaily hours above a ceilingHours Threshold
Undertime DetectionDaily hours below what's expectedPercentage Threshold (0.8 for 80%)
Insufficient Daily HoursA day under a set minimumMinimum Hours Required
Weekend Work DetectionAny hours logged on a weekendNone
Missing Days DetectionWorkdays left with no entriesMinimum Consecutive Days
Holiday Work DetectionBillable hours on a federal holidayNone
Future Hours EntryHours logged for a date that hasn't happenedNone
User Role CheckOnly members in certain rolesAllowed Roles (Admin, Manager, Member)
Charge Code CheckSpecific charge codes or a code typeCharge Code Type, Select Charge Codes, Minimum Hours
Note CheckEntries missing a required noteRequire Note
Unnecessary PTOPTO that pushes a day past its expected hoursNone
Punch Rounding MismatchEntries that break a code's rounding incrementNone

Craft a flexible rule

A single condition catches a broad pattern. Chaining a few together catches a specific one. Say you only want to hear about a manager logging overtime against indirect charge codes, not everyone who runs long:

  1. Add User Role Check and set Allowed Roles to Manager.
  2. Add Charge Code Check and choose your indirect Charge Code Type.
  3. Add Overtime Detection and set the Hours Threshold.

Because the three conditions join with AND, the rule fires only when all of them are true at once: a manager, on an indirect code, over the threshold. Drop the role condition and it widens to anyone; swap the charge-code condition and it watches a different set of codes. Same building blocks, a different question each time.

Tip

Set a generous Hours Threshold so a normal full day doesn't trip the rule. The seeded overtime rule uses 14. Start broad, see what the next cycle review surfaces, then tighten.

Edit, disable, or delete a rule

  • Edit: select a rule from the list, change it on the Rule Details or Configuration tab, and select Save Changes.
  • Disable: turn off a rule's switch on the list. It stops flagging right away but keeps its configuration, so you can switch it back on later. This is the reversible way to pause a rule you might want again.
  • Delete: select the trash icon on the rule and confirm.

Deleting is permanent

Deleting a rule can't be undone, and you'd have to rebuild it from scratch. If you only want to stop a rule for now, turn its switch off instead.

Where flagged anomalies show up

BadgeOut checks logged hours against your rules and surfaces what they catch in two places. During a cycle review, a banner at the top tallies how many anomalies were found and across how many people. On a timesheet, each flag appears on the entry it relates to. Either way, you see what needs a second look before you approve. See Reviewing timesheets.

Up next

On this page