Best way to set a good faith salary range for Virginia job postings

7 min read By the Wagelist team

Pick one of the four anchors Virginia names in the statute, set a range you can explain at both ends, and write down which anchor you used on the day you posted. That is the whole method. Good faith in Virginia is not a feeling about the number, it is a question asked later about how the number was produced, and the employers who lose it are the ones with nothing on file.

Since July 1, 2026 every public and internal posting for a job, promotion or transfer in Virginia has to carry the wage, the salary, or a wage or salary range. The Virginia pay transparency law has no employee-count threshold, so this reaches employers far too small to have a compensation analyst, and those are exactly the employers most likely to post a number they cannot source.

The four anchors, and which one you should use

Virginia Code § 40.1-28.7:12 defines a wage or salary range as the minimum and maximum for the position, "set in good faith by reference to any applicable pay scale, any previously determined wage or salary range for the position, the actual range of wages or salaries for persons currently holding equivalent positions, or the budgeted amount available for the position, as applicable."

Four anchors, and the phrase "as applicable" means you are choosing, not satisfying all of them. Most of the confusion I see comes from employers assuming they need market survey data they do not own. They do not. Here is how the choice actually falls out.

Your situation Anchor to use What you keep on file
You maintain pay bands An applicable pay scale The band, its effective date, and the method that produced it
You filled this role before A previously determined range The prior requisition showing the range you set then
You have incumbents in equivalent roles Actual pay of equivalent employees The pay list you drew the minimum and maximum from
First-time hire, no incumbent The budgeted amount available The approved budget line and who approved it

The fourth row is the one worth pinning up. A company hiring its first operations manager has no pay scale, no prior range and no equivalent incumbent, and often concludes it has to guess. It does not. The budget that was approved for the role is a permitted anchor on the face of the statute, and it has the useful property of being a real number somebody already signed off.

Why the widest range is the worst answer

The instinct when a posting law arrives is to post $70,000 to $190,000 and move on. Virginia closed that door in the text. Subdivision B 6 makes it a violation to fail to set a range in good faith, and states that the analysis "shall consider, among other things, the breadth of such wage or salary range."

That word "shall" is doing real work. Breadth is not one factor a court might weigh if it feels like it, it is one the statute directs it to weigh. So an enormous range does not buy safety, it manufactures the evidence against you, and it does so in the one place any outsider can see without discovery: the advertisement itself. Somebody scanning postings can identify a probable violation in a few seconds, which matters because of who is allowed to complain.

A working rule: a spread of about 30 to 40 percent from minimum to maximum describes a normal band for one job at one level. Below roughly 20 percent you have posted a point, not a range, and you will lose negotiating room. Above about 60 percent you are usually describing two different jobs and should post two ranges. The reasoning behind those figures is worked through in how wide should a salary range be, and the underlying structure in salary bands.

Anyone can start your clock

Virginia gives you a cure window, and it is worth understanding precisely because the summaries compress it. Subsection F lets "any person" send written notice that a posting does not comply. Not an applicant, not someone who was harmed. Any person. Correct the posting on the original posting locations within 15 business days of that notice and no action for that violation may be brought.

The catch is in the next clause. A notice about a particular posting "shall constitute adequate notice for the duration of such posting for any prospective employee seeking remedies under this section." The notice attaches to the advertisement rather than to the person who sent it, so you do not get a fresh 15 days each time a different candidate complains about the same posting. One clock, per posting, starting at the first notice from anyone.

Two operational consequences. Keep a list of every location a requisition was published to, because "the original posting locations" is plural and a syndicated job you can no longer edit is a problem to solve before a notice arrives. And route these notices somewhere a human reads within days, because 15 business days is three weeks that will pass unnoticed in a shared inbox.

The salary history ban changes your intake, not just your postings

The same section bans seeking wage or salary history, relying on it when considering an applicant, and relying on it when setting pay at hire. Because the prohibition is on seeking it rather than on asking the candidate, obtaining it from a previous employer or a third-party service is caught too.

In practice this is an intake problem more than a policy problem. The question tends to survive in three places nobody edits: the application form, the phone screen script, and whatever an external recruiter asks on your behalf. Teams that have moved first-round screening into a structured screening interview that asks every candidate the same questions have an easier job here, because there is one script to fix rather than a habit spread across several interviewers.

There is one carve-out, and it only turns one way. If a candidate volunteers their history unprompted, subsection D lets you rely on it to support a wage higher than your initial offer, and to seek to confirm it for that purpose, so long as the higher figure does not violate Va. Code § 40.1-28.6 or federal law. Volunteered history can move an offer up. It can never move one down.

A five line policy

Every requisition names its anchor before it is published, chosen from the four in the statute. Ranges are set from bands where bands exist and from the approved budget line where they do not. Minimum to maximum spread stays between 30 and 40 percent unless the role genuinely spans two levels, in which case it is posted as two roles. Every posting location is recorded on the requisition. Compliance notices go to a named person with a 15 business day service level.

That fits on one page and answers the only question the statute actually asks, which is not whether your number was right but whether you can show where it came from. If you are building the underlying bands, the method matters more than the source: our ranges come from public federal wage data with a documented multiplier chain, explained in BLS salary data, and the posting mechanics are in job posting salary ranges.

Get started