Field Service Management (FSM)

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.

21
Modules
360°
Field Management
40%
Less Travel Time
30%
Faster Invoicing

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

1 Draft
2 Scheduled
3 In Progress
4 Completed
5 Invoiced

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
Note
The FSM module is fully compatible with Odoo Community Edition. Map view and route optimization features require an internet connection (Google Maps or OpenStreetMap).

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.

fieldservice
v19.0.5.6.0

Sales Integration

Automatically create work orders from sales orders. Bridge your sales team and field operations.

fieldservice_sale
v19.0.1.2.1

Stock Integration

Vehicle inventory management, consumable tracking, and parts usage recording per work order.

fieldservice_stock
v19.0.2.0.0

Accounting Integration

Create invoices directly from work orders. Time-based and material-based billing support.

fieldservice_account
v19.0.1.1.0

Project Integration

Link large projects to field work orders. Track progress at the project level.

fieldservice_project
v19.0.1.0.0

Repair Orders

Integrate field service with repair processes. Fault tracking and repair management.

fieldservice_repair
v19.0.3.0.1

Route Optimization

Convert daily work orders into geographically optimized routes to reduce travel time.

fieldservice_route
v19.0.1.0.0

Service Agreements

Recurring maintenance contracts with automatic work order generation and contract invoicing.

fieldservice_agreement
v19.0.x

Customer Signature

Capture digital signatures on mobile devices. Instant customer approval on completion.

fieldservice_signature
v19.0.x

Timesheets

Track technician working hours. Time-based billing from accurate timesheet records.

fieldservice_timesheet
v19.0.x

Customer Satisfaction

Automatically send satisfaction surveys after service completion and track scores.

fieldservice_survey
v19.0.x

Map View

Visualize all work orders and technicians on an interactive map for dispatch planning.

fieldservice_map
v19.0.x

Initial Configuration

After installing the FSM module, follow these steps to configure the system:

  1. Install the Module
    In SODOO, go to Apps → Search: "Field Service" → Install. Dependencies are installed automatically with the core module.
  2. 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.
  3. Create Teams
    Go to Field Service → Configuration → Teams to create service teams. For example: "HVAC Team", "Electrical Team", "IT Support Team".
  4. Define Technicians
    Go to Field Service → Configuration → Workers to add technicians. Define each technician's skill set and service territory.
  5. 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.
  6. Configure Stages
    Go to Field Service → Configuration → Stages to customize your work order workflow stages. Add custom stages that match your business process.
  7. Define Working Hours
    Go to Employees → Configuration → Working Schedules to define technician working hours. This information is used in work order scheduling.
Tip
The initial installation includes default stages: New → Scheduled → In Progress → Done. You can add custom stages such as "Awaiting Customer Approval", "Waiting for Parts", or "Pending Quality Check" to match your specific workflow.

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:

  1. Navigate to Field Service → Work Orders → New.
  2. Select the Customer. The customer's address is populated automatically. Modify the address if service is at a different location.
  3. Choose the Service Type (e.g., "AC Maintenance", "Emergency Repair").
  4. Set the Scheduled Date/Time. The system checks technician availability to prevent scheduling conflicts.
  5. Assign a Technician. The system suggests suitable technicians based on skill set and territory.
  6. 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:

Mobile Usage
Technicians can perform all work order operations from a smartphone or tablet. An internet connection is required. The Odoo mobile app caches some data for situations with limited connectivity.

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:

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.

Warning
If a work order is scheduled on a day when the technician is on leave or off, the system issues a warning but does not block the assignment. Manager override is required.

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:

  1. Open all open work orders for that day in map view
  2. Group work orders by technician and geographic cluster
  3. Click "Optimize Route" to automatically reorder the sequence
  4. Send a push notification to the technician through the app
  5. Technician starts navigation directly from the app

View Options

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

1 Warehouse Stock
2 Vehicle Transfer
3 Vehicle Inventory
4 Used in Work Order
5 Customer Invoice

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.

Tip
Add frequently used parts to a "Favorites" list. When adding materials to a work order, you can select from this shortlist quickly. Barcode scanning is also supported for faster stock updates 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)
Email 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

Note
For portal access, the customer must have a registered email address in the system and must have received a portal invitation. Invitations can be sent from the customer record.

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

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

1 Customer Quotation
2 Order Confirmed
3 Auto Work Order
4 Field Visit
5 Auto Invoice

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:

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:

  1. Click "Create Quotation" from the work order
  2. Add the required work and materials to the quote lines
  3. The quotation is emailed to the customer
  4. 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

  1. Work order is moved to "Completed" stage
  2. Used materials and working hours are automatically added to billable lines
  3. Click "Create Invoice" to generate a draft invoice
  4. Accounting team reviews and confirms the invoice
  5. 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.

Note
Contract invoicing requires either the Odoo subscription module (sale_subscription) or the fieldservice_agreement module. Both approaches are supported in SODOO.

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

1 Fault Detected
2 Open Repair Order
3 Parts Request
4 Perform Repair
5 Test & Close

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

Tip
Use maintenance checklists to ensure consistent quality across all periodic visits. When a technician completes each checklist item, it is recorded with a timestamp — providing a full audit trail for SLA compliance and customer reporting.

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

Scenario: CoolTech HVAC Services

CoolTech HVAC operates across the metropolitan area with 25 technicians and 500 active maintenance contracts.

Step-by-Step Workflow

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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".
  8. 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.
  9. 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

Technician Management

Invoicing

Route Planning

Pro Tip
Share the monthly technician performance report with the whole team at a brief stand-up meeting. Transparent, data-driven performance discussions increase motivation, encourage best-practice sharing, and help identify technicians who may benefit from additional training.

SODOO Field Service Management (FSM) Documentation  •  OCA fieldservice suite  •  Odoo 19.0 Community  •