Yes, you can use Odoo on a phone, and you can build your own Odoo mobile app on top of it. Odoo gives every user its official app for iPhone and Android (or the lighter web app Odoo now recommends), and the normal Odoo screens already adjust to small screens. When you need something more focused, such as a branded app for your customers or a simple app for drivers that works without signal, a custom app can connect to Odoo through its external API and read and write the same records your team uses in the office.
This article explains what Odoo gives you on mobile out of the box, when a custom app is worth building, how the connection to Odoo works, what to watch for security and upgrades, and how a project runs with NavyBits. It's written for business owners and managers, with one short technical box for your IT team.
What Odoo gives you on a phone
Odoo's own mobile apps
Odoo offers two ways to use your database on a phone. The first is a progressive web app (PWA): you open your Odoo address in the phone's browser and add it to the home screen. It gets its own icon, opens full screen and can send push notifications. Odoo's documentation recommends this option. The second is the Odoo app from the App Store and Google Play. It gives each user access to every application installed in your database from one app, with push notifications for the tasks and messages they follow. Odoo's store listing says the app supports Odoo 16 or higher on Odoo Enterprise, and it can hold more than one account.
Both options show the real Odoo interface. Whatever a user can do in Odoo on a computer, they can do on the phone, within their access rights. Several Odoo apps are built with phones in mind: the Barcode app can scan with the phone's camera, Field Service lets technicians fill in worksheets and collect a customer's signature on site, and Expenses lets staff photograph a receipt.
The customer portal and your website
For customers, Odoo has a portal. Without installing anything, a customer can log in to see quotations, sign and pay them online, follow orders and deliveries, download invoices and open support tickets. Your Odoo website and online shop work on phones too. For many businesses this covers what customers need.
When that's enough
If your staff are office users who sometimes check Odoo on the road, and your customers order now and then, Odoo's own apps and the portal are usually all you need. Don't build a custom app for something Odoo already does well. Set up the right access rights, train people on the mobile screens and spend the budget elsewhere.
When a custom app makes sense
Odoo's mobile apps are the full Odoo, made smaller. That's the right tool for an employee who uses many parts of Odoo. It's less suited to people who only need one job done quickly, or to customers who will never learn an ERP. Here are the cases where a custom app pays off.
A branded app for your customers
Your customers install an app with your name and logo, and it talks to Odoo behind the scenes. They can reorder their usual products, check stock and prices for their account, book an appointment or a service visit, collect and spend loyalty points, see and pay their invoices and open a support ticket with a photo. Every order lands in Odoo as a normal sales order, so your team works the way it always has.
Field staff and drivers
Drivers, sales reps and technicians need large buttons and a few screens, not the whole ERP. A field app can show today's deliveries or visits, take orders in the van, record payments, run an inspection checklist, log hours, attach photos and capture the customer's signature. Van sales and route planning aren't part of standard Odoo; we offer them as a NavyBits solution built on Odoo.
The big difference is offline work. In a basement warehouse, on a mountain road or at a site with weak signal, a custom app can keep working, store what the driver does on the phone and send it to Odoo when the connection comes back.
One job, one simple app
Some apps do a single thing: a stock count, a quality check at the gate, a manager's approval of purchase orders, a time clock for workers. A focused app with three screens is faster to learn and harder to get wrong than a menu with fifty options. People over 50 and staff who don't read English well feel this most.
Phone hardware and devices
A native or cross-platform app can use the phone's camera and GPS, read NFC tags, talk to Bluetooth printers and scanners, track a route in the background and work with rugged handheld scanners. If your process depends on one of these, a custom app gives you more control than a browser.

Odoo's own apps cover office staff well; a custom app fits customers and people with one job to do.
If you're still unsure whether you need an installed app at all, our guide on mobile app vs web app compares web apps, PWAs, native and cross-platform apps for business owners.
How a custom app connects to Odoo
The app doesn't keep its own copy of your business. Customers, products, prices, orders, stock and invoices stay in Odoo, which remains the one record for the whole company. The app asks Odoo for what it needs and sends back what the user did. When an order is placed on a phone, your sales team sees it in Odoo a moment later, with the same rules, taxes and approvals as any other order.
Odoo's external API
Odoo has an external API, a way for other software to read and write its data. In Odoo 19 and Odoo 20 the main one is called the JSON-2 API. Each request names an Odoo model and a method and carries an API key that belongs to a user. The older XML-RPC and JSON-RPC APIs still work but are deprecated. Odoo's documentation says they're scheduled for removal in Odoo 22 (fall 2028), and earlier on Odoo Online. A new app should be built on JSON-2.
One point to check before you plan anything. Odoo's documentation says access to data through the external API is only available on Custom pricing plans, and not on the One App Free or Standard plans. If your company is on Odoo Online with a Standard plan, the plan has to change before an app can connect.
For your IT team: a JSON-2 call
POST /json/2/sale.order/search_read
Host: yourcompany.odoo.com
Authorization: bearer <API key of the app's user>
Content-Type: application/json
{
"domain": [["partner_id", "=", 42]],
"fields": ["name", "date_order", "amount_total", "state"]
}
This asks Odoo for the orders of customer 42. Odoo checks the access rights and record rules of the user who owns the key, and every call runs in its own database transaction. Odoo's documentation recommends a dedicated user for each integration and limits API keys to three months, so the app needs a way to renew them.
A dedicated user with only the rights it needs
The app connects as its own Odoo user, set up for that purpose, with access to the models and records it needs and nothing more. A delivery app might read the day's deliveries and update their status, and never see salaries or the general ledger.
A middle layer, when it helps
A small app for internal staff can talk to Odoo directly. For a customer app, or anything with many users, we usually add a middle layer between the phone and Odoo. It can be a custom Odoo module with its own endpoints, or a small backend service. It holds the Odoo credentials so they never sit on a phone, gives each customer their own login, sends push notifications through Apple's and Google's services, manages offline sync and conflicts, and translates between the app and Odoo. That last part matters at upgrade time, as you'll see below.

The phone never holds Odoo passwords. The middle layer checks every request before it reaches Odoo.
Native or cross-platform
Native apps are written separately for iPhone (Swift) and Android (Kotlin). Cross-platform frameworks such as React Native and Flutter build both apps from one codebase, which lowers the cost of building and maintaining them, and for most business apps users can't tell the difference. We recommend native only when an app needs heavy graphics or deep use of the latest platform features.
Publishing to the stores
A customer app is published on the App Store and Google Play under your company's developer accounts, so the listing and the reviews belong to you. Apple and Google review each release. An app for your own staff doesn't need public listings: it can be distributed privately to your team's devices.
Security and maintenance
An app connected to your ERP opens a door into your business data, so it has to be built with care from the first screen.
- No admin credentials in the app. Anything shipped inside an app can be extracted from it. The app gets its own user with limited rights, and for customer apps the Odoo key stays on the server.
- Least privilege. Give the app's user only the models, records and actions it needs. Odoo enforces those rules on every call.
- Tokens handled properly. Logins use short-lived tokens stored in the phone's secure storage, and a lost phone can be cut off from the server.
- Rate limits. The middle layer limits how many requests one user or device can send, so a bug or an attacker can't flood Odoo.
- Upgrades without breaking the app. Every Odoo version changes some fields and models. When the app only talks to the middle layer, an upgrade means updating that layer and testing it, while the apps already on people's phones keep working. Read our Odoo 20 article for what changes in the latest version.
- Testing. Each release is tested on real iPhones and Android phones, with a test copy of your Odoo database, before it reaches the stores or your team.
If an app for your Odoo was built by another team, or written with AI tools, our AI code assessment checks its security, best practices, maintainability and readiness for production before you put it in front of customers.
How a project runs with NavyBits
NavyBits has been an Odoo Silver Partner since 2016, and our Innovation Lab builds mobile, desktop and web apps and software connected to hardware. That puts the Odoo side and the app side with the same team, so nobody has to translate between an ERP consultant and an outside app agency.
- Assess. We sign an NDA before you share anything. Then we study your processes and your Odoo setup, decide with you whether you need a custom app, the PWA or the portal, and write down the screens, users, offline needs and security rules. You get a clear scope and a quote for it.
- Build. We build the app, the middle layer and any Odoo changes it needs, test them on real devices and publish to the stores under your accounts. If your Odoo itself needs work first, our Odoo business solutions team handles it. You own the full source code.
- Maintain. New iOS and Android versions arrive every year, and Odoo has a major release every fall. Our Odoo support keeps the app, the middle layer and your database working together, including when you upgrade.
FAQ
Can I build a mobile app for my Odoo?
Yes. A custom iPhone and Android app can connect to Odoo through its external API and work with the same customers, products, orders and invoices as your team. It suits customer apps, field staff and simple single-task apps.
Does Odoo have an API?
Yes. Odoo 19 and 20 have the JSON-2 API, which uses API keys. The older XML-RPC and JSON-RPC APIs are deprecated and scheduled for removal in Odoo 22. Odoo's documentation says API access to your data needs a Custom pricing plan.
Can an Odoo mobile app work offline?
Odoo's own apps need a connection. A custom app can be designed to work offline: it stores data and actions on the phone and syncs them with Odoo when the signal returns. Offline sync has to be planned from the start, since it changes how the app and the middle layer are built.
Will it work on both iPhone and Android?
Yes. With React Native or Flutter, one codebase produces both apps. Native apps for each platform are also possible when a project needs them.
Will the app break when Odoo upgrades?
Not if it's built for it. A middle layer between the app and Odoo absorbs most changes, so an upgrade means updating and testing that layer while the apps on people's phones keep working.
How much does a custom Odoo mobile app cost?
It depends on the number of user types and screens, offline sync, devices such as printers or scanners, the Odoo changes needed and store publishing. Every project is quoted for its scope after an assessment.
Talk to us about your app
Many companies don't know that the team running their Odoo can also build the app their customers or drivers will use every day. Book a free 30-minute call and tell us who would use the app and what they need to do. We'll tell you whether Odoo's own apps are enough or whether a custom app connected to Odoo is worth it, and our Innovation Lab will quote it for your scope.