Service agreement software that generates the work and the bill.

Define the visit schedule and the billing schedule once. Forz generates each job and each draft invoice on its own cycle, and every covered device keeps its own inspection due date, so contracted work never slips.

12 months of billing scheduled in advance Included in every plan iOS & Android
Forz Recurring Jobs list of active HVAC, sprinkler, fire alarm and generator maintenance schedules with next dates and assigned technicians
Active recurring schedules with their next dates and assigned technicians.

The problem with the old way

Contracts tracked in spreadsheets

The agreement promises quarterly visits, but the schedule lives in a spreadsheet someone has to remember to check. One missed row and a contracted customer goes a year without service.

Work delivered, never billed

The visits happen, but the invoice depends on someone remembering to raise it each cycle. Every forgotten cycle is contract revenue you already earned and never collected.

Inspection intervals out of sync

Every device at every site runs on its own clock, with monthly visuals, annual functional tests, and 5-year internals. Tracking those clocks by hand is how due dates get blown.

How service agreements works in Forz

Recurring jobs from one definition

Pick Weekly, Biweekly, Monthly, Every 3 Months, Every 6 Months or Yearly, a next date and an optional end date. Each generated job copies the customer, service address, assignee, description and line items, gets its own job number and enters the first status in your workflow.

Make any job recurring

Open a job that is already set up the way you want, click Make Recurring on its Recurring card, and set the next date and frequency. Monthly schedules hold their day through short months, so a schedule on the 31st generates on February 28, then March 31.

Recurring invoices with a review buffer

Bill weekly, biweekly, monthly, every 3 months, every 6 months or yearly. Forz schedules 12 months of invoices in advance and creates each one as a Draft up to 5 days before its date, with the customer, contact, site, payment term and line items copied in.

Each agreement tied to its system

With the Systems module on, every recurring invoice names the system it covers, and the site's Systems tab lists the barcoded devices behind the contract. The office can see exactly which equipment an agreement pays for.

Per-device inspection intervals

Covered devices keep their own due dates on 13 frequencies, daily through every 7 years. Forz sets them when a device is created and moves each one forward when a result is saved, so a monthly visual and an annual functional test on one device run on separate clocks.

Changes apply going forward

Edit a recurring job and only future jobs change. Make it Inactive to pause, or delete it to stop new jobs while past jobs stay put. Editing a recurring invoice rebuilds the scheduled invoices that have not been created yet.

Online payment from the portal or email

With Stripe connected to your own account, the customer pays by card or US bank account (ACH), in full or in part, with Pay Invoice in the customer portal or from the link in the invoice email, which needs no login. Forz records the payment and marks the invoice Partially Paid or Paid.

Proof customers pull themselves

Agreement customers sign in to the customer portal with a 6-character code sent by email to download inspection PDFs, check open jobs and see or pay outstanding invoices, instead of calling your office for the report.

Forz recurring invoice #103: monthly fire and life safety agreement for Corvane Medical Center, three NFPA line items totaling $452.50
A monthly recurring invoice for a fire and life safety agreement.

Three clocks behind every agreement

A service agreement in Forz is three schedules that run side by side. Each one does a different job, and each counts time a little differently.

ClockWhat it createsFrequenciesHow the next date is set
Visits (recurring job)A numbered job in the first status of your workflowWeekly, biweekly, monthly, every 3 or 6 months, yearlyFrom the schedule’s next date (monthly schedules keep their day of the month)
Billing (recurring invoice)A Draft invoice, up to 5 days before its dateThe same six options12 months of scheduled items are built in advance
Equipment (device inspection types)A due date on each device13 options, daily through every 7 yearsA fixed number of days after each saved result

Visits and billing follow the contract calendar. Device due dates follow the equipment, so the office can see which monthly, annual or multi-year inspection each visit has to cover.

Setting up an agreement

  1. Build the first visit. Create a job for the customer. A job template such as Quarterly HVAC Maintenance fills in the job type, description, labels like Under Contract, and the line items.
  2. Make it recurring. Click Make Recurring on the job’s Recurring card and set the next date and frequency. For a fixed-term contract, create the schedule from Jobs > Recurring Jobs > New instead, which also takes an end date.
  3. Set up the billing. In Invoices > Recurring Invoices, choose the customer, frequency, next date and payment term, then the service address, system and line items.
  4. Register the covered equipment. Add the devices to the system at the customer’s site so each one tracks its own inspection due dates.
  5. Share the portal. Send the customer contact your portal URL so they can pull inspection reports and check open jobs themselves.

Agreements in practice

Monthly HVAC maintenance for a property manager

A 12-month maintenance agreement becomes a recurring job with the Maintenance job type, a monthly frequency, a next date at the contract start and an end date at the contract end. Standard line items such as filter replacement and system check ride along on every visit. On the billing side, a monthly recurring invoice carries three line items of $150, one per rooftop unit, for $450 a month, and Forz drafts each invoice ahead of its date.

Quarterly fire inspections

A fire protection company sets a recurring job to Every 3 Months with the Inspection job type and line items for labor and standard parts. Each cycle, a new inspection job appears, ready to schedule. The devices on the fire alarm and sprinkler systems keep their own clocks in between. More on that in fire inspection software.

Yearly backflow testing

A plumbing company sets a yearly recurring job with a next date that matches the customer’s compliance deadline, so the job arrives with time to schedule it. The line items cover the standard test fee and certification paperwork, and each saved test sets the backflow preventer’s next due date 365 days out.

Changing or ending an agreement

Contracts change mid-term. When they do, edit the recurring job, and the change applies to jobs generated from then on. Jobs already created keep their original details. To pause service, make the recurring job Inactive and reactivate it later. Deleting a recurring job stops future jobs but leaves the ones already generated in place.

Recurring invoices work the same way. Editing one clears the future scheduled items that have not become invoices yet and builds a new schedule from the updated frequency and next date. Invoices already generated keep their line items. Each schedule can also carry its own record number format for the jobs or invoices it generates.

Works with the rest of Forz

Setting it up? The Recurring Jobs and Recurring Invoices guides walk through each screen.

Frequently asked questions

Forz runs service agreements on two building blocks: recurring jobs for the visits and recurring invoices for the billing, each on its own cadence. Every generated job gets its own number and moves through your normal scheduling, dispatch and completion workflow. Covered devices keep their own inspection due dates on top of that, so agreement work is handled like any other job instead of in a parallel system.

Both offer weekly, biweekly, monthly, every 3 months, every 6 months and yearly. You set a next date for the first one, and recurring jobs also take an optional end date for a fixed-term contract. Monthly job schedules keep their day through shorter months, so a schedule on January 31 generates on February 28 and then March 31.

Yes. A recurring invoice schedules 12 months of invoices in advance, and a daily background process creates each one in Draft status up to 5 days before its date. Once the office sends it, the customer can pay by card or US bank account (ACH) through your own Stripe account, from the customer portal or from the invoice email link without logging in. Forz then marks the invoice Partially Paid or Paid. Invoices also sync both ways with QuickBooks Online.

Yes. Every generated invoice starts as a Draft, created up to 5 days before its scheduled date. Draft invoices are hidden from the customer portal, so your office can check line items and amounts before sending.

Yes. Every covered device belongs to a system at a customer site, and its device type sets the inspection schedule: daily, weekly, biweekly, monthly, quarterly, semi-annual, annual, or every 2 through 7 years. The first due date is set when the device is created and the next one is calculated from each saved inspection. One device can carry several inspection types with independent due dates, like a monthly visual plus an annual functional test.

Edits to a recurring job apply only to jobs generated after the change, and jobs already created keep their details. Make the recurring job Inactive to pause it, or delete it to stop future jobs, and past jobs stay in the system. Editing a recurring invoice removes the scheduled items that have not become invoices yet and builds a new schedule from the updated frequency and next date.

Yes. Open the job, find the Recurring card and click Make Recurring, then set the next date and frequency. The customer, service address, assignee, description and line items carry into the recurring template, and the job's card then shows the schedule number, status, next date and frequency.

See service agreements in action

Get a 30-minute personalized demo and watch how it works on your own workflows.

Free standard data import Free 30-minute demo, no commitment