Field Service Suite
1. What it is
Field Service Suite manages the full lifecycle of field work: customer accounts, work orders, technician dispatch, estimates, invoicing, and recurring service agreements. It is built for organizations that send people to job sites — HVAC, plumbing, electrical, property maintenance, and similar trades.
- Enablement: Licensed and opt-in. An admin enables it from Admin → Apps → All Apps; it is off by default.
- What it is not: Field Service Suite is not the AI Front Office app. AI Front Office handles inbound customer calls, texts, and chat and can hand booked work into Field Service Suite, but they are separate apps with separate licenses.
2. Standing it up
- Go to Admin → Apps → All Apps and enable Field Service Suite.
- Open Field Service Suite → Settings (visible only to app admins). Set the Work Order Prefix and Invoice Prefix if the defaults (“WO” and “INV”) do not match your numbering scheme, and choose a Default Priority and Default Tax Rate.
- Create at least one Customer under Field Service Suite → Customers → New Customer. Each customer needs a name; adding at least one Site (address) under the customer lets you tie work orders to a location.
- Grant access using the standard app visibility rules. By default, all members of the business can see the app. Use Access Management to restrict it to specific departments or roles if needed.
- Confirm it worked: any member should see the Field Service Suite tab in the apps list and can open the Dashboard. People who can write records — managers, and anyone given the app’s Contributor role — also see Dispatch. Invoices, Reports, and GPS & Routing follow the choices in Settings › Who Can Do What (each starts at managers), and module tabs appear once their module is turned on.
Silent dependency: The optional modules (Pricebook Pro, Fleet Pro, Customer Portal, GPS & Routing, Accounting Sync, Live Assist) are all off by default. Each must be turned on individually in Settings → Premium Modules before its tab appears in the sidebar. Turning on Accounting Sync also requires an enabled accounting integration (QuickBooks, Xero, or Sage) configured under Admin → Organization → Integrations. Turning on Live Assist requires the Live Assist app and a LiveKit meeting-provider integration.
3. How it fits together
Customers and Sites — A customer is the company or person you do work for. Each customer can have multiple sites (service addresses). Work orders, estimates, invoices, and service agreements all link to a customer; work orders and estimates can also link to a specific site. Deleting a customer is blocked while any of these records exist.
Work orders — The central record. A work order tracks a single job from creation to payment. It moves through a defined lifecycle: Draft → Scheduled → Dispatched → In Progress → On Hold → Completed → Invoiced. Terminal states (Invoiced and Cancelled) allow no further moves. Each work order has a type (Service, Repair, Install, Maintenance, or Inspection) and a priority (Low, Medium, High, or Urgent). Line items on the work order track parts, labor, and materials with quantity and price. There is no screen for adding line items to a work order: they are copied from the estimate when you convert it, or added through Ask AI (“add work order items”). To bill extra work, edit the invoice while it is still a draft, or create the invoice by hand.
Example lifecycle: a work order WO-00042 is created as a Draft for customer Acme Property Management at their downtown site. An office manager schedules it for Thursday and dispatches it to a technician. The technician marks it In Progress on arrival, uploads job photos, captures the customer’s signature, then marks it Completed. The office creates an invoice from the completed work order, which moves the work order to Invoiced.
Estimates and proposals — An estimate is a priced proposal sent to a customer before work begins. Each estimate can contain multiple named options (for example, a basic repair option and a full replacement option). One option can be marked Recommended. When you send an estimate, the customer receives a link to a public proposal page where they can view the options and approve one by choosing it, or decline it with a reason. There is no signature step. Approving does not create a work order: the estimate’s owner gets an action item, and someone with write access clicks Convert to Work Order. To re-quote a declined or expired estimate, use Revise as a new quote. Estimates that pass their expiration date are automatically marked expired by a daily sweep.
Invoices and payments — An invoice can be created standalone or generated from a completed work order. Invoices follow their own lifecycle: Draft → Sent → Viewed → Partially Paid → Paid (or Overdue / Void). Invoices past their due date are automatically marked overdue by the same daily sweep. Payments are recorded with Record Payment on the invoice (cash, check, ACH, credit card, financing, or other). Field Service records payments; it does not take them — there is no Pay button on an invoice or in the customer portal. If you take card payments in your own Stripe account, turn on Online Payments (Stripe) in Settings and those payments are recorded on the matching invoice automatically, as long as the payment carries the invoice id.
Service agreements — A recurring contract with a customer. Each agreement has a billing frequency (Monthly, Quarterly, Semi-annual, or Annual), a billing amount, and a contract window (start and end dates). Once an agreement is Active, a daily sweep automatically generates a draft invoice when the billing date arrives and, when auto-schedule visits is turned on, creates each visit’s work order at the configured service frequency. Visit work orders are created unassigned, and the agreement’s owner is told to dispatch them; draft invoices wait for someone to review and send them. Each agreement advances one period per sweep run, so a far-overdue agreement catches up one period per day rather than dumping a backlog.
Dispatch — The dispatch board shows unassigned work orders, today’s schedule, and active dispatches. Someone with write access (a manager, or anyone with the app’s Contributor role) assigns a technician to a work order from the dispatch detail page; assigning automatically moves a Draft or Scheduled work order to Dispatched and notifies the technician. A dispatch shows as Assigned until the job is completed or cancelled; there is no accepted, en-route, or arrival-time tracking.
4. Running it
Creating and managing work orders
- Go to Field Service Suite → Work Orders → New Work Order.
- Select a customer and optionally a site. Set the title, work type, priority, scheduled dates, and description.
- Line items are not added on this page. They come from an estimate when you convert it, or from Ask AI (“add work order items”). A job with no line items can still be billed: click Create Invoice Manually on the work order and enter the lines on the invoice.
- Assign a technician from the Dispatch tab (manager access or the app’s Contributor role required).
Technicians update the work order status from the field — the assigned technician can upload photos, capture the customer’s signature, and advance the status. People with write access (managers and the app’s Contributors) can do the same on any work order, and can also create, edit, and delete work orders.
Sending an estimate
- Go to Field Service Suite → Estimates → New Estimate.
- Select a customer and add one or more options with line items.
- Mark one option as Recommended if appropriate.
- Click Send to Customer — the customer receives a link to the proposal page.
- When the customer approves, the estimate’s owner is notified; click Convert to Work Order to create the job. Approving does not create it on its own.
Generating an invoice
- From a completed work order, click Generate Invoice to pre-populate line items from the work order.
- Or go to Field Service Suite → Invoices → New Invoice to create one from scratch.
- Review the line items and tax calculation, then click Send to Customer to email it to the customer’s contact on file.
- Record each payment with Record Payment. If Online Payments is set up, card payments you take in your own Stripe account are recorded for you.
Using the Dispatch Board
- Go to Field Service Suite → Dispatch to see the list view (unassigned orders, active dispatches, today’s schedule).
- Switch to Board view to see work orders grouped by technician.
- Click a work order to open the dispatch detail, then assign a technician.
Reports
Go to Field Service Suite → Reports (who can open it is set in Settings › Who Can Do What; managers by default). The reports page shows total work orders, completed count, revenue collected, average completion time, and breakdowns by status and priority.
5. Settings
All settings are in Field Service Suite → Settings (app admin only).
Premium Modules
| Setting | Default | What it changes |
|---|---|---|
| Pricebook Pro | Off | Shows the Pricebook tab — a versioned service catalog with flat-rate pricing and margin analysis |
| Fleet Pro | Off | Shows the Fleet tab — vehicle inventory, driver checkout/check-in, maintenance tracking, and inspections |
| Customer Portal | Off | Shows the Customer Portal admin tab and activates the self-service portal where customers can view work orders, invoices, estimates, agreements, and submit service requests |
| GPS & Routing | Off | Shows Route Plans (daily stop lists per technician; Optimize orders the stops by straight-line distance when the sites have coordinates) and the GPS & Routing live map. The map is in place, but no app shares technician or vehicle positions to it yet, so it stays empty. Who sees the map is set in Settings › Who Can Do What |
| Accounting Sync | Off | Shows the Accounting tab — push invoices and payments to QuickBooks, Xero, or Sage via a connected integration |
| Live Assist | Off | Adds a “Get help” button on work order detail pages for live remote video help (requires the Live Assist app and a LiveKit provider) |
Core Settings
| Setting | Default | What it changes |
|---|---|---|
| Work Order Prefix | WO | The prefix for auto-generated work order numbers (e.g. WO-00001) |
| Invoice Prefix | INV | The prefix for auto-generated invoice numbers (e.g. INV-00001) |
| Default Tax Rate (%) | 0 | Tax rate applied to new estimates and invoices |
| Default Priority | Medium | Priority pre-selected when creating a new work order |
AI Features
| Setting | Default | What it changes |
|---|---|---|
| Enable AI Features | On | Master switch for the AI agent and all AI-powered features |
| AI Dispatch Recommendations | On | Lets Ask AI rank technicians for a work order by open workload and experience with that type of work |
| AI Work Order Insights | On | Lets Ask AI estimate a work order’s duration and cost from similar past jobs and flag risks. Ask in Ask AI; nothing is added to the work order page |
| AI Pricing Suggestions | On | Lets Ask AI suggest pricebook items and prices for a job you describe (needs Pricebook Pro). Ask in Ask AI; nothing is added to the estimate page |
Online Payments (Stripe)
This card is shown to business admins only; an app admin who is not a business admin does not see it. Payments are recorded only once both halves are in place: the Stripe Webhook Signing Secret saved here, and the webhook URL below configured in Stripe. Without the secret, every webhook is rejected.
| Setting | Default | What it changes |
|---|---|---|
| Enable Stripe Payments | Off | Records payments you take in your own Stripe account against the matching invoice. It does not take payments — there is no Pay button. Whatever you collect with (a Stripe Payment Link, your own checkout, or the Stripe dashboard) must set metadata[field_service_invoice_id] to the invoice’s id, or the payment can’t be matched |
| Stripe Webhook Signing Secret | (none) | Validates incoming Stripe webhook events — enter the secret from your Stripe Dashboard → Developers → Webhooks |
When Stripe Payments is enabled, a webhook URL is generated automatically. Configure that URL in Stripe to receive these four events:
payment_intent.succeeded
payment_intent.payment_failed
checkout.session.completed
charge.refunded
Notifications
Sixteen toggles, one per event, under the names the settings page shows. All are On out of the box except the status-change one. The person who took the action is never notified about it.
Who hears about Field Service work with no owner names one group. Customer service requests and failed vehicle inspections go to it; with no group named they go to the app’s administrators (Admin › Apps), and if there are none, to every business administrator. The same group also stands in when a record’s owner has left — a quote approved, declined or expired, a payment received, an invoice gone overdue, a contract visit due or a contract ending. For those, with no group named they go to the app’s administrators, and if there are none nobody is told — the settings page warns you when that is the case. A stand-in for an invoice or payment notice must also be allowed to see invoices.
| Setting | Default | What it does |
|---|---|---|
| Tell a Technician a Job Is Theirs | On | Tells the technician a work order is now theirs. When the board or Ask AI assigns and dispatches in one step, they get the Go Now notice instead |
| Tell a Technician Their Job Was Reassigned, Cancelled or Moved | On | Tells the outgoing technician when a job is reassigned or unassigned, and the assigned technician when their job is cancelled or its start time changes |
| Tell a Technician to Go Now | On | Tells the assigned technician when the job moves to Dispatched, with the date it is booked for — the one notice allowed through quiet hours |
| Tell the Assignee and Creator About Every Other Status Change | Off | The creator, when a job is dispatched or cancelled; the assignee and creator, about the other changes (scheduled, started, on hold, resumed, invoiced by hand) |
| Tell the Creator a Job Is Finished | On | Tells the creator and the assignee the job is completed |
| Tell the Estimate’s Owner It Was Sent | On | When a colleague, the Excel add-in or Ask AI emails it to the customer |
| Tell the Estimate’s Owner the Customer Said Yes | On | An action item to convert it into a work order |
| Tell the Quote’s Owner the Customer Said No | On | With the customer’s reason; a decline that names a price waits under Needs you until the quote is revised |
| Tell the Estimate’s Owner a Quote Died | On | The quote passed its Valid Until date |
| Tell the Invoice’s Owner It Was Sent | On | When a colleague or Ask AI emails it to the customer |
| Tell the Invoice’s Owner It Went Past Due | On | The invoice passed its due date — including a part-paid one, told once |
| Tell the Invoice’s Owner Money Arrived | On | A payment was recorded, typed in or from Stripe |
| Tell the Dispatch Group a Customer Asked for a Visit | On | An action item until someone assigns a technician |
| Tell a Contract’s Owner a Recurring Visit Is Due | On | The visit’s work order was created, unassigned — an action item until someone assigns it |
| Warn a Contract’s Owner Before It Ends | On | In the last 30 days of the contract, at most once a fortnight |
| Tell the Dispatch Group a Vehicle Failed Inspection | On | And the vehicle’s assigned driver, when a pre-trip check is filed as Failed or Needs Attention |
When a technician leaves the company with open jobs, the same group (or, with no group, the app’s administrators and then every business administrator) is told which jobs to reassign.
Each person also controls the Field Service category in their own notification settings, which delivers in-app, by email, and by push by default. Muting that category mutes all of the events above for that person.
6. More help
- Field Service Suite FAQ — specific setup and operating questions
- Ask AI — the assistant answers questions about Field Service Suite from these articles.