NYSDOL certified payroll XML bulk upload
Turn your payroll data into the XML file the NYSDOL Certified Payroll portal accepts, checked against the state's schema. A person at your company uploads it, reviews the week, attests, and submits.
<ProjectRollup><prcNumber>0000000000</prcNumber><weekEndingDate>2026-03-08T00:00:00.000Z</weekEndingDate><employeeWorkWeeks><employeeWorkWeek><employee><firstName>Sample</firstName><lastName>Worker A</lastName><dateOfBirth>2000-01-01</dateOfBirth><ssnLast4>0000</ssnLast4>
Portal rejects a record with both of these.
| Check | Result |
|---|---|
| Records | 212 records |
| Project and week | Match |
| Worker ID | 1 has both |
| workCategory | 1 not on list |
| Week in portal | Person confirms |
The XSD allows any text in workCategory, so the list check is separate.
How it runs.
New York requires electronic payrolls at least every 30 days on Article 8 work. Keying every worker by hand is slow, and a submitted report cannot be amended.
Payroll for the week
Hours, rates, deductions and benefits for one project and one week.
Your dataBuild and validate XML
Written to NYDOL_CertPayroll.xsd. Classifications compared with the portal's list.
AutomatedA person uploads, attests
Staff sign in, fix listed errors, complete the Declaration, and click Submit.
A personFile kept on record
The XML and submission date are stored by project and week.
Automated
NYSDOL Certified Payroll portal / NY.gov account / NYDOL_CertPayroll.xsd / XML Work Classification List / Payroll system export
The rules and limits.
- File rules
- XML only, no CSV or spreadsheet. One project and one week per file. Up to 500 employee records. NYSDOL says no API is available.
- PRC number and date
- prcNumber must match the project selected, and weekEndingDate the week selected, in the form 2025-09-01T12:00:00.000Z.
- Worker identity
- Each employee needs ssnLast4 or dateOfBirth, never both. An employee cannot repeat in a file. Several classifications go under the one employee.
- Empty weeks only
- A file loads only into a week with no current entries. Once a report is submitted, it cannot be amended or changed.
- Spelling trap
- The guide's table says deductionGrossEarnings. The XSD and NYSDOL's sample file say deductionsGrossEarnings. Build to the XSD.
What a person does.
- Sign in with an NY.gov account and upload each file.
- Read the portal's error list and decide each correction.
- Review the loaded week, then complete the Acknowledge and Declaration.
- Decide the classification when a worker's trade is unclear.
Where we stand: we have not shipped this. Your staff or a NYSDOL-authorized user uploads and attests. We would not log in to the portal.
Common questions.
Can a payroll company or outside firm file for us?+
NYSDOL's guide mentions payroll managers and says to contact NYSDOL to set up an authorized user. It does not address an outside firm filing. Ask NYSDOL. We would only prepare the file.
Is there an API for the portal?+
No. NYSDOL's bulk upload guide says an API for the Certified Payroll portal is not available at this time. Files go in through the portal, by a person signed in.
Does this make us compliant?+
No. It prepares a file that fits NYSDOL's format. Accuracy and the attestation stay with you. Payrolls are due at least every 30 days. Certain New York City projects use a separate city system.
Sources
- NYSDOL Bulk Upload Formatting Guide
- NYSDOL Contractor User Guide
- NYSDOL electronic payroll FAQ
- NY Labor Law section 220-j
General information, not legal, tax, or compliance advice. Rules change; confirm against the current source and your own advisers.

Bring us your version of this.
Intro calls are 30 minutes, free, and useful even if we never work together. We'll be honest about whether this is the right fit for your construction team.
