Janitorial Software — Data Model | FieldCamp
How a commercial cleaning and janitorial business is modeled in FieldCamp — multi-site accounts, recurring service agreements, and trended quality inspections.
FieldCamp runs a commercial cleaning and janitorial business on one connected set of records that works on day one and bends to how your operation is actually shaped.
A janitorial account is rarely one building. It is an account that services many distinct sites under a recurring contract, each with its own scope, access codes, crew, and quality history.
FieldCamp models that directly, layering a few specialized records on top of the same core that runs every field service business.
This works whether you clean offices five nights a week or run nationwide janitorial across hundreds of buildings — and everything here can be tailored.
What the core already gives you
Most of a janitorial business is already covered by the records every FieldCamp account ships with. You do not build anything to get these.
- Recurring work — a Job set to recurring auto-generates Visits on nightly, weekday, weekly, monthly, quarterly, or as-needed patterns. Night and weekend cleaning cadences fit this natively.
- Crew assignment — Visits are staffed by team members, with capacity and conflict warnings, and a customer can carry a default crew that routes automatically.
- Checklists and on-site capture — a job form gives the crew a digital task list with a progress bar, and you can require a minimum number of photos before a Visit can be marked complete.
- Signature-gated completion — finishing the field work can require a captured signature.
- Separate billing and service addresses — a Customer carries company, property, and billing addresses on its own.
- Monthly invoicing and terms — Estimates and Invoices support Net-30 and Net-60 terms, deposits, partial payments, and automatic overdue handling.
- Supplies catalog and stock — the price book, with inventory, warehouses, and vendors, covers a priced catalog of consumables like paper, soap, and liners, with cost, price, and stock levels.
- Quote to won or lost — Requests and Estimates cover the bid lifecycle, with one-click conversion into a Job.
What the core does not cover on its own is the shape of a commercial janitorial account: one account, many buildings, one recurring contract, and quality scored and trended per building over time. That is what the commercial cleaning setup adds.
What commercial cleaning and janitorial adds
The commercial cleaning setup adds three specialized records, each a custom object built on the same engine as the core.
They give a janitorial account the structure a handful of extra fields cannot: a first-class record for every building, the contract that ties them together, and a scored inspection history per site.
Site
A Site is a single building you clean. Each account has many, and each holds its own file: scope, access, default crew, and cleaning frequency. A Site is a child of the Customer account.
| Field | What it holds |
|---|---|
| Site Name | A label for the building. |
| Site Address | The per-building location, the one address a single Customer property field cannot hold. |
| Site Type | Office, retail, medical, warehouse, school, or other. |
| Square Footage | The cleanable area. |
| Access / Gate Codes | Entry notes, also surfaced on the page as access instructions. |
| Cleaning Frequency | Nightly, weekdays, weekly, biweekly, or monthly. |
| Default Crew | The team members who normally clean this building. |
| Site Contact | The on-site phone contact. |
| COI on File | The Certificate of Insurance attached for this building. |
| Last Inspection Score | The most recent quality score, kept current by automation. |
A Site belongs to a Customer account, has many Jobs, and has many Inspections. Each Job carries a Site link so every work order names the building it serves, and a Visit inherits the Site through its parent Job.
A Site can move through its own optional workflow — Active, On Hold, Offboarding, Inactive — so an account manager can see at a glance which buildings are live.
Its record page is assembled from blocks: a header, the link to its parent account, the field group above, an address block with directions, access instructions, the default crew, a table of Jobs at the site, a list of Inspections, the Certificate of Insurance file, and service history.
Service Agreement
A Service Agreement is the recurring janitorial contract — the revenue spine an account manager works renewals off. It carries the term, the monthly value, the scope, and the renewal date. It is a child of the Customer account.
| Field | What it holds |
|---|---|
| Agreement Name | A label for the contract. |
| Monthly Contract Value | The recurring monthly amount. |
| Start Date | When service begins. |
| End / Renewal Date | When the term ends and renewal is due. |
| Term | Monthly, 12-month, 24-month, or 36-month. |
| Billing Cycle | Monthly or quarterly. |
| Account Manager | The team member who owns the relationship. |
| Scope of Work | The daily, weekly, and monthly task tiers, or the attached scope document. |
| Auto-Renew | Whether the agreement renews on its own. |
| Sites Covered | The buildings this contract spans. |
A Service Agreement belongs to a Customer account and links to many Sites, since one contract covers many buildings and a building can appear on successive contracts. The monthly Invoices generated under the agreement link back to it.
The recurring cleaning schedule itself stays on the Job. The agreement is the commercial wrapper: you create a recurring Job linked to the agreement, and the core engine generates the Visits.
The agreement holds the term, the renewal, and the financial picture.
Inspection
An Inspection is a scored, photo-backed quality audit. The retention lever in commercial cleaning is quality control — area-by-area scoring with photos and a building-level score trended across visits. An Inspection is a child of the Site.
| Field | What it holds |
|---|---|
| Inspection Date | When the audit happened. |
| Inspector | The team member who scored it. |
| Overall Score (%) | The building score, 0 to 100. |
| Result | Pass, fail, or corrective action. |
| Evidence Photos | The supporting photos. |
| Corrective Actions | What needs to be fixed. |
| Linked Visit | The cleaning Visit the audit followed. |
The area-by-area scoring checklist itself is a job form, shown on the Inspection page. The Inspection record stores the resulting score and the links, so the score can be trended per building over time.
The form captures; the record keeps the trended history.
An Inspection belongs to a Site and links to the Visit it followed. Its page is built from a header, the link to its parent Site, the scoring form, the custom fields above, a photo gallery, a score gauge, check-in and check-out, and a signature.
How the specialized records connect
A Customer owns many Sites and holds one or more Service Agreements. An agreement covers many Sites and is billed on monthly Invoices.
Each Site has the Jobs done at it and the Inspections scored against it, and every Inspection ties back to the Visit it followed.
The contract lifecycle
A Service Agreement moves through a clear lifecycle so renewals never slip. It starts as a draft, goes active, gets flagged for renewal as the end date nears, and then either renews or expires.
It can be cancelled at any point.
The Activate step requires the monthly value, start date, and end date to be filled in first. Cancelling asks for confirmation, since it cannot be undone.
When an agreement enters Up for Renewal, an automation notifies the account manager so the renewal conversation starts on time.
The Inspection has its own short lifecycle — Scheduled, In Progress, Completed, or Failed. Marking an Inspection complete requires at least two photos and an overall score, so no audit closes without evidence.
Residential vs commercial
The same FieldCamp account can run both residential and commercial cleaning. The difference is whether the specialized records come into play.
Residential cleaning is covered by the core alone. A homeowner is one Customer, the home is the property address, a recurring Job schedules the visits, a job form handles the checklist, and an Invoice is usually paid the same day.
There is no Site or Service Agreement — the customer record is the location.
Commercial janitorial layers the specialized records on top. One account owns many Sites, a Service Agreement carries the recurring contract with monthly invoicing on Net-30 or Net-60 terms, crews are assigned per building, and quality is scored and trended per Site as a retention tool.
Residential
One customer, one home, one property address. A recurring Job and a job-form checklist cover the work, with payment usually a card charged the same day. No specialized records needed.
Commercial
One account, many buildings, each its own Site. A Service Agreement carries the contract and monthly billing, crews are assigned per Site, and inspections are scored and trended per building.
The specialized records are additive. Turning them on for commercial accounts does not change how residential work runs.
Built for any size. A single-truck cleaning operator and a multi-location janitorial franchise run on the same backbone. Residential customers use the core records as-is; commercial accounts add Sites, Service Agreements, and Inspections on top — no separate build, no rebuilding what already works.
A few things to plan for
The commercial cleaning model covers the structure of a janitorial account, but a couple of operational wishes sit outside what FieldCamp models natively. It is worth knowing where the lines are.
Per-building supply par-levels with automatic reordering, live SLA breach timers, and built-in score-over-time trend reports are not part of the model.
FieldCamp can store an SLA target and notify on a renewal or low-stock event, and it keeps each Inspection's score for trending, but it does not place vendor orders or run a live breach clock.
Crew assignment is per Visit and per Site rather than an automated rotation roster.
Built on the customization engine
Every record on this page is built with the same tools available to you. The Site, Service Agreement, and Inspection objects are custom objects; the contract and inspection stages are custom workflows; and each record page is arranged from building blocks.
That means you can extend any of it — add a field to a Site, rename a contract stage, or rearrange an Inspection page. Start with custom objects and fields, shape the lifecycle in stages and workflows, and lay out each page from record layouts.
Related records
The janitorial account that owns its Sites and holds its Service Agreements.
The recurring work order tied to a Site, scheduled as nightly or weekly Visits.
The field appointments under a Job, with crew, checklist, photos, and signature.
The bids and the monthly invoices billed under a Service Agreement.
How the Site, Service Agreement, and Inspection records are built and extended.
The contract and inspection lifecycles, and how to shape your own.
Coming from Aspire
Most commercial cleaning companies on Aspire can bring their structure into FieldCamp directly — the accounts, the buildings under them, the recurring contracts, the work tickets and their visits, the quality inspections, the crews, the supplies, and the invoices all have a home here.
The difference is that in FieldCamp you own and shape the model, rather than fitting your operation to a fixed one.
| In Aspire | In FieldCamp | Notes |
|---|---|---|
| Customer / Account | Customers | The party responsible for the relationship and billing. FieldCamp keeps company, property, and billing addresses on one record. |
| Property / Building / Site | A Site — a custom object under the customer | One record per building, with its own scope, access codes, square footage, default crew, and inspection history. |
| Service Contract | Service Agreements | The recurring janitorial contract that carries the term, monthly value, renewal date, and the Sites it covers. |
| Work Ticket / Job | Jobs and Visits | The recurring Job tied to a Site, scheduled as nightly or weekly Visits with crew, checklist, photos, and sign-off. |
| Quality Inspection | A custom Inspection object, scored with a Job Form | Area-by-area scoring with photos on the form; the Inspection record keeps the building score and trends it over time. |
| Crew | Team Members | Assigned per Visit and per Site, with a default crew that routes automatically. |
| Supplies / Inventory | Price Book | A priced catalog of consumables like paper, soap, and liners, with cost, vendors, and stock levels. |
| Periodics / Extra Work | A Job outside the recurring schedule | Strip-and-wax, carpet extraction, or a one-off scope runs as its own Job, quoted on an Estimate. |
| Invoice | Estimates & Invoices | The monthly invoices billed under a Service Agreement, on Net-30 or Net-60 terms. |
What you gain. In Aspire the structure is fixed — the objects, their fields, and how they relate are set for you.
In FieldCamp every one of those records is yours to rename, extend, restage, and relayout with custom objects and fields and your own stages and workflows, so you can match your old setup first and then shape it to how your operation actually runs.
One honest difference. Aspire is built around real-time job costing — estimated against actual labor and material per work ticket — and it runs recurring contract billing on its own schedule.
FieldCamp models costing differently. It captures estimated, actual, and variance through job logs and cost reporting on the work, rather than as an always-on costing engine, and the recurring contract bills through the standard invoice flow rather than a separate contract-billing engine.
If real-time job costing or automatic contract billing cycles are central to how you operate, plan those parts of the move deliberately.
See also
More in the FieldCamp data model.
Insulation Software — Data Model | FieldCamp
How an insulation business runs in FieldCamp — projects, coverage areas with R-values, energy assessments, rebates, and material orders on the core records.
Junk Removal Software — Data Model | FieldCamp
How a junk removal business runs in FieldCamp — on-demand hauls, volume-based truckload pricing, before-and-after photos, crews, and disposal fees, all core.