Skip to main content
Multi-Gateway SMS Hub for ERPNext — A pluggable SMS layer for ERPNext that routes transactional and marketing messages across — 1/1Illustrative preview

A pluggable SMS layer for ERPNext that routes transactional and marketing messages across MSG91,

Twilio, Vonage, Infobip, Sinch and regional gateways from a single DocType, with DLT-compliant templates, delivery receipts and two-way inbound routing.

ECOSIRE builds, installs and supports it on your Frappe/ERPNext v15/v16 site.

What is Multi-Gateway SMS Hub for ERPNext?

A pluggable SMS layer for ERPNext that routes transactional and marketing messages across MSG91, Twilio, Vonage, Infobip, Sinch and regional gateways from a single DocType, with DLT-compliant templates, delivery receipts and two-way inbound routing. ECOSIRE builds, installs and supports it on your Frappe/ERPNext v15/v16 site. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Pluggable gateway layer: each of MSG91, Twilio, Vonage, Infobip and Sinch is a configured SMS Gateway record implementing a shared send/receive interface
Priority- and weight-based routing with automatic failover to the next gateway on carrier or HTTP error
Country-prefix and message-type routing rules (transactional vs promotional) so domestic and international traffic take the right route
DLT-compliant template and sender-ID management: SMS Template DocType maps registered template IDs and sender IDs, blocking non-compliant sends before dispatch
hooks.py doc_events triggers SMS on document state changes (Sales Order on_submit, Delivery Note dispatch, Payment Entry receipt) with no manual buttons
Jinja placeholder binding pulls fields straight from the source document into the message body with per-language variants
Central SMS Message DocType logs every outbound and inbound message with provider message-id, status, cost, segment count and linked source doc
Delivery Receipt (DLR) webhook: whitelisted allow_guest endpoint with signature verification writes carrier delivery status and timestamps back to each SMS Message
Two-way inbound SMS routed by keyword or virtual number into ToDo, Communication, Lead or HD Ticket against the matched contact
Bulk campaigns as queued, rate-limited background jobs honoring per-gateway throughput caps and configurable quiet-hours
Recipient segmentation from saved Report/Query filters, Contact tags or Customer Group with opt-out/DND suppression list
Role profile separating campaign senders from gateway-credential admins; credentials stored via site config / encrypted fields, never in plain DocType fields
Scheduler events for retry of stuck 'queued' messages and daily reconciliation of provider statuses
Full Frappe REST API and @frappe.whitelist() methods to send and query messages from external systems
Per-gateway and per-campaign delivery dashboards (sent, delivered, failed, cost) built as Frappe Query Reports

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your ERPNext.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

ERPNext Compatibility
—
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
MariaDB 10.6+

About this Product

ERPNext ships an SMS Settings DocType, but it assumes one gateway with a single GET/POST URL and hard-coded parameter names. The moment you need failover between providers, region-specific routing (an Indian MSG91 route for domestic traffic and a Twilio route for international), DLT-registered template and sender-ID enforcement, or genuine delivery receipts written back to the sending document, that native config runs out of road. Teams end up hard-coding a second gateway into a custom script, lose every message when the primary provider throttles, and have no audit trail of what actually got delivered versus what silently failed at the carrier.

The Multi-Gateway SMS Hub is a proper Frappe app (its own module, installed via bench get-app and bench install-app) that introduces a pluggable gateway abstraction. Each provider — MSG91, Twilio, Vonage, Infobip, Sinch, and any regional aggregator you use — is a configured SMS Gateway record implementing a common send interface, with credentials, base URL, auth style, throughput limits and a priority/weight for routing and failover. A central SMS Message DocType is the single log for every outbound and inbound message, carrying provider message-id, status, cost, segment count and the linked source document. Routing rules select a gateway by country prefix, message type (transactional vs promotional) or sender ID, and fall through to the next-priority gateway on a hard failure.

Sending is wired into ERPNext through hooks.py document events and scheduler events, not one-off buttons. A doc_events handler fires SMS on state transitions you choose — Sales Order on_submit, Delivery Note dispatch, Payment Entry receipt — using a SMS Template DocType with Jinja placeholders bound to the source doc, and enforcing your DLT/sender-ID mapping so non-compliant sends are blocked before they hit the carrier. Delivery Receipts (DLR) arrive on a whitelisted webhook endpoint (a @frappe.whitelist(allow_guest=True) method with signature verification), which updates the matching SMS Message status and timestamps. Inbound (two-way) SMS lands on the same webhook layer and is routed by keyword or virtual number to create a ToDo, Communication, or a lead/ticket against the right party. Bulk campaigns run as a queued, rate-limited background job over a segmented recipient list (Report/Query filters or Contact tags), respecting per-gateway throughput and quiet-hours. Roles and permissions are handled with a dedicated role profile so marketers can send campaigns without touching gateway credentials, and every send is exposed over the standard Frappe REST API and whitelisted methods for your other systems.

Because this is build-to-order, we start from your actual gateways, DLT/sender-ID registrations, the exact DocTypes and events that should trigger messages, and your compliance constraints — then build, test on a staging bench, and hand over the running app. Typical delivery is one working week from confirmed scope. You receive the full source and git repository, so nothing is locked behind a marketplace subscription; ECOSIRE installs it on your v15 or v16 site, trains your team, and supports it through go-live.

What you get

  • Installable source code for your build, versioned for your Frappe/ERPNext v15 or v16 site
  • Installation and configuration on your environment (gateways, routing rules, DLT/sender-ID mapping, webhooks)
  • Technical documentation: DocType schema, hooks and doc_events, webhook contract, and REST/whitelisted method reference
  • End-user guide plus a live training session for admins and campaign senders
  • UAT on a staging bench with agreed test cases, plus a documented rollback plan
  • Post-go-live support window for bug fixes and configuration adjustments
  • Git repository handover with full commit history and README for future maintenance
  • Gateway credential and DLT-registration checklist so your team can extend routes later

Who this is for

Operations / logistics manager

Needs reliable transactional SMS — order confirmations, dispatch and OTP alerts — that automatically fail over between providers so a single gateway outage never drops a customer notification.

Marketing manager

Runs segmented promotional campaigns from ERPNext Contacts and Customer Groups, needs DLT-compliant templates, opt-out handling and per-campaign delivery reporting without ever touching gateway API keys.

ERP administrator / systems integrator

Owns the ERPNext instance and wants SMS wired into DocType events via hooks.py, exposed over the REST API for other apps, and maintainable through a clean git repo on v15/v16.

Compliance-conscious business owner

Operates across regions with strict DLT/sender-ID and DND rules and needs an auditable log of every message sent, delivered or blocked, with costs attributed per gateway.

How Multi-Gateway SMS Hub for ERPNext Compares

CriterionECOSIRECustom BuildCompetitorERPNext Native
Multiple gatewaysPluggable layer — MSG91, Twilio, Vonage, Infobip, Sinch and regional, one interfaceWhatever you hard-code, usually one or twoOften single-gateway or a fixed short listOne gateway via SMS Settings URL
Failover & routingPriority/weight routing by country and message type with auto-failoverOnly if you build and test it yourselfRarely; usually static configNone — single endpoint
DLT / sender-ID complianceTemplate-ID and sender-ID mapping enforced pre-sendManual per projectVaries; often partialNot modelled
Delivery receipts (DLR)Signed webhook writes carrier status back to each messageBuild the webhook yourselfSometimes, provider-specificNo delivery-status tracking
Two-way / inbound SMSInbound routed to ToDo, Communication, Lead or ticketBespoke buildUsually outbound-onlyNot supported
Bulk campaignsQueued, rate-limited, segmented with opt-out/DND suppressionDIY queue and throttlingBasic bulk send, limited segmentationNo campaign layer
Fit to your data & triggersWired to your exact DocTypes via hooks.py doc_eventsFully bespoke but you own all the riskGeneric; adapt your process to itManual send only
Ownership & supportFull source, git handover, training and support windowYou own it and all maintenanceMarketplace subscription, vendor-controlledFrappe community support only

Frequently Asked Questions about Multi-Gateway SMS Hub

How long does delivery take?

This is a build-to-order app, not an instant download. Typical delivery is one working week from confirmed scope, depending on how many gateways, routing rules and document triggers you need. We agree the scope on the initial call, build on a staging bench, run UAT with you, then install on your production site.

Which SMS gateways are supported?

The gateway layer is pluggable. We commonly build MSG91, Twilio, Vonage, Infobip and Sinch, plus regional aggregators you already use. Any provider with an HTTP/REST send API and a delivery-receipt callback can be added as a new SMS Gateway record — that's the whole point of the abstraction.

Does it handle DLT and sender-ID compliance (e.g. India)?

Yes. The SMS Template DocType maps your DLT-registered template IDs and approved sender IDs, and the send pipeline blocks or rejects non-compliant messages before they reach the carrier. We configure this against your actual registrations during the build.

Which ERPNext versions do you support?

Frappe/ERPNext v15 and v16. We target your exact site version and Python/Frappe release, and hand over a git repo so the app stays upgradeable as you move between versions.

How do delivery receipts and two-way SMS work?

Both use a whitelisted webhook endpoint with signature verification. Delivery receipts (DLR) update each SMS Message with the carrier's delivered/failed status and timestamp; inbound messages are routed by keyword or virtual number to create a ToDo, Communication, Lead or ticket against the matching contact.

What about support and future updates?

Every build includes a post-go-live support window for bug fixes and configuration tweaks. Because you own the full source and git repository, there's no marketplace lock-in — you or we can extend gateways, routing rules and triggers later. Longer-term maintenance and version-upgrade support is available as an ongoing arrangement.

Can other systems send SMS through it?

Yes. Sending and message lookups are exposed over the standard Frappe REST API and dedicated @frappe.whitelist() methods, so your website, mobile app or third-party services can trigger and query messages using API keys and the role-based permissions we configure.

Request a quote

Multi-Gateway SMS Hub

A pluggable SMS layer for ERPNext that routes transactional and marketing messages across MSG91, Twilio, Vonage, Infobip, Sinch and regional gateways from a single DocType, with DLT-compliant templates, delivery receipts and two-way inbound routing. ECOSIRE builds, installs and supports it on your Frappe/ERPNext v15/v16 site.

  • Pluggable gateway layer: each of MSG91, Twilio, Vonage, Infobip and Sinch is a configured SMS Gateway record implementing a shared send/receive interface
  • Priority- and weight-based routing with automatic failover to the next gateway on carrier or HTTP error
  • Country-prefix and message-type routing rules (transactional vs promotional) so domestic and international traffic take the right route
  • DLT-compliant template and sender-ID management: SMS Template DocType maps registered template IDs and sender IDs, blocking non-compliant sends before dispatch

Request a Quotation

Tell us about your Multi-Gateway SMS Hub requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.