📲 WhatsApp Saudi – Complete ERPNext WhatsApp Integration Guide

Aysha Sithara
Aysha Sithara
Mar 3, 2026·30 min
📲 WhatsApp Saudi – Complete ERPNext WhatsApp Integration Guide

In today’s competitive business environment, instant communication is no longer optional — it’s expected. Customers want invoice updates, promotions, and order confirmations immediately on WhatsApp.

WhatsApp Saudi is a powerful ERPNext application built on the Frappe Framework that enables businesses to send automated WhatsApp messages directly from ERPNext using multiple providers — all managed centrally from a single system.

This article explains:

  • Supported WhatsApp providers

  • Configuration steps

  • Notification setup workflow

  • Template vs free-text messaging

  • Webhook handling

  • Logging architecture

  • Internal system flow

Let’s dive in.

🚀 What is WhatsApp Saudi?

WhatsApp Saudi is a custom ERPNext integration app that allows businesses to:

  • Send automated invoices via WhatsApp

  • Deliver promotional campaigns

  • Send template-based business messages

  • Handle incoming replies via webhook

  • Log both successful and failed messages

  • Maintain full audit visibility

The system is designed for flexibility, scalability, and compliance with WhatsApp Business policies.

🔌 Supported WhatsApp Providers

The application supports three providers:

1️⃣ Whatsa.Net

2️⃣ Rasayel

3️⃣ Bevatel

Each provider has its own API authentication and messaging format, but all are configured centrally from the WhatsApp Saudi Settings DocType inside ERPNext.

🟢 Whatsa.Net Integration (Free Text + Webhook Support)

Whatsa.Net is ideal for businesses that need more flexible messaging.

Required Credentials:

  • Token

  • Instance ID

  • File URL

  • Message URL

These are configured in WhatsApp Saudi Settings.

🧪 Test Message Feature

A dedicated “To Number (for testing)” field allows administrators to validate:

  • Token validity

  • Instance activation

  • API connectivity

Clicking Send Test Message sends a live WhatsApp message to verify configuration instantly.

🔄 Webhook-Based Response Handling

Whatsa.Net supports two-way communication.

When a customer replies:

  1. Whatsa.Net sends the message to a configured webhook URL.

  2. ERPNext receives the payload.

  3. The reply is stored inside the WhatsApp Response DocType.

This enables:

  • Conversation history tracking

  • Customer response monitoring

  • Automation based on replies

🟡 Rasayel Integration (Template-Based Messaging)

Rasayel operates strictly under WhatsApp Business template guidelines.

It is ideal for:

  • Transactional notifications

  • Promotional campaigns

  • Structured communication

Required Credentials:

  • Authorization Token

  • Channel ID

  • Template ID

  • File Upload URL

  • Message URL

⚠️ Important: Full free-text messages are NOT allowed.

Only approved WhatsApp Business templates can be used.

Inside ERPNext Notification, you must pass:

message_template_id=450588
var1={doc.name}
var2={doc.customer}

The actual content is controlled from Rasayel’s dashboard.

🔵 Bevatel Integration (Arabic & Multi-language Support)

Bevatel is a WhatsApp Business API provider that supports:

  • Template-based transactional messages

  • Promotional campaigns

  • Arabic and multi-language templates

Unlike Whatsa.Net, Bevatel requires strictly pre-approved templates.

Required Credentials:

  • Access Token

  • Account ID

  • Inbox ID

  • API URL

  • Template Name

  • Language

  • Template Message Format

Example configuration in ERPNext Notification:

message_template_id="promo_code2"
language="ar"
var1="{{doc.customer_name}}"

Only template references and variables are passed — content remains managed inside Bevatel.

⚙️ Step-by-Step: How to Configure WhatsApp Notifications in ERPNext

Here’s the complete workflow.

Step 1: Create a New Notification

Navigate to:

ERPNext → Settings → Notification

Click New.

Step 2: Select Channel

Set:

Channel = WhatsApp Saudi

This ensures messages are routed via WhatsApp instead of Email or SMS.

Step 3: Select Document Type

Choose which DocType should trigger the message.

Examples:

  • Sales Invoice

  • Quotation

  • Delivery Note

  • Promo Code

  • Any custom DocType

Step 4: Set Trigger Event

Choose when the message should send:

  • On Submit

  • On Save

  • On Cancel

  • On Update

  • Value Change

Example: Send invoice notification when a Sales Invoice is submitted.

Step 5: Add Condition (Optional)

You can add logic like:

doc.status == "Paid"
doc.grand_total > 1000

If the condition evaluates to True, the message is sent.

Step 6: Define Recipient Mobile Field

Select the field that contains the customer’s mobile number.

Examples:

Make sure this field exists in the selected DocType.

Step 7: Add Message Content

For Whatsa.Net:

You can write the full message:

Dear {doc.customer_name}

Your invoice {doc.name} has been generated.

Total Amount: {doc.grand_total}

Thank you.

For Rasayel & Bevatel:

Only pass template ID and variables.

No free-text allowed.

Step 8: Attach PDF (Optional)

Enable Attach Print if you want to send the document as PDF.

Select the required Print Format.

Step 9: Save & Enable

Click Save and make sure the Notification is Enabled.

Done 🎉

🔁 What Happens Internally? (System Flow)

Once enabled:

  1. Document event occurs

  2. ERPNext evaluates condition

  3. Channel identified as WhatsApp Saudi

  4. Active provider detected

  5. Credentials fetched

  6. Payload constructed

  7. API request sent

  8. Response processed

If successful → Entry created in WhatsApp Saudi Success Log

If error occurs → Logged in ERPNext Error Log

If Whatsa.Net receives reply → Stored in WhatsApp Response DocType

📊 Error Handling & Logging Architecture

The system provides full transparency.

Error Log

Logs:

  • Authentication issues

  • Template mismatch

  • API failures

  • Network errors

Success Log (Custom DocType)

Stores:

  • API response

  • Recipient number

  • Timestamp

  • Status

This ensures complete auditability.

🎥 Watch the Complete Workflow Video

To see the entire setup and workflow in action, watch the full tutorial below:

👉 https://youtu.be/HomfImYk3gc?si=x7rlCQewDWj-t_Bq

Aysha Sithara
Written by Aysha Sithara
Product Manager