Repository
OCA/field-service · module folder · Try on Runboat
Module version
1.0.0
Category
Field Service
Folder size
0.08 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/field-service
Last tracking update
2026-08-07 08:42:55
Authors
Odoo Community Association (OCA), APSL-Nagarro
Maintainers
Odoo Community Association (OCA), APSL-Nagarro
Committers
Weblate, OCA-git-bot, oca-ci, Lansana Barry
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description
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.

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
fsm_order_form_inherit_product_move_ids fsm.order.form.inherit.test.move.ids fsm.order form Inherits fieldservice.fsm_order_form
view_fsm_route_form_inherit fsm.route.form.inherit.force_schedule fsm.route form Inherits fieldservice_route.fsm_route_form
view_order_form sale.order.form sale.order form Inherits sale.view_order_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (4)

New fields (1)
  • show_postpone_button Boolean
    compute='_compute_postpone_button_visibility' store=False
Public methods (2)
  • action_postpone_delivery(self)
  • write(self, vals)

New fields (1)
  • force_schedule Boolean
    help='Enable this to allow scheduling on non-route days.'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • check_day(self)
    @api.constrains('date', 'route_id')

New fields (1)
  • commitment_date_end Datetime
    compute='_compute_commitment_date_end' copy=False help='This is the delivery deadline date promised to the customer. If set, the delivery order will be scheduled based on this date rather than product lead times.' inverse='_inverse_set_commitment_date_end' store=True string='Delivery End Date'
Public methods (1)
  • write(self, values)

Loading…