New York prevailing wage · certified payroll e-filing

One project per file. One week per file. XML only.

If you run twelve active prevailing wage projects, you are hand-building twelve separate XML files every week — including for the projects where nobody swung a hammer. Then the portal bounces one for a work category that is off by a character.

Below is every rejection cause we have catalogued from the state's published schema, and how to fix each one. No signup to read it.

The math nobody mentions

Your weekly file count equals your active project count.

The NYSDOL schema holds one prcNumber and one weekEndingDate per file. There is no multi-project file. There is no multi-week file. There is no CSV, and the state's own bulk upload guide confirms there is currently no API.

1Project per XML file
1Week per XML file
500Max employee work weeks per file
Every 30 daysEven with zero hours worked

A contractor with 30 active projects files roughly 30 XML documents a week, every week, for the life of those projects.

Rejection causes

The seven things that bounce an upload.

Pulled from the state's published XSD and sample files. If your upload failed, it is almost certainly on this list.

  1. Work category does not match the state's list exactly

    This is the big one. The schema accepts the field as free text, so your file looks valid — then the portal rejects it because the value has to match the NYSDOL classification exactly as it appears in their dropdown. "Laborer Group 1" and "Laborer — Group 1" are not the same string. Your payroll system's internal trade names almost never match out of the box.

    Fix: build a mapping table once, from each payroll classification you use to the state's exact wording, and validate against it before every upload rather than after.

    See all 261 accepted classifications →

  2. Both SSN last 4 and date of birth were sent

    The schema wants one identifier or the other for an employee, not both. Payroll exports that carry both fields will happily produce a file containing each, and the upload fails.

    Fix: pick one identifier and strip the other during the export-to-XML step.

    More on the DOB / SSN rule →

  3. PRC number is wrong length or wrong project

    The PRC number must be exactly ten characters and must match the project the filing is being posted against. Leading zeros stripped by Excel are a common culprit — a PRC number that lost its zero is nine characters and fails validation.

    Fix: treat PRC numbers as text everywhere, never as a number, and confirm the PRC belongs to the project before you build the file.

  4. Week ending date is not in the exact required format

    The date has to arrive as yyyy-mm-ddThh:mm:ss.000Z. A plain 2026-08-09 will not do, and neither will a US-style date. Most spreadsheet exports produce the wrong shape.

    Fix: format the timestamp explicitly during generation instead of relying on whatever your export produces.

  5. Supplemental payment of type "Other" with no explanation

    Supplemental payments are enumerated — health and welfare, vacation and holiday, apprenticeship and training, pension, and other benefit. If you use "other benefit" you must supply an explanation, and following a schema revision it also needs its own work category attached.

    Fix: map your fringe benefit codes to the enumerated types, and never leave an "other" without its explanation.

  6. Too many deductions, or a deduction over the field limit

    The schema caps deductions at ten per employee work week and constrains the amount format, which tops out below $10,000. Garnishments plus benefits plus union dues on a high-earning week can trip both.

    Fix: consolidate deduction lines where legitimate and check for any single amount that exceeds the field's format.

  7. More than 500 employee work weeks in one file

    Each file holds a maximum of 500 employee work week records. Larger crews, or a catch-up filing covering several weeks at once, will exceed it.

    Fix: split into multiple files by week — which the one-week-per-file rule was already going to force you into anyway.

If you work in the five boroughs

City work means filing the same payroll twice.

State law requires the NYSDOL portal filing on Article 8 work regardless of who awarded the contract. City contracts solicited on or after December 31, 2025 additionally require submission through New York City's eComply database.

Two systems, two formats, same underlying payroll. The state takes XML built to its schema. eComply takes a payroll provider import file — it recognises formats from the major payroll systems, which is a different export entirely.

Practically: if you are on City work, your weekly file count is not your project count. It is roughly double.

Worth knowing

On the $100 a day.

The statute provides for penalties of $100 per day after a 14-day grace period, along with withheld payments and debarment exposure.

We will be straight with you about where that stands: as of this writing the Department of Labor's own guidance says it is exercising discretion and not issuing those fines yet, and that a public announcement will come before enforcement begins.

So this is not a five-alarm fire today. It is a thing that is coming, on a date the state has promised to announce, while the filings themselves are already mandatory and already eating your Friday afternoons. That is the honest version.

The offer

Send one project's payroll. Get a validated XML back.

Free, no card, no signup. Send one week of payroll for one project — a QuickBooks, ADP, Gusto, Paychex or Foundation export is fine, or a PDF register if that is what you have.

You get back a portal-ready XML file built against the state's schema, plus a short written list of anything in your data that would have been rejected and why. Upload it yourself and see what the portal says.

Who is doing this

Kyle Evans — a practising structural engineer in Fort Worth who spends his working life on the reviewing end of construction paperwork, which is why the failure modes above are catalogued rather than guessed at.

Why free

Because we are building the tool that does this automatically and we would rather learn the edge cases on real payroll than on invented examples. Your file teaches us something. That is the trade.

Where this is going

A tool that takes one payroll export and produces every project's file at once, validated before upload. It is not finished. When it is, it will be somewhere around $99 to $499 a month depending on how many active projects you carry.

Email kyle.evans@redriverdigitaltx.com with one project's payroll for one week. Turnaround is 24 to 48 hours. If you would rather just tell us what is broken on your end without sending anything, that is genuinely useful too.

We will not share your payroll data with anyone, we will not add you to a mailing list, and if you would like the file deleted once you have it, say so and it is deleted.

Questions we get

Straight answers.

Is there an API for the NYSDOL certified payroll portal?

Not currently. The state's own bulk upload formatting guide says an API is not available at this time and that only XML is supported. Anyone claiming direct API filing to the state portal is describing something that does not exist yet.

Can you file on my behalf?

The state has not defined a preparer or agent role — portal access is through NY.gov accounts. So the honest answer is that we build the file and you upload it. You keep control of your own credentials, which is where it should stay anyway.

Do I need to switch payroll providers?

No. That is rather the point. The platforms that handle NY XML well generally want you to move your entire payroll onto them. This works off an export from whatever you already run.

What about Michigan, or Minnesota?

Michigan has required online certified payroll submission since April 2026 through the state's own portal instance. Minnesota has legislation directing a portal by July 2027, which as of now has not been enacted. We are building New York first because that is where the format problem is worst today.

Who are you and why should I trust you with payroll data?

Red River Digital is a two-page answer: a small Fort Worth company, run by one person on this product, with a real address at the bottom of this page. We are early and we are not pretending otherwise. Send one project's data, judge the work, and decide from there — that is why the first one is free.