Connecting ERPNext to WhatsApp lets you auto-send invoices as PDFs and fire order, delivery, and payment alerts the moment a document changes in your ERP. You do it through Meta's official WhatsApp Business Cloud API, driven either by a native Frappe app or by an n8n workflow. Both keep your data on infrastructure you control.
Short answer
To integrate ERPNext with WhatsApp, connect it to the WhatsApp Business Cloud API from Meta. The simplest route is the open-source frappe_whatsapp app: install it, add your access token and phone number ID, sync Meta-approved templates, then create WhatsApp Notifications tied to DocType events like Sales Invoice submit. For more complex logic, route ERPNext webhooks through n8n instead.
I am Manoj, an ERPNext implementation consultant at Mith Tech in Bengaluru, and WhatsApp is the single most-requested integration from the Indian SMBs I work with. Customers here read WhatsApp; they ignore email. This guide is the exact playbook I use to move invoice delivery and status alerts onto WhatsApp without hacks. My honest take: the technology is the easy part now, but Meta's template approval and business verification are where projects stall, so start those on day one, not the day before go-live.
What is ERPNext WhatsApp integration?
ERPNext WhatsApp integration is the practice of wiring your ERP to Meta's WhatsApp Business Cloud API so that ERP events — a submitted invoice, a dispatched delivery, a received payment — trigger automated WhatsApp messages to customers. Messages send from your verified business number, with document data merged into pre-approved templates.
Two facts shape every implementation. First, this uses the official Cloud API, a REST service Meta hosts, so there is no browser session to keep alive and no ban risk from unofficial tooling. Second, business-initiated messages sent outside a customer's 24-hour reply window must use templates Meta has reviewed and approved. Free-form replies are allowed only inside that 24-hour service window. ERPNext itself is free and open source under GPLv3; you can read more on our ERPNext page.
Skimmable summary: ERPNext WhatsApp integration connects your ERP to Meta's official Cloud API to auto-send templated invoices and status alerts from your verified business number.
Which approach should you use: a Frappe app or n8n?
Choosing the delivery method comes down to how much branching logic you need. A native Frappe app handles the common case — send this document to that customer on this event — entirely inside ERPNext. An n8n workflow suits fan-out scenarios where one ERP event drives WhatsApp plus several other systems, or where routing depends on conditions.
Here is how I decide on client projects:
| Factor | Frappe app (frappe_whatsapp) | n8n workflow |
|---|---|---|
| Where logic lives | Inside ERPNext (WhatsApp Notification DocType) | External n8n instance |
| Best for | Direct event → message, PDF attach | Multi-step, multi-system, conditional routing |
| Trigger source | DocType events natively | ERPNext webhook into n8n |
| Two-way inbound chat | Yes, with conversation tracking | Possible, more assembly required |
| Extra infra to run | None beyond ERPNext | A hosted or self-hosted n8n |
| Learning curve | Frappe/ERPNext admin skills | Visual workflow building |
Many teams run both: the Frappe app for clean transactional notifications, and n8n for the messy cross-system automations. If you have not set up n8n yet, start with our ERPNext n8n integration guide.
Skimmable summary: use the frappe_whatsapp app for direct document-to-message alerts, and n8n when one ERP event must branch or fan out to several systems.
What do you need before you start?
Preparation happens on Meta's side, and it gates everything else. Getting these prerequisites in place early is the difference between a one-week and a one-month project, because business verification and template review both run on Meta's timeline, not yours.
A Meta Business app with WhatsApp added
Create a Business-type app at developers.facebook.com and add the WhatsApp product to it. This gives you access to the Cloud API and a test phone number to trial sends.
Your Cloud API credentials
Note your Phone Number ID, WhatsApp Business Account ID, and App ID. The Phone Number ID is an internal identifier, different from the displayed phone number — most API calls use the ID.
A permanent access token
Temporary tokens expire in hours. Create a System User in Business Settings and issue a long-lived token scoped to WhatsApp. This is what your ERPNext app or n8n will authenticate with.
Business verification
To send at scale without limits, complete Meta business verification by uploading official documents. Approval typically takes a few business days, so begin immediately.
At least one approved message template
Draft the templates you will send — invoice notice, order confirmation, dispatch alert — and submit them for review. Approval commonly lands within hours but can take a day or two, and first-round rejections are common, so leave buffer.
Templates are mandatory for you-first messages
You can reply freely for 24 hours after a customer messages you. But to initiate a message — which is what an automated invoice alert is — you must use an approved template. Design your invoice, order, and payment messages as templates from the start.
Skimmable summary: before any code, you need a Meta Business app with WhatsApp, your phone number ID, a permanent token, completed business verification, and approved templates.
How do you send ERPNext invoices on WhatsApp with a Frappe app?
The native route uses frappe_whatsapp, an MIT-licensed open-source app that talks directly to Meta's Cloud API. Once installed and configured, it exposes a WhatsApp Notification DocType that behaves like ERPNext's email alerts — but sends WhatsApp templates, and can attach the generated invoice PDF.
Install the app on your bench
Run bench get-app https://github.com/shridarpatil/frappe_whatsapp then bench --site yoursite install-app frappe_whatsapp. On managed hosting, your provider or partner installs it for you.
Add your WhatsApp account settings
In the WhatsApp settings, enter Account Name, Access Token, Phone Number ID, Business Account ID, App ID, and a Webhook Verify Token. These come from your Meta app.
Sync your approved templates
Pull your Meta-approved templates into ERPNext so they are selectable in notifications. Templates must already be approved on Meta's side.
Create a WhatsApp Notification for Sales Invoice
Add a new WhatsApp Notification, set the reference DocType to Sales Invoice, choose the event (for example, On Submit), and select your invoice template.
Map template parameters to invoice fields
Bind template variables to fields like customer name, invoice number, grand total, and due date. Add a Python condition if you only want it to fire for certain conditions.
Attach the PDF and test
Enable the invoice PDF attachment, then submit a test Sales Invoice to a number in your test allow-list and confirm the message and attachment arrive.
The same DocType handles your other alerts. Point new notifications at Sales Order (order confirmed), Delivery Note (dispatched), and Payment Entry (payment received), each with its own approved template. Because the app also supports two-way messaging, replies land back in ERPNext with conversation tracking.
Skimmable summary: install frappe_whatsapp, enter your Cloud API settings, sync approved templates, then create a WhatsApp Notification on Sales Invoice submit that maps fields and attaches the PDF.
How do you send WhatsApp alerts through n8n instead?
The n8n route decouples the trigger from the send. ERPNext fires a webhook on a DocType event; an n8n Webhook node catches it; and the WhatsApp Business Cloud node sends the message. This shines when one event must also update a CRM, log a sheet, or branch on a condition.
Create an ERPNext webhook
In ERPNext, go to Integrations then Webhook. Set the DocType to Sales Invoice, the event to on_submit, and the request URL to your n8n Webhook node's production URL. Secure it with a shared-secret header.
Receive and shape the payload in n8n
The Webhook node receives the invoice data. Add nodes to look up the customer's phone number and format the values your template expects.
Add the WhatsApp Business Cloud node
Drop in the WhatsApp Business Cloud node, authenticate it with your Cloud API credentials, choose the send-template operation, and map the template parameters to the invoice fields.
Branch and extend
Add IF or Switch nodes to route by region, amount, or customer type, and fan out to other systems in the same workflow.
Attaching PDFs via n8n
The WhatsApp Business Cloud node can send media. To attach an invoice PDF, have n8n fetch the printed PDF from ERPNext's REST API, then reference it as a document in the WhatsApp message.
Skimmable summary: fire an ERPNext webhook on invoice submit into n8n, shape the payload, then use the WhatsApp Business Cloud node to send a template — ideal when logic must branch or reach multiple systems.
What are the best first alerts to automate?
Start with the transactional moments customers actually want confirmed. These four cover most of the value and map cleanly to standard ERPNext DocTypes, so you can ship them without customisation.
Invoice sent
Trigger on Sales Invoice submit. Send the invoice number, amount, and due date with the PDF attached. Cuts "please resend the bill" calls sharply.
Order confirmed
Trigger on Sales Order submit. Reassure the customer their order is booked, with the order reference and expected value.
Delivery dispatched
Trigger on Delivery Note submit. Notify that goods have left, optionally with a tracking reference.
Payment received
Trigger on Payment Entry submit. Acknowledge the payment and outstanding balance — a professional touch that builds trust.
Skimmable summary: automate invoice sent, order confirmed, delivery dispatched, and payment received first — each maps to a standard DocType submit event.
Frequently asked questions
Does ERPNext have WhatsApp integration built in?
Core ERPNext does not ship a WhatsApp sender by default, but the open-source frappe_whatsapp app adds it natively as an installable Frappe app. Once installed, WhatsApp Notifications behave like ERPNext's email alerts. Frappe's own CRM product also offers WhatsApp messaging inside lead and deal pages.
Do I need the WhatsApp Business API or is the normal app enough?
You need the WhatsApp Business Cloud API from Meta. The consumer WhatsApp and WhatsApp Business apps cannot be automated from ERPNext safely. Avoid unofficial libraries that automate the consumer app — they violate WhatsApp's terms and risk your number being banned.
Why do my WhatsApp messages need approved templates?
Any message your business sends first — including an automated invoice alert — falls outside the customer's 24-hour reply window, and WhatsApp requires those to use templates it has reviewed. Approval usually takes hours but can run a day or two, and early rejections happen, so submit templates well before launch.
Is the frappe_whatsapp app free?
Yes. The frappe_whatsapp app is open source under the MIT licence, so there is no licence fee for the app itself. You will still deal directly with Meta for the WhatsApp Business Platform. Conversation-based charges and any edition-specific costs vary — check Meta's official pricing page for current figures.
Can I receive replies, not just send alerts?
Yes. The frappe_whatsapp app supports two-way messaging with conversation tracking, so customer replies land back in ERPNext. Within the 24-hour service window after a customer messages you, your team can reply in free-form text without a template.
Can I connect ERPNext WhatsApp to an AI assistant?
You can. Route inbound WhatsApp messages through n8n to an AI model, then write results back to ERPNext. We cover the ERP-side wiring in our guide on connecting ERPNext to ChatGPT and Claude via MCP.
About the author
Manoj is an ERPNext implementation consultant at Mith Tech, an independent open-source ERPNext and Frappe studio in Bengaluru. He designs WhatsApp, automation, and integration workflows for Indian SMBs running ERPNext, and writes these guides from real client implementations rather than theory.