You may take the course Service Agreement on BuildOps Academy.
Log into academy.buildops.com, and start the Service Agreement Module.
Things to consider before you start
Before creating a Service Agreement, make sure the following setup is already complete in BuildOps:
Your Service Agreement settings are configured.
Your custom fields include the Service Agreement Tags, Asset Types, Maintenance Types, Work Types, and Service Agreement Types you plan to use.
Your Checklist Library is set up for the asset types you want to include in the agreement.
Your labor settings include all needed payroll cost codes and types in the Labor Rate Groups & Types tab.
The customer and property already exist before you create the agreement.
If you plan to reference the customer’s contract terms while building the agreement, have that contract available during setup.
How to create a Service Agreement
There are a few ways to start a new Service Agreement in BuildOps:
From the customer record, open the Service Agreements tab and click New Agreement.
From an existing active Service Agreement, use the three-dot menu to clone the agreement if you want to use an existing agreement as the starting point for a new one.
If your team uses Service Agreement Renewals, you can start a renewal from an existing agreement using the Renew option.
The steps below walk through the standard process for creating a new Service Agreement from the customer record.
Step 1: Enter Agreement Information
Step 1 is where you enter the main contract details for the Service Agreement.
Complete the following fields:
Agreement Name: Use a naming format that makes the agreement easy to identify. BuildOps recommends using the agreement name shown on the customer’s contract.
Agreement Number: Each Service Agreement in BuildOps has a unique Agreement Number. This number is automatically generated based on your company’s numbering setup in BuildOps. These settings are managed by BuildOps and are not available in the customer-facing app. If you need help reviewing or updating your numbering setup, please contact your Customer Success Manager or BuildOps Support.
Service Agreement Type: Select the type that matches the agreement scope, such as Maintenance, Repair, or Emergency.
Customer: Select the customer tied to the agreement.
Billing Customer: This auto-populates from the selected customer, but you can change it if billing should go to a different customer record.
Property Budget Mode: If multiple properties are tied to the agreement, choose Together to create one combined budget or Separate to create individual budgets by property.
Start Date: Enter the contract start date for the agreement.
End Date: Enter the contract end date if the agreement has one. If left blank, the Service Agreement continues generating maintenances until an end date is added later.
Department: Select the service department for the agreement.
PO Number: Add the customer’s PO number if one was provided.
Project Manager, Account Manager, and Sold By: These fields are optional internal contact fields. The Account Manager field is used to track commissions.
Pricebook - Select the Pricebook or rate card OR create a new Pricebook specifically for the Service Agreement.
Attachments - You can upload files directly in the Service Agreement module, including:
A PDF of the signed contract.
Asset manuals, photos, drawings, and other supporting documentation.
Required fields must be completed before you can move to the next step.
Important note about the Start Date
Once you enter a Service Agreement Start Date and save the agreement as a draft, the Start Date becomes locked.
If the Start Date needs to change after the agreement has been saved, it cannot be edited directly. Instead, create a new Service Agreement or clone the existing one and enter the correct Start Date there.
This restriction exists because key agreement data, including budgeting and invoicing, is tied to the Start Date.
Saving progress in Step 1
After Step 1, you can either:
When viewing a draft, you will see the agreement name, agreement number, agreement status, customer information, and schedule and pricing details on the draft page.
To keep working on the draft, click Edit Agreement. To continue setup, click Next Step.
Step 2: Add Properties & Assets
In this step, you select the properties, assets, and checklists covered by the Service Agreement.
Add properties
Select the property or properties that should be covered by the agreement.
A single Service Agreement can include multiple properties if one billing customer will receive the invoice for all work performed under that agreement.
Select assets
After adding a property, you can select the property assets that should be covered.
Use the arrow next to the asset type to show all assets in that group.
If needed, you can bulk select all assets in an asset type by using the checkbox in the asset type header.
If the asset you need does not exist yet, click Add Asset. Assets created here are also added directly to Property Assets.
Adjust First Due Dates
You can use the slider at the top t to offset all First Due Dates by the desired number of months.
For example, if the First Due Date is 1/1/2023 and you select 4 on the slider, the due date moves by four months. It does not automatically move to the fourth month of each year as a separate rule.
Select checklists
At least one checklist must be selected for each asset in the agreement.
You can assign more than one checklist to an asset if needed.
You can also add property checklists for tasks that apply to the site as a whole instead of to a specific asset. Examples include a job hazard analysis or a safety inspection.
When you are finished, click Next Step.
Step 3: Create Maintenance Plan
When you reach Step 3, BuildOps shows a table of all maintenances that will be created for the agreement.
These maintenances repeat from the Service Agreement Start Date to the End Date based on the setup in the agreement.
Review and update checklist tasks
To review the maintenance plan:
Click the property name to expand the checklists.
Click the asset type and select the asset to review or edit its checklist.
For each checklist task, review and update the fields as needed to match the customer’s contract:
Task Name
Task Description
Labor Estimate in minutes.
Items and Forms
Interval / Task Occurs
First Due Date / Start Date
Total Number of Occurrences.
Add or delete tasks
To add another task, click Add Task. BuildOps adds a copy of the last task in the list to the bottom of the checklist.
To delete a task, click the three dots on the far right side of the task row.
Add parts and materials
To add items to a task, click the bolt icon next to the task name. Then search for the item, select it, update the description and quantity, and click Save.
Add forms to tasks
To add a form to a task, click the form icon next to the task name, search for the form, select it, and save your changes.
You can also make the form required for the technician to complete during the visit.
If the form you need does not appear, check the form’s type. Only forms with a form type of Task are available in Service Agreement tasks.
Once a form or item is added, the bolt and form icons turn from gray to blue.
Important note about schedule review
Review the generated maintenance schedule carefully before moving to the next step, especially if the agreement starts partway through the year.
After all asset and property checklists are complete, click Next Step.
Step 4: Schedule Maintenances
Scheduling a maintenance creates a visit that can appear on the Dispatch Board.
For a visit to appear as scheduled on the Dispatch Board, it must include:
A date.
A time.
A primary technician.
If any of these are left blank, the visit is created as unassigned. You can later update it from the Unassigned tray on the Dispatch Board.
Add people to the visit
At the top of the page, you can add people to the visit.
BuildOps recommends selecting a Property Representative when applicable, since the department auto-populates from that selection.
The following roles can be assigned at the maintenance level:
Crew.
Primary Technician.
Additional Technicians.
How scheduling works
Scheduling maintenance jobs is done in three parts:
Select the maintenances to schedule.
Click Edit Maintenances.
Complete the maintenance group details and save.
Select maintenances to group
Before grouping maintenances, review the asset, maintenance tasks, and discipline involved, such as HVAC, plumbing, or controls.
If the maintenances came from property checklists in Step 3, they appear in a separate table below the main maintenance table.
Once you decide which maintenances should be grouped together, use the checkboxes next to each maintenance number to select them.
Complete the maintenance group details
In the maintenance group, complete the following fields:
Maintenance Group Name: Enter a name that describes the group, such as Spring Maintenance or Fall Maintenance.
Maintenance Tags: Select a maintenance tag if needed.
Maintenance Type: This field is required.
Budgeted Hours: This auto-populates from the checklist labor estimate and affects the monthly labor budget in Step 5.
Primary Technician: Select the main technician for the visit.
Additional Technicians: Add more technicians if needed.
Number of Visits: Set this to 1 or more if you want BuildOps to create visits for all maintenances in the group.
Schedule Visits: Leave this at 0 unless you want the visit created a certain number of days before the due date.
Crew: Select a crew if one should be assigned. Crews are managed in Personnel Settings.
Service Description: Paste in the maintenance tasks or add more details about the work to be completed.
Forms: Add a visit form if needed. Visit forms can be used in addition to task forms.
Visit Duration: Enter the estimated duration of the visit.
Start Time: Enter the visit start time.
After you click Save, the selected maintenances disappear from the main maintenance table and appear in their own maintenance group.
You can edit a maintenance group later by clicking Edit Maintenances. For excluded maintenances, click the edit pencil on the task line and complete the same details there.
Repeat this process until all maintenances are scheduled, then click Next Step.
Important note about agreement changes
If you later make changes to the agreement, such as adding a property, updating a checklist, or adjusting a task, only that specific property’s schedule is cleared in Step 4.
If you revise a Service Agreement and make changes to Step 3 Create Maintenance Plan, you must redo Step 4 Schedule Maintenances before reactivating the agreement.
Step 5: Labor Budget
The Labor Budget is used to compare budgeted versus actual costs across:
Work Types, such as Maintenance or Repair.
Labor Groups.
Labor Types, such as Apprentice, Journeyman, Foreman, or Shop.
Hour Types, such as Regular or Overtime.
For multi-year contracts, you can create separate labor budgets for each year.
To complete the Labor Budget, click into each field and add the needed selections for Labor Type, Hour Type, and Hours.
When you are done, click Next Step.
Step 6: Agreement Budget
In this step, click Calculate Labor from the Labor Budget to automatically populate the labor portion of the Service Agreement Budget.
Then fill in the remaining Cost Type budget values for each year and Work Type to complete the agreement budget.
When finished, click Next Step.
Step 7: Invoice Setup
In Invoice Setup, choose one billing type for the agreement:
Recurring: The agreement has one recurring transaction for a set amount that repeats at a regular interval.
On Completion: Billing happens after the maintenance job is completed.
Recurring invoice setup
For recurring billing, you can choose to invoice all properties together or invoice each property separately for multi-property agreements.
Then select the invoice interval.
For future-year pricing, choose one of the following:
Repeat first year.
Use an escalator to increase invoice pricing by a percentage each year.
Manually enter amounts for each year.
If you want to manually enter invoice amounts by year, the Service Agreement must have an End Date entered in Step 1.
To define invoice details in advance, click Add Invoice Template. In the template, you can set:
Invoice Template Version
Email To recipient
Invoice PDF Preset
Email Template
CC recipients
BCC recipients
Email Subject
Invoice Summary
Invoice Line Items
Each invoice template must include at least one line item. If there are multiple line items, the total must equal 100 percent.
After completing the template, click Create & Apply New Invoice Template.
On Completion invoice setup
For On Completion billing, BuildOps also shows invoice previews and lets you choose how future-year pricing should work.
The available pricing options are:
Repeat first year.
Use an escalator.
Manually enter invoice amounts.
You must also choose a Billing Style for each Maintenance Type created in Step 4. Options include:
Fixed, to bill a fixed amount after the maintenance is complete.
T&M, for time and material billing.
None, for non-billable work.
Add the invoice amount for each Maintenance Type and each group created in Step 4.
You can also add an invoice template in this billing mode.
When done, click Save as Draft to return to the Service Agreement draft.
Activate the agreement
Before activating the agreement, open the Maintenances tab and confirm that each maintenance has one visit assigned.
To activate the agreement, click Activate Agreement in the upper-right corner and confirm the action.
BuildOps shows a notification explaining that all maintenance jobs within 90 days of today will be created when the agreement is activated.
After activation, refresh the page.
Service Agreement page
On the main Service Agreement page, you can review information about the agreement by clicking the tabs across the middle of the page.
In the Maintenances tab, you will see a list of maintenances due within the next 90 days.
If you click a maintenance number, BuildOps opens the Maintenance page with more details about the work that will be performed during that maintenance visit.
Creating jobs for other work types
If a technician identifies repair work during a routine maintenance visit and your team wants to track those costs separately from maintenance work, a separate job can be created and associated with the Service Agreement.
This can be done from BuildOps web or mobile.
A job’s Work Type is selected when the job is created and is determined by the Service Agreement Type.
All maintenances use a Maintenance work type by default, and that work type cannot be changed.
Each Work Type also has its own invoicing preference:
In non-billable jobs, all items on the job report are automatically marked Do Not Invoice.
In labor non-billable jobs, labor lines on the job report are automatically marked Do Not Invoice, and the default invoicing status is Not Invoiced.
Standard jobs are treated like typical time and material jobs.
To create a job for another work type from BuildOps web:
Create a job for a property that has an active Service Agreement.
Select the Service Agreement.
Choose a Work Type. By default, the Work Type will be Pull-through.
Add any additional job information and click Save.
Frequently Asked Questions
Q: How do I access and manage the Checklist Library outside of creating a Service Agreement?
To manage or create checklists, go to Directory and open Checklist Library. Select the asset type on the left, then use Add Checklist to create a new checklist. To add tasks to an existing checklist, open the checklist and use Add Task.
Q: Why can’t I see my form in the Service Agreement task list?
Only forms with a form type of Task are available in Service Agreement tasks. If the form is not available, copy the form, edit the copied version, change the form type to Task, and save it.
Q: Do I have to complete all seven steps every time I create a Service Agreement?
No. Only the required fields in Step 1 need to be completed before you can save the agreement as a draft and return later.
Q: Can I edit asset checklists after they have been used?
No. Once an asset checklist has been used, direct editing is not currently supported. You can clone it instead.
Q: What fields cannot be changed after a Service Agreement draft is created?
The Start Date and Customer details cannot be changed once the draft is created.
Q: Can I change the Start Date on a saved Service Agreement?
No. Once the agreement has been saved, including when it is saved as a draft, the Start Date cannot be edited directly.
If the Start Date is incorrect, create a new agreement or clone the existing agreement and enter the correct Start Date there before saving the replacement agreement.
Q: What should I do if the agreement starts mid-year and the schedule does not match what I expect?
Carefully review the maintenance dates and number of occurrences in Step 3 before activation. Current scheduling behavior can create confusion for agreements that begin mid-year, so confirming the generated schedule before activation is the best way to avoid issues later.
Q: Why can’t I proceed from Step 1 to Step 2?
Check the agreement dates. If the End Date is earlier than the Start Date, you will not be able to continue to Step 2.
Q: Why am I getting this error in Step 5: “Cost Types for each labor type must be added before service agreement budgets can be filled out”?
This error appears when one or more Labor Types do not have Cost Types assigned yet. Service Agreement budgets depend on those labor settings being complete first.
To fix it:
Go to Labor Settings.
Open the Labor Rate Groups & Types tab.
Expand the Labor Type you want to update.
Click the edit pencil.
Select the needed Cost Type and Cost Code if applicable.
Click Save.
If the error still appears after updating Labor Settings, contact Support.
Q: Why aren’t the total budgeted hours showing on the Profitability tab of the Service Agreement?
This happens when budgeted hours were entered on the maintenance items but not on the Service Agreement itself. To show the total on the Profitability tab, the budgeted hours must also be set at the agreement level.
Q: What happens if I revise a Service Agreement? If Step 3 changes during a revision, Step 4 must be redone before reactivating the agreement.
Q: Do updates to invoicing apply retroactively? No. Changes to invoice settings apply to future invoice schedules/invoices, not ones already created.
Q: Can I manually enter invoice amounts for each year of a multi-year agreement? Yes, but only if the Service Agreement has an End Date entered in Step 1.
Q: Why is the Activate Agreement button unavailable, or why am I getting an activation error?
If you cannot activate a service agreement, it usually means part of the setup still needs attention.
Here are the most common things to check:
The billing customer may be on credit hold.
Step 7: Invoice Setup may be incomplete.
One or more properties may still be missing required billing setup.
The invoice template may be missing line items, or the line items may not total 100%.
A required maintenance visit may not be assigned yet.
To fix the issue:
Open the service agreement and review Step 7: Invoice Setup.
Make sure a billing type is selected.
Confirm the invoice template includes at least one line item.
If you are using percentages, make sure the total equals 100%.
Check that all required invoice fields are completed, such as the email template, recipient, subject, and PDF preset.
If the agreement includes multiple properties, confirm each property has the required billing setup.
Open the Maintenances tab and make sure each maintenance has a visit assigned.
If the billing customer is on credit hold, remove the credit hold, activate the agreement, then reapply it if needed.
If the issue continues, return to Step 7, switch the billing setup to the other billing option and then switch it back, re-enter the invoice details, save, and try activating again.
Q: Why does a recurring invoice show “Information Missing”?
Recurring invoices may show Information Missing when required invoice-template fields are incomplete, such as the email template, recipient, subject, invoice summary, PDF preset, or line items. Complete the missing fields in the service agreement’s invoice template, then create or email the invoice again.










