ESDS Job Posting Requirements Explained for Federal Contractors
If you hold a federal contract, you have probably heard the term ESDS and nodded along without being sure what it asks of your team. ESDS stands for employment service delivery system, and in plain terms it is the public job listing network run by each state workforce agency. When the rules say a contractor must list openings with the ESDS, they mean the state job bank where job seekers, including protected veterans, can find your openings. This guide explains what ESDS job posting requirements cover, which openings they reach, how to list them, and what to keep so you can prove it later.
The topic confuses people because it sits between several systems. Your applicant tracking system holds the requisition. Your job boards bring in applicants. The state system sits off to the side, and nothing forces you to look at it until an auditor asks. Teams that treat the state listing as an afterthought tend to discover gaps at the worst time, which is when a scheduling letter arrives and the clock starts running.
The good news is that the requirement is narrow and repeatable. Once you know the rule, the exceptions and the records worth keeping, you can build a routine that takes minutes per opening instead of hours per quarter. The sections below walk through that routine step by step, in plain language, with links to the sources so you can check every claim yourself.
What ESDS Job Posting Actually Means
An employment service delivery system is the state-run network that connects job seekers with openings. Each state workforce agency runs its own job bank, and that job bank is the front door to the system in that state. For a contractor, ESDS job posting means entering your openings into that state job bank, or into the local ESDS office for the place where the job is located, in the manner and format the system allows.
The U.S. Department of Labor explains the idea in its federal contractor program materials. Contractors must list most openings with an ESDS, and posting with the state workforce agency’s job bank or the local ESDS where the job is located satisfies that requirement. That wording matters, because it tells you the listing belongs in the state where the work will happen, not only in the state where your headquarters sits.
It also helps to know what ESDS posting is not. It is not a replacement for your normal recruiting, and it is not a place to post your career site address and walk away. It is a listing of the actual opening, with the details a job seeker needs to evaluate it. If you want a short primer in simpler terms, our page on What Is ESDS covers the vocabulary before you go deeper here.
Why the state system exists
State job banks exist to match people with work, and they are staffed by workforce professionals who also help veterans and other job seekers. Listing your opening there gives those professionals a way to refer candidates to you. For federal contractors, the listing is also the visible proof that you made the opening available to the public system that serves protected veterans.
Who runs the system
There is no single national ESDS portal that replaces the states. Each state workforce agency operates its own job bank, and the rules for account setup, job formatting and automated feeds vary from state to state. That variation is the main reason contractors with openings in many states struggle. The requirement is the same everywhere, but the mechanics of meeting it change at every border.
Where the Requirement Comes From
The listing duty comes from the Vietnam Era Veterans’ Readjustment Assistance Act, usually shortened to VEVRAA, and from the regulation that implements it for contractors. The equal opportunity clause in that regulation, found at 41 CFR 60-300.5, is the text that auditors read. It says the contractor agrees to immediately list all employment openings which exist at the time of the execution of the contract, and to list openings that occur during the contract, with the appropriate employment service delivery system.
The same clause says the listing must be made in any manner and format permitted by the appropriate system. That phrase gives you flexibility on method, since you can enter jobs by hand, upload them, or send them through an automated feed if the state allows it. It does not give you flexibility on whether to list. The duty applies to the openings that fall inside the rule, and the exceptions are specific.
The clause also ties the listing to your other recruiting. The listing with the state system is to be made at the same time as you use any other recruitment source or effort. In practice that means you cannot post an opening on your career site and job boards for two weeks and then add the state listing afterward. The state listing is part of the first wave of distribution, not a cleanup task.
How this differs from other contractor duties
Contractors often mix up the job listing duty with outreach, recordkeeping and anti-discrimination rules that come from different agencies. If you are sorting out which agency enforces what, our explainer on the EEOC and OFCCP shows how the two overlap and where they do not. The ESDS listing duty belongs to the OFCCP side of that picture, because OFCCP enforces the contractor obligations.
What the agencies have said publicly
OFCCP has also worked with outside groups on guidance about the listing duty. A 2020 memorandum of understanding among OFCCP, DirectEmployers Association and the National Association of State Workforce Agencies describes sharing draft training materials about the VEVRAA requirement that contractors list job openings with state employment service systems. You can read it on the OFCCP memorandum page. It is a useful reminder that the agencies and the state workforce community treat this as an operational requirement, not a technicality.
Which Openings Must Be Listed and Which Are Exempt
The rule reaches all employment openings, with two named exceptions. The regulation excludes executive and senior management positions, and it excludes positions that will be filled from within the contractor’s organization. Everything else is presumed to be in scope, which is why many compliance teams start from the idea that every opening gets listed unless someone can document why it does not.
Executive and senior management is defined in the regulation by a combination of factors, including salary level, a primary duty of managing the enterprise or a recognized part of it, directing the work of two or more employees, and the authority to hire or fire or to have recommendations on those decisions given particular weight. An owner with a meaningful equity interest who actively manages the business can also qualify. These tests are detailed, so do not treat a job title like director or manager as an automatic exemption. Check the actual duties against the regulation.
Positions filled from within are openings where no one outside the contractor’s organization will be considered. That includes affiliates, subsidiaries and parent companies, and it includes openings filled from regularly established recall lists. The exception ends the moment you consider outside applicants for the role. If a role starts as an internal move and then opens to outside candidates, it has become a listing candidate, and the clock starts when that decision is made.
Temporary and contingent roles
Staffing firms and contractors who use contingent labor ask whether short or project-based roles must be listed. The safest reading is that an opening is an opening, and the exceptions above are the only carve-outs written into the clause. If your situation involves unusual arrangements, such as roles filled through a vendor on your behalf, ask counsel how the rule applies before you decide to skip the listing.
Remote and multi-state roles
Remote roles raise a practical question about which state system applies. The federal materials point to the state where the job is located. For a remote position with no fixed worksite, document the reasoning you used to choose the state, apply it consistently, and keep that reasoning with your records so the choice does not look arbitrary later.
How to List Openings With a State System
Start by deciding which states you need. Make a table of every state where you have openings or expect to, and note the state workforce agency job bank for each. Our overview of state job boards explains how the state systems differ, and a state-specific page such as Texas ESDS posting shows what a single state’s process looks like in practice.
Next, create the employer accounts you need. Most state job banks ask an employer to register, verify the organization and then submit jobs through a form or an upload. Some states offer automated feeds that accept jobs from an applicant tracking system, and some require manual entry. Keep a record of which method each state uses so the next person on your team does not have to rediscover it.
Then standardize your job data. State job banks usually ask for a title, a description, a location, a wage or salary where required, contact or application instructions and an occupation code. If your descriptions are long marketing copy, you will spend time trimming them for every state. A short, clean version of each description, kept alongside the full version, saves that time and reduces errors.
Manual listing
Manual listing works for small contractors with a handful of openings. The risk is consistency. When one person enters jobs by hand across several states, small differences creep in, such as a title that does not match the requisition or a posting date entered a day late. If you list manually, use a checklist and a shared log, and assign a backup for vacations. For more on this topic, read about Should Know.
Feeds and automation
Larger employers and staffing agencies usually cannot sustain manual entry. An automated approach that sends jobs from your applicant tracking system to each state system on the day the requisition opens removes the human delay. If you want to see what that looks like, read about automated ESDS posting and how a feed fits into an existing recruiting stack.
Timing: Match the Listing to Your Other Recruiting
Because the clause ties the state listing to your other recruitment efforts, timing is the part of the process that auditors test most often. They compare the date a job first appeared on your career site or a job board with the date it appeared in the state system. A gap of several days invites questions, and a gap of several weeks suggests the listing was an afterthought.
The simplest way to avoid gaps is to treat the state listing as a required field in your job opening checklist. No requisition goes live on any channel until the state listing step is queued or complete. For teams that publish to a mix of public sites, this is the same discipline as posting to every channel on the same day. Our look at job board costs shows why teams spread postings across several channels, and the state system belongs in that same plan. Short local roles often start on local job distribution channels, and the state listing should go out the same day.
If an opening is filled quickly, you still need the record. A job that opens on Monday and closes on Wednesday may be missed by a weekly batch process, yet it was an opening that existed. Daily or same-day processing is safer than a weekly sweep, because it catches short-lived roles and keeps the dates aligned with your other channels.
What about reposts and renewals
State job banks often expire listings after a set period, and commercial boards behave the same way, as posting on Craigslist shows. When you extend or repost an opening, note the new date and keep the original. Your record should show the first listing date, any renewal dates and the closing date, so that a reviewer can see continuous coverage for as long as the opening was active.
The Records That Prove You Listed
Compliance is not only about doing the listing. It is about being able to show you did it. An auditor will not accept a verbal assurance, and the state system will not always keep your history for you, since listings expire and accounts change hands. Your own records are the evidence.
At a minimum, keep a dated entry for each opening that shows the job title, the requisition number, the state system used, the date and time of listing and a confirmation or copy of what was submitted. A screenshot of the live listing, or an export from the system, makes the record stronger. If an opening was exempt, record the reason and who approved it, such as an executive position or an internal fill, so the exception is documented rather than assumed.
The length of time you must keep these records depends on the rules that apply to your contract and your size, and those periods are set in the regulations. Do not rely on a number from a blog post, including this one. Check the current recordkeeping rule for your situation, and ask counsel if you are unsure. Our compliance checklist lists the items worth capturing for each opening so nothing is missed.
Build an audit file as you go
Teams that assemble audit evidence at the last minute lose days to hunting through inboxes. A better habit is to save the record at the moment of listing, in one folder or system, labeled by month. When a scheduling letter arrives, you export the month-by-month history instead of reconstructing it. This also helps with internal reviews, because a manager can spot-check a sample in minutes.
Who owns the record
Decide who owns the log. In many companies the recruiting team lists the jobs and compliance owns the audit file, and the handoff between them is where records get lost. Name one owner, agree on the format, and review a sample every quarter. Small disciplines like this are what separate teams that stay ready from teams that scramble.
Common Mistakes to Avoid
The first mistake is listing in the headquarters state only. The materials point to the state where the job is located, so a contractor with openings in several states needs listings in each of them. A second mistake is listing late. A state posting added after the job has already been advertised for weeks does not meet the idea that it happens at the same time as other recruiting.
A third mistake is treating the exceptions as a blanket pass. Teams sometimes label every opening as an internal fill because a current employee might apply. The exception applies only when no outside candidate will be considered, and the first time an outside applicant is welcome, the exception is gone. A fourth mistake is poor data, such as listings with vague titles or missing locations that do not help job seekers and do not look like a good faith effort.
A fifth mistake is losing the paper trail. Without dated records, even a perfect listing history cannot be proven. A sixth is relying on a single person who knows every state’s quirks. When that person is out, the listings stop. Document the process, cross-train a backup and keep the account credentials in a shared, secure system rather than in one person’s email.
Mistakes with outside vendors
Contractors who use staffing agencies or recruiting vendors sometimes assume the vendor handles the listing. Confirm in writing who lists what, and keep the proof. If your own contract obligations apply to the opening, the responsibility does not disappear because someone else is doing the recruiting.
How Automation Reduces the Burden
The core difficulty with ESDS listing is volume and variety. A contractor with a few openings per month can list by hand. A contractor with hundreds of openings across many states cannot, because each state has its own account, format and quirks. Automation does not change the rule. It makes meeting the rule repeatable.
A good automated workflow connects to the applicant tracking system you already use, watches for new openings and sends each one to the right state system on the day it opens. It records the date and time, keeps a copy of what was sent and builds the audit file as a side effect. That removes the two weakest points in a manual process, which are delay and missing records. Many teams also pair this with job posting software that handles public boards, so one workflow covers both the state system and the commercial channels.
Automation is not a reason to stop paying attention. Someone still needs to review the exception list, spot-check listings in the live state system and confirm that new states are added when you start hiring there. The point is to move human effort from data entry to oversight, where it is more valuable. If you are weighing options, ask any vendor how they handle each state’s format, how they record dates and how you can export the history.
Questions to ask before you automate
Ask which states the tool supports and how new states are added. Ask how it handles jobs that change after posting, such as a new location or a closed requisition. Ask what the record looks like and whether you can export it in a form an auditor can read. Ask how the tool treats exempt roles so they are logged rather than silently skipped. The answers tell you whether the tool builds evidence or only sends data.
Putting It Together in a Simple Routine
A workable routine has five steps. First, a requisition is approved. Second, someone checks whether it is exempt and records the answer. Third, the opening is listed with the correct state system on the same day it goes to any other channel. Fourth, the confirmation is saved to the audit file. Fifth, any change or closing is recorded. That is the whole loop, and it scales from one state to fifty if the steps stay the same.
Review the loop every quarter. Pull a sample of recent openings and trace each one from requisition to state listing to saved record. If you find a gap, fix the step that caused it rather than only fixing that one opening. This kind of self-audit catches problems while they are small, and it gives you something concrete to show if a reviewer asks how you monitor compliance.
Finally, keep your reading current. Rules, state systems and agency guidance change over time, and a process that was fine two years ago may need updates. Bookmark the primary sources linked in this article, and check them when your team changes tools or expands into a new state.
How ESDS Listing Fits With the Rest of Your VEVRAA Duties
The job listing duty is one piece of a larger set of contractor obligations toward protected veterans. Contractors are also expected to document outreach, to review the effectiveness of their recruiting efforts and to keep records that support those reviews. Seen together, the pieces tell a story: you made openings visible to the public system that serves veterans, you reached out in other ways, and you checked whether your efforts worked. For more on this topic, read about Craigslist Job.
That is why the state listing record matters beyond its own rule. It becomes one input to the larger assessment your team performs each year. If your listings were consistent and dated, you can show a steady flow of openings into the state system. If they were sporadic, the assessment will show it, and you will want to understand why before someone else points it out.
Treat the listing as the foundation and the rest as layers. A clean listing process makes outreach easier to defend, because your records show the openings that outreach was meant to promote. It also gives your recruiters a shared calendar of what was posted and when, which helps when they coordinate with veteran service organizations or local workforce offices.
A Simple Month by Month Example
Consider a mid-sized contractor that hires in four states. In the first week of the month, the recruiting coordinator receives six new approved requisitions. For each one she checks the exemption question, finds that two are internal moves and four are open to outside candidates, and records both answers in the log. The four open roles are listed in the correct state systems on the same day they go to the career site and job boards.
In the second week, one of the internal moves turns out to need outside candidates after no internal applicant fits. The coordinator updates the log, lists the role in the state system that day and notes the date the exception ended. This single habit, writing down when the status changes, is what protects the team from a charge that the role was hidden.
In the third week, a state portal changes its form. The coordinator notices that submissions are being rejected, contacts the state help desk and makes a note of the fix. Because the log shows the dates of the failed attempts and the successful one, the delay is explained rather than mysterious. In the fourth week, she exports the month’s entries, saves them to the audit folder and spot-checks three live listings. None of these steps is complicated. Together they produce a record that stands up to review.
What the log should capture
A good log has a row per opening and columns for the requisition number, title, work location, exemption decision, state system, date and time of listing, confirmation reference, any renewal dates and the closing date. A short notes column covers surprises such as a rejected submission. Keep the log in a shared location with version history, so changes are traceable.
Special Cases for Staffing Agencies and Multi-State Employers
Staffing agencies face the same rule with extra moving parts. They may fill roles for client employers, and the question of who lists, the agency or the client, depends on who holds the contractor obligations for that opening. Settle the question in the contract, name the party responsible for listing and require proof. Do not leave it to assumption, because each side may believe the other is handling it.
Multi-state employers face the account problem. Fifty states can mean fifty logins, each with its own renewal cycle and format. Keep a register of accounts that names the owner, the contact email, the method used and the last time credentials were checked. Rotate through the register on a schedule so that an expired account is found by you before it blocks a listing.
Both groups benefit from a consistent data model. If every opening carries the same core fields in your applicant tracking system, the translation to each state format is mechanical. If fields are inconsistent, someone must clean them by hand every time, and the cleaning is where errors enter. A small investment in field discipline pays back across every state.
Preparing for an Audit Request
When a review begins, the contractor receives a request for documents, and job listing evidence is a common item. The reviewer wants to see that you listed openings with the state system and that you did so when you recruited through other means. If your audit file is organized by month, you can respond with a clean export and a short explanation of your process.
Prepare a one page description of your listing process in advance. It should name the owner, describe the steps, list the systems used and explain how exemptions are decided and documented. A reviewer who sees a documented process with matching records usually has fewer follow-up questions. A reviewer who sees records but no process, or a process but no records, tends to dig further.
Run a mock request once a year. Ask someone outside the recruiting team to pick ten openings from the past year and request the full evidence for each. If the exercise takes hours, your file needs work. If it takes minutes, you are in good shape. The mock request also trains new staff on where things live, which matters when the person who built the process moves on.
What to say when a gap appears
Gaps happen. A state portal goes down, an account expires or a role is missed. The best response is a candid explanation backed by whatever records you have, along with the steps you took to correct the problem. A documented fix is far better than silence, and it shows that the process is monitored and improved.
Frequently Asked Questions
What does ESDS stand for?
ESDS stands for employment service delivery system. It is the network of state-run job banks and local employment service offices that connect job seekers with employers. For federal contractors, listing openings with the appropriate ESDS is a requirement under the regulation that implements VEVRAA.
Do I have to list every job opening?
The rule covers all employment openings except executive and senior management positions and positions that will be filled from within the contractor’s organization. Because those exceptions are defined carefully, the safest practice is to list every opening and document any exemption with the reason and the approver.
Which state do I list a job in?
The federal materials point to the state workforce agency job bank or the local ESDS where the job is located. If you have openings in several states, you need to list in each one. For remote roles with no fixed worksite, document how you chose the state and apply the same logic every time.
When must the listing happen?
The clause says the listing is to be made at the same time as you use any other recruitment source or effort. In practice, make the state listing part of your opening checklist so it happens on the same day the job first goes live anywhere else.
What records should I keep?
Keep a dated record for each opening showing the title, requisition number, state system, date and time of listing and a confirmation or copy of the submission. Record the reason for any exemption. For how long to keep records, check the current recordkeeping rule that applies to your contract, since the period is set by regulation.
Does a staffing agency have to list jobs it fills for clients?
It depends on who holds the contractor obligation for the opening, and that should be settled in the contract between the agency and the client. Whichever party is responsible should list the job, keep the record and be able to produce it on request.
Can I use my applicant tracking system to send jobs to the state system?
Many state systems accept jobs through a feed or an upload, and some require manual entry. If a feed is available, an integration with your applicant tracking system can send each opening on the day it opens and save the confirmation. Check each state’s accepted methods before you build the process.
Next Steps
Start by listing every state where you have openings and confirming that you have an employer account in each state job bank. Then add the state listing step to your requisition checklist, decide who owns the audit file and run a sample trace from one recent opening. If your volume makes manual entry unrealistic, dstribute connects to the applicant tracking system you already use, sends each opening to the right state system and keeps a dated record for your audit file. Talk with the dstribute team to see how that fits your process, and read our guide to ESDS posting works for a closer look at the mechanics.


