How to Win Government Janitorial Contracts: A Step-by-Step Guide for Small Cleaning Companies
This guide is for owners of small cleaning companies, often a handful of people and a van or two, who keep hearing that the government buys a lot of janitorial work but have never bid on a single job. If you already clean offices, clinics, or schools, you have most of what you need. What you are missing is the process.
Government cleaning contracts are different from commercial accounts in a few important ways. The work is described in a written document, your workers must be paid at least the rates in a federal wage determination, prices are compared side by side, and the paperwork has to be exactly right. None of that is hard once you have done it once.
Below you will learn which NAICS code to use, how to register for free, where to find janitorial bids, how to read a statement of work, how to price a job with a worked example, how to write and submit a quote, and what happens after you win. We finish with the most common reasons small cleaning companies lose, and how to avoid them.
1. Pick the right NAICS code
Every federal solicitation is tagged with one NAICS code. That code tells you two things: what kind of work it is, and how big your company can be and still count as a small business for that job. Picking the right codes in your registration is how agencies and search tools find you.
For cleaning work, these are the codes that matter. The size standards below come from the current SBA table of size standards and are measured in average annual receipts, generally averaged over your last five completed fiscal years.
- 561720 Janitorial Services: small business size standard $22.0 million. This is the main code for office cleaning, custodial services, floor care, and restroom servicing.
- 561210 Facilities Support Services: $47.0 million. Used when cleaning is bundled with other building operations, such as maintenance and grounds, under one contract.
- 561790 Other Services to Buildings and Dwellings: $9.0 million. Shows up for specialty work such as pressure washing, gutter cleaning, and duct cleaning.
2. Decide: bid yourself or team with a prime
Before you spend nights on paperwork, decide how you want to get in. There are two realistic paths for a small cleaning company.
The first is to bid as the prime contractor. You register, you find the solicitation, you write the quote, and you sign the contract. You deal directly with the government, you keep all of the margin, and you build your own record of past performance. You also carry all of the paperwork, the compliance, and the risk of a mistake that gets your quote thrown out.
The second is to work as a subcontractor to a prime contractor that already has registrations, experience with government paperwork, and a track record. You give the prime your price for the work, the prime bids, and if it wins, your crew does the cleaning. You learn how federal jobs run without having to master every form on day one.
Many owners do both: they subcontract on a few jobs to learn the rhythm, and bid directly on smaller jobs where the paperwork is light. There is no wrong answer, but pick one before you start, because it changes what you need to do in the next steps.
3. Register in SAM.gov (it is free)
To be paid by the federal government as a prime contractor, your business needs an active registration in SAM.gov, the System for Award Management. Registration is free. If a website or caller asks you to pay to register in SAM, it is not the government.
When you register, SAM assigns your business a Unique Entity ID (UEI), and your registration also gets you a CAGE code. You will enter your legal business name and address exactly as they appear with the IRS, your EIN, banking details for payments, and your NAICS codes. You also answer a set of representations and certifications, including whether you are a small business.
Plan on a few weeks for the first registration to go active, longer if your name or address does not match IRS records. Registration must be renewed every year, so put a reminder on your calendar. An expired SAM registration is a simple way to lose an award you already won.
If you qualify for an SBA program, such as 8(a), HUBZone, women-owned small business, or service-disabled veteran-owned small business, apply for it separately with SBA. Some janitorial contracts are set aside only for firms with those certifications.
4. Find janitorial bids
Most federal cleaning opportunities are posted on SAM.gov under Contract Opportunities. Search by NAICS code 561720 and filter by state so you only see work you can actually staff. Save the search and turn on email alerts.
Pay attention to the notice type. A Sources Sought or Request for Information notice is the agency asking who is out there. Responding is free and is one of the few ways a small firm can influence whether a job gets set aside for small businesses. A Solicitation or Combined Synopsis/Solicitation is the actual bid.
Know the dollar thresholds that took effect October 1, 2025. The micro-purchase threshold is $15,000 in general, but only $2,500 for services covered by the Service Contract Act, which includes cleaning. The simplified acquisition threshold is $350,000. Purchases above the micro-purchase threshold and up to the simplified acquisition threshold generally must be set aside for small businesses when the contracting officer expects offers from at least two capable small businesses at fair prices. Single-building cleaning contracts often fall in that range.
Do not stop at federal work. State agencies, counties, cities, school districts, and housing authorities buy cleaning too, usually through their own procurement portals. Those jobs are often closer to home and smaller, which makes them good first wins.
One thing to know up front: many federal custodial contracts are on the AbilityOne Procurement List, which means the agency must buy that service from nonprofit agencies that employ people who are blind or have significant disabilities. Those jobs are not open for competitive bidding, so do not be surprised when a building you hoped to clean never gets posted.
5. Read the solicitation like a contracting officer
A janitorial solicitation usually includes a Performance Work Statement (PWS) or Statement of Work (SOW), a pricing schedule, instructions to offerors, evaluation criteria, contract clauses, and a wage determination. Read all of it before you price anything.
The PWS tells you what to clean, how often, and to what standard. Look for building square footage, the number and type of restrooms, floor types, frequency tables (daily, weekly, monthly, quarterly), and periodic tasks like stripping and refinishing hard floors or extracting carpet. These periodic tasks are where small firms most often underprice.
Look for the Quality Assurance Surveillance Plan (QASP), which explains how the government will inspect your work and what counts as a failed inspection. Also note any requirements for background checks or base access badges, approved product lists, and who supplies paper goods and trash liners.
Then read the instructions to offerors and the evaluation criteria very carefully. They tell you exactly what to submit and how you will be judged, for example lowest price, or best value where price is weighed against experience and approach.
6. Understand the wage determination (Service Contract Act)
Federal cleaning contracts over $2,500 are covered by the McNamara-O'Hara Service Contract Act, often called the SCA. The SCA requires you to pay your workers at least the hourly wage and fringe benefits listed in the wage determination attached to the solicitation, for the county where the work is done.
Find the job title that matches your workers, usually Janitor, Housekeeping Aide, or Window Cleaner, and note the hourly rate. Then read the fringe benefit section. It lists a health and welfare amount per hour, paid vacation, and paid holidays. You can meet health and welfare by providing benefits or by paying the amount as cash on top of the wage.
Wage determinations are published on SAM.gov, and they are updated. If the incumbent workforce is covered by a collective bargaining agreement, the wage determination may be based on that agreement and can be higher than the standard rates.
The important point for pricing: you cannot win by paying less than the wage determination. Every honest bidder starts from the same labor floor, so you win on productivity, supervision, and overhead, not on cutting wages.
7. Go to the site visit
Many cleaning solicitations offer a site visit or walk-through. Go if you possibly can. Floor plans and square footage tables rarely tell the whole story.
On the walk, count restrooms, fixtures, and trash receptacles. Look at the condition of the floors, how far the dumpsters are from the building, whether there is a janitor closet with a sink on each floor, where you can store equipment, and whether there are elevators. Ask when the building is occupied, because after-hours cleaning changes your staffing.
Write down your questions and submit them in writing by the question deadline in the solicitation. Answers usually come back as an amendment that every bidder sees. Always acknowledge every amendment in your quote; missing one is a common reason quotes are rejected.
8. Price the job (a worked example)
Federal cleaning prices are built from the bottom up: labor hours, the wage determination rate, fringe benefits, payroll taxes and insurance, supplies and equipment, overhead, and profit. Here is a simple example so you can see the math.
Example only. These numbers are made up to show how the calculation works. Use your own production rates and the actual wage determination for your job.
Suppose an office building needs cleaning five nights a week, and you estimate two cleaners at four hours each, or 8 hours a night. That is 40 hours a week, or 2,080 hours a year. Say the wage determination shows $15.00 per hour for a janitor plus $5.00 per hour health and welfare, and your payroll taxes and workers' compensation add about $2.00 per hour. Your loaded labor cost is $22.00 per hour, so labor is 2,080 x $22.00 = $45,760.
Add supplies and equipment, say $4,000 a year, for a direct cost of $49,760. Add 10 percent overhead for supervision, insurance, office costs, and vehicles ($4,976), bringing you to $54,736. Add 8 percent profit ($4,378.88). Your annual price is about $59,115, or roughly $4,926 per month.
In a real bid, also add the paid vacation and holidays listed in the wage determination, periodic floor work, and any price increases for option years. Then compare your total with what the government paid last time. Past award amounts are public on USAspending.gov, which is a useful reality check.
9. Write a quote or proposal that is easy to score
Evaluators read many offers, often against a checklist. Make yours easy to check. Follow the order and headings in the instructions to offerors, use the exact forms they provide, and stay within any page limits.
For a simple lowest price job, your quote may be just the completed pricing schedule, a signed cover form, and acknowledgments of amendments. For best value jobs you will also write a short technical approach and list past performance.
A strong janitorial technical approach covers your staffing plan (how many people, which shifts, who supervises), how you will handle the periodic tasks, your quality control process and how it lines up with the government's QASP, how you will cover call-outs and absences, and your start-up plan for the first 30 days.
For past performance, list similar commercial or public cleaning work with a contact who will actually answer the phone. You do not need prior federal contracts to show that you can clean a building well.
10. Submit correctly and on time
Late is late. Federal deadlines are firm, and most agencies will not accept a quote that arrives one minute after the stated time, so note the time zone and submit at least a day early.
Submit exactly the way the solicitation says, whether that is email to the contracting officer, upload to a portal, or a form on SAM.gov. Check file size limits and file types. If you email, put the solicitation number in the subject line and keep the confirmation.
Before you send, check that your SAM registration is active, every amendment is acknowledged, every required form is signed, and your prices add up. Small arithmetic errors can sink an otherwise good offer.
11. After award: the CO, the COR, and getting paid
If you win, you will receive a contract or purchase order signed by the Contracting Officer (CO). The CO is the only person who can change the contract. The Contracting Officer's Representative (COR) is usually the person on site who watches your work day to day, but a COR cannot add work or change the price. If someone asks for extra work, get a written modification from the CO first.
Expect a kickoff meeting, badging and background checks for your staff, and inspections against the QASP. Keep cleaning logs and fix complaints quickly, because your performance will be rated and that rating follows you to your next bid.
Invoicing is electronic. Defense agencies use Wide Area Workflow, part of the PIEE system, and many civilian agencies use the Treasury's Invoice Processing Platform (IPP), which is free for vendors. The contract tells you which one. Submit proper invoices on schedule, and keep your payroll records, because SCA compliance can be checked.
Your performance will usually be rated in the Contractor Performance Assessment Reporting System (CPARS). Evaluators read those ratings when you bid again, so a clean first contract is the best marketing you can buy.
12. Common reasons small cleaning companies lose
Most losses come from a short list of avoidable mistakes.
- Missing a required form, signature, or amendment acknowledgment, which can make the offer unacceptable before price is even considered.
- Underpricing periodic work like floor stripping and carpet extraction, then losing money for the whole contract.
- Pricing below the wage determination, which an evaluator may flag as unrealistic.
- Ignoring the evaluation criteria and writing a generic brochure instead of answering what was asked.
- An inactive or expired SAM.gov registration on the award date.
- Bidding work too far away to supervise, with no plan for coverage when a cleaner does not show up.
Two ways to win your first janitorial contract
If you want to handle everything yourself, use the steps above and start with smaller local jobs where the paperwork is light. If you would like help writing the quote while still bidding under your own name, XL Eagle writes proposals for vendors who bid themselves, for $19.99 (www.xleagle.com/proposal-writing/).
If you would rather not deal with registrations and federal paperwork at all, you can also team with a prime. XL Eagle LLC (UEI K6SYWSWZAMY9, CAGE 11R42) is a federal prime contractor: you give us your price, we write and submit the bid under our registrations, and if we win, your company does the work as our subcontractor. It is free to you; our margin is added on top of your price. We have won $2.3 million across 47 federal awards from 7 departments, including grounds maintenance for NOAA in Texas and refrigeration repair for the U.S. Coast Guard.
Frequently asked questions
How do I get government cleaning contracts with no experience?
Start by registering in SAM.gov for free under NAICS 561720, then respond to small local and federal opportunities. Your commercial cleaning work counts as past performance. Subcontracting to a prime contractor on a first job is another way to build a federal track record.
What NAICS code is used for janitorial services?
NAICS 561720, Janitorial Services. Its current SBA small business size standard is $22.0 million in average annual receipts. Bundled building services contracts may use 561210, Facilities Support Services, at $47.0 million.
Do government janitorial contracts pay prevailing wage?
Yes. Federal service contracts over $2,500 are covered by the Service Contract Act, so you must pay at least the wage and fringe benefits in the wage determination attached to the solicitation for that county.
How do I price a government janitorial bid?
Estimate labor hours from the square footage and frequencies in the work statement, multiply by the wage determination rate plus fringe, payroll taxes, and insurance, then add supplies, overhead, and profit. Check your number against past award amounts on USAspending.gov.
Is it free to register for government contracts?
Yes. Registering in SAM.gov and getting a Unique Entity ID is free. Anyone charging a fee to register you is a private company, not the government.
Conclusion
Winning a government janitorial contract is mostly about process: the right NAICS code, an active SAM registration, careful reading of the work statement, honest pricing built on the wage determination, and a complete, on-time submission. Do those well and a small, reliable cleaning company can compete with much larger firms.
Pick one or two opportunities near you this month, read them end to end, and price them, even if you do not submit. By the third one, the process will feel familiar.