DIR certified payroll XML, version 2
For California public works contractors uploading electronic certified payroll records (eCPR) to the Department of Industrial Relations.
DIR published version 2.0 of the eCPR XML schema in 2026. Version 1 files are accepted until January 13, 2027. After that, uploads must use V2.
What changed in V2
- A version element set to 2.0 at the top of the file.
- contractorPWCR is required: your 10-digit DIR registration number. "NA" is no longer accepted.
- The only required project field is the DIR project ID. License, FEIN, addresses and contract IDs were removed.
- Employee names are split into first, middle and last.
- A worker can have several classifications in one week, each with its own seven days of hours, rates and fringes.
- employeeLevel (journeyman or apprentice) and the apprentice level 1 to 10.
- fringePaid says whether fringes went to the employee, to a benefit plan, or both.
- An other deduction category, and travel and subsistence moved to payments.
Checks the schema does not do
- Total hours must equal the sum of the days, and each day is at most 24 hours across classifications.
- totalDeductions must equal the sum of the deductions, without travel or fringe amounts.
- The total hourly rates are the base rates plus the hourly fringe amounts.
- Each SSN appears once per file. An ITIN can replace a missing SSN.
Certified Payroll App writes V2 files from the same weekly report as your WH-347, validates them against the DIR schema in our tests, and lists what is missing before you download.
Sources: DIR eCPR XML Guidelines and the eCPR XML Submission FAQ. Certified Payroll App is independent and not affiliated with the California Department of Industrial Relations. You upload the file in the DIR portal yourself.