California PAGA Methodology
A plain-English walkthrough of how California's Private Attorneys General Act calculates penalties: the § 2699(f) tier ladder, the § 2699(g)/(h) reasonable-steps caps, and the § 2699(j) cure mechanism. Grounded in primary-source statutory text from leginfo.legislature.ca.gov, the DIR wage orders, and the 2024 AB 2288 / SB 92 PAGA reform.
Drafted v1 · 2026-05-13 · Awaiting outside California employment counsel review.
The PAGA civil penalty rate ladder under § 2699(f)
Calculator logic classifies every alleged violation into exactly one of the six rate branches below. The branches are mutually exclusive at the per-violation level.
| Branch | Rate | Trigger | Statutory authority |
|---|---|---|---|
| A1 · Default per-PP | $100 per aggrieved employee per pay period | Default for any Labor Code violation not specifically penalized elsewhere, where employer has ≥1 employee at time of violation. | § 2699(f)(2)(A) |
| A2 · Wage statement — informational | $25 per aggrieved employee per pay period | Violation of § 226(a)(1)–(7) or (9), AND the employee could promptly and easily determine the accurate information from the wage statement alone. | § 2699(f)(2)(A)(i) |
| A3 · Wage statement — employer identity | $25 per aggrieved employee per pay period | Violation of § 226(a)(8) (employer identity), AND the employee would not be confused or misled about the correct identity of their employer. | § 2699(f)(2)(A)(i) |
| A4 · Isolated, nonrecurring | $50 per aggrieved employee per pay period | Violation resulted from an isolated, nonrecurring event that did not extend beyond the lesser of 30 consecutive days or four consecutive pay periods. | § 2699(f)(2)(A)(ii) |
| A5 · Enhanced | $200 per aggrieved employee per pay period | (i) prior unlawful finding by agency or court within preceding 5 years, OR (ii) court determines conduct was malicious, fraudulent, or oppressive. | § 2699(f)(2)(B) |
| A6 · Non-employer defendant | $500 flat per violation (not per PP per employee) | Defendant does not employ one or more employees at the time of the alleged violation. | § 2699(f)(1) |
A2 and A3 are not the same. They share a $25 rate but apply to different § 226(a)provisions and have different “no harm” tests — a single “wage statement” toggle would collapse two distinct rate branches.
A2/A3 disqualification carve-out per § 2699(f)(2)(A)(i)final sentence: if the employer didn't provide ANY wage statement during the pay periods at issue, the $25 tier is unavailable — the violation falls back to the $100 default (A1).
A5 has two disjunctive triggers.“Prior unlawful finding within 5 years” is a verifiable factual question. “Malicious, fraudulent, or oppressive” is a court determination under Civil Code § 3294(c) standards (see Section H). The calculator does not let users self-select A5 based on their own characterization of conduct.
Reasonable-steps caps under § 2699(g) and (h)
Two cap mechanisms, both keyed to “all reasonable steps to be in compliance,” distinguished by their timing relative to the PAGA notice.
| Cap | Reduction | Trigger | Authority |
|---|---|---|---|
| B1 · Pre-notice 15% cap | Civil penalty ≤ 15% of penalty sought | Employer took all reasonable steps BEFORE receiving PAGA notice OR a § 226 / § 432 / § 1198.5 records request. | § 2699(g)(1) |
| B2 · Post-notice 30% cap | Civil penalty ≤ 30% of penalty sought | Employer took all reasonable steps WITHIN 60 DAYS AFTER receiving PAGA notice. | § 2699(h)(1) |
Caps don't apply to the A5 enhanced tier. Per § 2699(g)(3) and § 2699(h)(3), if A5 fires, B1/B2 are unreachable. Modeling caps as independent toggles would produce statutorily unauthorized combinations.
“All reasonable steps” is a totality-of-circumstances test (§ 2699(g)(2), § 2699(h)(2)). Modeling it as a yes/no toggle that produces a definitive cap output is the calculator opining on a fact-laden legal question — see I.1.
Cure mechanism — § 2699(j) + § 2699.3 cure tracks
Cure is procedurally distinct from the (g)/(h) caps but interacts with them substantively. Three sub-branches.
| Sub-branch | Penalty | Trigger |
|---|---|---|
| C1a · Reasonable-steps + cure | $0 | Employer satisfies § 2699(g) OR (h) AND cures the violation. |
| C1b · § 226(a) cure | $0 | Employer cures a § 226(a) violation per § 2699(d)(2). |
| C1c · Default cure | ≤ $15 per employee per pay period | Any other employer who cures (didn't satisfy (g) or (h), violation isn't § 226(a)). Courts have discretion to award less. |
| Track | Eligibility | Timing | Authority |
|---|---|---|---|
| C2a · Small employer pre-litigation cure | Employer with <100 employees during the period covered by the notice. | Cure proposal within 33 days of notice; agency conference within 14 days; cure within 45 days; agency verification within 20 days. | § 2699.3(c)(2) |
| C2b · § 226-only pre-litigation cure | Any employer where the only violation is § 226. | Cure within 33 days of notice; agency dispute review within 17 days; possible 3 additional business days. | § 2699.3(c)(3) |
| C2c · Large employer EEC | Any employer not eligible for C2a, post-suit filing. | Request EEC with answer or before; cure proposal within 21 days of court order; mandatory conference within 70 days; cure completion within 10 days of EEC acceptance. | § 2699.3(f) |
Cure status is a posture, not a fact.“Cured” depends on the employer following the right track AND the agency or court accepting the cure. The calculator distinguishes “cure proposed,” “cure in progress,” and “cure accepted by agency/court.”
One-cure-per-12-months rule per § 2699.3(d): an employer may not avail itself of the notice-and-cure provisions more than once in a 12-month period for violations of the same provisions.
Operative-date wrinkle. The new § 2699 penalty amendments apply to actions filed on or after June 19, 2024. The new § 2699.3 cure framework became operative October 1, 2024. For actions filed in the Jun 19 – Sep 30, 2024 window, the post-reform penalty framework applies but the new cure framework does not.
Overlay rules — anti-stacking, weekly halving, distribution split, judicial discretion
D1 · Anti-stacking on wage-related violations (§ 2699(i))
No PAGA civil penalty in addition to the underlying unpaid-wage penalty for Cal. Lab. Code §§ 201, 202, 203 (final pay timing), § 204 (regular payday — unless willful or intentional), and § 226 (unless knowing or intentional, or a failure to provide a wage statement at all).
D2 · Weekly pay halving (§ 2699(o))
If the employer pays weekly, the final PAGA civil penalty is halved. Bi-weekly and semi-monthly pay periods are unaffected. Pay-period frequency is therefore a required calculator input.
D3 · Distribution split (§ 2699(m), (n))
| Penalty source | Distribution |
|---|---|
§ 2699(f)(1) | 100% to LWDA (A6 non-employer $500) |
| All other PAGA civil penalties | 65% to LWDA, 35% to aggrieved employees |
D4 · Judicial discretion override (§ 2699(e)(2))
A court may award a LESSER amount than the maximum, OR notwithstandingthe limitations in (g) and (h) EXCEED the cap limits, if applying the cap “would result in an award that is unjust, arbitrary and oppressive, or confiscatory.” Caps are not hard ceilings — the calculator's cap output is a litigation-posture estimate, not a fixed legal cap.
The (a)-vs-(f) mapping question — per predicate type
This is the single most important methodology question the calculator faces. § 2699(f)'s opening clause: “For all provisions of this code except those for which a civil penalty is specifically provided, there is established a civil penalty…” Where a Labor Code section OR a wage order has its OWN specifically-prescribed civil penalty, the violation is recoverable under § 2699(a) — not under § 2699(f)'s default ladder. Every row below is a design question for outside counsel.
| Predicate violation | Statute / wage order | Proposed mapping | Open question |
|---|---|---|---|
| Overtime (daily > 8, weekly > 40, double-time > 12, 7th-day OT) | Cal. Lab. Code § 510; WO5 § 3 | (a)-side via § 558 ($50 initial / $100 subsequent + wage recovery) — per ZB v. Lawson. | Is § 558 the controlling (a)-side rate? Does WO5 § 20 add to or duplicate it? |
| Missed meal period — premium pay | Cal. Lab. Code § 226.7; WO5 § 11(B) | Premium pay = unpaid wages per Murphy v. Kenneth Cole (separate recovery, NOT a PAGA penalty input). PAGA penalty on the § 226.7 violation likely (f)-side default $100/$200. | Does § 226.7's PAGA penalty go (f)-side or (a)-side via WO5 § 20? |
| Missed rest period — premium pay | Cal. Lab. Code § 226.7; WO5 § 12(B) | Same as missed meal period. | Same as missed meal period. |
| Reporting time pay shortfall | WO5 § 5 | (a)-side via WO5 § 20 ($50 initial / $100 subsequent); wage-order violations are Labor Code violations under § 1198. | Is the WO5 § 20 civil penalty the full recovery, or does it stack with unpaid-wages recovery? |
| Wage statement — § 226(a)(1)–(7), (9) | § 226 | (f)-side: $25/PP (A2) if 'promptly and easily determine' test met; else $100/PP default (A1). § 226(e) statutory damages = separate civil action, not PAGA. | Is A2/A3 the only PAGA pathway for § 226(a)? Or does § 226(e) feed (a)-side? |
| Wage statement — § 226(a)(8) (employer identity) | § 226(a)(8) | (f)-side: $25/PP (A3) if 'not confused or misled' test met; else $100/PP default (A1). | Same as A2. |
| No wage statement provided at all | § 226 | (f)-side default $100/PP (A1) — A2/A3 carve-out unavailable per § 2699(f)(2)(A)(i) final sentence. | Confirmed straightforward. |
| Minimum wage violation | Cal. Lab. Code §§ 1194, 1197, 1197.1; WO5 § 4 + MW-2026 | (a)-side via § 1197.1 or WO5 § 20. | Which controls? |
| Final pay timing — §§ 201, 202, 203 | §§ 201, 202, 203 | § 2699(i) anti-stacking applies: no separate PAGA penalty in addition to underlying unpaid-wage penalty. § 203 waiting-time damages = separate recovery. | Confirm framing. |
Calculator computation flow — proposed step sequence
Order matters — reordering changes outputs. Steps 1–10 reflect the v1 engine's execution sequence given the rules in Sections A–E.
INPUT
- employer_size (employee count)
- pay_period_frequency (weekly | biweekly | semimonthly)
- alleged_violations[] (type, count, span, ee_count, evidence flags)
- violation_period_pay_periods
- reasonable_steps_pre_notice (none | weak | moderate | strong)
- reasonable_steps_post_notice (none | weak | moderate | strong)
- cure_status (none | proposed | accepted)
- prior_unlawful_finding_within_5yrs (bool)
- cba_covered (bool — affects WO5 § 3 applicability)
- action_filing_date (for operative-date check)
STEP 1 · Operative-date gate
IF action_filing_date < 2024-06-19:
→ pre-reform § 2699 framework (NOT modeled)
ELIF 2024-06-19 ≤ action_filing_date < 2024-10-01:
→ post-reform § 2699 BUT cure paths C2a/C2c unavailable
ELSE: full post-reform framework
STEP 2 · Classify each violation into a rate branch (Section A)
IF non-employer defendant: A6 ($500 flat)
ELIF wage statement violation:
IF no wage statement at all: A1 ($100/PP)
ELIF § 226(a)(8): A3 if "not confused/misled" else A1
ELIF § 226(a)(1)-(7), (9): A2 if "promptly/easily determine" else A1
ELIF isolated nonrecurring AND ≤30 days AND ≤4 PPs:
A4 ($50/PP)
ELIF prior_unlawful_finding_within_5yrs:
A5 ($200/PP)
ELIF claim_of_malicious_fraud_oppressive:
A5 BUT flag "court must determine"
ELSE: A1 ($100/PP default)
STEP 3 · Apply (a)-vs-(f) override per predicate (Section E)
Override (f)-branch with specifically-prescribed (a)-side rate where applicable.
STEP 4 · Compute base penalty
IF A6: penalty_base = $500
ELSE: penalty_base = rate × ee_count × pp_count
STEP 5 · Apply cap (Sections B, C)
IF cure accepted AND pre-notice reasonable steps ≥ moderate: $0 (C1a)
ELIF cure accepted AND § 226(a) cured: $0 (C1b)
ELIF cure accepted: ≤$15 × ee × pp (C1c)
ELIF A5: no cap
ELIF pre-notice reasonable steps ≥ moderate: × 0.15 (B1)
ELIF post-notice reasonable steps ≥ moderate: × 0.30 (B2)
ELSE: penalty_base
// All cap outputs display "litigation-posture estimate — not a hard ceiling;
// court may exceed under § 2699(e)(2)"
STEP 6 · Sum per-violation penalties → total_penalty
STEP 7 · Apply anti-stacking (Section D1)
Remove duplicative PAGA penalty for § 201/202/203/204 + base wage pairs.
STEP 8 · Apply weekly halving (Section D2)
IF pay_period_frequency == weekly: total_penalty × 0.5
STEP 9 · Apply distribution split (Section D3) — IF requested
employee_share = total_penalty × 0.35 (except A6: 0%)
lwda_share = total_penalty − employee_share
STEP 10 · Append derivative recoveries (NOT PAGA penalties — separate streams)
- Unpaid wages (regular rate × hours owed)
- Meal/rest premium pay (1 hr × regular rate × workdays at issue)
- § 203 waiting-time damages (capped at 30 days' wages)
- § 226(e) statutory damages (greater of actual or $50 init / $100 subseq,
capped at $4,000)
- 7% interest per § 2699(d)
- Attorney's fees per § 2699(k)
OUTPUT
- per-violation breakdown with branch + cap reasoning
- tier classification (no per-user dollar exposure number)
- distribution split (if requested)
- derivative recovery streams (separate from PAGA)
- confidence bands / litigation-posture notes
- "before relying on this output, review with attorney" footerWage Order 5 substantive predicates — calculator inputs
For janitorial-industry use, the substantive predicates the calculator most often computes are:
| Predicate | Source | Calculator input pattern |
|---|---|---|
| Missed meal period premium | WO5 § 11(B) | per workday × ee_count where meal period not provided (= 1 hr × regular rate per workday per affected employee) |
| Missed rest period premium | WO5 § 12(B) | per workday × ee_count where rest period not provided (independent of missed meal — STACKS per Naranjo [verify]) |
| Daily overtime | WO5 § 3(A)(1); Cal. Lab. Code § 510 | hours > 8 in workday × ee_count × 0.5 × regular rate (premium portion); add 1.0 × regular rate if straight time not paid |
| Weekly overtime | WO5 § 3(A)(1) | hours > 40 in workweek × ee_count × 0.5 × regular rate (where not already captured by daily OT) |
| Double-time | WO5 § 3(A)(1)(b) | hours > 12 in workday × ee_count × 1.0 × regular rate (premium above 1.5×) |
| 7th-day OT | WO5 § 3(A)(1)(a)–(b) | first 8 hrs on 7th consecutive workday at 1.5×; beyond 8 at 2× |
| Reporting time pay shortfall | WO5 § 5 | per workday where ee reported but worked < half scheduled; min 2 hrs, max 4 hrs |
| Recordkeeping violation | WO5 § 7 | per pay period where records didn't comply; predicate for § 226 chain |
The A5 enhanced tier ($200) — closer look at 'malicious, fraudulent, or oppressive'
These three terms have specific California meanings under Civil Code § 3294(c)(the punitive damages statute), which California courts have adopted as the standard for “malicious, fraudulent, or oppressive” in employment contexts [verify].
- Malice — conduct intended to cause injury, or despicable conduct carried on with willful and conscious disregard of the rights or safety of others.
- Fraud — intentional misrepresentation, deceit, or concealment of material fact with intent to deprive of property or legal rights.
- Oppression — despicable conduct subjecting a person to cruel and unjust hardship in conscious disregard of their rights.
All three are clear-and-convincing-evidencestandards in the punitive damages context. PAGA's adoption of the same language likely brings the same evidentiary threshold [verify]. The practical implication: the A5 tier is hard to reachvia the “conduct” prong. The calculator does not default to A5 simply because a user characterizes the employer as “bad.” The verifiable trigger for A5 is the prior-unlawful-finding-within-5-years branch.
Open methodology design questions (UPL-relevant — outside counsel review)
Each question below is load-bearing for calculator correctness AND for the line between research and legal advice. These are the substantive review surface for the methodology + UPL engagement.
I.1Modeling 'reasonable steps' as boolean vs. evidence-band
Can paga-calc model the § 2699(g)/(h) reasonable-steps trigger as a yes/no toggle, or must it be presented as a band of likely outcomes based on user-input evidence factors (audits, policies, training, corrective action)? Boolean = arguably advice; evidence-band with explicit court-decides framing = arguably research.
I.2The judicial discretion override (§ 2699(e)(2))
Should every cap output carry a “court may exceed this cap if applying it would be unjust, arbitrary and oppressive, or confiscatory” disclaimer? Modeling cap output as a fixed ceiling without this disclaimer is the calculator overclaiming certainty about a discretionary judicial decision.
I.3The (a)-vs-(f) penalty rate election
When a single violation could trigger both (a)-side and (f)-side PAGA penalties (e.g., OT under § 510 — could go § 558 (a)-side at $50/$100 or § 2699(f) at $100/$200), which does paga-calc pick? The choice changes the dollar output materially. Proposed: show both branches with statutory authority, never silently pick.
I.4The 'malicious, fraudulent, or oppressive' trigger for A5
Can users self-select A5 ($200/PP) based on their own characterization of employer conduct, or must A5 be reachable only via the prior-unlawful-finding branch? Self-selection inflates output. Proposed: A5 reachable only via prior-finding; conduct-based A5 displayed as a “court must determine” flag.
I.5Distribution split presentation
Should paga-calc default to total PAGA exposure (100%) or the plaintiff-recovery slice (35%)? Cleaning contractors thinking about settlement likely care about total exposure (LWDA gets 65% but that's still recovered from the employer). Proposed: total exposure default, recovery-split toggle.
I.6Weekly pay halving — applicability scope
Does the § 2699(o) weekly-pay halving apply to (a)-side penalties (e.g., § 558or WO5 § 20 recoveries via PAGA), or only to (f)-side? The statute says “the penalty recovered pursuant to this part.” Proposed: apply uniformly to all PAGA recoveries (most conservative reading).
I.7Derivative claims framing
How should paga-calc present § 203 waiting-time damages, § 226(e)statutory damages, and meal/rest premium pay relative to the PAGA penalty? They are NOT PAGA penalties — conflating them inflates exposure. Proposed: separate “derivative damages” stream below the PAGA total.
I.8AWS and CBA carve-outs — verification posture
Should paga-calc allow users to toggle “AWS in place” or “CBA-covered” without verifying the validity of those carve-outs? Naive toggles assume the employer's claim. Proposed: toggles default to FALSE; when TRUE, calculator requires user to confirm validity criteria and output is flagged “not independently verified.”
I.9UPL framing — overall positioning
What product positioning, disclaimers, and feature design keep paga-calc on the research side of the California UPL line (Cal. Bus. & Prof. Code §§ 6125–6126)? Output framed as estimate, not exposure number; reasonable-steps and AWS/CBA validity modeled as user-declared inputs; A5 not user-selectable based on conduct; judicial-discretion override surfaced on every cap; marketing copy avoids “calculate your exposure” framing.
Sources NOT in this methodology — known gaps
The following sources are referenced but not yet captured to user-controlled primary-source files. Calculator logic that depends on these subsections is flagged [model knowledge — verify] until the primary source is captured.
- Cal. Lab. Code
§ 510— daily/weekly OT statute (mirrors WO5 § 3) - Cal. Lab. Code
§ 512— meal period statute (mirrors WO5 § 11) - Cal. Lab. Code
§ 226.7— premium pay statute for missed meal/rest periods - Cal. Lab. Code
§ 558— hours/wages civil penalties (the (a)-side path for OT) - Cal. Lab. Code
§ 203— waiting-time penalties - Cal. Lab. Code
§§ 1194, 1197, 1197.1— minimum wage enforcement - WO5 §§ 1, 2 — applicability and definitions
- Cal. Lab. Code
§§ 1420–1434— PSWPA (janitorial-industry-specific predicates) - Cal. Bus. & Prof. Code
§§ 6125–6126— UPL statute - ZB, N.A. v. Superior Court (Lawson) (Cal. 2019) — § 558 PAGA-recoverability
- Murphy v. Kenneth Cole Productions (Cal. 2007) — meal/rest premium pay = wages
- Naranjo v. Spectrum Security Services (Cal. 2022) — derivative § 203 / § 226 claims
- Adolph v. Uber Technologies (Cal. 2023) — PAGA standing post-Viking River
- Birbrower v. Superior Court (Cal. 1998) — UPL doctrinal anchor
Capture priority for v1.1: § 510, § 512, § 226.7, § 558, § 203, § 1197.1 — the Labor Code PAGA predicate set. Case-law captures pending the CourtListener integration.
| Version | Date | Author | Change |
|---|---|---|---|
| v1 (draft) | 2026-05-13 | Claude (Anthropic) | Initial methodology draft from captured primary sources; awaiting outside CA employment counsel review. |
Next expected revisions: v1.1 once Labor Code §§ 510, 512, 226.7, 558, 203, 1197.1 are captured (fills in Section E mapping with verbatim authority); v2 after outside counsel methodology + UPL review (locks the (a)-vs-(f) elections and the I.1–I.9 design questions); v2.x after each substantive statutory or regulatory change (next expected: annual MW update each January 1).
§§ 6125–6126.