Penalties
Penalty estimates — assumption-based
The penalty estimates build on the premium record in one chain: a shift with a potential meal violation is a premium shift; a pay period whose net meal premium count is at least one, its premiums assumed unpaid, is a deficient pay period; and the deficient-pay-period count drives the § 226 schedule and the PAGA base penalty, each re-counted inside its own limitations window. The rest estimate never makes a pay period deficient — it is an assumption, and an assumption does not manufacture a statutory penalty count, so rest exposure stays a dollar figure under the rest claim head. Every link is an estimate resting on a disclosed assumption, not an adjudicated fact.
- § 226 wage statements — the per-employee schedule over deficient pay periods: $50 for the first, $100 each additional, capped at $4,000.
- § 203 waiting time — employees whose last shift falls at least 28 days before the dataset’s most recent date are assumed separated; each books 30 days at that employee’s own average shift length × the average hourly rate, unless the run fixes the hours per shift, and the figure states which basis it used.
- PAGA — the civil penalty at the configured base per deficient pay period, inside the 1-year window, multiplied by 0.5 for a weekly pay period under the amended § 2699 text; tiers the record cannot price are disclosed, not computed.
Related: § 226 wage-statement penalty · § 203 waiting-time penalty · PAGA civil penalty · Statute-of-limitations windows · Known limitations & edge cases
§ 226 wage-statement penalty
A pay period is deficient when its net meal premium count is at least one — at least one shift carrying a potential meal violation whose premium is assumed unpaid, after the premium buffer (a setting of the analysis, default 0) has offset that pay period’s premium counts. The rest estimate never makes a pay period deficient: an estimate is a weak basis for a per-statement penalty, so this count rests on the observed meal side alone. No premium is assumed paid, and nothing adjusts the count while reading: every figure is the run’s own.
Per employee, the estimate follows the § 226(e) schedule — $50 for the first deficient pay period, $100 for each additional — capped at $4,000 per employee: the smaller of the running schedule and the cap.
penalty per employee = min( 50 + 100 × (deficient pay periods − 1), 4000 )
3 deficient pay periods: $50 + $100 × 2 = $250
40 deficient pay periods: $50 + $100 × 39 = $3,950 — the last count under the cap
41 or more: $50 + $100 × 40 = $4,050 → capped at $4,000
Two statutory elements are assumed, not evaluated: § 226(e) conditions the penalty on a knowing and intentional failure and on resulting injury — facts outside the timekeeping record. The estimate quantifies the schedule as if those elements were met; whether they are is a merits question the data cannot answer.
Inside the 1-year § 226 window, deficient pay periods are re-counted and the cap re-applied per employee — the windowed figure is never scaled down from the all-time figure. The case figure is the per-employee estimate summed across employees.
Related: Penalty estimates — assumption-based · Premium buffer — a setting of the analysis · Statute-of-limitations windows
§ 203 waiting-time penalty
An employee whose last recorded shift falls at least 28 days before the dataset’s most recent date is assumed separated. “Last observed” is a proxy: the timekeeping record contains no termination dates, so separation is inferred from inactivity, the inactivity threshold is a setting of the analysis, and the inference is stated on the face of the figure rather than left to this page. A leave of absence therefore reads as a separation, and a separation inside the threshold reads as an active employee. An employee who is not assumed separated carries no § 203 figure at all — the penalty is empty, not a computed zero.
The unit of pay is the AVERAGE SHIFT, and it is measured rather than assumed: that employee’s own total paid hours over the shifts they worked, priced at the average hourly rate. § 203 continues wages “at the same rate” for up to 30 days until final wages are paid, and the timekeeping record contains no payment dates that could support a shorter accrual, so the estimate carries the full 30 days. An employee whose shifts ran six hours is measured at six, not at eight:
penalty per separated employee = average shift length × average hourly rate × 30
average shift length = total paid hours ÷ shifts worked, or the one fixed value a run may set instead
The figure is straight time and it is not capped: the measured average shift enters as recorded, with no eight-hour ceiling and no overtime or double-time uplift, since overtime and double time are excluded from the analysis entirely. A run may instead set one fixed shift length for every separated employee, and the figure states which of the two bases the run used.
Where this parts from the statute is the unit. § 203 continues wages “at the same rate”, and the statute measures that rate as a day’s wages, not as a shift. The two coincide for an employee whose days hold one shift. For an employee whose days hold more, the average shift is shorter than the day, so the figure reads lower — § 203 exposure is understated for split-shift employees.
One statutory element is assumed, not evaluated: § 203 conditions the penalty on a willful failure to pay final wages, and an objectively reasonable, good-faith dispute that wages were owed defeats willfulness (Naranjo v. Spectrum Security Services (2024) aligned the § 226 and § 203 good-faith standards). Willfulness turns on facts outside the timekeeping record; the estimate quantifies the schedule as if the element were met — whether it is, is a merits question the data cannot answer.
The statutory predicate — an unpaid amount due at the employee’s separation — is likewise assumed: the estimate accrues for every assumed-separated employee, whether or not an unpaid amount existed at their separation. Testing the predicate per employee requires payroll data the analysis does not yet ingest.
The figure is scoped to a 3-year limitations window (Pineda v. Bank of America (2010) places a stand-alone § 203 claim under the 3-year period for a liability created by statute). The window keys to the separation date, which is inferred from the last day worked rather than known, so the boundary carries that inference: an employee whose inferred separation falls outside the window is excluded, and the inferred date can run up to 72 hours earlier than the true final-wage due date, which makes the boundary conservative. A future employee-census upload will supply actual separation dates and replace both inferences.
Related: Penalty estimates — assumption-based · Average hourly rate assumption · Statute-of-limitations windows · Known limitations & edge cases
PAGA civil penalty
PAGA (the Private Attorneys General Act, Lab. Code § 2699) lets an aggrieved employee recover civil penalties for Labor Code violations on the state’s behalf. The penalty accrues per aggrieved employee per pay period. The analysis prices it over the deficient-pay-period count inside the 1-year PAGA window — the same meal-only count the § 226 estimate builds on, after the premium buffer — at the base civil penalty configured for the case (default $100): § 2699(f)(2)’s default penalty, carried as a setting so a case can price a different basis, and fixed for the analysis that reports it.
Two versions of § 2699 exist. The 2024 amendments (AB 2288 / SB 92) govern notices filed with the Labor & Workforce Development Agency on or after June 19, 2024; earlier notices fall under the prior text. The analysis reads the regime from the case’s LWDA notice date. When no notice date is recorded, the filing date the analysis was run with stands in, because a notice precedes its suit. A date on or after June 19, 2024 places the case under the amended § 2699 text; an earlier date places it under the prior § 2699 text, where the figure is the base per deficient pay period with no halving and no caps.
Computed from the record
- Base tier — the configured base civil penalty per deficient pay period, under either text.
- Weekly halving (§ 2699(o), amended § 2699 text) — when the regular pay period the analysis was run with is weekly, the base is multiplied by 0.5.
PAGA (amended § 2699 text) = base × halving × deficient pay periods
halving = 0.5 when the regular pay period is weekly, otherwise 1
PAGA (prior § 2699 text) = base × deficient pay periods
Shown as what-ifs
The reasonable-steps caps of the amended § 2699 text turn on a fact outside the timekeeping record — whether the employer took all reasonable steps to comply — so each is shown beside the gross, never in it: 15% of the amount sought where those steps were taken before the notice or records request (§ 2699(g)), and 30% where they are taken within 60 days after the notice (§ 2699(h)). Each what-if is that share of the gross. The caps do not exist under the prior § 2699 text, so no what-if is shown there.
Disclosed, not computed
Three tiers of the amended § 2699 text each turn on a fact outside the record, so each is listed with its basis and carries no figure. The higher per-pay-period tier for a subsequent violation turns on a prior agency or court finding within five years that the practice was unlawful, or a court finding of malicious, fraudulent, or oppressive conduct. The reduced tier for a violation that resulted from an isolated, nonrecurring event within the statutory span turns on whether the violations were isolated, which is not assessed from the timekeeping record. The reduced tier for a wage-statement violation where the employee could promptly and easily determine the accurate information from the wage statement alone turns on the wage statement itself; this figure counts premium-deficient pay periods, not wage-statement violations.
Of any recovered PAGA civil penalty, 65% goes to the Labor & Workforce Development Agency and 35% to the aggrieved employees under the amended § 2699 text (§ 2699(m)); under the prior text of § 2699 the split is 75% / 25%. The split is shown for reference; it does not change the gross figure.
There is no per-employee cap ($4,000 is a § 226 rule), so the figure is a case-level multiply over the total count: at $100 across 260 windowed deficient pay periods on a non-weekly payroll, the estimate is $26,000. A deficient pay period is counted once, however many claim heads it carries — one civil penalty per deficient pay period. That is a conservative modeling choice, not a reading of the statute’s derivative-penalty bar: § 2699 bars a penalty for a §§ 201–203 violation, a “non-willful § 204 violation”, or a § 226 violation “that is not knowing and intentional” in addition to the penalty for the underlying unpaid-wage violation, a bar that is conditional and does not merge meal and rest premiums. The model does not price a separately stackable § 226 penalty. The § 226 and PAGA counts are reported separately even where they are equal, because the two windows are not the same rule and need not stay aligned. Changing the base penalty produces a second analysis to compare against the first.
Related: Penalty estimates — assumption-based · § 226 wage-statement penalty · Premium buffer — a setting of the analysis · Statute-of-limitations windows · Known limitations & edge cases
Statute-of-limitations windows
Statute-of-limitations windows
Before any figure is computed, the analysis itself is bounded by the analysis window. Its floor is the filing date minus 4 years — the longest limitations period any analysed claim carries, so the window holds everything the filing date can reach — and the floor date itself is inside the window: at a 2025-06-02 filing, a segment dated 2021-06-02 is kept and one dated 2021-06-01 is not. The filter applies at the time-segment grain, after the midnight split, so every level above it aggregates what survives and no later stage re-applies it; a segment crossing the first midnight of the window keeps only its in-window part. The segments the window leaves out are counted in the data-coverage views beside the duplicate and overlap tallies. Uploads are kept whole, so a change to the window is a new analysis, not a new upload.
Within that window each figure is scoped to its claim’s own California limitations period, measured back from the anchor date frozen into the analysis — the filing date, unless the case sets a different anchor, so one anchor moves every claim window together. A claim window is a lookback floor, not a range: a pay period is in scope when its end date falls on or after the anchor minus the limitations period. There is no upper bound — pay periods after the filing date are in scope — and a pay period straddling the floor counts whole.
| Claim | Window | Basis |
|---|---|---|
| Meal premiums (§ 226.7) | 4 years | Pleaded as UCL restitution; Bus. & Prof. Code § 17208 carries a 4-year period. |
| Rest premiums (§ 226.7) | 4 years | Same premium basis as meal; same UCL reach. |
| Wage statements (§ 226) | 1 year | A statutory penalty; CCP § 340(a). |
| PAGA | 1 year | Civil penalties; CCP § 340(a). The 1-year period runs back from the filing date. Lab. Code § 2699.3(d) excludes the LWDA-review periods from the limitations period; that tolling is not applied. |
| Waiting time (§ 203) | 3 years | Keys to the separation date, which is inferred, not known — see § 203. Who separated is determined over the whole analysed dataset; the window decides whose penalty counts, never who is separated. |
The 4-year premium reach is itself a disclosed pleading assumption — the model assumes the UCL restitution route rather than the shorter period premium claims otherwise carry. Inside the 1-year § 226 window, deficient pay periods are re-counted and the $4,000 cap re-applied per employee — an employee at the cap all-time can fall below it in-window. No setting overrides a window’s length.
Each claim window is applied where its figure is read, over what the analysis window already kept, so a claim window never re-opens data the analysis excluded. Every window measures from the anchor frozen into the run, so editing a case’s filing date moves no figure until the analysis is run again.
Related: Penalty estimates — assumption-based · § 226 wage-statement penalty · § 203 waiting-time penalty · Known limitations & edge cases
Known limitations & edge cases
Known limitations & edge cases
Every figure on these pages rests on a timekeeping record and a short list of stated assumptions. Each entry below would change a figure under an exact computation, so each names its direction: reads higher means the figure overstates against the exact computation, which is the direction opposing counsel tests first; reads lower means it understates; and some move nothing at all. A reader who cannot tell the direction cannot weigh the figure.
Where the grain differs from the statute
Two figures are computed at the shift, where the statute measures a workday. A shift is a run of one employee’s time segments, separated from the next by a gap at or over the split-shift reset threshold — 4 hours by default, settable from 1 to 8 per case — and dated by the local date it starts on. The two grains agree on every workday that holds a single shift. They part on a split-shift day, and they part in opposite directions:
| Figure | The statute | The analysis | Direction |
|---|---|---|---|
| Meal and rest premium caps | Up to two premiums per workday, one per period type (§ 226.7(c); UPS v. Superior Court). | One meal and one rest premium per shift, the two caps separate. | HIGHER on a workday holding two qualifying shifts — two premiums where the statute allows one. |
| § 203 unit of pay | Wages continue “at the same rate” for up to 30 days, measured as a day’s wages. | The employee’s own average shift length, at the average hourly rate, for 30 days. | LOWER for an employee whose days hold more than one shift — an average shift is shorter than their day. |
What the analysis does not compute
- Overtime and double time, in any form — neither identified nor valued, so no figure carries an overtime or double-time multiplier. Valuing them needs the regular rate of pay (Ferra) and the derivative § 226 and § 203 effects. Exposure on that head is not reported at all, so the total reads LOWER.
- Per-employee pay rates — every dollar uses the single average hourly rate entered for the run, and a premium is one hour of pay at that rate rather than at the employee’s own regular rate of compensation (Ferra, which can exceed a base hourly wage where nondiscretionary pay exists). One rate averages across a population and is wrong for any individual, so the direction runs EITHER way.
- Second-meal waivers — a shift over ten and at most twelve hours with a compliant first meal may waive the second meal, and the analysis does not detect that waiver, so second-meal counts can include waivable shifts. Reads HIGHER where such waivers exist.
- Semi-monthly and monthly pay periods — only weekly and bi-weekly calendars are computed, because a semi-monthly cadence does not divide into whole weeks. Such a case does not run rather than running wrong, so NO figure moves. The distinction is load-bearing where it is supported: PAGA’s § 2699(o) halving turns on the pay period being weekly.
How known edge cases are handled
- Daylight saving — a duration is the difference between two punches as the employer’s clock recorded them, with no time-zone conversion anywhere in the analysis. On the two dates a year a local day runs 23 or 25 hours, a shift spanning the transition reads an hour long or an hour short. The direction runs EITHER way and is bounded by the shifts that span the transition on those two dates.
- The work week — Lab. Code § 500(b) lets an employer designate any seven consecutive days as its work week, independent of its pay period. The analysis does not collect that designation: the work week starts on the weekday the pay period starts on, so a weekly pay period is the work week and a bi-weekly one holds exactly two. Where an employer’s designated week differs, every weekly display grain shifts by up to six days. NO priced figure moves — nothing that prices a premium reads the work week, the premium caps are per shift, and the buffer, § 226 and PAGA counts are per pay period.
- A figure that does not apply — it is left empty, and never a zero standing in for one. A row carrying neither punch has no date, keeps none, and reads “no clocks”; an employee who is not assumed separated has no § 203 penalty rather than a penalty of zero; an employee with no meal-qualifying shift has no violation rate rather than a rate of zero, and is left out of the compliance distributions rather than placed at zero, which would read as perfect compliance. NO figure moves, and no chart has to decide whether a zero is real.
Two further limits sit at the element level rather than the scope level, and they are the strongest answers to the penalty figures: § 226(e) conditions its penalty on a knowing and intentional failure and on resulting injury, and § 203 conditions its penalty on willfulness. Neither element is tested here — both turn on facts outside a timekeeping record — so each estimate quantifies a statutory schedule as if its elements were met. The claim heads the analysis does not compute at all are listed on the Methodology overview.
Related: Meal premium — per-shift cap · Rest break model — estimated, not measured · § 203 waiting-time penalty · Average hourly rate assumption