If you place workers in California, every missed/late/short/interrupted meal or rest break owes one hour of premium pay at the worker's regular rate. The per-type-per-workday cap is one meal + one rest per worker per workday. Cal/OSHA § 3395 heat-illness recovery-period denials are uncapped.
TimeCardCruncher doesn't infer the events from clock data — you record them. The system applies the Kirby cap, computes the premium at the source contract's regular rate, and adds a separate line to the invoice so you (and your client, and any auditor) can trace each premium to the rule it implements.
What the law actually says
Three statutes plus three California Supreme Court cases shape the meal/rest premium landscape. Understanding the case law is more important than memorizing the statutes — the statutes establish the duty, the cases define what counts as a violation.
If an employer fails to provide an employee a meal or rest period in accordance with the applicable wage order, the employer shall pay the employee "one additional hour of pay at the employee's regular rate of compensation for each workday that the meal or rest or recovery period is not provided." The premium is per workday, per type, per employee.
Employers must provide a 30-minute unpaid meal break beginning no later than the end of the worker's fifth hour of work, and a second meal break for shifts longer than 10 hours. The break must be duty-free; the worker must be relieved of all duty. A 22-minute meal break, a meal break that started in the sixth hour, or a meal break the worker was required to monitor a phone during — each is non-compliant and triggers the premium.
Employers must authorize and permit a paid 10-minute rest break for every four hours worked (or major fraction thereof). Augustus v. ABM Security Services Inc., 2 Cal.5th 257 (2016), held the rest break must be duty-free and uninterrupted: a worker required to remain on-call, carry a radio, or answer interruptions is not receiving the break the statute requires. The rest premium is owed.
Outdoor workers (and certain indoor workers in regulated industries) are entitled to a "cool-down" recovery period of at least five minutes, in the shade, whenever they feel the need to prevent heat illness. Denying the recovery period — or imposing conditions that practically deny it — triggers a separate § 226.7 premium. Unlike meal/rest, recovery periods are situational, not pattern-based; each denial is a separate event, and the premium is uncapped.
The Court of Appeal in UPS v. Superior Court (Maldonado), 196 Cal.App.4th 57 (2011), held that § 226.7 caps recovery at one meal premium plus one rest premium per worker per workday — even if multiple meal or rest violations actually occurred. The Supreme Court in Kirby v. Immoos Fire Protection Inc., 53 Cal.4th 1244 (2012), then characterized § 226.7 premiums as "wages" rather than penalties, reinforcing that the recovery is structural to the statute. Two missed rest breaks on a single day still owe one rest premium. A missed meal AND a missed rest on the same day owe two premiums (one of each type). Recovery period denials are uncapped per the prior section.
Time-clock rounding rules — common in payroll systems for OT classification — do NOT apply to meal-break timing. A meal break that the rounded clock shows starting at the 30-minute mark of the fifth hour, but actually started at minute 31, is non-compliant. The literal minute is what matters. Donohue also shifted the burden: a meal-break record showing a short or late break creates a rebuttable presumption of a violation.
A worked example
One California worker, Mon–Fri 8h shifts, contract regular rate $30/h. On Wednesday the worker's meal break ran only 22 minutes instead of the required 30 (a short meal break is non-compliant under Augustus). One missed-meal event recorded on Wednesday's timecard.
| Day | Paid hours | Premium event | Premium amount |
|---|---|---|---|
| Mon | 8.00 | — | — |
| Tue | 8.00 | — | — |
| Wed | 8.00 | +1h @ $30 | |
| Thu | 8.00 | — | — |
| Fri | 8.00 | — | — |
Invoice total: 40 hours × $30 + 1 premium hour × $30 = $1,230. The premium line is labeled "Meal Premium (CA Lab. Code 226.7)" and appears distinct from the worker's straight-time and overtime lines so anyone reviewing the invoice — your client, your auditor, you on a later remediation review — can see the premium and trace it to the rule it implements.
If the same worker also missed a rest break on the same Wednesday, that's a separate Rest Premium of 1h × $30. Total: 40 × $30 + 2 × $30 = $1,260. Two missed rest breaks on the same day would still be only one rest premium under Kirby — the cap is per-type-per-worker-per-day, not per-violation.
Common mistakes
-
Recording two meal premiums on the same worker on the same day.
TimeCardCruncher rejects the second event at submission with a row-keyed error citing § 226.7 and Kirby. If the same worker missed two meal breaks, file one Meal Premium event — the cap is structural, not advisory. Misfiled events come back as 400-level validation errors before the batch is accepted.
-
Filing a premium event on a date with no timecard entry.
Premiums require a worked shift on the event date. Submitting a Meal Premium for a date the worker did not log hours is rejected with "no worked shift on that date." If the worker did work that day but the time wasn't submitted on the timecard, the timecard is the bug — fix it first, then re-submit the batch with the premium event.
-
Treating recovery period events as off-the-clock or unpaid.
The recovery period itself is paid time (Cal/OSHA § 3395 mandates it be on-the-clock). The § 226.7 premium fires when the recovery period is denied, not when it occurs. If a worker requests a heat-recovery period and the supervisor refuses, that's a denial — record a Recovery Period Premium event. The worker continuing to work through the heat is not a recovery period; that's the denial.
-
Forgetting that an interrupted rest break counts as missed.
Augustus made this concrete: a rest break the worker had to monitor a phone during, or remain available to respond during, isn't a rest break — it's continued duty. The rest premium is owed. The same logic catches short rest breaks: a 6-minute or 8-minute rest is non-compliant. The clean test: could the worker walk away?
-
Filing a meal premium on Client A AND Client B for the same worker on the same day.
The per-type-per-workday cap is per-employee, not per-employer. In US W-2 staffing, the agency is the single legal employer regardless of where the worker was placed that day. A worker who missed a meal at Client A in the morning and at Client B in the afternoon is owed one meal premium total — TimeCardCruncher rejects the second event with a cross-client error. File the event on the contract where the break should have been provided.
What you get with TimeCardCruncher
You enter the events as part of the timecard submission — through the dashboard form, the JSON API, or as an optional third CSV file on the upload page. We compute each premium at the source contract's regular rate, apply the per-type-per-workday cap (rejecting any second meal or rest event for the same worker on the same day across all your contracts in the batch), and emit each event as a distinct invoice line that names the statute it implements. The audit detail on each line records the event date, type, rate used, and any notes you attached — so a wage-and-hour review can trace any premium back to the operator action that recorded it.