Skip to main content

Field Service - Mobile

Beta License: AGPL-3 ursais/osi-addons

This module provides backend support for the Field Service mobile application. It manages mobile-specific stage visibility, stage duration tracking, portal configuration, dynamic feature mapping by security group, and payment link generation for field service orders linked to sales orders. Portal technicians use the Field Service Mobile / Portal Worker group, which grants the ACLs required by the app while restricting access to orders assigned to that worker.

It also exposes HTTP endpoints used by the offline-capable mobile client:

  • POST /fsm/sync — apply order updates, clock punches (fsm.stage.history) and signature in a single atomic transaction

  • POST /fsm/photo — multipart upload that creates ir.attachment without base64 RPC

  • POST /fsm/pull — delta pull of orders assigned to the current technician (person_id / person_ids), filtered by write_date

Table of contents

Configuration

To configure mobile stages:

  • Go to Field Service > Configuration > Stages.

  • Enable Display in Mobile for stages that should appear in the mobile app.

  • Enable Display in Odoo for stages that should appear on FSM orders in Odoo.

  • Assign a server action on stages that require automated updates.

To configure automated actions tied to stage sequences, adjust the domain on each automation under Settings > Technical > Automation > Automated Actions.

To configure mobile features:

  • Go to Field Service > Configuration > FSM Mobile Features.

  • Select installed modules for the dynamic mobile menu.

  • Activate a feature mapping record and assign security groups per feature line.

To allow a portal technician to use the mobile app:

  • Create (or open) the portal user and add the Field Service Mobile / Portal Worker group (implies Portal).

  • Link that user partner to an fsm.person worker.

  • Assign orders to that worker (person_id / person_ids); record rules limit portal workers to their own orders.

  • Default feature lines already include the portal worker group; adjust per-feature groups if you need a narrower mobile menu.

Upgrade note: FSM mobile ACLs are no longer granted to every Portal user. After upgrading this module, assign Portal Worker to each technician who should keep using the app; otherwise they lose access to orders, attachments, and sync APIs.

Usage

  1. Open the Field Service application.

  2. Under Configuration, open FSM Mobile Features.

  3. Select installed modules and feature lines for the mobile menu.

  4. Assign security groups to control which features each user can access.

  5. Activate the desired feature mapping record.

Portal technicians must be in the Field Service Mobile / Portal Worker group. They then see only orders assigned to their linked fsm.person, plus the features and attachments allowed by the active feature mapping and stock visibility settings.

Mobile sync API

Authenticated mobile sessions (Portal Worker or internal workers linked to an fsm.person via partner_id) can call:

Batch sync — POST /fsm/sync (type=jsonrpc)

{
  "jsonrpc": "2.0",
  "method": "call",
  "params": {
    "order_id": 12,
    "order": {"stage_id": 5, "resolution": "Done"},
    "clocks": [
      {
        "stage_id": 6,
        "start_datetime": "2026-07-24 15:00:00",
        "duration": 0.5,
        "total_duration": 1.0
      }
    ],
    "signature": {
      "signed_by": "Jane Doe",
      "signature": "<base64 png>"
    }
  }
}

Use "mutations": [ {...}, {...} ] to push several orders in the same request / transaction.

Photo upload — POST /fsm/photo (multipart/form-data)

Fields: csrf_token (required), order_id, optional name, and a file field named ufile, file, photo or attachment. Obtain csrf_token from the session (e.g. /web/session/authenticate / /web/session/get_session_info).

Delta pull — POST /fsm/pull (type=jsonrpc)

{
  "params": {
    "since": "2026-07-24 00:00:00",
    "limit": 80,
    "offset": 0
  }
}

Returns only orders where the current user’s fsm.person is person_id or in person_ids, optionally filtered with write_date > since.

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

Credits

Authors

  • Open Source Integrators

Contributors

Other credits

The development of this module was originally supported by Open Source Integrators.

Maintainers

Current maintainer:

max3903

This module is part of the ursais/osi-addons project on GitHub.

You are welcome to contribute.

Metadata

Release files for odoo-addon-fieldservice-mobile 19.0.1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for odoo-addon-fieldservice-mobile 19.0.1.2.0
File Size Uploaded
odoo_addon_fieldservice_mobile-19.0.1.2.0.tar.gz 54.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for odoo-addon-fieldservice-mobile 19.0.1.2.0
File Interpreter ABI Platform
odoo_addon_fieldservice_mobile-19.0.1.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 133.5 kB

Release files / odoo_addon_fieldservice_mobile-19.0.1.2.0.tar.gz

Download URL odoo_addon_fieldservice_mobile-19.0.1.2.0.tar.gz
Size 54.2 kB
Tags Source
SHA-256 checksum
How to use checksums
b24548b97c08e2ad1e748473881b1862b991f875be767d9624957f8a45d8a6b0
BLAKE2b-256 checksum
How to use checksums
17281a4ff951e21621b020fa9e837ffd08bed0fa35afe52a85cec659f81c2f46
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / odoo_addon_fieldservice_mobile-19.0.1.2.0-py3-none-any.whl

Download URL odoo_addon_fieldservice_mobile-19.0.1.2.0-py3-none-any.whl
Size 79.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4a464b6e792a6a551f86df010b6ad0732c3cbb8b57d44f79d440e82ca0019011
BLAKE2b-256 checksum
How to use checksums
1c041c7597b29d0fb4d3a9c55782bb528937cb58b5d10464589fd0075e3a43b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

19.0.1.2.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page