A build-to-order ERPNext app that detects abandoned webshop and POS carts, then runs multi-channel WhatsApp, email, and SMS recovery and win-back sequences with dynamic cart content and coupon injection. ECOSIRE scopes, builds, installs, and supports it for your v15/v16 instance. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $249.00 USD; request a quote for a scoped proposal.

A build-to-order ERPNext app that detects abandoned webshop and POS carts, then runs multi-channel WhatsApp, email, and SMS recovery and win-back sequences with dynamic cart content and coupon injection. ECOSIRE scopes, builds, installs, and supports it for your v15/v16 instance.
今すぐのお支払いはありません。これはチームへの見積もり依頼を送信します。価格と次のステップをメールでご案内します。
Most ERPNext merchants leak revenue at exactly the moment a customer is closest to buying. A shopper fills a webshop cart, or a POS order is parked mid-checkout, and then nothing happens — ERPNext core has no concept of an "abandoned" cart, no timer that notices the quotation went cold, and no way to nudge the customer back. The same silence surrounds dormant customers who bought once and never returned. Standard ERPNext gives you Email Group and Newsletter for broadcast blasts, but no behaviour-triggered, per-customer sequence that fires because a specific cart sat untouched for two hours. That gap is where recoverable revenue quietly disappears.
Dedicated `Abandoned Cart`, `Recovery Sequence`, and `Recovery Message Log` DocTypes with full audit trail and list/report views
Cart abandonment detection via `hooks.py` doc events on Quotation, Sales Order, and draft POS Invoice state changes
Scheduler-driven sweep (`scheduler_events` cron) that flags carts idle past a configurable `last_activity` threshold and enqueues them on the Frappe background worker
Multi-channel recovery steps — WhatsApp (approved template messages), email via the native Email Queue, and SMS via ERPNext SMS Settings
Ordered, delay-based sequences (e.g. 1h email, 24h WhatsApp, 72h SMS with escalating offer) configurable without code
Dynamic cart content rendered with Jinja — actual line items, quantities, running subtotal, and a deep link back to the webshop cart
This is a purpose-built Frappe application with its own module, installed cleanly into your bench alongside ERPNext. At its core are dedicated DocTypes — an Abandoned Cart record that captures the customer, cart lines, subtotal, and last-activity timestamp, a Recovery Sequence that defines the ordered steps (channel, delay, template, coupon rule), and a Recovery Message Log that tracks every send, delivery, click, and conversion for attribution. Detection is wired through hooks.py doc events on Quotation and Sales Order (and the POS Invoice draft state), plus a scheduler_events cron job that sweeps for carts whose last_activity has exceeded your configured threshold and enqueues them via the Frappe background worker. Nothing polls the database in a tight loop — it uses ERPNext's own scheduler and queue.
Each sequence step resolves against a channel adapter. WhatsApp goes out through the ERPNext WhatsApp integration (or a provider of your choice) using approved template messages; email uses Frappe's native Email Queue and Email Template rendering; SMS routes through your existing SMS Settings gateway. Message bodies are Jinja templates with full access to the cart context, so a customer sees the actual products they left behind, the running total, and a deep link back to the webshop cart — not a generic "come back" note. Coupon injection is handled by a server script that generates or reserves an ERPNext Coupon Code scoped to that customer and interpolates it into the message only when your rules allow it (for example, escalating discount on the second or third touch). Win-back campaigns for dormant customers reuse the same engine, keyed off last-purchase date rather than cart abandonment. Everything is exposed through whitelisted REST methods so your webshop front end, marketing tools, or a headless storefront can register cart events and read recovery status, and access is governed by proper Role Profiles and permission rules so marketing staff never see more than they should.
Because this is build-to-order, ECOSIRE does not hand you a generic download. We start with a short scoping call, confirm your ERPNext version (v15 or v16), your live channels (WhatsApp/email/SMS providers), your webshop or POS setup, and your discount policy, then write the app to fit. You receive installable source pinned to your version, a staging UAT pass, and a documented rollback path before anything touches production. Typical delivery is 2–4 weeks from confirmed scope. You keep the git repository and the whitelisted API contract, so the automation is yours to extend, not a black box you rent.
Runs the ERPNext Webshop and watches quotations go cold without follow-up. Needs automatic detection of abandoned carts and timed recovery messages that show the actual products left behind, so lost checkouts turn back into Sales Orders.
Uses ERPNext POS across counters and loses parked or half-finished sales. Wants dormant-customer win-back sequences and coupon-driven nudges tied to real purchase history, run from the same ERPNext instance the tills use.
Owns revenue recovery and retention numbers. Needs multi-channel WhatsApp/email/SMS sequences with per-message conversion attribution and frequency caps, plus permissions that let the team operate without touching sensitive customer or pricing data.
Maintains the bench and is wary of unmanaged code. Wants a clean Frappe app with proper hooks, scheduler events, whitelisted methods, and a git repo they can review, migrate, and extend on v15/v16.
ecosire.com でライセンスを購入し、アカウント ダッシュボードから Abandoned Cart & Re-Engagement Automation アプリの ZIP をダウンロードします。
ZIP をベンチのアプリ フォルダーに抽出するか、抽出されたアプリへのパスを指定して「bench get-app」を実行します。
`bench --site SITE_NAME install-app APP_NAME` を実行し、続いて `bench maigrate` を実行して、Abandoned Cart & Re-Engagement Automation をインストールし、そのスキーマを適用します。
サイトの ECOSIRE ライセンス設定を開き、ライセンス キーをアクティブ化します。無料の ecosire_connect アプリと ecosire_license_client アプリが必要です。
| 基準 | エコシエール | カスタムビルド | 競合他社 | オドゥー ネイティブ |
|---|---|---|---|---|
| Abandoned cart detection | Doc events + scheduler sweep on webshop and POS carts | Possible but you design and maintain the trigger logic | Often email-only, webshop-only, if offered at all | |
| Channels | WhatsApp, email, and SMS in one sequence | Whatever you build and wire yourself | Usually single-channel (email or WhatsApp) | |
| Coupon injection | Per-customer scoped Coupon Code, rule-gated | Hand-rolled coupon logic to build and test | Static or shared codes, limited scoping | |
| Dynamic cart content | Jinja renders real line items and deep link | You write the templating layer | Generic reminder, limited personalization | |
| Attribution | Message log links recovered Sales Orders to channel | Reporting you must build | Basic open/click, weak revenue attribution | |
| Fit to your version | Built and pinned to your v15/v16 bench | You own version compatibility | Generic build, may lag ERPNext releases | |
| Ownership | Git repo handover, whitelisted API, yours to extend | You own it but also the full build cost | Vendor-locked, closed source common | |
| Support | Scoping, UAT, rollback, post-go-live window | Internal team carries all support | Forum or ticket support, variable |
Typical delivery is 2–4 weeks from confirmed scope. It starts with a short scoping call to lock your ERPNext version, channels, and discount policy; ECOSIRE then builds the app, runs a UAT pass on a staging bench, and cuts over to production with a rollback plan. This is not an instant marketplace download — it is built and installed for your instance.
We build for ERPNext/Frappe v15 and v16. We confirm your exact version and bench setup during scoping and pin the app to it, so migrations and dependencies are reproducible rather than best-effort.
WhatsApp (via the ERPNext WhatsApp integration or your chosen provider, using approved template messages), email through Frappe's native Email Queue and Email Templates, and SMS through your existing ERPNext SMS Settings gateway. Sequences can mix channels across steps with per-step delays.
Detection uses `hooks.py` doc events on Quotation, Sales Order, and draft POS Invoice state, plus a scheduled sweep that flags carts idle past your threshold and enqueues them on the Frappe background worker. It relies on ERPNext's own scheduler and queue rather than any tight polling loop, so there is no performance drag.
A server script generates or reserves an ERPNext `Coupon Code` scoped to the individual customer and injects it into the message only when your rules permit — for example, no discount on the first touch and an escalating offer on later steps. You define the policy during scoping and can adjust it afterward.
You receive a post-go-live support window for bug fixes and configuration adjustments, plus the full git repository so your team or ours can extend it. Version upgrades (for example moving from v15 to v16) and new feature work can be handled as a follow-on engagement.
Yes. The app exposes whitelisted Frappe REST methods for registering cart events and reading recovery status, so a custom front end, headless storefront, or third-party marketing tool can feed cart activity in and query outcomes, all governed by ERPNext role and permission rules.
A build-to-order ERPNext app that detects abandoned webshop and POS carts, then runs multi-channel WhatsApp, email, and SMS recovery and win-back sequences with dynamic cart content and coupon injection. ECOSIRE scopes, builds, installs, and supports it for your v15/v16 instance.