Skip to content

Blog

How to Bid on Janitorial Contracts: Reading the RFP and Pricing per Square Foot

· Janitorial, Bid pricing, Government contracts

How to Bid on Janitorial Contracts: Reading the RFP and Pricing per Square Foot

Key takeaways. Price from cleanable square feet and production rates, not from a rule of thumb. Use the wage the contract sets, not the wage you pay today. Model every year of a fixed-price term. Put periodic work on its own lines. Price on the buyer's form, in the buyer's structure.

Public janitorial contracts are among the most accessible pieces of government work for a small business: cities, counties, school districts, and transit agencies all buy cleaning, the contracts run for years, and the evaluation often rewards quality over lowest price. They are also where a lot of small firms learn about liquidated damages the hard way.

This is how to read a janitorial RFP and turn it into a price you can defend.

Start with the scope, not the price form

A janitorial RFP describes what is being bought in three layers, and each one changes the price:

  1. The facilities. How many buildings, the cleanable square footage of each, floor types, restroom counts, and any special areas such as police department spaces that require background checks and badges.
  2. The frequencies. Nightly service five nights a week at most sites, seven at a recreation center; day porters at City Hall and the library on weekdays; quarterly carpet extraction; semi-annual floor stripping and refinishing; monthly interior window cleaning; semi-annual high dusting.
  3. The standards. Green Seal or EcoLogo chemicals with safety data sheets on site, a dedicated working supervisor on every nightly shift, two-hour emergency response for spills, biohazards, and flooding, monthly inspections against an inspection form, deficiencies corrected within 24 hours.

Every one of those is a line in your labor estimate. Extract them all before you touch a spreadsheet. If the package gives a total square footage in one place and a per-facility schedule that adds up to a different number in another, that is a question for the buyer, because you cannot price two numbers.

Three key-date cards from a WinMyBids report: bid due, questions due, and a mandatory site visit, each with a countdown.
The three dates that shape a cleaning bid. The site visit is where you verify square footage, floor types, and restroom counts; if it is mandatory, missing it ends the bid.

Estimate labor from production rates

Labor is 50 to 65 percent of revenue in a well-run commercial cleaning business, so labor hours are the estimate. Two inputs:

  • Cleanable square feet per facility. Exclude mechanical rooms, storage, and server rooms unless the scope includes them. Verify on the site visit.
  • Production rates. Standard office space cleans at roughly 2,500 to 3,500 square feet per labor hour for nightly service, depending on density, restroom count, and carpet versus hard floor. Restrooms and break rooms are much slower than open office.

Hours per visit for each site, times visits per week, times 52, gives annual nightly hours. Add day porter hours where the scope requires them (a porter is a full shift, not a production-rate calculation). Add supervision: if the spec requires a working supervisor on every nightly shift, that is a person on every shift, at a supervisor's wage.

Then apply the wage. If the contract sets a living wage or prevailing wage floor, that is your number, and the package will say how and when it adjusts. Add payroll burden: employer taxes, workers' compensation at cleaning rates, and any benefits the contract requires.

Build the price per square foot from the bottom

Public price guides in 2026 put office cleaning between roughly $0.05 and $0.25 per square foot per visit or month depending on the source, frequency, and building type (Jobber, Housecall Pro, ServiceFusion). Treat those as a sanity check for your result, never as the input. Your price is built from:

ComponentWhat goes inTypical share
LaborHours × contract wage × burden, including supervision55–65%
SuppliesPaper, liners, soap, the certified chemicals the spec names5–8%
EquipmentVacuums, autoscrubbers, burnishers, amortized over the term3–5%
OverheadInsurance at the limits the RFP requires, bonding, vehicles, admin10–14%
MarginWhat is left after the contract terms are priced10–20%

Divide the annual total by twelve and by cleanable square feet, and you have a price per square foot per month you can explain line by line. On a 142,000 square foot portfolio, $0.10 per square foot is about $14,200 a month for nightly service, before the periodic work.

Put periodic work on its own lines

Quarterly carpet extraction, semi-annual floor refinishing, window cleaning, and high dusting are not nightly labor. Price each as a unit: square feet of carpet times your extraction rate, linear feet of glass, hours for a strip-and-wax crew with materials. Most public price forms have separate lines for them, and evaluators compare those lines across bidders. If an addendum removes a periodic service from scope but the price form still has the line, mark it "N/A" rather than leaving it blank, and note the addendum.

Price the contract terms, not just the work

This is where cleaning bids go wrong. The scope tells you the cost of the work. The contract terms tell you what the work will cost you.

  • Fixed price for the initial term. Three years firm while the living wage adjusts every January is a margin that erodes on a schedule. Model all three years of wage growth into the year-one monthly fee, and price option years at whatever escalation cap the package allows.
  • Payment terms. Net 45 on monthly invoices in arrears means roughly 75 days from first shift to first payment. You will fund two to three months of payroll and supplies before the buyer pays. Arrange the line of credit before award, not after.
  • Liquidated damages. $250 per facility per missed nightly cleaning and $150 per late emergency response are not theoretical. Staff an on-call rotation and a backup crew, and price them.
  • Bonds. A 5% bid bond with the proposal and a 100% performance bond for first-year value within ten days of award both cost premium and consume bonding capacity. Confirm capacity with your surety before you submit.
  • Termination for convenience. Thirty days' notice with no claim for anticipated profit means you cannot amortize equipment or hiring costs over the full term without a recovery plan.
The requirements table from a WinMyBids report with mandatory and disqualifying requirements marked.
Requirements pulled from the package with the buyer's exact words, whether each is mandatory, and a chip that opens the page it came from. The pricing instructions and contract terms get their own sections.

Price on the buyer's form, in the buyer's structure

Most janitorial RFPs specify a fixed monthly fee per facility for each base year, unit prices for periodic services, and option-year pricing, on an attached price proposal form. Use the form. Evaluators score price by comparing identical lines across bidders; a bid that presents a single annual total, or a different structure, is either scored badly or rejected.

WinMyBids builds a priced bid in that structure from the scope in the package and the rates you enter for labor, supervision, supplies, overhead, and margin. Every figure is labeled with where it came from and how confident the estimate is, and the per-facility lines follow the buyer's facility schedule. It is the second half of the report and Bid Pricing bundle; the sample report shows the priced bid for a fictional nine-building city contract.

The three checks before you submit

  1. Does your square footage match the buyer's, and have you said which number you used? If the package contradicts itself, state your basis in the price proposal.
  2. Did you sign the addendum acknowledgments, and did your price change with them? An addendum that lowers an insurance limit or removes a service changes your number.
  3. Is everything in the right envelope? Sealed price proposals go in their own sealed envelope when the package says so. Price in the technical volume is a rejection in many jurisdictions.

Questions people ask

What is a typical price per square foot for janitorial services? Public 2026 guides cite roughly $0.05 to $0.25 per square foot, with most nightly office contracts landing between $0.07 and $0.15. The range is wide because frequency, density, and standards vary; build yours from hours and wages, then compare.

What production rate should I use? Roughly 2,500 to 3,500 square feet per labor hour for standard nightly office cleaning, lower for restroom-heavy or medical space, higher for open warehouse. Verify against your own crews' history where you have it.

Should I bid a contract with a fixed price and a rising wage floor? Yes, if your year-one price carries the increases and the resulting number is still competitive. No, if the only way to win is to price year one and hope. Bid or no-bid walks through that decision.

Bidding on an RFP right now?

Upload the package and get every deadline, requirement, and form linked to its page, free, before you decide to buy the report.

Analyze an RFP, free preview first