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
| You click | What happens |
|---|---|
| The WhatsApp button | WhatsApp opens (the phone app, WhatsApp Desktop or WhatsApp Web) in a chat with that customer. |
| Nothing else | The message is already typed, using your own template. You read it, change it if you like, and press send in WhatsApp. |
What it adds to Odoo
| Where | What you see |
|---|---|
| Contacts | A WhatsApp button under the phone number. |
| Sales Orders | A Phone line under the customer, with the WhatsApp button. |
| Invoices and credit notes | The same line under the customer or vendor. |
| Settings → WhatsApp | Three message templates (contact, sales order, invoice) and one option. |
| Chatter | An optional private note each time a chat is opened (who and which number). |
Requirements
| Item | Details |
|---|---|
| Odoo | 19.0 (Community or Enterprise) |
| Apps needed | Sales and Invoicing (the module depends on sale and account) |
| On the user's computer or phone | WhatsApp installed, or a browser to use WhatsApp Web |
| WhatsApp account | Any normal or Business account of the person who clicks. No API. |
| License | OPL-1 (Odoo Proprietary License v1.0) |
Install
- Unzip the package. Inside is
taqnix_whatsapp_click_to_chat.zip; unzip it to get the foldertaqnix_whatsapp_click_to_chat. - Copy the folder into one of the
addons_pathfolders of your Odoo server and restart Odoo. - Log in as an administrator, activate Developer mode, open Apps and press Update Apps List.
- 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
Ctrl+Shift+R (or Cmd+Shift+R) once to load the new buttons.Using it
- Open the record: a contact, a sales order, or an invoice.
- Click WhatsApp under the phone number.
- WhatsApp opens with the customer's chat and your message typed in.
- Check the message, edit it if you want, and send it from WhatsApp.
Messages and settings
| Placeholder | Replaced by | Where it works |
|---|---|---|
{partner_name} | The customer's name | all |
{company_name} | Your company name | all |
{user_name} | The Odoo user who clicks | all |
{document_name} | S00012 or INV/2026/00002 | orders, invoices |
{amount} | The order total, or the invoice amount still due | orders, invoices |
{due_date} | The invoice due date (empty when paid) | invoices |
{due_date_part} | “, due 2026-11-30”, or nothing when the invoice is paid | invoices |
Phone numbers that work
| Typed in Odoo | Sent to WhatsApp | Why |
|---|---|---|
| +971 50 123 4567 | 971501234567 | spaces and + removed |
| 00971 50 123 4567 | 971501234567 | leading 00 means international |
| (+971) 50-123-4567 | 971501234567 | brackets and dashes removed |
| 050 123 4567 | 971501234567 | local 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 States | 14155550132 | country code taken from the contact's country |
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.
For developers
| Item | Details |
|---|---|
| Model | taqnix.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. |
| Widget | widget="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
| Problem | What to do |
|---|---|
| There is no WhatsApp button | The 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 WhatsApp | The number is right but the person does not use WhatsApp, or the number is a landline. |
| The browser blocks the new window | Allow pop-ups for your Odoo address. |
| The message still has { } words | A 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.