Skip to main content
Who uses this: Admin, Team Manager, Service Agent (access depends on permissions; Limited Agents cannot access maintenance agreements). Availability: All regions and plans.
FieldPulse migrated every existing maintenance agreement to a new structure on October 17, 2026. The migration converted each agreement that existed before October 17, 2026 into an agreement with one Scheduled routine. A routine is one repeating service inside an agreement, such as “Spring AC tune-up.” An agreement can have up to five routines.

Overview

The migration ran automatically, and you did not need to do anything. Your schedule, jobs, and billing carried over. After the migration, you can:
  • Add more routines to an agreement.
  • Create On-Demand agreements.
  • Use new scheduling, reminder, and reporting options.

Which agreements the migration affected

The migration affected only maintenance agreements created before October 17, 2026. Maintenance agreements you create on or after October 17, 2026, once the migration finished, use the new structure from the start. The migration does not change them. The migration steps below, such as splitting occurrences with more than one job, deleting far-future empty occurrences, and carrying over reminders, do not apply to agreements you created after the migration.

How it works

What stayed the same

  • Every agreement, including canceled and archived agreements, stayed in your account.
  • Every job linked to an agreement stayed linked to that agreement.
  • Recurring billing, invoices, and payments did not change. Invoices kept their link to the agreement.
  • Assets, contracts, custom fields, and notes on agreements carried over.
  • Reminders you set up kept sending (see “Occurrence reminders” below).
  • Canceled agreements migrated with the status “Canceled.” FieldPulse creates no new jobs or billing occurrences for them, whatever their end date. Their existing jobs and invoices stay as they are.

How each agreement converted

Each agreement that existed before October 17, 2026 became one agreement with one Scheduled routine. FieldPulse named the routine “[Agreement title] - routine #1.” You can rename it. The migration created no On-Demand routines, because On-Demand routines are new. All routines in one agreement share one plan type. Migrated agreements are Scheduled, so you cannot add an On-Demand routine to them. Create a new On-Demand agreement instead.

How jobs and occurrences generate

An occurrence is one scheduled visit date on a routine. FieldPulse creates a job automatically only at the moment it creates the occurrence. If an occurrence already exists, FieldPulse leaves it alone. Before the migration, FieldPulse created occurrences up to 5 years ahead but created jobs only 12 months ahead. Most future occurrences had no job. Now, two settings on each routine work separately.

Far-future occurrences

During the migration, FieldPulse deleted empty occurrences that fell beyond an agreement’s generation window. An empty occurrence has no job. The nightly run recreates them as each date comes into the window, with jobs where the routine generates jobs. Empty occurrences already inside the window received jobs from the nightly run on routines that generate jobs. If future occurrences look missing on a migrated agreement, increase the generation window on the routine.

Occurrences with more than one job

An occurrence now holds one job. In the old version, an occurrence could hold two or more jobs, and only one showed on the agreement. The migration gave each extra job its own occurrence in the same month, using these rules:
  • The oldest live job kept the original occurrence.
  • Each other live job moved to a copy of the occurrence placed 1, 2, 3, and so on seconds later. The copy kept the same agreement, routine, and month.
  • Each occurrence took its status from its own job.
  • Deleted jobs did not move.
  • Billing occurrences and invoices did not change.
  • The UI does not show seconds, so each job appears on its own occurrence row.
FieldPulse deleted nothing. Every job kept its link to the agreement. You may see two occurrences in the same month. That is not a duplicate. One job can still fulfill more than one Scheduled occurrence. On-Demand visits link to one job each. Linking one job to multiple On-Demand visits is planned for a later update.

Same-day duplicate occurrences

An older double-save bug sometimes created several occurrences for the same agreement on the same day. The migration kept all of them and merged none. The first stayed at 12:00 AM. Each extra occurrence moved forward by 1 minute (12:01 AM, 12:02 AM, and so on), along with any billing occurrences. These cases are all in the past.

Occurrence reminders

The migration converted each automatic email service reminder into one occurrence reminder rule on routine #1 with the Email channel. FieldPulse did not migrate reminders that were switched off or left on untouched defaults. If a reminder stopped sending, check the routine’s reminder rules and set one up. Migrated reminder rules send for every occurrence status, as they did before, whether the occurrence has no job, an unscheduled job, or a scheduled job. Reminder rules on agreements you created after the migration default to the statuses No Job and Unscheduled Job, because those statuses usually mean the visit still needs booking. To change which statuses trigger a reminder on an agreement:
  1. Open the maintenance agreement and select Edit.
  2. Go to the Occurrence Reminder settings.
  3. Select the statuses that should trigger a reminder.
  4. Select Save.
This setting applies to one agreement at a time. To change it across all active agreements at once, contact FieldPulse Support.

Agreement list, statuses, and reporting

List tabs and columns

  • All Agreements have three new columns: Routines, Last Invoice, and Total Amount Invoiced. Frequency shows “Multiple” when an agreement has more than one routine.
  • A new Occurrences tab lists occurrences across all agreements. Occurrences of archived agreements do not appear on it.
  • Saved filter views replace the Custom tab. You can pin saved views as your own tabs on web only. FieldPulse did not carry over your Custom tab filters. If you did not note them before the release, recreate them as saved views.

Exporting agreements

The Export button no longer appears on the agreement list or the Occurrences list. To export, go to Management, then Reporting, and use one of these reports: Both reports support filtering, grouping, saving, and export to CSV.

Permissions

The author of an agreement no longer changes when someone else edits it.

Archiving, deleting, and restoring

Delete on an agreement now archives it and asks what to do with its linked jobs. FieldPulse permanently deletes nothing. Archiving an agreement stops its recurring billing from generating invoices. It does not archive the recurring billing record or its invoices. To archive them, archive them manually. Restoring an agreement works in two ways, depending on when you archived it:
  • Archived on or after October 17, 2026: Restoring it in the app brings back the agreement, its routine, its occurrences, and its archived jobs, still linked to their occurrences. Jobs deleted before the archive stay deleted. If you chose to retain jobs, those jobs stay unlinked.
  • Archived before October 17, 2026: Restoring it in the app brings back the agreement but not its jobs, because archiving has always removed job links. Contact FieldPulse Support to restore the agreement with all its jobs linked again. You can also link the jobs again yourself from the Occurrences tab.
The migration kept the routine of an archived agreement active. If you restore the agreement, its visits show under the routine.

Completing an agreement

FieldPulse blocks the status Completed until all of these are true:
  • The end date has passed.
  • All linked jobs are Completed or Canceled.
  • All invoices are Fully Paid or Void.
Migrated agreements with old open jobs or unpaid invoices cannot be set to Completed until you clean those up.

FAQs

When did the maintenance agreement migration happen? The migration ran overnight on October 17, 2026, US Central time. It converted every maintenance agreement created before that date. Did the migration change maintenance agreements I created after October 17, 2026? No. Agreements created after the migration use the new structure from the start, so the migration did not change them. The conversion rules in this article apply only to agreements created before October 17, 2026. Did I need to do anything for the migration? No. FieldPulse converted your agreements automatically. Will my customers notice the change? Customers notice only the improvements you turn on, such as new reminders. Existing reminders kept sending. Why do I see two occurrences in the same month? That month had two jobs linked to one occurrence in the old version. Each job now has its own occurrence so both stay visible. FieldPulse created no duplicate and deleted no job. Why are there jobs on my agreement that I could not see before? The old version hid additional jobs on an occurrence. Each one now shows on its own occurrence row, correctly linked. Where did the Export button go? Use the Maintenance Agreement report or the Occurrences Raw Data report in Reporting, then export to CSV. Can I add an On-Demand routine to an existing agreement? No. All routines in an agreement share one plan type, and agreements created before October 17, 2026 are Scheduled. Create a new On-Demand agreement for the customer instead. Is my billing changing? No. Recurring billing and invoices work as before. Why can’t I link a second job to an occurrence? An occurrence holds one job. Add the job to the next occurrence, or add a routine. Why did my reminders stop sending? FieldPulse did not migrate reminders that were switched off or on untouched defaults. Check the routine’s reminder rules and set one up. Why did my jobs not appear right after I saved? Job generation runs in the background and can take a few minutes. A loading message shows while it runs. Why is an archived agreement still invoicing? Archiving stops invoice generation but leaves the recurring billing and its existing invoices active. Archive them manually if you no longer need them.