The rule this page actually runs
Labor Code 512 is a five-hour / ten-hour statute with written waivers in the 5–6 hour and 10–12 hour bands. Brinker tells you when during the shift the meal has to start. On-duty agreements are a separate written animal. None of that is in the math below. The engine on this page is the payroll-shaped remainder after those waivers, plus the IWC rest line:
Worked > 6 hours and unpaid lunch < 30 minutes → first meal missing
Worked > 12 hours and unpaid lunch < 60 minutes → second meal missing
Either meal condition → one hour at the regular rate, once per workday
Worked ≥ 3.5 hours → rest required (net 10 min per 4h or major fraction; DLSE major fraction = more than 2 hours)
This UI has no rest-taken flag: if rest is required, treat it as missed → one hour at the regular rate, once per workday, not per missed rest
Meal and rest stack: two 226.7 hours if both apply
Those hours do not enter regular / OT / DT minutes
Work six hours and one minute with no lunch at $20 and you owe $20 on the meal line and $20 on the rest line. Work five hours with no lunch and this page charges nothing for the meal (the 5–6 hour meal is waivable and we are not guessing whether anyone waived it) but it does charge the rest hour, because five hours is at or above 3.5. Work thirteen hours with a 30-minute lunch and the second meal is the problem (lunch is under 60) plus the rest hour. Work thirteen hours with no lunch and both meals are missing — still one meal premium, because 226.7 meal is “for each workday,” not per missed meal — plus one rest premium, because the DIR Rest FAQ is one rest hour per workday, not per missed rest.
The $200 check
Eight hours, zero lunch, $20 an hour: $160 on the regular line, $20 on the meal line, $20 on the rest line, overtime minutes unchanged at zero. Load the preset. If you instead clock 8:00 to 21:00 with no lunch, you will see Labor Code 510 carve 8 regular + 4 OT + 1 double time, plus one $20 meal premium plus one $20 rest premium. The overtime minutes match a 13-hour day that had a legal meal; the premiums sit beside them.
Rest-break assumption (this UI only has lunch minutes)
IWC § 12 is “ten (10) minutes net rest time per four (4) hours or major fraction thereof,” and “a rest period need not be authorized for employees whose total daily work time is less than three and one-half (3 ½) hours.” The DIR Rest FAQ states that DLSE considers anything more than two hours to be a major fraction of four. Typical hour-entry tools cannot see whether a rest was given in the middle of a four-hour block. This punch panel has unpaid lunch and no rest-taken flag. Assumption, labeled here and on the ticket: if hours worked require one or more rests, count them as missed and add one LC 226.7 hour for that workday. A 30-minute unpaid lunch means the meal was allowed; it is not treated as a rest. Under 3.5 hours: no rest required, no rest premium.
The DIR Rest FAQ does not say one 226.7 hour total for any meal-or-rest violation. It says one hour for rest per workday, not per rest. The meal FAQ states its own hour. This page stacks them.
In scope
- One meal premium per workday at the regular rate
- First meal if worked > 6h and lunch < 30 (5–6h waivable)
- Second meal if worked > 12h and lunch < 60
- One rest premium per workday at the regular rate when hours require a rest (no rest-taken flag; required rests treated as missed)
- Meal and rest stack (two 226.7 hours) when both apply
- LC 510 overtime on the same punches, premiums excluded from OT hours
Out of scope
- Brinker timing (end of 5th / 10th hour)
- On-duty meal agreements
- Recovery periods
- IWC-order industry exceptions
- A rest-taken checkbox this UI does not have — misses are inferred as documented