OdooWiki OCA HUB

Field Service Recurring Work Orders

fieldservice_recurring folder_open OCA/field-service open_in_new
Field Service License: AGPL-3

This module allows you to manage your recurring field service work orders

Recurring settings are configured via the FSM Frequency model. Multiple FSM Frequency can be combined on a FSM Frequency Rule Set which enables highly configurable recurring rules calculated using the dateutil rrule python library.

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Create recurring field service orders that automatically generate individual work orders on a schedule you define, with frequency rules, buffers, and limits.

This module lets you set up repeating maintenance or service visits instead of creating each work order by hand. You define Frequencies (for example every 2 weeks on Monday, or the last working day of each month) and group them into Frequency Rule Sets, where you also set how many days ahead orders are generated and how early or late a visit may be done.

From a Recurring Order record you choose the location, team, assigned person, equipment, start and end dates, a maximum number of orders, and an order template. Pressing Start puts it In Progress and immediately creates the upcoming work orders; Suspend cancels the open ones and pauses generation. Each generated order is linked back to its recurring order, and a button on the work order form opens the recurring record.

A scheduled job runs regularly to create new orders for all in-progress recurring orders and to close them automatically once the end date is passed or the maximum number of orders is reached. Recurring Templates let you pre-fill these settings for reuse. The team kanban shows how many recurring orders are still in draft, and multi-company rules keep records within the right companies.

Depends on

Required by other modules

Menus it adds

FrequenciesFrequency Rule SetRecurring OrdersRecurring Templates
Models and fields (6)
  • fsm.team · extends an existing modelrecurring_draft_count (Recurring in draft)
  • fsm.order · extends an existing modelfsm_recurring_id
  • fsm.frequency · new modelfr (Friday), mo (Monday), sa (Saturday), su (Sunday), th (Thursday), tu (Tuesday), we (Wednesday), apr (April), aug (August), dec (December), feb (February), jan (January), jul (July), jun (June), mar (March), may, nov (November), oct (October), sep (September), name, active, set_pos (By Position), interval (Repeat Every), month_day (Day of Month), company_id, use_setpos (Use Position), use_bymonth (Use Months), is_exclusive (Exclusive Rule?), interval_type, use_byweekday (Use Days of Week)
  • fsm.recurring · new modelname, state, team_id (Team), end_date, person_id (Assigned To), company_id, max_orders (Maximum Orders), start_date, description, location_id (Location), equipment_ids, fsm_order_ids (Orders), fsm_order_count (Orders Count), scheduled_duration, fsm_frequency_set_id, fsm_order_template_id (Order Template), fsm_recurring_template_id
  • fsm.frequency.set · new modelname, active, buffer_late (Late Buffer), buffer_early (Early Buffer), schedule_days (Days Ahead to Schedule), fsm_frequency_ids (Frequency Rules)
  • fsm.recurring.template · new modelname, active, company_id, max_orders (Maximum Orders), description, fsm_frequency_set_id, fsm_order_template_id (Order Template)

Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 8 confirmed, 1 with no information of 9 versions.

Sources · Odoo 12.0

Confirmed on 2026-11-03 in branch 12.0 of OCA/field-service.

terminal Installation and usage

OCA documentation · Odoo 19.0

To install Field Service and have the mapping features, you need to install GeoEngine.

Please refer to the installation instructions available at:

To configure this module, you need to:

  • Setup your Frequencies to establish recurring rules
  • In fieldservice app go to Menu \> Configuration \> Orders \> Frequencies
  • Create a Frequency
  • Setup your Frequency by giving it a descriptive name, set your interval and the interval type. Use the additional settings to build a recurring rule based on python's dateutil rrule parameters.
  • Setup your Frequency Rule Sets used to calculate recurring order dates
  • In fieldservice app go to Menu \> Configuration \> Orders \> Frequency Rule Set
  • Create a Frequency Rule Set
  • Setup your Frequency Rule by first giving it a descriptive name. Complete the form by entering the number of days ahead this rule will schedule work.
  • Finally, choose which Frequencies this rule will use to compute the dates used for scheduling.
  • Setup your recurring order templates to define standard recurring orders
  • In fieldservice app go to Menu \> Configuration \> Orders \> Recurring Templates
  • Name the template and set fields to define which order template is repeated and what Frequency Rule Set will be used

To use this module, you need to:

  • In fieldservice app go to Menu \> Operations \> Recurring Orders
  • Create a new Recurring Order model
  • Select a Recurring Template and modify as needed.
  • Set other fields for fsm location, etc
  • Confirm the recurrence to create first order
  • Future orders will be created via cron task
info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.