A build-to-order Frappe app that links WATI and ERPNext with two-way contact and chat sync, order and invoice notifications, template triggers from DocType events, and inbound-message capture into Leads or Tickets. ECOSIRE builds, installs, and supports it for your bench. 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 Frappe app that links WATI and ERPNext with two-way contact and chat sync, order and invoice notifications, template triggers from DocType events, and inbound-message capture into Leads or Tickets. ECOSIRE builds, installs, and supports it for your bench.
今すぐのお支払いはありません。これはチームへの見積もり依頼を送信します。価格と次のステップをメールでご案内します。
If your team runs sales and support on WATI but everything of record lives in ERPNext, you spend the day copying between two tabs. A customer messages on WhatsApp through WATI, but their Contact and Customer history sits in ERPNext; an order ships, but nobody fires the "your order is on the way" template; a prospect replies to a broadcast, and that intent never becomes a Lead. ERPNext core has notifications and the odd webhook, but it has no native concept of a WATI session, template, or broadcast list — so the two systems stay stitched together by humans, and the seams show as missed messages and stale records.
Two-way `Contact` sync: WATI contacts upsert into ERPNext `Contact`/`Customer`, and ERPNext contact edits push back to WATI with configurable field mapping
Order and invoice status notifications fired from `Sales Order`/`Sales Invoice` `on_submit`/`on_update` doc events via approved WATI templates
Template trigger engine bound in `hooks.py`: map any DocType + doc event to a specific WATI template with per-field parameter substitution
Inbound WATI webhook landed on a whitelisted method (`@frappe.whitelist(allow_guest=True)`) with payload signature verification
Inbound-message routing rules that create a `Lead` or `HD Ticket` (Helpdesk) and assign it per your team's ownership logic
Broadcast list sync: ERPNext filters/segments map to WATI broadcast lists, reconciled on a schedule so membership stays current
The WATI Connector is a proper Frappe app (its own module, DocTypes, and hooks.py) that ECOSIRE builds and installs onto your bench, running natively on ERPNext v15/v16. On the ERPNext side we add configuration DocTypes — a single WATI Settings (Single) DocType holding the API endpoint and access token, plus mapping DocTypes for template-to-DocType-event bindings and broadcast-list membership. Outbound flows hang off hooks.py doc events (on_submit, on_update, after_insert): when a Sales Order or Sales Invoice reaches the right state, a background job (enqueued via frappe.enqueue, never blocking the user's save) calls the WATI API to send the mapped approved template with field-level parameter mapping from the source document. Inbound flows arrive on a whitelisted method (@frappe.whitelist(allow_guest=True)) registered as your WATI webhook; we verify the payload, upsert the Contact, thread the message onto the linked record, and — per your rules — create a Lead or a HD Ticket and route it. A daily scheduler_events job reconciles contacts and broadcast-list membership so the two directories don't drift.
Everything is driven by your data and your permission model. Template-to-event mappings, cooldowns, and routing live in DocTypes so your admins tune behavior without a code change; server scripts and client scripts we author cover the org-specific logic; and a dedicated WATI Integration role profile scopes who can edit settings, view message logs, and trigger manual sends. Sync state and every API call are logged to a WATI Message Log DocType with retry and idempotency keys, so a failed WATI call is visible and replayable rather than silently lost. Where you already have custom fields on Customer or Sales Order, we map to them rather than duplicating.
Because this is build-to-order, nothing ships until we agree on scope. We start with a short scoping call, confirm which DocTypes and events drive messages, which templates are already approved in your WATI account, and how inbound replies should route. You get your own versioned build of the app installed on a staging bench first, UAT against real documents, then a scheduled production go-live with a rollback plan and the git repository handed to you. Typical delivery is 2-4 weeks from confirmed scope, depending on how many event triggers and routing rules are in play.
Runs WhatsApp sales and support through WATI while fulfilling from ERPNext. Needs order/shipping/invoice notifications fired automatically from `Sales Order` and `Sales Invoice` events, and replies captured back as records instead of lost chats.
Manages a shared WATI inbox and wants every inbound message to become a routed `Lead` or `HD Ticket` in ERPNext, with contact history unified so agents see the full customer picture in one system.
Owns the bench and the permission model. Wants a clean Frappe app with its own module, DocTypes, and role profile — configurable via UI without code changes — plus the git repo and docs to maintain it after handover.
Runs WATI broadcasts and needs ERPNext customer segments to sync into broadcast lists automatically, so campaign audiences stay accurate as the customer base changes.
ecosire.com でライセンスを購入し、アカウント ダッシュボードから WATI Connector for ERPNext アプリの ZIP をダウンロードします。
ZIP をベンチのアプリ フォルダーに抽出するか、抽出されたアプリへのパスを指定して「bench get-app」を実行します。
`bench --site SITE_NAME install-app APP_NAME` を実行し、続いて `bench maigrate` を実行して、WATI Connector for ERPNext をインストールし、そのスキーマを適用します。
サイトの ECOSIRE ライセンス設定を開き、ライセンス キーをアクティブ化します。無料の ecosire_connect アプリと ecosire_license_client アプリが必要です。
| 基準 | エコシエール | カスタムビルド | 競合他社 | オドゥー ネイティブ |
|---|---|---|---|---|
| Delivery model | Build-to-order app installed on your bench, source handed over | You hire/allocate a Frappe developer to build from scratch | Generic marketplace app, install yourself | |
| Two-way contact & chat sync | Bi-directional upsert with your field mapping | Possible but you design and test it all | Often one-way or fixed field mapping | |
| Order/invoice notifications | Fired from `Sales Order`/`Sales Invoice` doc events via approved templates | Build the doc-event and template logic yourself | Limited to the events the vendor chose | |
| Inbound → Lead/Ticket | Routed to `Lead` or `HD Ticket` per your rules | Custom webhook + routing you own end to end | Usually logs a message, not routed records | |
| Fit to your DocTypes/permissions | Maps to your custom fields + dedicated role profile | Fully yours, but full build cost and risk | Fixed schema, adapt your process to it | |
| Reliability & retries | `frappe.enqueue` jobs + `WATI Message Log` with idempotent retry | You must design logging and retry yourself | Varies; often minimal visibility | |
| Support & upgrades | Post-go-live window + optional v15/v16 upgrade support | Whoever built it, if still available | Vendor SLA, often generic queue | |
| Cost profile | Fixed scoped quote, no core changes | Highest and least predictable | Low licence fee, hidden fit/customization cost |
No. The WATI Connector is build-to-order: ECOSIRE builds a version scoped to your ERPNext setup, then installs and configures it on your bench. There is no instant self-download. You receive installable source and the git repository as part of handover.
Typical delivery is 2-4 weeks from confirmed scope. The exact timeline depends on how many DocType/event triggers, routing rules, and broadcast segments you need. We lock scope on the initial call, build and demo on a staging bench, then schedule production go-live.
Every build includes a post-go-live support window for defect fixes and configuration tweaks. Beyond that we offer a support/maintenance arrangement covering ERPNext version upgrades (v15/v16 and forward), WATI API changes, and new template or routing requirements. Because you hold the git repo, you or your own team can also maintain it.
Yes. WATI is a paid WhatsApp Business platform; you provide the account and access token, and WhatsApp-approved message templates must exist in WATI before we can bind them to ERPNext events. We map your existing approved templates to the relevant DocTypes during the build.
No. It ships as a separate Frappe app with its own module, DocTypes, `hooks.py`, and role profile. It uses doc events, whitelisted methods, server/client scripts, and scheduler events — the supported extension points — so ERPNext core stays untouched and standard `bench update` upgrades remain safe.
Outbound calls run as `frappe.enqueue` background jobs and every call is written to a `WATI Message Log` DocType with status and an idempotency key. Failed sends are visible and replayable with one click, and a scheduled sweep retries stuck messages — nothing is silently dropped.
Yes. Routing is configurable: an inbound WATI message can upsert the `Contact`, create a `Lead` for sales or an `HD Ticket` for support, and assign to the right owner based on rules we define with you during scoping. The logic lives in server scripts and mapping DocTypes so admins can adjust it later.
A build-to-order Frappe app that links WATI and ERPNext with two-way contact and chat sync, order and invoice notifications, template triggers from DocType events, and inbound-message capture into Leads or Tickets. ECOSIRE builds, installs, and supports it for your bench.