Window Cleaning Software — Data Model | FieldCamp
How a window cleaning business runs in FieldCamp — residential routes and commercial contracts on core records, plus custom fields for panes, stories, and access.
A window cleaning business runs almost entirely on FieldCamp's core records. Recurring residential routes, commercial contracts, crews, quoting, billing, and on-site sign-off are all there the moment you sign up.
The chain a window cleaner already lives by — a customer books a clean, you quote it, you schedule a crew on a repeating route, you bill, and you get paid — is modeled directly as Request → Estimate → Job → Visit(s) → Invoice → Payment.
Almost nothing about this trade needs a new record. The handful of details that are specific to window cleaning — pane and story counts, ladder or pole access, exterior-only versus inside-and-out — fit as a few custom fields on the records you already have.
What the core already gives you
Most of a window cleaning business is covered by records that work on day one, with no setup.
- Recurring routes. A Job set to recurring auto-generates its Visits from a weekly, monthly, quarterly, or seasonal pattern, so a four-week or eight-week residential route schedules itself.
- Crews on every stop. Each Visit is staffed by one or more team members, matched by skill and service area, with capacity and conflict warnings.
- Route and territory scheduling. Service Areas and the dispatcher assign crews to stops across the day.
- Tiered quotes and deposits. An Estimate carries multi-option pricing — the Good / Better / Best pattern, such as exterior-only versus inside-and-out — with deposits.
- Invoicing and payments. An Invoice tracks partial and full payments, overdue status, and net terms for commercial accounts.
- A priced catalog. The price book holds standard panes, French panes, screens, tracks, and skylights priced by the unit, with cost and price separated.
- On-site arrival and completion. Visits track en route, arrived, working, and done with check-in and check-out location, an optional signature, and before-and-after photos.
- Structured on-site capture. Job Forms handle a per-visit checklist, a quality sign-off, or a high-work safety check.
- Lead intake. A Request captures a new inquiry or online booking and converts into an Estimate, Job, or Invoice.
The Customer record already separates billing, service, and property addresses, and marks each account as an individual or a business — enough for any single-site residential or commercial storefront account.
A recurring Service Agreement — a standing window cleaning contract on a set cadence — is added through customization rather than shipping by default.
It is the right tool for a storefront or office account that wants the same scope billed on the same schedule, round after round.
Tailoring it to window cleaning
Because the core already covers the workflow, tailoring this trade is mostly a matter of adding a few fields, not building a heavy object model.
The window-cleaning-specific detail — what makes one quote a 30-pane two-story colonial and another a single-pane storefront — lives as custom fields on the records you already use. One custom object earns its place only when a single commercial account holds several buildings.
Custom fields worth adding
These attach to the core records — most to the Job or the Customer — and need no new object. Add a field, label it, and it appears on every record of that type.
| Field | Where it fits | What it holds |
|---|---|---|
| Number of panes | Job | The pane count the quote and the crew work from |
| Stories | Job | One, two, three, or more — drives pricing and access |
| Cleaning type | Job | Exterior only, interior only, or inside and out |
| Window style | Job | Standard, French or grid, casement, bay, or skylight |
| Access method | Job | Ground, ladder, water-fed pole, or lift |
| Screen and track cleaning | Job | Whether screens and tracks are included |
| Service frequency | Customer | Weekly, monthly, quarterly, seasonal, or one-time |
| First-clean flag | Job | Marks a heavier first visit versus a maintenance clean |
| Property type | Customer | Residential, storefront, office, or high-rise |
Pane count, stories, and access method also make routing and reporting sharper. A two-story exterior route and a ground-floor storefront round are different days of work, and tagging the Job lets the dispatcher and your reports tell them apart.
When a Property record earns its place
A single custom object is worth adding only for commercial work, where one account holds more than one building.
A Property is the physical site a clean is performed at. It is its own record so a property manager or a facilities group can hold several storefronts or offices under one account, each with its own access notes, pane count, and visit history.
A Property belongs to a Customer, gathers the Jobs done at that site, and rolls up the Visits through those jobs.
| Field | What it holds |
|---|---|
| Property name | A label for the site |
| Site address | The structured service address with directions |
| Property type | Storefront, office, or high-rise |
| Pane count | The window count for the building |
| Stories | The number of floors cleaned |
| Access notes | Gate codes, lift booking, anchor or rope-access notes |
| Cleaning frequency | Weekly, monthly, quarterly, or seasonal |
| Site photos | Reference photos of the elevation |
| Account | The Customer this site belongs to |
A Property page is arranged from building blocks: a header, the link to its parent account, the field group above, the address with a map pin and directions, an access brief, the related table of Jobs at the site, its service history, and a gallery of site photos.
A residential customer with one home does not need a Property — the Customer's property address and the custom fields on the Job are enough.
The Property record earns its place the moment one account has two or more buildings, which is most commercial window cleaning.
Residential routes vs commercial contracts
The same records serve both sides of the business. What differs is how heavily each is used and how completion is gated.
Residential routes
Usually one customer to one home, so the Customer's property address and a few custom fields on the Job carry everything. Work is a recurring Job on a four-week or eight-week cadence, often exterior-only with a periodic inside-and-out. Completion is lighter, with signature optional. Dense same-day routes are scheduled with Service Areas and the dispatcher.
Commercial contracts
One customer to many storefronts, offices, or a high-rise, so the Property record earns its place. Each site runs on a recurring Service Agreement with defined scope, a billing schedule, and a renewal date. High and rope-access work calls for heavier completion — a safety check before work and photo capture at the end — and net terms on the invoice.
You add the fields once. Residential accounts lean on the custom fields and recurring Jobs; commercial accounts add the Property and Service Agreement layer on the same backbone.
The completion difference does not need a second workflow. The same Visit workflow can require a safety sign-off and photos for high-rise sites and leave them optional for ground-floor residential work — one pipeline, configured per account.
Built on the customization engine
Everything here is built with the same tools every FieldCamp account has. The window-cleaning fields are custom fields on the core records; the optional Property is a custom object with its own fields; and both record pages are assembled from building blocks.
Add the custom fields — panes, stories, cleaning type, access method — to the Job and Customer, so a quote and a crew work from the same numbers.
For commercial accounts, add a Property custom object and, if you bill standing contracts, a recurring Service Agreement.
Tune completion in stages and workflows — require a safety check and photos on high-work visits — and arrange each page with record layouts.
Built for any size. A one-van residential window cleaner runs a dense recurring route on the core records with a few custom fields. A commercial firm holding storefront and high-rise contracts adds the Property and Service Agreement layer — on the same backbone, no rebuild.
Coming from Jobber
Many window cleaners run on Jobber, and the move into FieldCamp is close to one-for-one.
Jobber is built around the same recurring-route shape this trade lives by — a client owns properties, a request becomes a quote, a job runs as one-off or recurring, and each visit is a stop on the schedule.
FieldCamp models that same chain, so your structure comes across with a clear home for each record. (Some shops layer a window-cleaning quoting tool like ResponsiBid on top of Jobber; in FieldCamp the tiered Good / Better / Best estimate carries that pricing on the core record.)
The difference is what happens after the move: in FieldCamp the model is yours to extend, so you can match Jobber first and then add the panes, stories, and access detail this trade needs.
| In Jobber | In FieldCamp | Notes |
|---|---|---|
| Client | Customers | The account work is billed to, with billing, service, and property addresses on one record. |
| Property | The customer's service address, or a Property custom object when one account holds several sites | Pane counts, stories, and access notes fit as custom fields on the address or the Property record. |
| Request | Requests | Inbound inquiry or online booking, converting to an estimate, job, or invoice. |
| Quote | Estimates & Invoices | Tiered Good / Better / Best pricing — exterior-only versus inside-and-out — with deposits. |
| Job (one-off) | Jobs | A single clean — a first-time wash or a one-time storefront round. |
| Job (recurring) | A recurring Job, optionally under a Service Agreement | A standing route or contract on a weekly, monthly, quarterly, or seasonal cadence. |
| Visit | Visits | Each scheduled stop on a route, with dispatch, check-in and check-out, signature, and photos. |
| Invoice | Estimates & Invoices | Partial and full payments, overdue tracking, and net terms for commercial accounts. |
| Products & Services | Price Book | Standard and French panes, screens, tracks, and skylights priced by the unit. |
| Team | Team Members | Crews matched to stops by skill and service area. |
What you gain. In Jobber the records and how they relate are set for you.
In FieldCamp every one of these is yours to extend with custom objects and fields — adding pane count, stories, window style, and access method to the Job, or a Property record for a multi-building commercial account — and to tune with your own stages and workflows, so a high-rise visit can require a safety check and photos while a ground-floor residential stop stays light.
One honest note. The mapping is near one-for-one: a window cleaning business fits Jobber's recurring-route shape and fits FieldCamp's just as well.
The real difference is extensibility — Jobber gives you a fixed model that suits the trade, while FieldCamp gives you the same backbone plus the room to shape it around how your routes, sites, and access actually work.
See also
More in the FieldCamp data model.
The recurring work order at the center of a route — line items, scheduling, and status.
The crew stops under a Job, with dispatch lifecycle, signatures, photos, and on-site forms.
Recurring window cleaning contracts that schedule the next Job and drive renewals.
Panes, screens, tracks, and skylights priced by the unit, with cost and price separated.
Add panes, stories, and access fields to the records you already have.
How the core records connect, and how to make them your own.
Related guides
Hands-on, step-by-step guides from the rest of the FieldCamp documentation.
Solar Installation Data Model | FieldCamp
How a solar installation business runs in FieldCamp — the sale-to-PTO project lifecycle, permits, interconnection, installed equipment, and milestone billing.
Multi-Location & Franchise — Scale FieldCamp | FieldCamp
Run multi-location and franchise field service on one FieldCamp data model — the same connected records at every site, tailored to each location's work.