Skip to main content

Why Integrate SMS with ERPNext?

ERPNext is a powerful open-source ERP built on the Frappe framework, used by thousands of businesses for accounting, inventory, CRM, HR, and manufacturing. Integrating SMS turns ERPNext into a customer communication hub — sales invoices trigger instant SMS confirmations, delivery notes send dispatch alerts, payment entries acknowledge receipts, and CRM leads get automated follow-ups.

ERPNext has a built-in SMS Settings module that makes gateway configuration straightforward. Configure the SpringEdge API URL and parameters once, and SMS is available across every transaction document in the system.

Invoice SMS

Auto-notify customers when a Sales Invoice is submitted with invoice number, amount, and due date

Delivery Alerts

SMS dispatch notifications when a Delivery Note is submitted with tracking details

Payment Receipts

Instant SMS acknowledgement when a Payment Entry is recorded against an invoice

CRM Lead Alerts

Notify sales reps via SMS when new leads are captured or opportunities change stage

Before You Begin

Make sure you have these ready:

  • An ERPNext instance (self-hosted or ERPNext cloud — version 13 or higher recommended)
  • Administrator access to ERPNext with permission to modify SMS Settings
  • A SpringEdge SMS account with API access — sign up free
  • Your SpringEdge API key from the dashboard
  • A DLT-approved sender ID (e.g. SEDEMO)
  • A DLT-approved SMS template for each event (invoice, delivery, payment)

Step-by-Step ERPNext SMS Setup with SpringEdge

Complete configuration walkthrough using ERPNext's built-in SMS Settings.

Step 1: Open SMS Settings in ERPNext

Navigate to Home → Settings → SMS Settings in your ERPNext instance. You can also search for "SMS Settings" in the search bar (Ctrl+K / Cmd+K).

Step 2: Configure the SMS Gateway URL

In the SMS Gateway URL field, enter the SpringEdge API endpoint up to the ? character:

https://web.springedge.com/web/api/send/?

Important: Include the trailing ? at the end. ERPNext appends the parameters after this character automatically.

Step 3: Set Message and Receiver Parameters

Configure the two dynamic parameter names that ERPNext will populate automatically:

ERPNext Field Value to Enter What It Does
Message ParametermessageERPNext passes the SMS text in this parameter
Receiver ParametertoERPNext passes the recipient's mobile number in this parameter

Step 4: Add Static Parameters

In the Static Parameters table, add your SpringEdge authentication and sender details. Click Add Row for each parameter:

Parameter Value Notes
apikeyYour SpringEdge API keye.g. ahgkd5fhk6ahdkrd5yfbhck6
senderYour DLT-approved sender IDe.g. SEDEMO (6 characters)

Step 5: Save and Test via SMS Center

Click Save to store your SMS Settings. Then navigate to SMS Center (search for it in the search bar) to send a test SMS:

  • Enter a test mobile number
  • Type a test message (must match a DLT-approved template)
  • Click Send
  • Verify delivery in your SpringEdge dashboard under SMS Logs

Complete ERPNext SMS Settings Summary

Here's the full configuration at a glance — copy these values into your ERPNext SMS Settings page:

Field Value
SMS Gateway URLhttps://web.springedge.com/web/api/send/?
Message Parametermessage
Receiver Parameterto
Static Parameter 1apikey = YOUR_API_KEY
Static Parameter 2sender = YOUR_SENDER_ID

The resulting API call ERPNext makes looks like:

GET https://web.springedge.com/web/api/send/
  ?apikey=ahgkd5fhk6ahdkrd5yfbhck6
  &sender=SEDEMO
  &to=919876543210
  &message=Dear+Customer%2C+your+invoice+SINV-2026-00142+for+Rs.25%2C000+has+been+generated.+-+SEDEMO

How to Send SMS from ERPNext Transactions

Once SMS Settings are configured, you can send SMS from any transaction document in ERPNext. There are two ways:

Manual: Send from Any Document

Open any submitted document (Sales Invoice, Delivery Note, Payment Entry, Quotation, etc.), click Menu (…)Send SMS. ERPNext will pre-fill the customer's mobile number and let you type or select a message template. Click Send.

Automatic: Use Notification Rules

For automated SMS on every transaction, set up Notification rules:

  • Go to Home → Settings → Notification
  • Click New
  • Channel: SMS
  • Document Type: Sales Invoice (or Delivery Note, Payment Entry, etc.)
  • Event: Submit (triggers when the document is submitted)
  • Condition: optional filter (e.g. doc.grand_total > 1000)
  • Recipients: select the mobile number field (e.g. contact_mobile)
  • Message: use Jinja template with ERPNext fields, e.g.:
    Dear {{ doc.customer_name }}, invoice {{ doc.name }} for Rs.{{ doc.grand_total }} has been generated. Due: {{ doc.due_date }}. - SEDEMO
  • Save and enable the notification

DLT compliance: Make sure the final rendered message (after Jinja substitution) matches your DLT-approved template exactly — including punctuation, spacing, and variable positions. Mismatched templates are blocked by Indian telecom operators.

What You Can Automate from ERPNext

Popular SMS workflows businesses run from ERPNext modules.

Sales Invoice SMS

Auto-notify customers on invoice submission with invoice number, total, and payment due date.

Delivery Note SMS

Alert customers when goods are dispatched with delivery date, transporter, and tracking details.

Payment Entry SMS

Instant acknowledgement when customer payment is recorded. Includes amount and outstanding balance.

Quotation / Estimate

Notify customers when a quotation is submitted and alert sales team when it's approved or rejected.

Purchase Order SMS

Notify suppliers via SMS when a purchase order is confirmed and ready for fulfilment.

CRM Lead Alerts

SMS sales reps when new leads are captured, opportunities progress, or high-value deals close.

HR & Leave

Notify employees on leave approval, attendance alerts, and payroll processing from the HR module.

Stock Reorder SMS

Internal alerts when stock levels fall below reorder point — notifies purchase team to replenish.

Troubleshooting Common Issues

If SMS isn't going out from ERPNext, check these.

SMS Not Sending

Verify the Gateway URL ends with ? and that the static parameters (apikey, sender) have correct values with no extra spaces.

DLT Template Blocked

The final rendered message must match your DLT-approved template exactly. Check Jinja output for extra spaces, wrong variable order, or missing brand suffix.

Wrong Number Format

ERPNext may store mobile numbers with +91 prefix. SpringEdge accepts 919876543210 format. Check the Contact's mobile field.

Notification Not Triggering

If using Notification rules, ensure the channel is set to SMS (not Email), the event matches (Submit vs Save), and conditions are met.

No Mobile on Contact

SMS won't send if the customer's Contact record doesn't have a mobile number. Update the Contact linked to the Customer master.

Firewall / HTTPS Issue

ERPNext server needs outbound HTTPS access to web.springedge.com. Check server firewall if API calls are timing out.

Frequently Asked Questions

Common questions about ERPNext SMS integration.

  • How do I send SMS from ERPNext?

    Go to Settings → SMS Settings in ERPNext. Enter the SpringEdge Gateway URL (https://web.springedge.com/web/api/send/?), set the Message Parameter to message and Receiver Parameter to to. Add your SpringEdge API key and sender ID as Static Parameters. Save, then test via SMS Center. Once configured, you can send SMS from any document via Menu → Send SMS, or automate it using Notification rules.

  • No. ERPNext has a built-in SMS Settings module that lets you configure any HTTP-based SMS gateway through the admin UI. You just paste the SpringEdge API URL, set parameter names, and add your credentials as static parameters. No Python code, no custom app, no Frappe bench commands needed. For automated SMS on transactions, use the built-in Notification rules (also no code).

  • Yes. The SMS Settings module is available on both ERPNext Cloud (hosted by Frappe) and self-hosted ERPNext instances. The configuration process is identical. For self-hosted instances, make sure your server has outbound HTTPS access to web.springedge.com.

  • Yes. Create a Notification rule: go to Settings → Notification → New. Set Channel to SMS, Document Type to Sales Invoice, Event to Submit, and write your message template using Jinja syntax (e.g. {{ doc.customer_name }}, {{ doc.grand_total }}). Every submitted Sales Invoice will trigger an SMS automatically.

  • Almost all ERPNext documents support SMS via the Menu → Send SMS action and through Notification rules. Common ones: Sales Invoice, Sales Order, Delivery Note, Payment Entry, Purchase Order, Quotation, Lead, Opportunity, Material Request, Stock Entry, Leave Application, Payroll Entry, and any custom DocType you create.

  • Yes. Any SMS to Indian mobile numbers must use a DLT-approved sender ID and a DLT-approved message template. Make sure your ERPNext Notification message templates (after Jinja rendering) match the registered DLT template exactly — including punctuation, spacing, and variable positions.

  • Yes. ERPNext's Notification system supports full Jinja2 templating. You can reference any field on the document using {{ doc.field_name }} syntax — for example {{ doc.customer_name }}, {{ doc.grand_total }}, {{ doc.due_date }}. The rendered output is what gets sent via the SpringEdge API, so make sure it matches your DLT template.

  • SpringEdge uses pay-as-you-go pricing starting at ₹0.14–₹0.16 per SMS depending on volume. No monthly subscription, no setup fees, no minimum commitments. You only pay for the messages sent from ERPNext. Visit our pricing page for detailed rates and volume discounts.