<link href="https://fonts.googleapis.com/css2?family=Caveat:wght@400..700&family=Google+Sans+Flex:opsz,wght@6..144,1..1000&display=swap" rel="stylesheet">
WhatsApp Business Platform

ERPNext WhatsApp integration

Reach customers where they actually reply. Email gets to a spam folder, a printed invoice gets to a filing tray, and neither gets read on a shop floor. WhatsApp does. Which is exactly why it needs discipline: the same reach that makes a dispatch update useful makes an unwanted broadcast a reason to block you.

This uses the official WhatsApp Business Platform through a provider, not an unofficial automation of a personal account.

Can ERPNext send WhatsApp messages automatically?

Yes, through the WhatsApp Business Platform via an approved provider. Document events in ERPNext — a submitted invoice, a dispatched delivery note, a payment request — trigger pre-approved message templates to the customer's number, with the document attachable as a PDF and delivery status written back.

Where WhatsApp automation goes wrong

The technical side is simple. The ways businesses get this wrong are almost entirely about policy and judgement.

Unofficial tools get the number banned

Automating a personal or business app account through an unofficial library breaches the platform's terms. It works until the number is restricted, at which point you lose the channel and the conversation history with it. There is no recovery worth planning around.

Templates are not approved in advance

Business-initiated messages have to use templates approved by the platform. Discovering that mid-project, or having a template rejected days before go-live, is the most common cause of delay on this integration.

Consent is assumed rather than recorded

Having someone's number because they bought from you is not the same as having permission to message them. Without a recorded opt-in and a working opt-out, complaints accumulate and quality rating falls.

Everything becomes a notification

Once it works, the temptation is to send every status change. Recipients mute or block, and the messages that genuinely matter — a dispatch, a payment link — stop being seen.

What we set up

A small number of messages that people are glad to receive beats a comprehensive notification scheme nobody reads.

Document-triggered messages

Submitting an invoice, dispatching a delivery note or raising a payment request sends the matching template to the party's number, with the document attached as a PDF where the template allows.

What that means in practice

Triggered from the document event itself, so nobody has to remember to send anything.

Template design and submission

Templates are written to fit both the platform's rules and how you actually speak to customers, then submitted for approval early enough that rejection is not a go-live risk.

What that means in practice

Variables are mapped to document fields, so one approved template serves every invoice rather than needing one per case.

Consent and opt-out

Opt-in is recorded against the contact with its source and date, and an opt-out keyword stops messaging immediately and permanently for that number.

What that means in practice

This is what protects the channel. A falling quality rating restricts your ability to message everyone, not just the complainant.

Delivery status written back

Sent, delivered, read and failed statuses return to the document, so a failed dispatch notification is visible rather than assumed successful.

What that means in practice

Useful in collections particularly — knowing a payment reminder was read changes the follow-up conversation.

Internal alerts as well as customer messages

The same channel carries approval requests, stock alerts and exception notifications to your own team, which is often where it earns its keep fastest.

What that means in practice

Internal messaging to opted-in staff avoids most of the consent complexity while solving a real response-time problem.

What triggers what, and what comes back

Each trigger is switched on deliberately. The default position is that a message is not sent.

ERPNext eventWhatsApp messageDirectionNotes
Sales Order submittedOrder confirmation templateERPNext → WhatsAppOrder number, value and expected date as variables
Sales Invoice submittedInvoice template + PDFERPNext → WhatsAppAttachment subject to template type and size limits
Payment Request raisedPayment link templateERPNext → WhatsAppWorks with the payment gateway setup
Delivery Note submittedDispatch templateERPNext → WhatsAppVehicle and docket number where captured
Payment overdueReminder templateERPNext → WhatsAppScheduled, throttled, and skipped for opted-out numbers
Approval requiredInternal alertERPNext → WhatsAppTo opted-in staff numbers
Delivery statusWritten back to the documentWhatsApp → ERPNextSent, delivered, read or failed
Opt-out keywordContact marked unsubscribedWhatsApp → ERPNextImmediate and permanent for that number
Inbound replyComment on the document or contactWhatsApp → ERPNextOptional; keeps the conversation with the record

How it goes in

Template approval sits on the critical path, so it starts first regardless of what else is happening.

  1. 1

    Choose the messages worth sending

    A short list, decided by whether a recipient would be glad to receive it. Everything else stays off. This conversation determines whether the channel stays valuable.

  2. 2

    Submit templates early

    Templates are drafted and submitted for approval before configuration begins, because approval time is outside anyone's control and rejection means a rewrite.

  3. 3

    Connect the Business Platform account

    Your WhatsApp Business account and provider credentials are configured, with the number verified and the display name approved. The account is contracted in your own name.

  4. 4

    Build consent handling

    Opt-in capture, the opt-out keyword and suppression on send are configured together, and tested by opting a number out and confirming it stops receiving.

  5. 5

    Pilot on one message type

    One template goes live to a limited group for a fortnight. Delivery rates, replies and complaints are reviewed before anything else is switched on.

Timeline shown is indicative and excludes template approval and business verification, both of which sit with the platform rather than with us.

What this does not do

Most of these are platform rules rather than integration choices, which means no amount of engineering changes them.

  • It does not automate a personal WhatsApp account. That breaches the platform's terms and risks the number being restricted, so we will not build it.
  • It does not allow free-form business-initiated messages. Outside an open customer-initiated conversation window, business messages must use approved templates.
  • It does not remove per-message platform charges. Conversation pricing is set by the platform and billed to your own account.
  • It does not guarantee template approval. Templates are written to the rules but approval is the platform's decision and can be refused or withdrawn.
  • It is not a marketing broadcast tool. Bulk promotional messaging to numbers that did not opt in damages quality rating and eventually the ability to message anyone.

The channel is worth protecting. Almost everything on this list exists to stop a short-term gain costing you the ability to reach customers at all.

ERPNext & WhatsApp —common questions

Yes, a WhatsApp Business Platform account with a verified number and approved display name, contracted in your own name through a provider. The ordinary WhatsApp Business app is a different product and is not what this integrates with.

Yes, subject to the template type and the platform's attachment size limits. For larger documents the common pattern is a secure link rather than an attachment, which also lets you see whether it was opened.

Outside a customer-initiated conversation window, business messages must use templates approved in advance. Within that window free-form replies are allowed. It is a platform rule, and working around it is what gets numbers restricted.

A keyword reply marks the contact unsubscribed immediately and permanently for that number, and every subsequent send checks that flag. Honouring opt-outs properly protects your quality rating, which governs your ability to message everyone else.

Yes, and it is one of the more effective uses. Reminders are scheduled, throttled so a customer is not messaged repeatedly, and suppressed for opted-out numbers. Delivery and read status returning to the document changes how collections follows up.

The platform charges per conversation, billed to your own account, with rates varying by conversation category and country. That is separate from implementation. Choosing a small number of high-value messages keeps the running cost proportionate.

Next step

Talk to us about customer notifications

A short call about which updates your customers actually want and which ones would just get you muted.

WhatsApp and the WhatsApp Business Platform are products of Meta Platforms, Inc. ERPNext and Frappe are trademarks of Frappe Technologies Pvt. Ltd. These names are used here only to identify the services described. Finstein is not affiliated with or endorsed by Meta Platforms, Inc., and WhatsApp Business accounts are contracted directly in your own name.

ERPNext CalculatorContact Us