Skip to content
DevMarket
Odoo ModulesWordPress PluginsWordPress ThemesShopify ThemesApp TemplatesScripts & UtilitiesBlogSell on DevMarket

WhatsApp Click-to-Chat for Odoo 19 documentation

A short, illustrated guide: install the module, click the WhatsApp button on contacts, orders and invoices, and write your own messages. Developers will find a small API chapter.

Documents version 1.0.1Updated Oct 23, 2026

Start here

In plain words: This module puts a WhatsApp button next to the customer's phone number on Contacts, Sales Orders and Invoices. One click opens WhatsApp with a message already typed. There is nothing to connect: no Meta account, no business verification, no API keys, no monthly fee.
A sales order: the phone number now has a WhatsApp button.
A sales order: the phone number now has a WhatsApp button.
You clickWhat happens
The WhatsApp buttonWhatsApp opens (the phone app, WhatsApp Desktop or WhatsApp Web) in a chat with that customer.
Nothing elseThe message is already typed, using your own template. You read it, change it if you like, and press send in WhatsApp.
Tip: Because the message is sent by you from your own WhatsApp account, it is not an automated broadcast. Use the module for one-to-one conversations: order questions, payment reminders, delivery updates.

What it adds to Odoo

WhereWhat you see
ContactsA WhatsApp button under the phone number.
Sales OrdersA Phone line under the customer, with the WhatsApp button.
Invoices and credit notesThe same line under the customer or vendor.
Settings → WhatsAppThree message templates (contact, sales order, invoice) and one option.
ChatterAn optional private note each time a chat is opened (who and which number).
On a contact, the button sits right under the phone number.
On a contact, the button sits right under the phone number.

Requirements

ItemDetails
Odoo19.0 (Community or Enterprise)
Apps neededSales and Invoicing (the module depends on sale and account)
On the user's computer or phoneWhatsApp installed, or a browser to use WhatsApp Web
WhatsApp accountAny normal or Business account of the person who clicks. No API.
LicenseOPL-1 (Odoo Proprietary License v1.0)

Install

  1. Unzip the package. Inside is taqnix_whatsapp_click_to_chat.zip; unzip it to get the folder taqnix_whatsapp_click_to_chat.
  2. Copy the folder into one of the addons_path folders of your Odoo server and restart Odoo.
  3. Log in as an administrator, activate Developer mode, open Apps and press Update Apps List.
  4. Remove the “Apps” filter, search WhatsApp Click-to-Chat and press Install.
# or from the command line
./odoo-bin -c odoo.conf -d YOUR_DATABASE -i taqnix_whatsapp_click_to_chat --stop-after-init
Tip: After installing, press Ctrl+Shift+R (or Cmd+Shift+R) once to load the new buttons.

Using it

In plain words: Open a contact, an order or an invoice. If the customer has a phone number, you will see the WhatsApp button next to it. Click it.
  1. Open the record: a contact, a sales order, or an invoice.
  2. Click WhatsApp under the phone number.
  3. WhatsApp opens with the customer's chat and your message typed in.
  4. Check the message, edit it if you want, and send it from WhatsApp.
On an invoice the message mentions the invoice number, the amount still due and the due date.
On an invoice the message mentions the invoice number, the amount still due and the due date.
In plain words: The first message is built from your templates (chapter 6). For an invoice it reads, for example: “Hello Deco Addict, this is My Company regarding invoice INV/2026/00002 for $48,012.50, due 2026-11-30. Thank you!”

Messages and settings

In plain words: Open Settings → WhatsApp. You can write one message for each kind of document. Each company has its own messages.
Settings → WhatsApp: the three templates and the chatter option.
Settings → WhatsApp: the three templates and the chatter option.
PlaceholderReplaced byWhere it works
{partner_name}The customer's nameall
{company_name}Your company nameall
{user_name}The Odoo user who clicksall
{document_name}S00012 or INV/2026/00002orders, invoices
{amount}The order total, or the invoice amount still dueorders, invoices
{due_date}The invoice due date (empty when paid)invoices
{due_date_part}“, due 2026-11-30”, or nothing when the invoice is paidinvoices
Tip: Write messages in the language of your customers. If you have several languages installed, you can translate each message (open the field and use the translate icon).

Phone numbers that work

In plain words: WhatsApp needs the number with its country code and nothing else. The module cleans the number for you, so people can keep typing numbers the way they like.
Typed in OdooSent to WhatsAppWhy
+971 50 123 4567971501234567spaces and + removed
00971 50 123 4567971501234567leading 00 means international
(+971) 50-123-4567971501234567brackets and dashes removed
050 123 4567971501234567local number: the calling code of the contact's country (or your company's country) is added and the 0 removed
(415) 555-0132 with country United States14155550132country code taken from the contact's country
Important: A local number such as 050… needs a country on the contact (or on your company) to become a full number. If the module cannot make a valid number it tells you, and nothing opens.

The chatter note

Each time someone opens a chat, the module can leave a private note on the record: “Mitchell Admin opened a WhatsApp chat with +971501234567.” It helps the team see who contacted the customer and when. Switch it off under Settings → WhatsApp → Log chats in the chatter.

The note appears in the chatter of the order.
The note appears in the chatter of the order.

For developers

In plain words: Skip this chapter if you only use the module.
ItemDetails
Modeltaqnix.whatsapp.chat (abstract). No data is stored.
chat_url(res_model, res_id, number)RPC returning the https://wa.me/…?text=… link; logs the chat when enabled.
normalize_number(number, country)Returns digits only, or raises UserError.
render_message(record)Fills the company template for the record.
Widgetwidget="wa_phone": use it on any Char field to get the button.
<!-- show the button next to another phone field, for example on employees -->
<field name="mobile_phone" widget="wa_phone"/>

# Python
url = self.env['taqnix.whatsapp.chat'].chat_url('res.partner', partner.id, partner.phone)

Troubleshooting

ProblemWhat to do
There is no WhatsApp buttonThe customer has no phone number, or you need a hard refresh (Ctrl+Shift+R) after installing.
“does not look like a valid phone number”Add the country code (+971…) or set the country on the contact.
WhatsApp says the number is not on WhatsAppThe number is right but the person does not use WhatsApp, or the number is a landline.
The browser blocks the new windowAllow pop-ups for your Odoo address.
The message still has { } wordsA placeholder is misspelled. Use only the ones listed in chapter 6.

Updating and removing

Replace the folder with the new version, restart Odoo and run -u taqnix_whatsapp_click_to_chat. Your messages are kept. To remove it, uninstall it from Apps: the buttons disappear and no data is left on your contacts, orders or invoices (the chatter notes stay as ordinary notes).

Support

Installation help and bug fixes are included for 6 months, with lifetime updates. Contact us through the marketplace page where you bought the module or write to support@taqnix.com with your Odoo version and a screenshot.