TL;DR

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.

The premium statute
Cal. Lab. Code § 226.7(c)

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.

The meal break duty
Cal. Lab. Code § 512 + IWC Wage Order § 11

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.

The rest break duty
IWC Wage Order § 12 + Augustus v. ABM

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.

The heat-illness recovery period
Cal/OSHA Title 8 § 3395

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 daily cap
UPS v. Superior Court (Maldonado), 196 Cal.App.4th 57 (2011)

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.

The rounding rule
Donohue v. AMN Services LLC, 11 Cal.5th 58 (2021)

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.

One week of CA work — Wed had a 22-minute meal break Contract regular rate $30/h; one missed-meal event recorded on Wed
Day Paid hours Premium event Premium amount
Mon8.00
Tue8.00
Wed8.00Meal Premium+1h @ $30
Thu8.00
Fri8.00
Paid hours
40.00
Premium
1.00
Invoice
$1,230

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

What you get with TimeCardCruncher

Built for this exact problem

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.