Experience Lion CRMThe King of WhatsApp CRM 7 Days Free Limited Access
Request Access

Odoo WhatsApp Integration: Complete Setup Guide (2026)

Connect WhatsApp to Odoo in 2026: the Enterprise-only edition wall, real per-user costs, setup steps, Community options and the whitelabel route.

An operations manager runs a forty-person business on Odoo. Sales, inventory, invoicing, helpdesk, all of it sits in one database, and that single-system tidiness is the reason the company chose Odoo in the first place. Then she asks a simple question: can we send the order confirmation on WhatsApp instead of email, since nobody opens the email anyway. The answer looks like a five-minute settings change. It is not. It is an edition upgrade for every user in the database.

That surprise is the defining feature of an Odoo WhatsApp integration, and almost nothing written about it says so up front. The technical work is genuinely straightforward, better documented than most CRM integrations, and once connected it reaches every Odoo app at once. The problem is the wall you hit before any of that starts, and whether you are standing on the right side of it decides the entire budget.

This guide covers what the integration actually does, the edition rule that stops most projects before they begin, the four honest routes to connect WhatsApp to Odoo, what it really costs in 2026 including the per-user maths nobody quotes, the full setup sequence, what the native module cannot do, and how agencies sell this work under their own brand rather than billing it once.

In this guide

What an Odoo WhatsApp integration actually means

Odoo is not a CRM with some extra modules bolted on. It is a whole business system where the CRM happens to be one app among dozens, and that changes what a messaging integration is for. When WhatsApp connects to Odoo it does not connect to the sales pipeline alone. It connects to the database, which means every app in it can use the channel.

In practice the integration does three jobs.

The first is conversation handling. WhatsApp messages arrive inside Odoo Discuss, the same internal chat surface your team already uses, and they attach to the record they belong to. A customer replying about an invoice shows up on that customer, not in a separate inbox somebody has to remember to check. Several people can work one business number without passing a phone around.

The second is document delivery. This is the part specific to Odoo and the part most teams underestimate. Because the messaging layer sits at database level, a quotation from Sales, an invoice from Accounting, a delivery note from Inventory or an event badge from Events can all be sent over WhatsApp as an attachment from the record itself. For businesses whose customers ignore email, this single capability is often the whole business case.

The third is automation. Odoo can fire an approved WhatsApp template when something happens in the system: an order is confirmed, a payment falls overdue, an appointment is tomorrow. No agent types it and nothing is forgotten on a busy day.

A complete setup gives you all three from one connection. That is genuinely more than most CRM integrations deliver, because most CRMs only have a pipeline to attach messages to. Odoo has the whole business.

The edition wall: WhatsApp is Enterprise only

Here is the sentence that decides most Odoo WhatsApp projects, stated plainly in Odoo’s own documentation: WhatsApp is an Odoo Enterprise application and it does not work in Odoo Community edition.

There is no partial version, no limited free tier, no way to enable it with a setting. If you run Community, the native WhatsApp module is not available to you at all. To get it you switch the database to Enterprise.

This matters far more than it first appears, for a reason that has nothing to do with WhatsApp. Odoo Enterprise is priced per user, and it is priced per user across the whole database, not per user of the feature you wanted. So the real question is never how much does WhatsApp cost in Odoo. It is how much does Enterprise cost for everyone who logs in, because that is the actual bill.

Work the example through. A company runs Community with forty internal users. Six of them are sales reps who want WhatsApp. At Indian Enterprise pricing of roughly 580 to 890 rupees per user per month on introductory rates depending on plan, moving that database to Enterprise costs somewhere in the region of 280,000 to 430,000 rupees a year. All of it to give six people a chat channel. The per-user rate looked small. Multiplied by every user who logs into the system, it is the largest line in the project by a wide margin, and it recurs.

Two further details make this sharper. Introductory pricing is not renewal pricing, and the step up at renewal is significant, so budget the renewal number rather than the promotional one. And Odoo prices by country across many tiers, so a figure quoted on a US or European blog can be several times what you would pay in India, or several times less. Check Odoo’s pricing page with your own country selected before you scope anything.

None of this makes Enterprise a bad deal. If you were already moving to Enterprise for the hosting, the support, the studio tools or the accounting features, WhatsApp arrives as a genuine bonus and the marginal cost of the channel is zero. The trap is only for teams who are happy on Community and are being quoted an edition migration as though it were a messaging feature. Those are different purchases with different justifications, and they deserve to be evaluated separately.

If WhatsApp is the main way your team actually sells, and the Enterprise upgrade exists purely to unlock it, it is worth understanding what you are buying before you buy it. WhatsApp CRM vs WhatsApp Business API separates the raw channel from the software built on top of it, which is the distinction that makes this decision obvious in either direction.

The four ways to connect WhatsApp to Odoo

There are four honest routes, and unusually for this kind of comparison, your edition rules two of them in or out before anything else.

Route one: the native Odoo WhatsApp module, Enterprise only. The cleanest option if you are already on Enterprise or genuinely need to be. It is built by Odoo, maintained by Odoo, integrated with Discuss and reachable from every app in the database. There is no third vendor to pay, debug or blame. If you are on Enterprise, start here and only look further if you hit one of the limits described later.

Route two: a third-party module from the Odoo Apps Store. The Apps Store carries a large number of WhatsApp modules, and critically some of them work on Community. This is the usual answer for a Community business that will not move to Enterprise for a chat channel. It is real and it works, with the ordinary caveats of third-party code: check the publisher’s history, confirm the module supports your exact Odoo version, and understand who fixes it when Odoo releases a major version and the module has not caught up yet. Buying an unmaintained module is cheaper for a year and expensive in the second.

Route three: the OCA connector or an automation layer. The Odoo Community Association maintains open-source connectors, and tools like n8n or Make can sit between the WhatsApp Business API and Odoo, moving messages and triggering actions without either side knowing the other exists. This suits teams with technical capacity who want a specific, narrow flow, such as sending an invoice link automatically. It is not a good way to give a sales team an inbox.

Route four: run a dedicated WhatsApp platform next to Odoo. You keep Odoo as the system of record and put a purpose-built messaging tool where the conversations happen, syncing the two. This costs more in software and gives dramatically more messaging capability: broadcast campaigns with delivery reporting, chatbots, agent routing, a visual pipeline built for chat rather than for cases. It also works on Community, which is why it is the most common answer for the businesses this guide is really about.

The short version. On Enterprise, take route one. On Community with a light need, take route two. On Community with a serious messaging operation, take route four and stop trying to make an ERP be an inbox.

Before you start: what you need ready

Most failed setups fail on preparation rather than configuration. Have these five things settled before you open a single settings screen.

A WhatsApp Business Platform account, not the app. Odoo’s integration works only with WhatsApp Business Platform accounts. Personal WhatsApp accounts and WhatsApp Business app accounts are not compatible. This catches out a lot of small businesses, because the WhatsApp Business app on somebody’s phone is exactly what they have been using and it looks like the right thing. It is not the same product.

A Meta Business account with verification under way. You need a Meta Business account and business verification, which asks for documents proving the company is real and is not instant. Start it on day one, because everything else waits behind it. One more requirement is easy to trip over: creating the business account needs a personal Facebook account that has existed for at least an hour, so a brand new profile made for the purpose will fail.

A Meta developer account and an app. The connection runs through Meta’s developer console, where you create an app, add the WhatsApp product to it, and collect the token and identifiers Odoo asks for. Whoever does this needs admin rights in Meta Business, not just access.

A phone number that is genuinely free. The number you connect cannot be active on the ordinary WhatsApp app or the WhatsApp Business app. If your main business number is in use there you must remove it first, and the chat history on that device goes when you do. Many teams take a fresh number and migrate customers over gradually rather than lose years of conversations.

Clean phone numbers in your Odoo database. Matching an incoming message to a customer happens on the number. If your partner records hold a mix of spaces, dashes, missing country codes and leading zeros, a large share of messages will not find the record a human can see is obviously the same person. Standardise to one international format before go-live, because doing it afterwards means doing it while agents are complaining.

There is also one hard stop worth knowing in advance. A Meta business account that is restricted from advertising cannot complete the app setup at all. If your business has a Meta advertising restriction, resolve that first, because no amount of Odoo configuration works around it.

Setting up the native Odoo WhatsApp module

Assuming Enterprise and the preparation above, the sequence is genuinely short.

Step one: prepare Meta first. Confirm the business account exists, verification is running, the number is free of both WhatsApp apps, and your developer app has the WhatsApp product added. Doing this before touching Odoo prevents the most common failure, which is getting several screens in and discovering the number is unavailable.

Step two: install the WhatsApp app in Odoo. From Apps, install WhatsApp. If it does not appear, you are on Community and the edition section above applies. This is worth checking early rather than assuming a search problem.

Step three: create the WhatsApp Business Account record in Odoo. In the WhatsApp settings you create a business account record and paste in the identifiers and token from Meta: the app id, the account id, the phone number id and the access token. Take these carefully. A wrong identifier here produces an authentication error later that looks like a permissions problem and is not.

Step four: set the callback URL in Meta. Odoo generates a callback URL and a webhook verify token. You paste both into the webhook configuration in the Meta developer console and subscribe to the message fields. This is the step that makes inbound messages work, and skipping or fumbling it is why outbound sends fine while nothing ever comes back.

Step five: build and submit your templates. Any message you send outside a live conversation must be an approved template. Create them in Odoo, attach them to the right model so the variables pull real data, and submit for approval. Approval usually takes anywhere from a few minutes to a day. Start with the three or four that matter: an order confirmation, an invoice or payment reminder, an appointment reminder, and a new-enquiry acknowledgement.

Step six: test both directions properly. Send a template from a record and confirm it arrives. Then message the business number from a phone that is not a team phone and confirm the conversation appears in Discuss and attaches to the right partner. Then repeat from a number already in your database, which is the test that exposes phone-format problems while they are still cheap to fix.

Step seven: go live with one team. Point one team or one document type at the channel for a week before extending it. Problems found by three people are cheap. The same problems found by thirty become the reason a project is quietly abandoned.

Automating WhatsApp across your Odoo apps

This is where Odoo pulls ahead of a normal CRM integration, and it is worth being deliberate about it rather than sending everything you can.

Because templates attach to Odoo models, an automation can be tied to any business event the system already knows about. A sales order moving to confirmed sends the confirmation with the PDF attached. An invoice passing its due date sends a payment reminder with the amount and the link. A delivery leaving the warehouse sends a dispatch note. An appointment tomorrow sends a reminder. A helpdesk ticket changing state tells the customer without an agent typing it.

Two rules shape all of this and both come from WhatsApp rather than from Odoo.

The first is the messaging window. Free-form messages can only be sent inside the roughly twenty-four hour window after the customer’s last message. Outside it you must use an approved template. Every automation you design has to assume it is firing outside the window, which is why template quality matters so much.

The second is that a customer reply opens a real conversation. When someone answers a template, a Discuss chat window opens and a human can talk to them normally for a period measured in days rather than minutes. This is the part teams forget to plan for. Automation is what starts the conversation, and if nobody is assigned to answer the replies, you have built a system that annoys customers efficiently.

Start with two automations, not ten. The order or enquiry acknowledgement and the payment reminder cover most of the value, and both are easy to measure. Add more once you can see that replies are being answered.

What the integration costs in 2026

Plan for four bills, and expect the ranking to surprise you.

Odoo licensing. If you are moving from Community to Enterprise for this, it is the largest line by a distance, it is per user across the whole database, and it recurs annually at a renewal rate higher than the introductory one. In India the introductory range is roughly 580 to 890 rupees per user per month depending on plan, with renewal meaningfully above that, and Odoo tiers pricing by country so your number may differ. If you are already on Enterprise, this line is zero and the whole calculation changes.

Meta’s per-message charges. Meta bills per message by category. In India, from January 2026, marketing messages run at roughly 0.86 rupees each after a rise of about ten percent, while utility and authentication messages are around 0.115 rupees and did not change. Service messages inside the customer’s twenty-four hour window are free. That pricing shape rewards exactly the Odoo use case, because order confirmations, invoices and reminders are utility messages, and utility is the cheap category. Ten thousand utility messages a month is around 1,150 rupees. Against the licence line, messaging is usually a rounding error.

Platform and tax. If you go through a provider rather than direct, expect a platform fee plus a markup on Meta’s rate, commonly ten to thirty percent among Indian providers. Add 18 percent GST on both Meta’s charges and the platform fee. India moved to local currency billing in January 2026, which at least makes the invoices readable.

Setup time. The line everyone forgets and the one that decides whether the project works. Business verification, number migration, template writing and approval, phone-number cleanup, automation building, and persuading a team to change where they type. Budget these hours honestly, because they are real and they are the reason projects slip.

The pattern across almost every Odoo WhatsApp project is the same: messaging costs less than people fear and licensing costs more than they were told. If it is the per-user licence maths that is stalling the project rather than the messaging bill, price the alternative properly before you shelve the idea. Lion CRM’s pricing is built around per-licence costs rather than a per-seat charge on every user in an ERP, which is a materially different curve once the database has more users than the messaging team.

What the native Odoo WhatsApp module cannot do

The module is good at what it is for. Being clear about the edges saves an expensive discovery three months in.

Large marketing campaigns with real reporting. The module is built around transactional messaging and conversations from records. Sending a segmented campaign to thousands of contacts with delivery reporting, retry handling, opt-out management and per-segment results is a different job and a different kind of tool.

Chatbots and automated qualification. There is no bot builder. If you want an automated flow to handle the first three questions, qualify the enquiry and route it before a human joins, expect to add a platform or build it yourself.

A chat-first way of working. Odoo Discuss is an internal chat surface with WhatsApp threaded into it. Teams who spend the entire day in customer conversations tend to want a visual pipeline they can drag chats through, with assignment, labels, quick replies and a view of who is waiting. That workflow is not what Discuss is shaped like. This is the most common reason a technically successful setup ends up unused, and it is an adoption risk rather than a missing checkbox.

Community edition, at all. Worth repeating because it is the single biggest constraint in this article.

Your own branding. Everything the client sees says Odoo. For a business using Odoo that is fine. For an agency selling the setup, it is a commercial problem, which is the next section.

The whitelabel route: selling this setup to clients

If you are an Odoo partner or an agency, the pattern above should look familiar. A client asks for WhatsApp. You scope it, discover they are on Community, explain that the chat channel requires an edition migration priced per user across their whole database, and watch the project die in the room. Or it survives, you bill the implementation once, and the recurring revenue goes to Odoo rather than to you.

There is a different shape to this business. Instead of configuring somebody else’s product for a fee earned once, you sell a WhatsApp CRM under your own brand, on your own domain, at your own prices, and keep the monthly margin. The client gets the chat-first tool they actually wanted without an ERP edition upgrade attached to it, and Odoo carries on doing what it is genuinely excellent at, which is everything that happens after the conversation. These are not competing recommendations. The honest advice for a lot of Community businesses is to keep Odoo exactly as it is and put messaging somewhere built for messaging.

For agencies taking that route, the requirements that decide whether it scales are practical ones: your own domain and logo throughout, the ability to create and manage client accounts yourself without asking a vendor, per-licence pricing you control, and a support path that never exposes the platform behind your brand. Lion CRM’s whitelabel programme is built around that shape, starting at a minimum of ten licences with the reseller admin panel needed to run client accounts under your own brand.

The commercial difference is the whole point. An Odoo WhatsApp implementation is a project with an end date. A branded platform is a subscription that renews every month you keep the client happy.

Common problems and how to fix them

The WhatsApp app is not in my Apps list. You are on Community. There is no workaround, no hidden setting and no community patch that unlocks the Enterprise module legitimately. Your options are the edition upgrade or one of routes two through four above.

Outbound messages send but nothing ever comes back. This is the webhook. Check the callback URL and verify token in the Meta developer console match what Odoo generated, and confirm you subscribed to the message fields. Outbound working while inbound is silent is the signature of this specific problem and it is almost never anything else.

Authentication or token errors. Usually a wrong identifier rather than a wrong permission. The app id, account id and phone number id are easy to transpose because they are long numeric strings that look alike. Re-copy each one from Meta rather than trusting the ones already pasted in. If they are all correct, check the token has not expired and was generated with the right permissions.

The number will not connect. Almost always because it is still active on the WhatsApp or WhatsApp Business app. Remove it there first, accept that the on-device history goes with it, then retry. The second most common cause is Meta business verification that has not finished yet.

Messages arrive but do not attach to the right customer. A phone-format problem, not a settings problem. Matching happens on the number, so a leading zero, a missing country code or stray spaces stop it finding the partner record. Standardise the database to one international format and retest with a number that already exists in Odoo.

Templates keep getting rejected. Rejections come from vague promotional wording, variables without surrounding context, or a category that does not match the content. Rewrite the message as something specific and genuinely useful, make each variable obviously meaningful, and resubmit. Write like a transactional email, not like an advert.

Automations are not sending. Check the messaging window first, because anything trying to send free-form text outside the window fails by design. If it is an approved template and still fails, confirm the template is active, it is linked to the right model, and the record actually has a valid number on it.

The team is not using it. Nothing here is technical. Either the conversations are not reaching the right person, or the tool does not match how the team works. Watch someone use it for an hour. The answer is usually obvious within ten minutes and is almost never the one raised in the meeting.

A 14-day rollout plan

Days 1 to 3: decisions and paperwork. Settle the edition question honestly, including the full per-user cost across every user in the database, not just the messaging team. Start Meta business verification. Choose or free up the phone number. Begin the phone-number cleanup in Odoo. Verification and data cleanup run in the background, so starting them on day one takes them off the critical path.

Days 4 to 6: connection. Install the app, create the business account record, paste the identifiers, set the callback URL and verify token in Meta, subscribe to the message fields, and confirm a message travels in both directions. Nothing after this matters until both directions work.

Days 7 to 9: templates and testing. Write and submit the first three or four templates against real models. While they are in review, test the inbound path hard, from outside numbers and from numbers already in the database. Fix the matching failures this uncovers before anyone else sees them.

Days 10 to 12: pilot. One team, one document type, real customers. Build the first automation, usually the order or enquiry acknowledgement, and confirm that replies to it reach a human quickly. Watch what happens rather than asking for feedback in a meeting.

Days 13 to 14: rollout and measure. Extend to the rest of the team with a short written guide covering the three things they must do differently. Record your starting numbers now, because first response time and reply rate are what you will be judged on in a month, and nobody remembers what they were beforehand.

Frequently asked questions

Does Odoo have a native WhatsApp integration?
Yes. Odoo ships a WhatsApp application that integrates with Discuss and is reachable from every app in the database, so quotations, invoices, delivery notes and reminders can all be sent over WhatsApp from the record itself. The qualifier that decides most projects is the edition: it is an Enterprise application and it does not work in Odoo Community. Confirm which edition you are on before scoping anything, because that single fact changes the budget by an order of magnitude.

Can I use WhatsApp with Odoo Community edition?
Not the native module. Odoo’s documentation is explicit that WhatsApp is Enterprise only and does not work in Community. Community businesses have three realistic options: a third-party module from the Odoo Apps Store, an open-source connector or automation layer such as the OCA connector or n8n, or running a dedicated WhatsApp platform alongside Odoo. The last is usually the right answer when messaging is central to how the business sells, because it is also the option that gives you campaigns, bots and a chat-first workflow.

How much does an Odoo WhatsApp integration cost?
Plan for four bills. Odoo licensing, which is the big one if you are upgrading from Community, priced per user across your entire database and higher at renewal than at signup. Meta’s per-message charges, which in India from January 2026 are roughly 0.86 rupees for marketing and about 0.115 rupees for utility and authentication, with service messages inside the customer’s window free. Platform fees and markup if you use a provider, plus 18 percent GST. And setup time. Messaging almost always costs less than teams expect while licensing costs considerably more.

Do I need the WhatsApp Business API, or will the WhatsApp Business app work?
You need the WhatsApp Business Platform, which is the API product. Personal WhatsApp accounts and WhatsApp Business app accounts are not compatible with the Odoo integration. This trips up smaller businesses because the WhatsApp Business app is what they already use every day and it carries a similar name. The number you connect also has to be removed from those apps first, and the chat history on that device is lost when you do.

Can Odoo send invoices and quotations over WhatsApp automatically?
Yes, and it is the strongest argument for the native module. Because templates attach to Odoo models, a confirmed sales order can send the quotation PDF, an overdue invoice can send a payment reminder with the amount, and a dispatch can send a delivery note, all without an agent typing anything. The constraint is WhatsApp’s own: outside the roughly twenty-four hour window after a customer’s last message, only pre-approved templates can be sent, so design every automation as a template from the start.

Should I upgrade a client to Odoo Enterprise for WhatsApp, or sell them my own branded CRM?
It depends on what else the upgrade buys them, and both answers can be right. If the client was already heading to Enterprise for hosting, support or accounting, WhatsApp comes free with a decision they were making anyway and a connector is the honest recommendation. If Enterprise exists purely to unlock a chat channel for a handful of people, the per-user maths across the whole database rarely justifies it, and a chat-first platform will get more use for less money. For an agency the branded route is also simply the better business, because an implementation fee is earned once while a monthly per-licence margin keeps paying. Agencies comparing platforms to resell usually start with the whitelabel WhatsApp CRM comparison for India.

Become a Reseller