India-ready MSG91 SMS for Odoo with DLT template & sender-ID compliance — transactional, promotional, OTP & bulk. Built, installed & supported by ECOSIRE. One-time license from $149.00 USD for Odoo 17, 18, 19 — includes 12 months of updates and support.

India-ready MSG91 SMS for Odoo with DLT template & sender-ID compliance — transactional, promotional, OTP & bulk. Built, installed & supported by ECOSIRE.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
MSG91 SMS Gateway (India/DLT) is a build-to-order Odoo module that connects your Odoo 17, 18 or 19 instance to MSG91 and makes every message you send TRAI/DLT-compliant by design. If you operate in India, you already know the pain: SMS must go out on a registered sender ID (header) against a DLT-approved content template, and any mismatch means the message is silently blocked by the operators. This module bakes that entire compliance workflow into Odoo so your team never has to think about it.
MSG91 API connection with encrypted auth-key storage and configurable base URL, default sender ID and route, managed from a dedicated Odoo settings model
DLT-approved content template management: each msg91.template maps a DLT template ID and its variable placeholders to an Odoo message, so operators pick a template by name
DLT sender-ID (header) handling — messages are dispatched only against your registered, approved headers, preventing the silent operator-level blocking that hits mismatched sends
Transactional SMS route for order confirmations, OTPs, invoices and dispatch alerts, delivered on the priority transactional path
Promotional/marketing SMS route with DND/NDNC awareness for campaigns, kept strictly separate from transactional headers
OTP send support exposed as a callable method for login, checkout and verification flows, with variable injection of the one-time code into the approved template
This is not an off-the-shelf apps.odoo.com download and there is no instant-download button. ECOSIRE builds, configures and installs the module on your server (or Odoo.sh), wires it to your MSG91 account and your DLT entity, tests real delivery, and hands it over with documentation and a support window. Typical delivery is 2–4 weeks depending on scope.
Under the hood it follows standard Odoo architecture. A dedicated msg91.account-style model (models.Model) stores your MSG91 auth key, base sender ID and default route, with encrypted credential fields. A msg91.template model maps each DLT-approved content template (with its DLT template ID and variable placeholders) to an Odoo message you actually want to send — so a compute method with @api.depends resolves the merge variables (customer name, order number, OTP, amount) before dispatch. Outbound messages are queued and delivered through MSG91's HTTP API, and delivery-report webhooks flow back into a msg91.sms.log model so you can see queued/sent/delivered/failed status per message. Access is locked down the Odoo way via ir.model.access.csv plus record rules, so only authorised users and the right companies can send or view SMS logs in a multi-company database.
Because it plugs into Odoo's mail and automation layer, you can fire compliant SMS from automated actions and server actions on any model — a Sale Order confirmation, an Invoice due reminder, a Delivery dispatch alert, a Helpdesk ticket update — each bound to the correct DLT template so it clears the operators every time. OTP send is exposed as a callable method for login, checkout or verification flows, and bulk SMS groups let marketing blast promotional campaigns (on the promotional/marketing route, honouring NDNC/DND rules) to contact segments. Both transactional and promotional routes are supported, with per-message route selection so transactional traffic is never mis-sent on a promotional header.
Everything is Community-compatible (no Enterprise dependency) and the same codebase supports Odoo 17, 18 and 19. You get a JSON-RPC/XML-RPC-friendly send method so external systems can push SMS through Odoo too, QWeb-free delivery logging with a clean list/form view (XML/OWL) for your operators, and full source code you own. ECOSIRE delivers it production-ready, tested against your real MSG91 credentials and DLT templates, so the first SMS your customers get is already compliant.
Runs an online store on Odoo and needs order-confirmation, shipping and OTP SMS that actually reach customers. Wants DLT compliance handled invisibly so no transactional message gets blocked by the operators at the worst moment.
Sends payment reminders, invoice and dispatch notifications from Odoo and must keep every message on registered headers and approved templates for TRAI/DLT compliance. Needs an auditable SMS log to reconcile what was sent, delivered, or failed.
Wants to segment contacts in Odoo and blast promotional offers on the marketing route while respecting DND/NDNC rules and keeping promotional traffic cleanly separated from transactional sends — without exporting lists to a third-party tool.
Buy the license on ecosire.com and download the MSG91 SMS Gateway (India/DLT) module ZIP from your account dashboard.
Extract the ZIP into your Odoo custom addons folder on the server (or upload via Apps > Install from file on Odoo.sh / runbot).
Activate Developer Mode, open Apps, click Update Apps List, search for MSG91 SMS Gateway (India/DLT), and press Install.
Open the new menu, paste your ECOSIRE license key, connect any external credentials (Shopify, Amazon, Stripe, etc.), and save.
Run the built-in connection test, sync your first 10 records, and schedule the recurring cron. Contact support if anything fails.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| DLT template & sender-ID compliance built in | Enforced — every send bound to a registered header and approved DLT template | Only if you build and maintain the compliance logic yourself | Varies — many generic gateways don't model DLT template IDs | |
| MSG91 as the delivery provider | Yes — native MSG91 API + delivery-report webhooks | Possible, but you write and test the whole integration | Sometimes — often tied to Odoo IAP or a single other provider | |
| Transactional + promotional route separation | Yes — per-message route with DND handling on promotional | Only if explicitly engineered | Rarely modelled explicitly | |
| OTP send + bulk SMS groups | Both included as callable OTP method and segment bulk sends | Build each yourself | Partial — often one or the other | |
| Automated-action triggers on Sale/Invoice/Stock/Helpdesk | Wired to your chosen events during setup | You configure and maintain the automation | Depends on the app's hooks | |
| Delivery/status log with audit trail | Full msg91.sms.log with queued/sent/delivered/failed states | Only if you build logging | Varies in depth | |
| Fit, install, testing & training | ECOSIRE builds, installs, tests real delivery and trains your team | Your developer's responsibility end to end | Self-install; support quality varies by vendor | |
| Source ownership & version support (17/18/19) | You own the source; built for your exact Odoo version | You own it but bear all future cost | Usually licensed per version, upgrades may cost extra |
This is a build-to-order module, not an instant download. After purchase we scope your requirements (Odoo version, MSG91 account, DLT entity, which business events should trigger SMS), then build, install and configure the module on your server or Odoo.sh, test real delivery against your credentials, and hand it over with documentation and training. Typical delivery is 2–4 weeks depending on how many templates and automated triggers you need.
You'll need an active MSG91 account with your auth key, at least one DLT-registered sender ID (header), and your DLT-approved content templates with their DLT template IDs. If your DLT registration is still in progress we can advise on the structure, but the templates and headers must be approved on the DLT platform for messages to actually deliver — that approval is controlled by your operator/DLT registrar, not by the module.
The module enforces the compliance mechanics on the Odoo side: every send is bound to a registered sender ID and a specific DLT-approved template, with variables merged into the approved content so the message matches what the operators expect. It also separates transactional and promotional routes and respects DND on the promotional side. Ultimate DLT compliance still depends on your registrations being valid and your template content matching your approved entries — we help you get that mapping right during setup.
Every build includes a post-go-live support window for bug fixes and configuration tweaks. Within that window we handle issues like a webhook not reporting status, a new DLT template needing to be added, or an automated trigger needing adjustment. After the window, ongoing support and updates (including moving the module to a newer Odoo version) are available through an optional support/maintenance plan. Because you own the source, you're never locked in.
Yes. The module is Community-compatible with no Enterprise dependency, and the same codebase targets Odoo 17, 18 and 19. We build against your specific version. If you later upgrade Odoo, we can port the module as part of a support plan or a small migration engagement.
Yes to both. The send logic is exposed via a method callable over JSON-RPC/XML-RPC, so external apps, your website, or middleware can push DLT-compliant SMS through Odoo. Internally, we wire automated actions and server actions to the business events you choose — Sale Order confirmation, invoice reminders, delivery dispatch, Helpdesk updates, OTP flows — each bound to the correct approved template.
India-ready MSG91 SMS for Odoo with DLT template & sender-ID compliance — transactional, promotional, OTP & bulk. Built, installed & supported by ECOSIRE.