Skip to main content

Headless Odoo

Headless Odoo: Keep Odoo as the Backend, Build the Experience You Want

Odoo runs the business: products, orders, customers, inventory, subscriptions. A frontend built in the technology your product needs runs the experience, talking to Odoo over GraphQL and REST. We have shipped this for storefronts, member portals, supplier apps and mobile.

  • Odoo
  • GraphQL
  • REST
  • Next.js
  • React
  • React Native
  • Flutter
  • Redis
  • Meilisearch
  • PayloadCMS

Reviewed by Atul Makwana, CEO & Co-Founder, Heliconia Solutions · Odoo 16 Functional Certification · Odoo Partner · Updated

Proof

4 headless systems in productionNext.js + React Native + FlutterGraphQL layers on OdooReal-time and search servicesCommunity + Enterprise

Clients

Businesses that run on what we built

  • LittleQ
  • Freiburger Bund
  • Ramdev Kangan
  • Aria Jewellers
  • Mevalon Produkte
  • TIMmunity GmbH
  • Jo Ann's

Definition

What Is Headless Odoo?

Headless Odoo is an architecture in which Odoo is used as the backend (the system of record for products, customers, orders, inventory, accounting and business logic) while the user-facing frontend is a separate application (a Next.js website, a React Native or Flutter mobile app, a custom portal) that communicates with Odoo through APIs instead of using Odoo's built-in web interface.

The point is separation: Odoo does what it's excellent at, and the frontend is built with the tools that give the best customer, member or supplier experience. Multiple frontends (web, iOS, Android, a supplier tool) share one backend and one API.

It's also a commitment. Two codebases, an API contract to maintain, and a frontend that has to be hosted and evolved. Headless is the right architecture for some businesses and the wrong one for others, and this page is meant to help you tell which.

Architecture

How a Headless Odoo System Fits Together

The shape behind our production headless systems. Redis, search and storage appear when the product needs them, not by default.

  • API layer
  • Odoo
  • Services
How a Headless Odoo System Fits Together
  • Web frontend

    Next.js / React: storefront, member portal, dashboards

  • Mobile apps

    React Native (Expo) or Flutter: iOS and Android

  • Other clients

    Supplier tools, partner systems, automation

API layer

GraphQL (Graphene) and REST controllers on Odoo · webhooks · Odoo session or token auth

Odoo

CRM · Sales · Inventory · Accounting · eCommerce · Subscriptions · custom modules: the business logic lives here

Services

PostgreSQL · Redis (cache, queues, presence) · Meilisearch (search) · S3 / Cloudflare R2 (media) · Socket.IO (real-time) · PayloadCMS (content)

When to use it

Use Headless Odoo When

  • The frontend experience is the product

    A brand storefront, a member community, a customer app, where the standard Odoo website would be a compromise customers notice.

  • You need a mobile app

    Native-feeling iOS/Android apps on Odoo data: Aria Jewellers' customer app, Ramdev Kangan's supplier catalog, Freiburger Bund's member app.

  • Multiple frontends share one backend

    Web, mobile and partner tools on one API, one set of business rules.

  • Performance requirements exceed Odoo's frontend

    Static and edge rendering, aggressive caching, sub-second search with Meilisearch.

  • You need Next.js, React, Flutter or React Native

    Because your team, your design system or your product roadmap already lives there.

  • External applications consume Odoo data

    A composable architecture where Odoo is one service among several, connected by a clear API contract.

When not to

Traditional Odoo Is Better When

We build both. Recommending headless where it isn't needed would cost you money and us credibility.

  • The standard Odoo website is sufficient

    Most B2B and many B2C stores are well served by Odoo Website and eCommerce with targeted customization. Wild Cloud is one.

  • Speed to launch is the priority

    One system, one deployment, one team. Headless adds a frontend build before day one.

  • Frontend requirements are limited

    A catalogue, a checkout and a portal that work, not a differentiated experience.

  • There is no mobile application

    Without a second client, the shared-API benefit largely disappears.

  • A separate frontend adds complexity you can't own

    Two codebases need to be hosted, monitored and evolved. If nobody will own the frontend after launch, don't build one.

  • Budget is better spent on the ERP

    Getting inventory, accounting and workflows right in Odoo usually pays back faster than a custom storefront.

Traditional vs headless

Traditional Odoo vs Headless Odoo

Headless Odoo

Your own frontend over Odoo APIs, with Odoo still the system of record.

Traditional Odoo

Odoo's own website and eCommerce, rendered by Odoo.

Headless Odoo compared with Traditional Odoo
What is being comparedHeadless OdooYour own frontend over Odoo APIs, with Odoo still the system of record.Traditional OdooOdoo's own website and eCommerce, rendered by Odoo.
FrontendNext.js / React / React Native / FlutterOdoo Website / backend UI, QWeb, OWL
Data accessGraphQL / REST API contractDirect: same application
Time to first releaseLonger: frontend is built separatelyShorter
Design freedomUnlimitedWithin Odoo's theme and view framework
PerformanceStatic/edge rendering, caching, dedicated searchBound to Odoo rendering, fine for most cases
MobileNative apps on the same APIResponsive web, or the official Enterprise app
Real-time featuresDedicated services (Socket.IO, Redis)Limited (Odoo bus)
UpgradesOdoo upgrade plus API compatibility checkOne system
TeamOdoo developers + frontend/mobile developersOdoo developers
Best forExperience-first products, mobile, multi-channelOperations-first businesses, B2B, fast launches

Technology stack

The Headless Stack We Run in Production

Only what's behind the systems on this page.

Odoo (Community or Enterprise)
The backend: business logic, data and workflows. Headless doesn't change the edition question.
GraphQL (Graphene) on Odoo
Shaped, fast reads for storefronts and apps: used at Aria Jewellers, LittleQ, Ramdev Kangan and WaveContact.
REST controllers + webhooks
Simple integrations and event-driven flows where GraphQL is overkill.
Next.js + React
Web storefronts and portals: LittleQ's shop, Freiburger Bund's member portal (Next.js 15, React 19).
PayloadCMS
Editorial content next to Odoo data without stuffing marketing pages into the ERP.
React Native (Expo)
Freiburger Bund's iOS/Android app with push notifications and OTA updates.
Flutter
Ramdev Kangan's supplier catalog and WaveContact's app.
Redis
Caching, queues and live presence for real-time features.
Meilisearch
Sub-second full-text search across catalogues, articles and jobs, indexed from Odoo.
Socket.IO / Node.js
Real-time messaging authenticated against Odoo sessions.
S3-compatible storage
Media and documents on Cloudflare R2, AWS S3 or MinIO instead of the Odoo filestore.
Docker, CI/CD
Frontend and backend deployed independently with a versioned API contract between them.

How we build it

From Product Requirement to Two Running Systems

  1. Decide headless is right

    Against the "when not to" list above. If traditional Odoo does the job, we say so.

  2. Design the API contract

    Which Odoo models and operations the frontend needs, shaped for the screens: before either side is built.

  3. Build the Odoo side

    GraphQL/REST modules, custom business logic, webhooks, authentication, indexing to search.

  4. Build the frontend

    Next.js, React Native or Flutter against the contract, with mock data until the API is live.

  5. Add services as needed

    Redis, Meilisearch, real-time server, media storage, only where the product needs them.

  6. Ship and evolve

    Independent deployments, monitoring on both sides, and an API versioning rule so Odoo upgrades don't break the app.

Evidence

Headless Odoo Systems We Have Shipped

Four production architectures: commerce, a member platform with real-time chat, a supplier app and a customer app.

All case studies

First-party experience

What Building Headless Odoo Has Taught Us

  1. 01

    Design the API for the screens, not for the models. A GraphQL schema that mirrors Odoo tables makes the frontend slow and the backend fragile.

  2. 02

    The API contract is the upgrade boundary. Version it, test it, and an Odoo migration stops being a frontend emergency.

  3. 03

    Search belongs in a search engine. Odoo full-text over thousands of products or articles is where Meilisearch earned its place.

  4. 04

    Real-time is a separate service. Freiburger Bund's chat runs on Socket.IO and Redis, authenticated by Odoo, not inside Odoo.

  5. 05

    Headless is a commitment to two codebases. Every client we recommended it to had a reason that outlived the launch.

What clients say

In Their Words

Questions

Headless Odoo, Answered

Atul Makwana

CEO & Co-Founder, Heliconia Solutions

Not answered here? Ask Atul directly, the person who reviewed this page, not a sales queue. Odoo 16 Functional Certification.

Ask a question

What is headless Odoo?

An architecture where Odoo is the backend (data, business logic, workflows) and a separate frontend (web or mobile, in any technology) talks to it through GraphQL or REST APIs instead of using Odoo's built-in interface.

Why use Next.js with Odoo?

Next.js gives static and server rendering, edge caching, a component model and SEO control that Odoo Website can't match for experience-first sites. Odoo keeps the business logic. Next.js renders it, as at LittleQ and Freiburger Bund.

Can Odoo be used as a backend?

Yes. Odoo exposes its models through JSON-RPC by default, and purpose-built GraphQL and REST layers make it a capable backend for web and mobile applications.

Odoo integration services

Can Odoo support mobile applications?

Yes. React Native and Flutter apps run on Odoo APIs in production. Aria Jewellers (customer app), Ramdev Kangan (supplier catalog), Freiburger Bund (member app), WaveContact.

Mobile application development

When should I choose headless Odoo?

When the frontend experience or a mobile app is central to the product, several frontends share one backend, or performance needs exceed Odoo's frontend. Otherwise, traditional Odoo is usually the better investment.

Is headless Odoo more expensive?

Initially, yes: a separate frontend is built and hosted, and the API is maintained. It pays back when the experience drives revenue, when a mobile app is required, or when multiple channels share the backend.

Does headless Odoo work with Community?

Yes. The API layer is custom modules on the framework, which is identical in both editions. Ramdev Kangan and LittleQ are headless systems on Odoo.

Odoo Community

Does headless Odoo work with Enterprise and Odoo.sh?

Yes with Enterprise. With a caveat on Odoo.sh. Odoo.sh can't host the extra services a headless system often needs (Redis, Meilisearch, a real-time server), so headless Enterprise systems usually run on cloud infrastructure we manage, with the frontend deployed separately.

Odoo Enterprise

Can I still customize Odoo in a headless setup?

Yes: customization is where headless starts. Business logic stays in Odoo modules. The API exposes it. Nothing about the frontend changes how Odoo itself is extended.

Odoo customization

Can Heliconia build both the frontend and the backend?

Yes. Odoo developers, GraphQL/API engineers, Next.js, React Native and Flutter developers and designers are one team, so the API contract is designed by people building both sides.

Hire Odoo developers

Next step

Thinking About Headless Odoo?

Tell us what the frontend needs to do, whether there's a mobile app, and which Odoo version you run. We'll tell you whether headless is the right architecture, and show you how we would build it.