Skip to content

Odoo WhatsApp Integration: Send Messages from Your ERP

DeployMonkey Team · March 22, 2026 11 min read

Why WhatsApp + Odoo?

WhatsApp has 2+ billion users. Your customers read WhatsApp messages (98% open rate) but ignore emails (20% open rate). Integrating WhatsApp with Odoo means: invoice reminders that actually get read, delivery notifications customers see instantly, and support conversations in the app they already use.

Integration Options

MethodCostCapability
WhatsApp Business API (official)Per-conversation pricingFull: templates, media, buttons
Twilio WhatsApp$0.005-0.08/messageFull via Twilio API
Community modulesFree to $200Varies (some use unofficial API)
Odoo 18+ built-inIncludedBasic WhatsApp via official API

Setup with WhatsApp Business API

Prerequisites

  • Facebook Business account
  • WhatsApp Business API access (apply via Meta)
  • Verified business phone number
  • Approved message templates

Step 1: Meta Business Setup

  1. Create a Meta Business account
  2. Add WhatsApp Business product
  3. Register a phone number
  4. Create message templates (require approval)

Step 2: Template Examples

# Invoice Reminder Template:
"Hi {{1}}, your invoice #{{2}} for {{3}} is due on {{4}}.
Pay online: {{5}}
Thank you!"

# Order Confirmation:
"Hi {{1}}, your order #{{2}} has been confirmed!
Estimated delivery: {{3}}
Track: {{4}}"

# Delivery Notification:
"Hi {{1}}, your package is out for delivery today!
Order: #{{2}}
Tracking: {{3}}"

# Appointment Reminder:
"Hi {{1}}, reminder: your appointment is scheduled for
{{2}} at {{3}}. Reply YES to confirm or RESCHEDULE to change."

Step 3: Odoo Integration

# Custom Odoo module for WhatsApp
class WhatsAppService:
    def __init__(self, phone_id, access_token):
        self.phone_id = phone_id
        self.access_token = access_token
        self.api_url = f"https://graph.facebook.com/v18.0/{phone_id}/messages"

    def send_template(self, to, template_name, parameters):
        payload = {
            "messaging_product": "whatsapp",
            "to": to,
            "type": "template",
            "template": {
                "name": template_name,
                "language": {"code": "en"},
                "components": [{
                    "type": "body",
                    "parameters": [
                        {"type": "text", "text": p} for p in parameters
                    ]
                }]
            }
        }
        headers = {
            "Authorization": f"Bearer {self.access_token}",
            "Content-Type": "application/json"
        }
        response = requests.post(self.api_url, json=payload, headers=headers)
        return response.json()

Use Cases

Sales

  • Quotation sent notification
  • Order confirmation with details
  • Payment received confirmation
  • Upsell / cross-sell messages

Accounting

  • Invoice sent notification with pay link
  • Payment reminder (7 days, 14 days, 30 days overdue)
  • Payment received thank you

Inventory / Delivery

  • Order shipped notification with tracking
  • Out for delivery notification
  • Delivery confirmation
  • Restock notification for B2B customers

Support

  • Ticket created confirmation
  • Ticket resolved notification
  • Customer satisfaction survey

Automated Triggers

# In Odoo, trigger WhatsApp messages via automated actions:
# Settings → Technical → Automated Actions

# Trigger: Invoice becomes overdue
# Action: Send WhatsApp reminder template
# Condition: invoice_date_due < today AND payment_state != 'paid'

# Trigger: Delivery order validated
# Action: Send WhatsApp delivery notification
# Condition: state = 'done' AND partner has mobile number

Best Practices

  • Only send messages customers have opted in for
  • Use approved templates for first messages (WhatsApp policy)
  • Include opt-out option in every message
  • Do not spam — limit to transactional and important notifications
  • Test templates in sandbox before production

DeployMonkey + WhatsApp

DeployMonkey's AI agent can help configure WhatsApp integration for your Odoo instance — template creation, automated triggers, and API setup. Send transactional messages that your customers actually read.