Guides · Start here
How to submit certified payroll to an agency portal
Filling in a certified payroll and filing it are two different jobs, and the second one is where most of the friction lives. The form is federal and standard. The place you send it is not: the agency awarding your contract decides which portal you use, that portal decides what file it will accept, and neither decision is yours. This page covers what is true of every portal, what to find out before your first submission rather than during it, and why the answer to "which button do I press" has to come from the agency and not from us.
The chain that decides where your payroll goes
There is a chain, and knowing its order saves a lot of wasted calls. The funding source determines which law applies. The law determines who administers it. The administering agency, or the awarding body under it, mandates a portal. The portal defines the file format. So the question is never "what format does certified payroll use" — it is "who awarded this contract, and what have they told me to use". A contractor working three jobs for three awarding bodies can genuinely owe three different filings for the same week of work, in three different systems, on three different schedules.
What is common to all of them
Underneath the differences, every system wants the same facts, because they all trace back to the same records requirement. Each worker, the classification they worked in, the hours they worked by day, the rate they were paid, the fringe benefits credited, the deductions taken, and what they were actually handed at the end of the week. Then a signed statement from somebody at your company saying it is true. If your payroll records can answer those questions cleanly for one portal, they can answer them for the next one. The work is in the transcription, not in the substance.
Establish these before your first submission, not during it
Every portal has a registration step that takes longer than you expect, and it is almost always the thing that makes a first filing late. Find out, in writing and before the first payroll is due: which portal the awarding body requires; what identifier that portal uses for this project, which is frequently not the contract number you were given; whether you register yourself or the awarding body registers you; who at your company will hold the login and sign the statement of compliance; and what the deadline is measured from. That last one matters more than it looks — see our separate guide on the seven-day rule.
The project identifier is the usual stumbling block
Portals identify a project by their own number, issued by their own system, and it is rarely the number on your contract. California's eCPR wants a DIR project ID looked up in a state registry. New York's certified payroll portal wants a Prevailing Rate Case number, which appears on your dashboard once you have access. A file submitted with the contract number in the project field is a file that either fails validation or, worse, attaches to nothing. If you are chasing one thing before your first filing, chase this.
Upload, key in, or both
Portals take payroll in one of two ways, and some take both. Keying in means typing each worker's week into a web form, which is reliable, slow, and fine for a crew of four. Uploading means producing a file in the portal's own format and submitting it, which is the only sane option above about a dozen workers and is where format errors bite. If a portal offers both, the first submission is worth keying in by hand even if you intend to upload afterwards — it teaches you what the system expects each field to contain, which is knowledge that makes the upload debuggable later.
Rejections are normal and are usually about form, not substance
A rejected filing is not usually an accusation that you underpaid anybody. Far more often it is a classification the portal does not recognise, a project identifier that does not match, a week ending on a day the system did not expect, a worker missing an identifying number, or a total that does not reconcile with the parts. Portals differ enormously in how clearly they say which. Keep the file you submitted and the response you got, because the second submission is much easier when you can diff it against the first.
Producing a correct form and filing it are separate promises
This is worth saying plainly, because software in this space is often vague about it. Generating a correct, validated certified payroll is one thing. Having a tested, maintained connection into a particular agency's system is a different thing, and the second can break without warning when an agency changes its portal. Any tool you use should be clear about which of the two it is offering you for each portal you file to, and should still hand you a file you can upload yourself when the automation is unavailable. Ask that question before you depend on the answer.
What we do and do not do
Chalkline generates the federal WH-347 and, where we have the agency's published specification, the portal's own file — currently New York's certified payroll XML and California's eCPR XML. We do not submit on your behalf. When a payroll cannot be expressed in a portal's format, we say which field is missing and give you the WH-347 instead, so "file this week's payroll" always has an answer. We are not affiliated with the Department of Labor or any state agency, and none of this is legal advice.
Common questions
- Who decides which portal I file in?
- The agency awarding the contract, not you and not your software. Ask the awarding body in writing before the first payroll is due, because registration usually takes longer than the filing deadline allows for.
- Can I file the same certified payroll in more than one place?
- Frequently you must. A job funded federally and by a state may owe both a federal WH-347 to one recipient and a state-format filing to another, covering the same week and the same workers.
- Why does my project number not work in the portal?
- Because most portals use their own identifier rather than your contract number. California uses a DIR project ID; New York uses a Prevailing Rate Case number. Both are looked up in the agency's own system.
- What happens if a filing is rejected?
- You correct and resubmit, usually against the same deadline. Most rejections are formatting or identifier problems rather than findings about wages. Keep the submitted file and the rejection notice — resubmitting is far easier when you can compare them.
- Does software submit for me automatically?
- Some claims to. Ask specifically whether the connection is an official, supported integration or an unofficial one, and what happens on the day it stops working. A tool that can still give you a file to upload by hand degrades gracefully; one that cannot leaves you unable to file.
Sources
Every claim above rests on one of these. The quotes are verbatim.
The contractor shall submit weekly for each week in which any contract work is performed a copy of all payrolls to the Federal agency contracting for or financing the work, or, if the agency is not a party to the contract, to the applicant, sponsor, owner, or other entity, as the case may be, that maintains such records.
DIR publishes an eCPR XML schema and sample, and provides an online portal for entering payroll at services.dir.ca.gov/pw.
Contractors with a large number of employees can reduce data entry by uploading a pre-formatted XML file; the PRC number identifying the project is found on the dashboard in the NYSDOL Certified Payroll portal.
Need to file this week?
Enter a payroll or upload a CSV and download a completed WH-347 on the current form — no account, no card, no limit.