Skip to main content
Book a Free Call

Field-service accounting

Cleaning Business Chart of Accounts: Built for Site-Level Profit

Commercial cleaning is a labor-percentage business, the entire margin question is whether each building's labor hours stay inside its contract price. A generic chart of accounts can't answer that; it shows one wage number and one revenue number and calls it a company. This structure shows profit where cleaning profit actually lives: per site.

  • Reviewed
  • Reading time3 min
  • TopicField-service accounting

Income accounts

  • Recurring Contract Revenue, the janitorial base: monthly-billed buildings and offices
  • One-Time & Project Revenue, deep cleans, floor work (strip/wax), post-construction cleanup; different pricing, much different margin, never blended
  • Supplies & Consumables Billback, where contracts bill paper/consumables separately, track the passthrough as its own line
  • Residential Revenue, if you run both markets, separate them; resi and commercial are different businesses

COGS: labor first, honestly loaded

  • Direct Labor. Cleaners: wages for field staff, the account that will dwarf everything
  • Payroll Taxes & Workers' Comp. Field: the burden belongs with the labor it rides on, so your labor percentage is true (wage-only labor percentages run 10–15 points flattering)
  • Cleaning Supplies: chemicals, cloths, liners, consumed in production, so COGS, not overhead
  • Equipment. Small & Consumable: vacuums, mops under your capitalization threshold; big machines (autoscrubbers) become fixed assets with depreciation
  • Subcontracted Services: specialty work you sub out (windows, carpets) when sold under your contract

The class layer: where site-level profit happens

The chart gives you company truth; classes (or locations) per building give you the real report. Every revenue entry and every labor hour tagged to its site produces the monthly report this industry runs on: revenue, labor + burden, supplies per site, and the labor percentage each site actually runs. Commercial cleaning lives or dies between 45% and 60% site-level labor; without per-site tagging you learn your average, and averages are where losing contracts hide. Time-tracking that tags sites (most janitorial scheduling apps do) makes this nearly free. ( Commercial Cleaning )

Overhead worth watching in this trade

  • Office/admin wages separate from field labor, the classic blending error that wrecks the labor metric
  • Vehicle costs (crew transport is real money at scale)
  • Insurance: GL and janitorial bonds, clients ask; underinsured competitors are your sales pitch
  • Hiring & turnover costs: ads, screening, onboarding, cleaning's turnover makes this a standing line, and seeing it priced is what justifies retention spending

Frequently asked questions

How is this different from the HVAC chart you published?

Same architecture, income/COGS in matched pairs, overhead below the line ( HVAC Chart of Accounts: A Template That Shows Real Margins ), different physics: HVAC margin lives in job costing per install; cleaning margin lives in labor percentage per site. The chart bends toward what the business needs to see monthly.

Do I need items and job costing too, or just classes?

For recurring janitorial: classes per site carry the load. Add project-style costing only for the one-time work (floor projects, post-construction) where per-job margins matter.

Turn the guide into action

Chart rebuilt + per-site reporting as part of onboarding

Book a Free Discovery Call