# How to add a mobile app to Odoo

> Source: https://netray.co/integrations/odoo-mobile-app
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: Integrations

## Short answer

Odoo offers an official mobile app that wraps the web client, the Barcode app for scan-driven inventory moves, and a responsive web UI you can install as a PWA. When you need offline, rugged-scanner support or a simplified shop-floor screen, build a thin custom app over Odoo's external API.

## System

Odoo

## Capability

mobile-app

## Intro

Odoo's web client works on tablets and phones, and the Barcode app is genuinely usable on the warehouse floor. For many plants that is enough, so check how far the standard tools go before building anything.

Custom mobile work becomes worthwhile for specific gaps: weak or no WiFi in some areas, dedicated scanner hardware, operators who need three buttons rather than the full UI, or flows that span models, such as labor reporting plus scrap plus quality.

In that case the usual pattern is a small native or cross-platform app with local storage and a sync layer that talks to Odoo through the external API and respects its access rights.

## Use Cases

### Warehouse receiving and picking

**Description:** Scan to receive against purchase orders and pick against stock.picking using the Barcode app, with lot or serial capture where products are tracked.

### Shop-floor work order reporting

**Description:** Operators start, pause and finish mrp.workorder operations on a tablet, and record quantity produced and scrap.

### Internal transfers and cycle counts

**Description:** Move stock between locations and count bins by scanning, writing adjustments to stock.quant with approval for large variances.

### Field service and delivery confirmation

**Description:** Drivers or technicians confirm deliveries, capture signatures and photos, and attach them to the delivery order or ticket.

### Manager approvals on the go

**Description:** Approve purchase orders, expenses and time off from a phone with push notifications.

## System Surface

- Official Odoo mobile app for Enterprise (iOS and Android) that wraps the web client; feature set varies by version, and Community users typically use the browser.
- Barcode app (Enterprise) with camera or hardware scanner support for receipts, deliveries, internal transfers and manufacturing in recent versions.
- Odoo web client as a PWA; the shop floor view of the Manufacturing app (Enterprise) targets tablets at work centers.
- External API for custom apps: XML-RPC /xmlrpc/2/object, JSON-RPC /jsonrpc, and a newer JSON-2 style endpoint on recent versions, with per-user API keys.
- Custom controllers (http.route) in a custom module for small, purpose-built endpoints that return exactly what the app needs.

## How It Works

### List what stock tools already cover

**Detail:** Trial the Barcode app and shop floor view on real devices before writing code. Write down the specific gaps.

### Pick the app style

**Detail:** PWA for simple screens and fast iteration, native or cross-platform for offline storage, background sync and scanner SDKs.

### Design a narrow API

**Detail:** Prefer a few custom controllers or server-side methods that do a whole task (receive line, report operation) over many raw record writes from the device.

### Authenticate per user

**Detail:** Use API keys or session login per operator so record rules, multi-company and audit apply. Avoid a shared device account.

### Handle offline

**Detail:** Queue transactions locally with idempotency keys, sync on reconnect, and surface conflicts such as an order already received.

### Support scanners

**Detail:** Use keyboard-wedge or intent-based scanning on rugged devices, and validate scanned codes against product barcodes and lots.

### Pilot on one area

**Detail:** Roll out to one line or one warehouse zone, measure transaction errors, then expand.

## Example Flows

### Offline receiving in a remote warehouse

**Trigger:** A receiver scans a PO barcode with no WiFi.

**Steps:**

- The app loads the cached open receipt lines.
- The receiver scans items and enters quantities and lots.
- Transactions are stored with unique ids.
- On reconnect, the app syncs and shows any conflicts.

**Result:** Receipts reach Odoo without double posting, and conflicts go to a supervisor.

### Operator reports a work order

**Trigger:** An operator taps Start on a work center tablet.

**Steps:**

- The app lists work orders for that center.
- The operator starts the order, which opens a time record.
- At the end they enter good and scrap quantities.
- The app calls a single server method to finish the operation.

**Result:** Labor and quantities land in Odoo as the work happens.

## On Prem

Mobile apps work well with on-prem Odoo when devices can reach the server, usually over plant WiFi or a VPN. Expose Odoo or a narrow API gateway through a reverse proxy with TLS, and avoid opening the full Odoo instance to the internet just for field users. For fully offline or air-gapped plants, the app should cache the data it needs and sync inside the local network. Authentication can use Odoo credentials or an identity provider reachable inside the network, and device management (MDM) controls which tablets can run the app. If you add AI to the app, such as voice notes turned into scrap reasons or photo-based defect tagging, serve the model locally so shop floor images and speech stay on site.

## Security

- Use TLS everywhere and consider certificate pinning for custom apps.
- Issue per-operator API keys, revoke on device loss, and manage tablets through MDM.
- Encrypt local offline storage and wipe it on logout or remote reset.
- Keep the custom API narrow and validate every input server-side; the app is untrusted.
- Log user, device and timestamp on each transaction for audit.

## Options

### Official app plus Barcode app

**Fit:** Enterprise customers whose flows fit standard receiving, picking and shop floor screens.

**Effort:** Configuration and device setup in days.

### PWA or custom app over the external API

**Fit:** Special flows, offline needs, or rugged scanners the standard app handles poorly.

**Effort:** Six to twelve weeks for a focused native or cross-platform app.

### Partner build with Netray

**Fit:** When you want mobile plus AI features like voice or photo capture running on a private model.

**Effort:** Scoped per workflow after a pilot.

## Pitfalls

- Building a custom app before trying the Barcode app on real hardware.
- Allowing the device to compute business logic that Odoo should own, such as costs.
- No idempotency on sync, so a retry posts a receipt twice.
- One shared login on a shared tablet, which destroys traceability.
- Underestimating upgrades: custom apps must track Odoo API changes between major versions.

## Faq

### Does Odoo have an official mobile app?

**Answer:** Yes, for iOS and Android, mainly as a wrapper around the web client for Enterprise customers. Capabilities depend on your version and edition. Community users generally use the mobile browser or install the web app on the home screen.

### Can the Barcode app run offline?

**Answer:** Offline behavior is limited and has changed across versions, so test on your exact release. For reliable offline work in poor-coverage areas, a custom app with local queuing and sync is the dependable route.

### Which API should a custom app use?

**Answer:** Any of the external APIs (XML-RPC, JSON-RPC, or the newer JSON endpoint on recent versions) works, but a small set of custom server methods or controllers keeps the app thin and safer than letting the device write raw records. Check which API your version recommends.

### Will scanners work with Odoo?

**Answer:** Most hardware scanners behave as keyboards and work with the web Barcode app. Rugged Android devices with scanner SDKs can send scans by intent to a native app. Test scanning speed and symbologies on your devices, since barcode formats on supplier labels vary.

### Can AI be added to the mobile app?

**Answer:** Yes, for example voice notes converted to structured scrap reasons, or photo-based defect tagging. Keep the model close to the plant on your own hardware where images matter, and keep the human as the person who confirms the data written to Odoo.

## Search terms

odoo mobile app, odoo barcode app, odoo shop floor tablet, odoo offline mobile, odoo warehouse scanner, odoo custom mobile app api, odoo pwa, odoo work order mobile, odoo android scanner

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
