FieldCamp

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 termsEstimates 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 lostRequests 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.

FieldWhat it holds
Site NameA label for the building.
Site AddressThe per-building location, the one address a single Customer property field cannot hold.
Site TypeOffice, retail, medical, warehouse, school, or other.
Square FootageThe cleanable area.
Access / Gate CodesEntry notes, also surfaced on the page as access instructions.
Cleaning FrequencyNightly, weekdays, weekly, biweekly, or monthly.
Default CrewThe team members who normally clean this building.
Site ContactThe on-site phone contact.
COI on FileThe Certificate of Insurance attached for this building.
Last Inspection ScoreThe 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.

FieldWhat it holds
Agreement NameA label for the contract.
Monthly Contract ValueThe recurring monthly amount.
Start DateWhen service begins.
End / Renewal DateWhen the term ends and renewal is due.
TermMonthly, 12-month, 24-month, or 36-month.
Billing CycleMonthly or quarterly.
Account ManagerThe team member who owns the relationship.
Scope of WorkThe daily, weekly, and monthly task tiers, or the attached scope document.
Auto-RenewWhether the agreement renews on its own.
Sites CoveredThe 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.

FieldWhat it holds
Inspection DateWhen the audit happened.
InspectorThe team member who scored it.
Overall Score (%)The building score, 0 to 100.
ResultPass, fail, or corrective action.
Evidence PhotosThe supporting photos.
Corrective ActionsWhat needs to be fixed.
Linked VisitThe 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.

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 AspireIn FieldCampNotes
Customer / AccountCustomersThe party responsible for the relationship and billing. FieldCamp keeps company, property, and billing addresses on one record.
Property / Building / SiteA Site — a custom object under the customerOne record per building, with its own scope, access codes, square footage, default crew, and inspection history.
Service ContractService AgreementsThe recurring janitorial contract that carries the term, monthly value, renewal date, and the Sites it covers.
Work Ticket / JobJobs and VisitsThe recurring Job tied to a Site, scheduled as nightly or weekly Visits with crew, checklist, photos, and sign-off.
Quality InspectionA custom Inspection object, scored with a Job FormArea-by-area scoring with photos on the form; the Inspection record keeps the building score and trends it over time.
CrewTeam MembersAssigned per Visit and per Site, with a default crew that routes automatically.
Supplies / InventoryPrice BookA priced catalog of consumables like paper, soap, and liners, with cost, vendors, and stock levels.
Periodics / Extra WorkA Job outside the recurring scheduleStrip-and-wax, carpet extraction, or a one-off scope runs as its own Job, quoted on an Estimate.
InvoiceEstimates & InvoicesThe 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.

On this page