How to bid federal janitorial contracts, step by step (NAICS 561720)

How small cleaning companies find, price and bid federal janitorial contracts: NAICS 561720, Service Contract Act wages, square-foot pricing with a worked example, and the mistakes that lose bids.

By the Seal the Bid team · Updated October 21, 2026

Federal agencies buy cleaning for offices, clinics, ranger stations, base buildings and courthouses all year. Many of these jobs are small, set aside for small businesses, and decided mostly on price. That makes janitorial one of the easiest federal markets for a small company to enter, provided you price the wages correctly.

Free tool: Try the numbers with our free cleaning bid calculator.

1. Know your code: NAICS 561720

Most federal cleaning work is coded NAICS 561720, Janitorial Services. Put it on your SAM.gov registration and check your size against the SBA size standard for that code before bidding a set-aside. Related work sometimes uses 561210 (facilities support), 561730 (landscaping) or 562111 (waste collection).

2. Find the jobs

  • Search SAM.gov Contract Opportunities for NAICS 561720, or use our open janitorial jobs list, updated every morning and filterable by state.
  • Watch for Sources Sought notices. Answering them can get a job set aside for small businesses.
  • Recompetes are predictable. Cleaning contracts usually run a base year plus option years, so the same building goes out again every few years.

3. Read the solicitation for these five things

  1. The form: usually the SF-1449, with a price for each line (CLIN) and each option year.
  2. The Performance Work Statement (PWS): buildings, square footage, floor types, tasks and how often (daily, weekly, monthly, yearly).
  3. The wage determination: the Service Contract Act rates you must pay (see step 4).
  4. The site visit: date, whether it's required, and how to register. Go if you can; square footage on paper and reality often differ.
  5. How the award is decided: lowest price technically acceptable, or best value with a technical write-up and past performance.

4. Price labor from the Service Contract Act wage determination

Federal service contracts over $2,500 are covered by the Service Contract Act. The solicitation attaches a wage determination listing the minimum hourly wage for each job title in that county. For cleaning, the key line is usually "Janitor", plus "Floor Waxer" or "Window Cleaner" if those tasks are in scope.

On top of the hourly wage you must provide:

  • Health and welfare (H&W), a set amount per hour, paid as benefits or as cash. The wage determination states the current figure.
  • Paid vacation and holidays as listed in the wage determination.
  • Payroll taxes, workers' comp and insurance, which are your normal costs.

If an incumbent's employees have a union agreement, a "successor" wage determination may require you to match those wages. Read it carefully: underpricing the wage determination is the most expensive mistake in federal cleaning.

5. Build the price: a worked example

The numbers below are illustrative only. Always use the rates in your solicitation's wage determination and your own costs.

Cleanable area30,000 sq ft of offices, cleaned 5 nights a week
Production rate3,000 sq ft per hour (offices; restrooms and clinics are slower)
Hours per night30,000 ÷ 3,000 = 10 hours
Hours per year10 × 5 × 52 = 2,600 hours
Labor cost per hourExample: $17.00 wage + $5.00 H&W + $2.55 vacation and holidays (15% of wage) + $2.35 payroll taxes and comp (12% of wages paid) = $26.90
Yearly labor2,600 × $26.90 = $69,940
Supplies and equipmentExample: 6% of labor = $4,196
Periodic workFloor stripping and waxing, carpet extraction, windows: price per occurrence from the PWS
Overhead and profitExample: 15% = about $11,120
Price per yearAbout $85,260 plus periodic work, roughly $2.84 per sq ft per year

Repeat for each option year, adding expected wage increases, because wage determinations are usually updated when options are exercised.

6. Write the short technical part (if asked)

  • Staffing plan: how many cleaners, which hours, who supervises, how you cover absences.
  • Quality control: inspection checklist, how often you inspect, and how fast you fix complaints.
  • Past performance: similar commercial or public buildings. Private work counts (no federal experience yet?).

Common mistakes

  1. Pricing below the wage determination or forgetting H&W.
  2. Missing an option-year price or a periodic-work line.
  3. Not acknowledging every amendment.
  4. Using a production rate that's too fast for restrooms, clinics or occupied buildings.
  5. Bidding a set-aside you're not eligible for, or with an expired SAM.gov registration.

Frequently asked questions

What NAICS code is used for federal janitorial contracts?

Mostly NAICS 561720, Janitorial Services. Some building-wide contracts use 561210, Facilities Support Services.

What wages do I have to pay on a federal cleaning contract?

At least the Service Contract Act rates in the wage determination attached to the solicitation, plus the health and welfare benefit and the paid vacation and holidays it lists.

How do I price a government cleaning contract per square foot?

Divide the cleanable area by a realistic production rate to get hours, multiply by your full hourly labor cost from the wage determination, then add supplies, periodic work, overhead and profit. Divide the total by the square footage to check your price per square foot.

Can a small cleaning company win federal contracts?

Yes. Many janitorial contracts are set aside for small businesses and decided mainly on price.

Want it done for you?

Seal the Bid prepares the full package, including the pricing sheet built from the wage determination, from $495. You set the price, sign and submit, and you pay for your first bid only if you submit it. See open janitorial contracts or tell us about your company.