CA DIR eCPR XML

How to file certified payroll in California (DIR eCPR XML)

California public-work contractors submit certified payroll electronically to the Department of Industrial Relations (DIR) through the eCPR system. The DIR expects structured XML (it rejects PDFs for eCPR), and California requires the full Social Security Number on the certified record. PayrollPenguin turns your payroll run into a DIR-ready eCPR XML file and flags a missing SSN before you certify — the full number itself is supplied at export, never stored.

Join the waitlist

What is the DIR eCPR?

eCPR (electronic Certified Payroll Reporting) is California DIR’s system for certified payroll on public works. Each worker, classification, hours, and prevailing-wage rate is reported as structured XML — DIR does not accept a PDF for the eCPR upload. You can enter records in the DIR’s online form or upload an XML file that conforms to the DIR’s published schema.

California requires the full SSN

Unlike the federal WH-347 (which shows only the last four digits), the California eCPR record requires the worker’s full SSN. PayrollPenguin never stores full SSNs by default — it keeps only the last four digits. You supply the full number just-in-time at export: it’s validated against the stored last four, used in memory on the server to build the file, logged as an access, and discarded. A missing SSN is flagged as an anomaly you must resolve first.

Prevailing wage and fringe in California

California prevailing-wage determinations set an hourly rate plus fringe per classification, published by the DIR. PayrollPenguin maps your classifications to the determination for your project and county and flags a rate below the schedule for your review — it never invents a wage.

How to file California certified payroll

  1. Register the project with the DIR. Confirm the public-works project is registered (PWC-100) and note its DIR project ID — eCPR submissions are keyed to it.
  2. Import your payroll run. Upload your ADP, Gusto, QuickBooks, Paychex, or CSV payroll for the pay period.
  3. Resolve any missing-SSN anomalies. California requires the full SSN; PayrollPenguin flags any worker missing one before you can certify, and you provide the full number at export.
  4. Certify and export the eCPR XML. Sign the Statement of Compliance, then download the DIR-ready, schema-valid eCPR XML to submit.

Frequently asked questions

Does California accept a PDF for the eCPR?
No. The DIR eCPR system expects records entered in its online form or uploaded as structured XML that conforms to the DIR schema. PayrollPenguin generates the eCPR XML from your payroll run so it uploads cleanly.
Why does California need the full SSN?
The DIR eCPR record requires the full Social Security Number (the federal WH-347 shows only the last four). PayrollPenguin never stores the full number by default — it keeps the last four digits only. You provide the full SSN at export; it’s checked against the stored last four, used in memory to build the file, logged, and discarded. The interface only ever shows the last four.
Is PayrollPenguin a compliance guarantee?
No. PayrollPenguin is a reporting and formatting tool — it formats your payroll to the CA eCPR specification and flags anomalies. You certify and the DIR / awarding agency reviews.

File California certified payroll in minutes

Turn your existing payroll run into a file-ready CA DIR eCPR XML filing — anomalies flagged, nothing invented.

Join the waitlist

PayrollPenguin is a reporting and formatting tool, not a compliance guarantor or legal advisor. You certify your filings; the awarding agency reviews them.