This module integrates e-commerce with field service workflows, allowing customers to create sale orders through the e-commerce platform while selecting a preferred delivery date and time range. These selections are used to determine the delivery window for the associated stock picking and field service management (FSM) orders. When an FSM order is created, it is automatically assigned to the appropriate FSM day route based on the selected delivery date. This integration streamlines operations by automating the assignment of day routes from incoming sale orders, ensuring organized and efficient scheduling.
auto_awesome What this module does
AI-generated from the code · Odoo 15.0Lets online shoppers pick a delivery date and time range on the website checkout calendar, and automatically sets the order's delivery window and assigns the field service route.
When a customer checks out on the website, a delivery calendar appears on the payment page. The customer must choose a delivery date and a time range before paying; otherwise an error message asks them to select one.
The calendar only offers dates that match the field service route assigned to the customer's delivery address. Days when the route does not operate, blackout days, and dates already busy with other open orders are greyed out. If no valid route is assigned to the address, the calendar is replaced by a message inviting the customer to use the contact form.
In Settings, under Field Service, a new Website Sales section lets you set how far in the future orders can be scheduled (a number and a unit such as days, weeks or months) and optionally auto-assign a default delivery time range when the customer does not pick one.
When payment is confirmed, the chosen date and time range are converted to the customer's timezone and stored on the sale order as the commitment date and end date. The delivery address's field service location is also copied onto the sale order when the shipping address changes. The module touches sale.order, res.config.settings and the website payment pages.
Depends on
Required by other modules
Models and fields (2)
- sale.order · extends an existing model
- res.config.settings · extends an existing modelmax_date_unit, max_date_number, time_range_default_id (Default Delivery Time Range), auto_assign_default_time_range (Auto-assign default delivery time range)
Text generated by AI (DeepSeek) from reading the Odoo 15.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-03Confirmation status: 1 confirmed, 8 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 15.0Usage
Source · Odoo 15.0- Configure Field Service Products:
- Navigate to the
Field Servicemodule. - Under
Master Data>Products, create or edit a product. - In the
Salestab, enable the Create one FSM order per sale order option. - Save the product.
- Configure Portal User:
- Navigate to the
Contactsmodule. - Create or edit a contact.
- In the
Actiontab, execute the Convert to FSM Record option, select theLocationrecord type. - Grant portal access to this contact.
- Save the contact.
- Configure FSM Location
- Navigate to the
Field Servicemodule. - Under
Master Data>Locations, edit the created location. - Assign a route to the location. Ensure the route has a person assigned to it and days of the week are specified. Adjust the route's maximum capacity as desired.
- Save the location.
- Configure FSM Delivery Time Ranges
- Navigate to the
Field Servicemodule. - Under
Configuration>Availability>Delivery Time Ranges, create delivery time ranges. - When the
Routefield is specified, the delivery time range is used on the related route only. When theRoutefield is empty, the delivery time range is used on all routes. - Save the delivery time ranges.
- You can also set a default delivery time range in the
Field Servicemodule underConfiguration>Settings>Website Sales>Auto-assign Default Delivery Time Range. This will be used when a delivery date is selected during the checkout process, but no specific delivery time range is selected. - Configure Maximum Allowed Time for Order Placement
- Navigate to the
Field Servicemodule. - Under
Configuration>Settings>Website Sales, configure the maximum allowed time for order placement. - This setting determines the maximum number of days in advance that a customer can place an order.
- Save the settings.
- Create a Sale Order from the E-Commerce:
- Log in to the e-commerce portal using the portal user created earlier.
- Navigate to the shop and select a field service product.
- Add the product to the cart and proceed to checkout.
- At the
Confirm Orderstep, select the preferred delivery date and time range. If no route is assigned to the selected delivery address, the checkout process can't be completed. - Complete the checkout process. To confirm the sale order, if specified in the configuration, the signature and payment must be completed.
- Validate the process:
- Navigate to the
Salesmodule. - Under
Orders, you will see the new sale order created and confirmed. - This sale order will be linked to a stock picking and an FSM order, where both will have the same delivery start and end dates based on the customer's selection in the e-commerce platform.
- The FSM order will be assigned to the appropriate day route, based on the delivery date selected by the customer.
This process can also be completed manually. When creating a sale order, navigate to the Other Info tab and select the prefered Delivery Date and Delivery End Date fields to define the delivery window. The sale order cannot be confirmed unless the selected Delivery Date falls on an available day route.
Specific days can be blocked for delivery during the checkout process by creating fsm_blackout_day records. The fsm_blackout_day records can be created under Field Service > Configuration > Availabiliy > Blackout Days.
No verified information in OCA: Installation, Configuration.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
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.