Uploading certified payroll to California DIR as XML (eCPR)
California's Labor Commissioner collects certified payroll records for most public works projects electronically (DIR: Certified Payroll Reporting). Contractors can type each payroll into the online form or upload an XML file built to DIR's CPR XML schema, version 1.3 (CPR.xsd); DIR's XML guidelines explain the layout and file naming.
What the file needs
- Contractor: name, CSLB (or other) license number, DIR registration (PWCR) number, FEIN, address, workers' comp policy, email.
- Project: DIR project ID, awarding body, optionally project number and contract ID.
- Payroll: payroll number, week ending date, “final” flag, or a non-performance statement.
- Each worker: name, full SSN, home address, withholding exemptions, classification (with apprentice level), hours per day ST/OT, hourly rates, fringe amounts per hour (health, pension, vacation, training, other), gross for this project and all work, deductions (federal, FICA, state, SDI, other), net pay and check number.
Common errors
Fields longer than the schema allows, SSNs or FEINs with dashes or the wrong number of digits, missing addresses, and dates in the wrong format. Wagesheet checks all of these against the schema's limits and lists them before you download.
Wagesheet isn't affiliated with DIR; its files validate against the published schema, but upload and certify them yourself and check the first one on DIR's site.
Make the XML from your payroll →
Last reviewed 2026-10-27. General information, not legal advice — your contract, wage determination and contracting agency decide what applies.