OdooWiki OCA HUB

Field Service - Sale Stock Route

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

This module integrates the fieldservice_sale_stock and fieldservice_route modules, enabling automatic generation of FSM order day routes from sales orders.

Requirements for Confirming a Sales Order

If a sales order contains a product that generates an FSM order, the following conditions must be met before confirmation:

  • An FSM location must be set.
  • The FSM location must have an assigned route.
  • The FSM route must have a designated FSM person.
  • The FSM route must have assigned working days.

Automatic Scheduling of FSM Orders

  • If the commitment_date and commitment_date_end fields are not set on the sale order upon confirmation, they will be automatically assigned to the next available route day based on the FSM location’s schedule.
  • If these fields are set, the FSM order will be scheduled accordingly, with validation ensuring that the commitment_date falls on a valid route day. This validation can be overridden by enabling the "Force Schedule" option on the FSM route to allow scheduling on any day.

This module also introduces a "Postpone Delivery" button in the FSM order form view, allowing users to reschedule the order to the next available route day based on the FSM location’s schedule.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Links field service orders to sales orders and routes, so delivery dates are automatically scheduled on valid route days and can be postponed with one click.

This module connects sales orders that include field service products with the routes used by field service teams. When you confirm a sales order, Odoo checks that the field service location has a route, that the route has a person and working days, and that the promised delivery date falls on one of those working days. If no delivery date is set, Odoo automatically picks the next available route day.

On the sales order form you get a new 'Delivery End Date' field next to the shipping information. On the field service order form a 'Postpone Delivery' button appears when the order is linked to a sale and still has open deliveries. Clicking it moves the delivery to the next valid route day and posts a note on the sales order.

On the route form you can enable 'Force Schedule' to allow scheduling on days that are not normally part of the route. When you change the scheduled dates on a field service order, the related sales order delivery dates are updated and a note is logged. The module also updates the scheduled dates of pending deliveries and field service orders when the sales order is changed.

Models and fields (4)
  • fsm.order · extends an existing modelshow_postpone_button
  • fsm.route · extends an existing modelforce_schedule
  • sale.order · extends an existing modelcommitment_date_end (Delivery End Date)
  • fsm.route.dayroute · extends an existing model

Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

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

Confirmation status: 2 confirmed, 7 with no information of 9 versions.

Sources · Odoo 15.0

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

terminal Installation and usage

OCA documentation · Odoo 18.0

To use this module, you need to:

  • Navigate to Sales \> Orders.
  • Create a new sales order.
  • Add a product that generates an FSM order (Field Service Tracking set to "Create one FSM order per sale order" on the product form).
  • Set the Customer and FSM Location.
  • Make sure the FSM Location has a route set and this route has a person assigned and route days set.
  • In the sale order, navigate to the 'Other Info' tab and set the 'Delivery Date' and 'Delivery End Date' fields. You can also leave them empty to have the system automatically assign the next available route day.
  • Confirm the sale order.
  • If the 'Delivery Date' and 'Delivery End Date' fields were empty, the system will automatically assign the next available route day based on the FSM location's schedule. If they were set, the FSM order will be scheduled accordingly. In case the 'Delivery Date' falls on a day that is not part of the route, the system will show an error message.

If you navigate to the FSM order, you will see that the Schedule Details are based on the 'Delivery Date' and 'Delivery End Date' fields from the sale order.

Additionally, you will find a 'Postpone Delivery' button in the FSM order form view, allowing you to reschedule the order to the next available route day based on the FSM location's schedule. You can also manually reschedule the order by changing the 'Delivery Date' and 'Delivery End Date' fields in the sale order.

No verified information in OCA: Installation, Configuration.

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.