A build-to-order ERPNext app that wires local Pakistani SMS gateways and WhatsApp into your ERPNext instance for masked-sender OTPs, transactional alerts, and bilingual campaigns. ECOSIRE scopes, builds, installs, and supports it for you. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $199.00 USD; request a quote for a scoped proposal.

A build-to-order ERPNext app that wires local Pakistani SMS gateways and WhatsApp into your ERPNext instance for masked-sender OTPs, transactional alerts, and bilingual campaigns. ECOSIRE scopes, builds, installs, and supports it for you.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
Most Pakistani SMBs running ERPNext hit the same wall the moment they try to notify customers: ERPNext's stock SMS Settings assume a generic HTTP gateway with a fixed GET/POST shape, and its Notification DocType can fire an SMS or email but has no concept of a masked sender ID, a PTA-registered brand mask, per-gateway delivery receipts, or WhatsApp at all. So order confirmations, dispatch alerts, payment reminders, and login OTPs either go out from an unbranded long code that customers ignore, or don't go out from ERPNext at all — staff copy-paste numbers into a separate SMS panel and reconciliation dies. That is exactly the gap this build-to-order app closes.
`PK Gateway Account` DocType holding per-gateway credentials, base URL, masked sender ID, and rate caps — swap providers via config, not code
Pluggable adapters for local Pakistani SMS aggregators (Jazz/Telenor-style HTTP APIs) behind a single whitelisted dispatch method
WhatsApp Cloud API adapter with template-message (HSM) support for approved transactional and promotional flows
Masked/branded sender ID enforcement per account so transactional traffic sends under your PTA-registered brand mask
`hooks.py` doc-event bindings (`on_submit`, `on_payment_authorized`, custom) that fire alerts on Sales Order, Delivery Note, Payment Entry, and your own DocTypes
Server-side OTP flow via whitelisted REST method with generation, hashing, expiry, and per-number attempt throttling
ECOSIRE builds a proper Frappe app (ecosire_pk_messaging) installed into your own ERPNext bench, not a hosted middle-man. Inside it live real DocTypes: PK Gateway Account (credentials, base URL, masked sender ID, per-gateway rate caps), Message Template (Urdu/English bodies with Jinja placeholders, category, and a WhatsApp variant), and Message Log (every send with provider message-id, status, cost, and delivery-receipt timestamp). Adapters for the common local providers — the Telenor/Jazz aggregator style HTTP APIs plus WhatsApp Cloud API — are implemented behind one whitelisted dispatch method, so switching gateway is a config change on PK Gateway Account, not a code change. Because each account carries its own masked sender ID, your transactional traffic goes out under your registered brand mask while promotional traffic can route through a separate account to stay compliant.
Delivery is wired to ERPNext where the events actually happen. We hook hooks.py doc events — on_submit of Sales Order and Delivery Note, on_payment_authorized, and your custom triggers — through server scripts so an alert fires the instant a document changes state, rendering the right bilingual template automatically. OTP flows expose a whitelisted REST method (/api/method/ecosire_pk_messaging.api.send_otp) for your portal or mobile app, with generation, hashing, expiry, and attempt-throttling handled server-side. A scheduler event (scheduler_events in hooks.py) polls provider delivery-receipt endpoints and retries soft failures, while a client script on the Message Template form gives non-technical staff a live preview and test-send button. Everything respects ERPNext permissions: a dedicated role profile controls who can send campaigns versus who can only read Message Log, and promotional sends can require an approval workflow.
Because it is build-to-order, nothing here is a download you install blind. You start with a short scoping call, we confirm which local gateways you use, your masked sender IDs, the exact ERPNext events that should trigger alerts, and your Urdu/English template wording. ECOSIRE then builds your version against Frappe/ERPNext v15/v16, tests it on a staging bench, runs UAT with you, and installs it on your production instance with a rollback plan. Typical delivery is 2 to 4 weeks from confirmed scope, and you receive the full source and git repository so nothing is locked to us.
A Pakistani e-commerce or retail SMB running ERPNext that needs order-confirmation, dispatch, and delivery alerts fired automatically on Sales Order and Delivery Note submit, sent under a recognizable branded sender mask.
Owns the ERPNext instance and wants messaging wired into real doc events and the REST API with a clean Message Log for reconciliation, instead of staff copy-pasting numbers into a separate SMS panel.
Runs a customer portal or mobile app on top of ERPNext and needs a secure server-side OTP endpoint with expiry and throttling for login and checkout verification.
Sends bilingual Urdu/English WhatsApp and SMS campaigns, needs template management, a separate promotional gateway account, and an approval step so promotional traffic stays compliant and controlled.
Buy the license on ecosire.com and download the Pakistan SMS & WhatsApp Gateway Pack app ZIP from your account dashboard.
Extract the ZIP into your bench's apps folder, or run `bench get-app` with the path to the extracted app.
Run `bench --site SITE_NAME install-app APP_NAME` followed by `bench migrate` to install Pakistan SMS & WhatsApp Gateway Pack and apply its schema.
Open the ECOSIRE License settings on your site and activate your license key. Requires the free ecosire_connect and ecosire_license_client apps.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Local PK gateway support | Adapters for your local aggregators behind one config-driven method | Whatever you build and maintain yourself | Usually one generic HTTP gateway, rarely PK-tuned | |
| Masked / branded sender ID | Per-account masked sender ID enforced on transactional sends | Possible but you design and test it | Often a fixed sender field, no per-account masking | |
| WhatsApp support | WhatsApp Cloud API adapter with template messages | Build and certify the integration yourself | Sometimes bolted on, template support varies | |
| OTP flow | Server-side whitelisted method with expiry and throttling | You implement hashing, expiry, and throttling | Rarely a hardened OTP endpoint | |
| Bilingual templates | Paired Urdu/English bodies with Jinja placeholders | Roll your own template layer | Single-language templates typical | |
| Delivery receipts & logging | Scheduler reconciles receipts into a full `Message Log` | Build the polling and audit trail yourself | Basic logging, receipt polling uncommon | |
| ERPNext event wiring | hooks.py doc events on your exact triggers, staged and tested | Your team writes and maintains the hooks | Generic notification hooks, limited tuning | |
| Ownership & support | Full source, git handover, post-go-live support window | You own it and carry all maintenance | Vendor-locked, support tied to subscription |
This is a build-to-order app, not an instant download. After a short scoping call to confirm your gateways, sender IDs, trigger events, and template wording, typical delivery is 2 to 4 weeks from confirmed scope — including a staging build, UAT, and production install.
We build adapters for the local aggregator HTTP APIs you already use (Jazz/Telenor-style providers) plus the WhatsApp Cloud API. Because each provider sits behind one dispatch method configured on a `PK Gateway Account`, adding or switching a gateway is a configuration change rather than a rewrite.
Yes. Each `PK Gateway Account` carries its own masked sender ID, so transactional traffic goes out under your PTA-registered brand mask. You can route promotional traffic through a separate account to keep it compliant and separately capped.
We bind Frappe doc events in `hooks.py` (for example `on_submit` of Sales Order and Delivery Note, `on_payment_authorized`) via server scripts, so alerts fire the moment a document changes state and render the correct Urdu or English template automatically. Custom DocTypes and triggers are supported too.
Every build includes a post-go-live support window for defect fixes and configuration tweaks. Because you receive the full source and git repository, your own team can extend it, and we offer ongoing support or a v15-to-v16 upgrade as a separate engagement.
The app is built and tested against Frappe/ERPNext v15 and v16 and installed as a standard Frappe app on your own bench. We confirm your exact version during scoping so the build matches your instance.
No. The app runs inside your own ERPNext bench and calls your gateway providers directly. ECOSIRE does not sit in the middle of your message traffic, and every send is recorded in your own `Message Log` DocType.
A build-to-order ERPNext app that wires local Pakistani SMS gateways and WhatsApp into your ERPNext instance for masked-sender OTPs, transactional alerts, and bilingual campaigns. ECOSIRE scopes, builds, installs, and supports it for you.