AI Shift Review rules tell Careswitch what to watch for when it automatically reviews your completed shifts. Each rule describes a situation worth flagging — for example, travel time that runs unusually long or a missing care note. When the AI reviews a finished shift and finds a match, it creates an exception on that shift so your office staff can look at it before the shift is billed or paid.
This guide covers where your rules live, how to create and edit them, how to write definitions that actually work, and exactly what happens to your billing and payroll automation once a rule fires.
Billing side vs. payroll side: a quick definition
Careswitch tracks two separate financial sides for every shift:
The billing side — what you invoice the client (invoice line items, the billable time range).
The payroll side — what you pay the caregiver (payable line items, pay rates, mileage, overtime policy).
When you write a rule, you decide which side (or both) it applies to. This matters because a rule applied only to payroll only ever creates a payroll-side exception, and vice versa.
How to find your Shift Review Rules
In the left sidebar, click Settings.
On the Settings page, click the Rules tile (its description reads "Define AI shift review rules to generate exceptions.").
You'll land on the AI Rules page, under the heading Shift Review Rules. This is where all of your existing rules are listed. (This page also carries a Need help? link that points back to this guide.)
Each rule in the list shows its Name, its Definition, and one or two small badges: a Billing badge and/or a Payroll badge. A red circle-slash icon means Blocking; a yellow alert icon means Non-Blocking. Hover a badge to see the label. If you have no rules yet, you'll see an empty state ("No shift review rules yet") with an Add Rule button.
Anatomy of a rule
A rule has four parts:
Name — a short, clear label (for example, Excessive travel time). Required.
Definition — plain-English text describing what the AI should look for. This is the field the AI actually reads when it reviews a shift, so it's what makes the rule work. It's technically optional at save time, but a rule with no definition gives the AI nothing to evaluate and effectively does nothing — always fill it in.
Applicable to Billing / Applicable to Payroll — checkboxes that control the rule's scope. You must check at least one.
Severity — for each side you check, you choose Non-Blocking or Blocking.
Rules apply across the whole workspace. There's no way to scope a rule to a specific client, caregiver, service, or shift type from this form.
How to create a new rule
On the AI Rules page, click the Add Rule button.
In the Name field, type a short, clear name (for example, Excessive travel time).
In the Definition field, describe in plain English exactly what the AI should look for to flag a shift. The placeholder reads "Define what the AI should look for to identify this rule and generate an exception…" See Writing effective definitions below.
Decide where the rule applies by checking Applicable to Billing, Applicable to Payroll, or both. You must choose at least one.
When you check a box, a pair of severity options appears beneath it. The first option, Non-Blocking, is selected by default. Choose how serious the exception is:
Non-Blocking — the shift is flagged for review but still continues through your normal automated process.
Blocking — for billing, this prevents the shift from being automatically added to an invoice when it's completed; for payroll, this prevents the shift from being automatically approved for payroll when it's completed.
Click Save. You'll see a "AI rule created successfully" confirmation, and the rule appears in the Shift Review Rules list. To back out without saving, click Cancel.
If you click Save with both Applicable to Billing and Applicable to Payroll left unchecked, the form won't save — you'll see the message "Please choose whether this rule is applicable to billing and/or payroll." at the top of the form. Check at least one side and save again.
How to edit or delete a rule
On the AI Rules page, find the rule in the Shift Review Rules list.
Click the three-dot menu (the vertical dots) at the right end of that rule's row.
Click Edit to open the rule (the page title changes to Edit Rule), adjust any field, and click Save. You'll see "AI rule updated successfully."
Or click Delete to remove the rule entirely. You'll see "AI rule deleted successfully," and the rule disappears from the list.
Important — editing a rule does not re-check past shifts. Edits and deletes only change how shifts are reviewed going forward (and any shift you manually re-check; see below). Exceptions already sitting on completed shifts stay exactly as they are until each of those shifts is reviewed again.
Prefer editing the Definition over renaming. Careswitch matches a shift's existing exceptions to a rule by the rule's name. If you rename a rule, the old exceptions it already created keep the old name and won't be recognized as belonging to the renamed rule — so they won't auto-resolve on the next review, and new exceptions will appear under the new name alongside them. When you want to tweak how a rule behaves, change its Definition rather than its Name. If you do need to rename, plan to re-check (Refresh Exceptions) the shifts that were already flagged.
Non-Blocking vs. Blocking, explained
This is the part that most directly affects your billing and payroll automation, so it's worth being precise.
Non-Blocking exceptions flag, they don't pause. A shift that carries only Non-Blocking exceptions is still automatically added to its invoice and still auto-approved for payroll. Non-Blocking means "flag this for a human to be aware of," not "hold this up."
Blocking exceptions pause automation. A shift with at least one unresolved Blocking exception will not be automatically added to an invoice (for a blocking billing exception) or automatically approved for payroll (for a blocking payroll exception) until the exception is resolved.
Blocking pauses automation only — it is not a hard lock. You can always manually add a blocked shift to an invoice or manually approve it for payroll. Blocking is a safety pause on the automatic path, not a lock that stops your team from acting.
One extra condition on payroll auto-approval. Payroll auto-approval only runs at all if your workspace has at least one rule that applies to payroll. If you have zero payroll rules, payable line items will never auto-approve — even on a perfectly clean shift with no exceptions. (Billing auto-add has no such requirement.) So if payroll isn't auto-approving even though shifts look clean, the usual cause is simply that no payroll rule exists yet.
Writing effective definitions
The Definition is the only thing the AI reads to decide whether to flag a shift, so the wording matters. A few principles:
Write plain, specific English. The AI reads your definition as ordinary text — there are no special keywords, codes, or formatting to learn. Something like "Travel time exceeding 30 minutes" or "Care documentation is missing" works on its own.
Scope comes from the checkboxes, not from words in the definition. You don't need to write "billable" or "payable" to point the AI at the right side of a shift — that's controlled entirely by the Applicable to Billing / Applicable to Payroll checkboxes. (You may mention "billable" or "payable" as a natural hint if it reads well, but it's optional, not required.)
Be specific so you don't over-flag. Vague or overly broad definitions tend to flag too many shifts, which buries the ones that matter. Prefer a concrete threshold ("more than 30 minutes") over a fuzzy one ("a lot of").
Stick to data the AI can actually see. A rule that references information the AI doesn't receive will simply never fire (see below).
Choose Blocking deliberately. Use Blocking only for issues serious enough to hold up billing or payroll. Use Non-Blocking for things you just want surfaced.
Don't overdo it. There's no enforced limit on the number of rules, and the system evaluates them all — but too many rules can leave nearly every shift with an exception. Focus on the issues that matter most. There is no on/off toggle for a rule; the only way to turn a rule off is to delete it (you can always edit its Definition to narrow it instead).
What shift data the AI can evaluate
When the AI reviews a completed shift, it sees a structured snapshot of that shift, including:
Schedule (start/end times, duration)
Clock in/out events, with geolocation and EVV status
Care documentation (care summary, care-task records, and whether signatures were captured)
Travel time and mileage
Billing line items and the billable time range
Payroll line items, pay rates, mileage rate, travel rate, and the overtime policy
Service, employee, and client status and tags
Rules that reference anything outside this set (for example, an employee's internal notes) will never fire, because the AI never receives that data. Keep your rules about observable shift facts.
A note on care documentation
The AI automatically receives a care-documentation section for each shift, so you can write rules about it directly — for example, "No care note recorded" or "Care summary is blank." There's no special keyword you need to use; just describe the situation in plain English.
Worked examples
Here are a few ready-to-adapt definitions, with the side(s) you'd typically apply them to:
Travel time (payroll) — Name: Excessive travel time. Definition: Travel time exceeding 30 minutes. Applicable to Payroll.
Mileage (payroll) — Name: High mileage. Definition: Mileage greater than 50 miles for a single shift. Applicable to Payroll.
Duration vs. schedule (billing + payroll) — Name: Worked time far over schedule. Definition: Clocked time is more than 30 minutes longer than the scheduled shift length. Applicable to Billing and Payroll.
Late start (billing) — Name: Late clock-in. Definition: Caregiver clocked in more than 15 minutes after the scheduled start time. Applicable to Billing.
Missing documentation (billing) — Name: Missing care note. Definition: No care documentation recorded for the shift. Applicable to Billing.
What happens after a rule runs
When a shift is completed (or when you manually re-check it), the AI evaluates it against your rules and writes any matches as exceptions onto that shift. Here's where to find them and how they behave:
Where exceptions appear. Open the shift's detail page. Billing exceptions show on the client (care recipient) card; payroll exceptions show on the Shift Payroll card. Each exception includes the AI's reason, so you can see exactly why it flagged the shift.
Blocking — created by a rule set to Blocking. The shift won't auto-add to an invoice (billing) or auto-approve for payroll (payroll) while this exception is unresolved. You can still bill or pay it manually.
Non-Blocking — created by a rule set to Non-Blocking. The shift is flagged for awareness but still flows through your normal automation.
Resolved — an exception that's no longer being flagged. When a shift is re-reviewed and the AI no longer detects the condition (for example, after you fix the underlying data), the exception is marked Resolved. Resolved exceptions are kept on the shift for historical tracking, so you always have a record of what was flagged and cleared.
Rules are not retroactive. Creating, editing, or deleting a rule only affects shifts that are reviewed afterward — future completed shifts, plus any shift you manually re-check. Past shifts keep their current exceptions until they're reviewed again.
Re-checking a shift with Refresh Exceptions
To re-run the AI review on a single shift — after you edit the shift's data, or after you change a rule — open that shift and click Refresh Exceptions (available from the shift's exceptions area). The AI re-evaluates the shift against your current rules. If a previously flagged condition no longer holds, that exception flips to Resolved and automation can resume; if a new condition now matches, a new exception appears.
Deleting a rule does not instantly clear the exceptions it already created on past shifts. Those exceptions stay in place — keeping their blocking status — until each shift is re-reviewed (via Refresh Exceptions or the next automatic review), at which point they're marked Resolved.
The iteration loop: refining a rule that isn't behaving
Rule-writing is a bit of trial and error. If a rule fires too often, too rarely, or not at all, you can tune it yourself:
Open the rule from the AI Rules page (three-dot menu → Edit) and adjust the Definition to be more specific.
Open a representative completed shift — ideally one you'd expect the rule to catch.
Click Refresh Exceptions to re-run the AI review on that shift.
Read the AI's reason text on the exception (or note the absence of one) to see how it interpreted your wording.
Adjust the Definition and repeat until it behaves the way you want.
If a rule rarely fires when you expect it to, the usual causes are a definition that's too vague, one that references data the AI doesn't receive (see the data list above), or one that's simply too broad. Tightening the wording around observable shift facts almost always fixes it.
This feature relies on AI, which can occasionally make a mistake. Treat the loop above as the normal way to refine a rule — most "it's not catching this" cases are solved by sharpening the Definition.
Common scenarios
Flag long travel time for payroll only
Create a rule, check only Applicable to Payroll, and choose Blocking. When a matching shift completes, a blocking exception lands on the payroll side only, pausing automatic payroll approval until you resolve it. Billing is untouched.
The same condition on both billing and payroll
If you set a rule to Blocking on both Billing and Payroll and a shift matches, two separate exceptions are created — one on each side. Resolving the billing exception does not clear the payroll one; each must be resolved independently.
You fix the underlying problem on a shift
Say a shift was blocked for excessive travel time, and you correct the travel time. Open the shift and click Refresh Exceptions. The AI re-evaluates; since the condition no longer holds, the exception is marked Resolved (and kept for history), and automation can resume.
A workspace with no payroll rules
Even a perfectly clean shift won't auto-approve for payroll if your workspace has zero payroll rules, because payroll auto-approval only runs when at least one payroll rule exists. If you want payroll to auto-approve, make sure you have at least one rule applicable to payroll.
Frequently asked questions
Do my rules apply to shifts that already happened?
No. Rules only affect shifts reviewed after you create or edit the rule — future completed shifts, plus any shift you manually re-check with Refresh Exceptions. Past shifts keep their existing exceptions until they're reviewed again.
Does every exception stop a shift from being billed or paid?
No — only Blocking exceptions pause automation. A shift carrying only Non-Blocking exceptions still auto-adds to its invoice and still auto-approves for payroll. Non-Blocking is "flag for awareness," not "pause."
Where do I see the exceptions a rule created?
On the shift's detail page. Billing exceptions appear on the client (care recipient) card, and payroll exceptions on the Shift Payroll card. Each one shows the AI's reason for flagging the shift.
How do I re-check a shift after I edit it or change a rule?
Open the shift and click Refresh Exceptions. That re-runs the AI review for just that shift against your current rules.
Can I turn a rule off without deleting it?
Not currently — there's no enable/disable toggle. To stop a rule, delete it; to narrow what it catches, edit its Definition.
What happens to existing exceptions if I delete or rename a rule?
If you delete a rule, the exceptions it already created stay on past shifts (keeping their blocking status) until each shift is re-reviewed, then they resolve. If you rename a rule, the old exceptions keep the old name and won't auto-resolve under the new name — so prefer editing the Definition instead, or plan to Refresh Exceptions on the affected shifts.
Do I have to use the words "billable" or "payable" in my rule?
No. Scope is controlled entirely by the Applicable to Billing / Applicable to Payroll checkboxes, not by keywords in the definition. Write plain, specific English.
Why isn't payroll auto-approving even though the shift looks clean?
Payroll auto-approval only runs if your workspace has at least one rule that applies to payroll. With zero payroll rules, payable line items won't auto-approve, even when there are no exceptions. Add a payroll rule to enable it.
Can I still bill or pay a shift that has a blocking exception?
Yes. Blocking only pauses the automatic path — you can still manually add the shift to an invoice or manually approve it for payroll. Resolving the exception lets automation resume on its own.
What shift data can my rules look at?
Schedule times; clock in/out with geolocation and EVV; care documentation (care summary, care-task records, and whether signatures were captured); travel time and mileage; billing and payroll line items; pay rates, mileage rate, travel rate, and overtime policy; and service, employee, and client status and tags. Rules about anything outside this set won't fire.
