Field Service Management (FSM)
- All field work in the systemWork orders, routes, equipment and technicians in one place.
- The right technician for the jobAssignment by skill and availability.
- Recurring service by itselfPeriodic service contracts generate their own work orders.
Overview
The SODOO Field Service Management (FSM) suite is a comprehensive field operations solution designed for businesses of all sizes that rely on field technicians. Whether you run an HVAC company, IT support service, elevator maintenance firm, facility management operation, or any other field-based service business, FSM provides end-to-end management of work orders, technician scheduling, parts inventory, and invoicing in a single platform.
Built and maintained by the OCA (Odoo Community Association), this module suite runs on Odoo 19.0 Community Edition. It transforms field operations from paper-based chaos to a fully digital workflow — eliminating lost work orders, inefficient routing, and delayed invoicing while improving customer satisfaction and technician productivity.
Target Industries
HVAC & Refrigeration
AC installation, periodic maintenance, and emergency breakdown service
IT & Telecom Services
Network installation, server maintenance, on-site technical support
Facility Management
Cleaning, security, elevator and fire system maintenance
Medical Equipment Service
Hospital equipment installation, calibration, and fault repair
Energy & Renewables
Solar panel installation, generator maintenance, electrical service
Industrial Maintenance
Manufacturing machinery, conveyor systems, industrial equipment
Why FSM?
Field service operations managed with paper work orders and phone coordination suffer from serious problems: lost orders, customer complaints, high fuel costs, and delayed invoicing. SODOO FSM addresses all of these systematically.
| Challenge | Paper / Phone Based | SODOO FSM |
|---|---|---|
| Work order tracking | Lost, mixed-up papers | Digital, real-time status |
| Technician assignment | By phone, inefficient | Skill & zone-based matching |
| Customer notification | No ETA available | Live tracking via portal |
| Parts tracking | Stock status unknown | Vehicle inventory integrated |
| Invoicing | Weeks later, error-prone | Automatic on work order close |
| Route optimization | Not available | Map view & smart ordering |
Key Concepts
Work Order (Field Service Order)
The fundamental unit of field service management. Each work order represents a service visit to a customer location. A work order contains: customer information, service location, scheduled date and time, assigned technician, tasks to perform, materials used, and completion status.
Technician (Field Worker)
Personnel who perform work in the field. Each technician's skills (e.g., electrical, HVAC, networking), service territory, and availability calendar are defined in the system. This information drives intelligent work order assignment.
Team
A group of technicians working together. Different teams can be created for different service types or geographic areas. Team-level reports and performance tracking are available.
Location
The customer's address or the site where service is to be performed. Google Maps integration enables map visualization and route planning.
Work Order Lifecycle
Requirements
The following prerequisites must be met to use the FSM suite:
| Component | Minimum Version | Note |
|---|---|---|
| SODOO / Odoo | 19.0 Community | No Enterprise license needed |
| Python | 3.10+ | Virtual environment recommended |
| PostgreSQL | 12+ | Standard Odoo database |
| Core Modules | base, web, sale, stock | Available in most installations |
Modules
The SODOO FSM suite consists of a core module and various integration modules. You can install only the modules you need based on your business requirements.
Field Service (Core)
The foundation module. Work orders, technician management, and all core field operations functionality.
Sales Integration
Automatically create work orders from sales orders. Bridge your sales team and field operations.
Stock Integration
Vehicle inventory management, consumable tracking, and parts usage recording per work order.
Accounting Integration
Create invoices directly from work orders. Time-based and material-based billing support.
Project Integration
Link large projects to field work orders. Track progress at the project level.
Repair Orders
Integrate field service with repair processes. Fault tracking and repair management.
Route Optimization
Convert daily work orders into geographically optimized routes to reduce travel time.
Service Agreements
Recurring maintenance contracts with automatic work order generation and contract invoicing.
Customer Signature
Capture digital signatures on mobile devices. Instant customer approval on completion.
Timesheets
Track technician working hours. Time-based billing from accurate timesheet records.
Customer Satisfaction
Automatically send satisfaction surveys after service completion and track scores.
Map View
Visualize all work orders and technicians on an interactive map for dispatch planning.
Initial Configuration
After installing the FSM module, follow these steps to configure the system:
-
Install the Module
In SODOO, go to Apps → Search: "Field Service" → Install. Dependencies are installed automatically with the core module. -
Update Company Information
Go to Settings → General Settings → Company and enter your address and contact details. This information appears on work order PDFs and customer notifications. -
Create Teams
Go to Field Service → Configuration → Teams to create service teams. For example: "HVAC Team", "Electrical Team", "IT Support Team". -
Define Technicians
Go to Field Service → Configuration → Workers to add technicians. Define each technician's skill set and service territory. -
Create Service Types
Go to Field Service → Configuration → Service Types to list the services you offer. This information is used in work order creation and reports. -
Configure Stages
Go to Field Service → Configuration → Stages to customize your work order workflow stages. Add custom stages that match your business process. -
Define Working Hours
Go to Employees → Configuration → Working Schedules to define technician working hours. This information is used in work order scheduling.
Work Orders
Work orders are the fundamental unit of the FSM system. Every field visit is represented by a work order. Work orders can be created manually, or generated automatically from customer requests, sales orders, or service contracts.
Creating a New Work Order
To create a new work order:
-
Navigate to Field Service → Work Orders → New.
-
Select the Customer. The customer's address is populated automatically. Modify the address if service is at a different location.
-
Choose the Service Type (e.g., "AC Maintenance", "Emergency Repair").
-
Set the Scheduled Date/Time. The system checks technician availability to prevent scheduling conflicts.
-
Assign a Technician. The system suggests suitable technicians based on skill set and territory.
-
Fill in the Description with details of the work to be done, customer-specific instructions, and required materials.
Work Order Fields
| Field | Description | Required |
|---|---|---|
| Customer | The customer or company to be served | Yes |
| Service Address | The physical location where service will be performed | Yes |
| Service Type | Category of service to be performed | No |
| Technician | The field worker assigned to the job | No |
| Scheduled Start | Planned visit date and time | No |
| Estimated Duration | Expected time to complete the work | No |
| Priority | Normal / Urgent / Critical options | No |
| Tags | Labels for categorizing work orders | No |
| Internal Notes | Team notes not visible to customer | No |
Completing a Work Order in the Field
When the technician arrives on-site, via mobile browser or app they will:
- Open the work order and update the stage to "In Progress"
- Record the work performed in the description field
- Add materials used to the product lines
- Attach photos if required (from gallery or camera)
- Log working hours on the timesheet
- Capture the customer's digital signature
- Move the work order to "Completed" stage
Technician Management
Correct technician assignment is the foundation of efficient field operations. SODOO FSM manages technician profiles, skill sets, and availability calendars centrally.
Technician Profile
The following information is defined for each technician:
- Personal Information: Name, phone, email, photo
- Team: Which service team they belong to
- Service Territory: Geographic area or region they cover
- Skills: Technical competencies and certifications
- Work Schedule: Shift patterns and working hours
- Vehicle: Assigned vehicle and vehicle inventory
Skill Set Management
From Field Service → Configuration → Skills you can define the skills required for different types of work. Example skills:
Electrical
High voltage, panel installation, grounding systems
HVAC
AC installation, refrigeration systems, refrigerant handling
IT Support
Network configuration, server installation, software
Plumbing
Water piping, natural gas, heating systems
Calendar & Availability
The technician calendar visualizes all scheduled work orders. Managers can review the full team's workload in weekly or daily view. When creating a work order, the system verifies that the selected technician is available at the requested time.
Route Planning
The fieldservice_route module converts daily work orders into geographically
optimized routes. This reduces unnecessary back-and-forth travel, lowers fuel costs, and
increases the number of customer visits per day.
Daily Planning Workflow
Dispatchers follow these steps each morning:
- Open all open work orders for that day in map view
- Group work orders by technician and geographic cluster
- Click "Optimize Route" to automatically reorder the sequence
- Send a push notification to the technician through the app
- Technician starts navigation directly from the app
View Options
- Map View: Work orders displayed as pins on a map
- List View: Sequenced work orders with estimated arrival times
- Calendar View: Day/week/month work distribution
- Kanban View: Drag-and-drop management by stage
Parts Management
The fieldservice_stock module tracks materials used in field operations.
Vehicle inventory, stock transfers, and materials consumption reports are all managed
through this module.
Vehicle Inventory
Each technician's vehicle is defined as a separate stock location. Technicians can see materials in their vehicle, add what they use to the work order, and the system automatically decrements stock.
Parts Flow
Stock Alerts
When vehicle inventory falls below the minimum quantity, the system automatically generates a replenishment order. This prevents technicians from running out of parts in the field.
Service Requests
Customer service requests can arrive through multiple channels: phone, email, customer portal, or web form. All requests are consolidated into a central queue and converted to work orders by dispatchers.
Request Channels
| Channel | How It Works | Automated? |
|---|---|---|
| Phone | Customer service rep creates the work order manually | No (manual) |
| Service email address is linked to the work order queue | Yes (alias) | |
| Customer Portal | Customer submits a form directly | Yes |
| Service Contract | Automatically generated from a periodic maintenance plan | Yes (scheduled) |
Customer Portal
Customers can log in to the SODOO portal to view open and past service requests, submit new requests, and track service status in real-time.
Portal Features
- View open work orders and their current status
- See technician assignment and estimated arrival time
- Review service history and past documents
- Submit new service requests
- Download PDF service reports after completion
- Complete customer satisfaction surveys
Contract Management
Periodic maintenance contracts automatically generate recurring work orders at defined intervals. This ensures that no scheduled maintenance visit is ever missed.
Contract Types
- Monthly Maintenance: Creates a work order on a specific day each month
- Quarterly Service: Maintenance visit every three months
- Annual Overhaul: Comprehensive yearly maintenance visit
- Break-Fix Agreement: A defined number of emergency call-out rights
- Full-Service Contract: Periodic maintenance plus unlimited emergency response
Quote to Work Order
The fieldservice_sale module allows field work orders to be created directly
from sales orders. This integration automates the handoff between the sales team
and field operations.
Flow
Service Products
Service products on a sales quotation (e.g., "Annual AC Maintenance Contract") can be configured to automatically trigger a work order when sold. On the product form:
- Enable "Create Work Order" option
- Set the default service type
- Enter the estimated duration
- Define the required skills
Proposal Management
SODOO's standard sales quotation system is used to send proposals to customers before or after a service visit. The FSM integration allows field findings to be converted into proposals.
Post-Site Survey Quotation
After a technician performs a diagnostic visit:
- Click "Create Quotation" from the work order
- Add the required work and materials to the quote lines
- The quotation is emailed to the customer
- When approved via portal, a new work order is automatically created
Service Invoice
The fieldservice_account module integrates work orders with the invoicing
process. When a work order is completed, labor and materials are automatically transferred
to the invoice.
Invoice Generation
- Work order is moved to "Completed" stage
- Used materials and working hours are automatically added to billable lines
- Click "Create Invoice" to generate a draft invoice
- Accounting team reviews and confirms the invoice
- Invoice is sent to the customer
Time & Materials Billing
When billing based on actual consumption rather than fixed prices, each work order's working hours and materials used are billed separately.
| Billing Method | How It Works | When to Use |
|---|---|---|
| Time-Based | Technician hours × hourly rate | Open-ended repairs, diagnostic work |
| Materials-Based | Parts used × sales price | Consumable parts sales |
| Fixed Price | Pre-agreed total amount | Standard services, routine maintenance |
| Time + Materials | Labor + consumables total | General repair & maintenance |
Contract Invoicing
For periodic maintenance contracts, automatic invoicing can be set up on a monthly, quarterly, or annual basis. Invoice timing is configured according to contract terms.
Repair Orders
The fieldservice_repair module integrates FSM work orders with Odoo's repair
module. Faults diagnosed in the field can trigger a repair order, spare parts can be
requisitioned, and the repair process can be tracked end-to-end.
Repair Process
Parts Traceability
Spare parts used in repair orders are deducted from stock and added to the customer invoice. For parts tracked by serial or lot number, full traceability is maintained — critical for warranty management and compliance.
Planned Maintenance
A preventive maintenance strategy extends equipment lifespan and prevents unexpected breakdowns. SODOO FSM manages periodic maintenance programs automatically.
Setting Up a Maintenance Schedule
- Enter the customer and equipment information
- Define maintenance frequency (weekly, monthly, quarterly, etc.)
- Assign a responsible technician or team
- Define the checklist of tasks to be performed
- The system automatically creates work orders at the specified dates
KPI Dashboard
A comprehensive performance dashboard for managers shows real-time status and historical performance of field operations.
Key Performance Indicators
Mean Time To Repair (MTTR)
Average time from work order creation to closure (in hours)
First-Time Fix Rate
Percentage of work orders resolved in a single visit
Technician Utilization
Percentage of working hours spent on productive billable work
Customer Satisfaction Score
Average rating calculated from post-service surveys (CSAT)
Overdue Work Orders
Number of work orders past their scheduled date still open
Billable Amount Pending
Total value of completed but not yet invoiced work orders
Technician Performance
Individual technician reports help managers evaluate team performance and identify training needs.
Per-Technician Metrics
| Metric | Description |
|---|---|
| Jobs Completed | Number of work orders closed in the selected period |
| Average Job Duration | Average hours spent on each work order |
| Travel Time | Time spent commuting between customer locations |
| Customer Rating | Average satisfaction score given for that technician |
| First-Time Fix Rate | Percentage of jobs resolved in a single visit |
| Billable Hours | Total working hours that can be billed to customers |
Example Scenario: HVAC Service Company
CoolTech HVAC operates across the metropolitan area with 25 technicians and 500 active maintenance contracts.
Step-by-Step Workflow
-
Customer Reports a Fault
Customer John Smith calls in to report his office air conditioning unit has stopped working. A customer service representative creates a new work order in SODOO. Customer information and address are pre-populated automatically. -
Technician Assignment
The dispatcher opens the map view and identifies available technicians with the "HVAC" skill set in the downtown area. Mike T. is selected — his calendar shows availability this afternoon and he is already nearby. -
Customer Notification
The system automatically sends John an SMS and email: "Our technician Mike will visit between 2:00 PM and 4:00 PM today." John can track progress in real time on the customer portal. -
Field Visit
Mike opens the work order on his smartphone and updates the stage to "In Progress". The customer portal shows "Technician en route". Mike arrives, checks in, and begins inspection. -
Diagnosis & Initial Repair
Mike diagnoses a failed compressor. He checks his vehicle inventory in SODOO — no replacement compressor in stock. He submits a parts request from the warehouse. In the meantime, he performs a refrigerant top-up to partially restore cooling. -
Parts Request & Scheduling
A second work order is automatically created for the compressor replacement. The warehouse reserves a compressor and it is scheduled for Mike's next-day route. John is notified of the follow-up appointment. -
Return Visit & Completion
The compressor is replaced on the second visit. Mike runs a full system test. John signs off digitally on Mike's tablet. The work order is moved to "Completed". -
Automatic Invoicing
The system calculates: labor (2 visits × 1.5 hrs × $120/hr = $360) plus parts (compressor $450). The accounting team confirms the draft invoice in under 5 minutes and sends it to John electronically. -
Satisfaction Survey
After invoice delivery, a 5-question satisfaction survey is sent to John. He gives 5 stars. This score is reflected in Mike's performance report and contributes to CoolTech's overall CSAT metric.
Frequently Asked Questions
Can the FSM module work without an internet connection?
The Odoo mobile app caches some data for scenarios with limited connectivity, enabling basic work order viewing and status updates. However, full functionality — including route maps, stock queries, and real-time notifications — requires an active internet connection.
How many technicians can be registered in the system?
There is no upper limit. The system is designed to support thousands of technicians. Performance scales with server capacity and is not restricted by the module itself.
Can technicians view work orders from a mobile device?
Yes. Odoo's web interface works fully in mobile browsers. The official Odoo mobile application is available for both iOS and Android. Community-developed FSM mobile apps are also available through OCA project repositories.
Can automated notifications be sent to customers?
Yes. Email notifications can be sent automatically at key stages: work order creation, technician assignment, status changes, and completion. SMS notifications require a third-party SMS gateway integration (Twilio, etc.).
Can customers approve before invoicing?
Yes. A draft invoice can be sent to the customer via the portal, who reviews and approves it before a final invoice is issued. This workflow is particularly recommended for corporate clients and government contracts.
What is the First-Time Fix Rate and why does it matter?
First-Time Fix Rate (FTFR) is the percentage of work orders resolved in a single visit. A high FTFR indicates well-prepared technicians with the right parts and skills. It is one of the most important field service KPIs because multiple visits per job directly increase costs and decrease customer satisfaction.
Best Practices
Work Order Management
- Use priority tags: Urgent, Normal, and Planned categories help dispatchers make faster decisions during busy periods
- Create work order templates: Standardized checklists for recurring job types improve quality consistency
- Mandate before/after photos: Photographic evidence protects against disputes and documents work quality
- Use internal notes: Internal-only notes allow teams to share context without exposing it to customers
- Set realistic durations: Accurate estimated durations improve scheduling reliability and reduce overtime
Technician Management
- Keep the skill matrix current: Record new certifications and training as they are completed
- Assign geographic territories: Zone-based assignment significantly reduces travel time and fuel costs
- Monitor workload balance: Review weekly capacity regularly to prevent burnout and ensure SLA compliance
- Use the availability calendar: Always check the calendar before assigning same-day emergency orders
Invoicing
- Invoice the same day: Generate invoices immediately when work is completed to accelerate cash flow
- Keep contract prices current: Reflect annual price adjustments in maintenance contracts
- Prepare invoice templates: Include your company logo, payment terms, and bank details in the invoice template
- Set payment terms on contracts: Define net-15, net-30 or direct debit terms at the contract level to avoid confusion
Route Planning
- Plan routes the evening before: Dispatchers who plan the next day's routes the previous afternoon start the day smoothly
- Group nearby jobs: Cluster geographically close work orders to the same technician
- Reserve emergency slots: Keep one or two time slots per technician per day free for urgent call-outs
SODOO Field Service Management (FSM) Documentation • OCA fieldservice suite • Odoo 19.0 Community •