A build-to-order Frappe app that adds coupons, BOGO, tiered discounts, gift cards and segment-specific offers on top of ERPNext sales and POS. ECOSIRE scopes, builds, installs and supports it for your instance. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $299.00 USD; request a quote for a scoped proposal.

A build-to-order Frappe app that adds coupons, BOGO, tiered discounts, gift cards and segment-specific offers on top of ERPNext sales and POS. ECOSIRE scopes, builds, installs and supports it for your instance.
Aucun paiement maintenant. Ceci envoie une demande de devis à notre équipe — nous vous recontacterons par e-mail avec les tarifs et les prochaines étapes.
Retail and e-commerce teams running ERPNext hit a wall the moment marketing gets serious about promotions. ERPNext core ships Pricing Rule and a basic Coupon Code DocType, but they stop short of real campaign mechanics: there is no native buy-one-get-one engine, no tiered "spend more, save more" thresholds, no gift-card issuance and redemption ledger, and no clean way to scope an offer to a specific customer segment. Teams end up hand-keying discounts on each Sales Invoice, reconciling coupon abuse after the fact, and discovering that a promo that worked in the web shop behaves differently at the POS counter. The rules live in people's heads instead of in ERPNext.
`Promotion` DocType with rule type, priority, stacking policy and start/end validity window, evaluated server-side so web, POS and API carts behave identically
Bulk coupon generation into a `Coupon Batch` — single-use, multi-use, or one-per-customer — with cryptographically random codes and DB-enforced usage counters
Whitelisted `validate_coupon(code, customer)` method returning eligibility, remaining uses and reward preview for real-time cart feedback
BOGO, buy-X-get-Y and free-gift rules with configurable qualifying and reward item sets, honoring UOM and item groups
Tiered / threshold discounts ('spend 500 save 10%, spend 1000 save 15%') driven by cart-subtotal condition child tables
Bundle / combo pricing that discounts a defined set of items only when all members are present in the cart
We build a proper Frappe app — installed into your bench as its own module with versioned source — that layers a real promotions engine over ERPNext sales and POS. At its core is a Promotion DocType (rule type, priority, stacking policy, validity window) with child tables for conditions and rewards, plus Coupon Batch, Gift Card, and Gift Card Ledger Entry DocTypes. Coupon codes are generated in bulk (single-use, multi-use, or per-customer) with cryptographically random codes and server-side validation; usage limits and expiry are enforced in the database, not just the UI. BOGO, bundle, and tiered rules are evaluated by a whitelisted server-side method so the same logic runs identically whether the cart comes from the POS, a Sales Order, or a headless REST client.
Technically, the engine hooks into the transaction lifecycle through hooks.py doc events — validate and before_submit on Sales Order, Sales Invoice, and POS Invoice — to apply matched rewards, recalculate Sales Taxes and Charges, and stamp the applied promotion and coupon onto the document for audit. A whitelisted apply_promotions(doc) / validate_coupon(code, customer) API is exposed for the POS screen and any storefront, with a Client Script driving live feedback in the POS cart. Gift-card redemption debits the ledger atomically inside the invoice submit so balances can never go negative under concurrency. Segment targeting reuses ERPNext's Customer Group, Territory, and custom tags, and everything respects role permissions and permission-level (perm-level) field security so cashiers can apply but not author promotions. A scheduler event expires stale coupons and closes ended campaigns nightly. The app is built and tested against Frappe/ERPNext v15 and v16.
Because this is build-to-order, nothing is a shrink-wrapped download. We start with a scoping call to map your exact promotion types, stacking rules, POS workflow and reporting needs, then build against your version on a staging bench, run UAT with your team, and deploy to production with a rollback plan. Typical delivery is 2–4 weeks from confirmed scope. You receive the full source in a git repository, documentation, a training session, and a post-go-live support window.
Operates one or more ERPNext POS counters and needs coupons, BOGO and gift cards to work reliably at the till — with cashiers able to apply offers but not invent them, and balances that reconcile at day close.
Runs time-boxed campaigns across a web storefront wired to ERPNext and needs tiered discounts, segment-specific offers and usage-limited coupon batches that a headless cart can validate through the REST API.
Owns the ERPNext instance and wants promotions handled by a clean, versioned Frappe app with proper DocTypes, permissions and doc-event hooks — not by ad-hoc pricing rules and manual invoice edits.
Needs every discount and gift-card movement auditable — applied promotion and coupon stamped on each invoice, an atomic gift-card ledger, and a report tying discount cost back to revenue.
Achetez la licence sur ecosire.com et téléchargez le ZIP de l'application Coupons, Discounts & Promotions Engine for ERPNext depuis le tableau de bord de votre compte.
Extrayez le ZIP dans le dossier d'applications de votre banc ou exécutez « bench get-app » avec le chemin d'accès à l'application extraite.
Exécutez `bench --site SITE_NAME install-app APP_NAME` suivi de `bench migrate` pour installer Coupons, Discounts & Promotions Engine for ERPNext et appliquer son schéma.
Ouvrez les paramètres de licence ECOSIRE sur votre site et activez votre clé de licence. Nécessite les applications gratuites ecosire_connect et ecosire_license_client.
| Critère | ÉCOSIRE | Construction personnalisée | Concurrent | Odoo natif |
|---|---|---|---|---|
| BOGO & tiered discount rules | Purpose-built rules engine for BOGO, bundles and spend tiers | Achievable but you design the whole engine yourself | Varies; many cover coupons only, not BOGO/tiers | |
| Gift cards | Issuance + atomic redemption ledger DocType | Build ledger and concurrency safety from scratch | Rarely included; often a separate add-on | |
| POS + online parity | One server-side engine via doc events across POS, orders and API | You must keep POS and web logic in sync yourself | Often web-only or POS-only | |
| Segment targeting | Customer Group, Territory and tag-scoped offers | Custom conditions you code and maintain | Limited or global-only targeting | |
| Abuse controls & audit | DB-enforced limits, perm-level roles, stamped audit fields | You implement and test all controls | Inconsistent; audit trail often thin | |
| Fit to your workflow | Scoped and built to your exact promotion rules | Fully bespoke — highest cost and timeline | Fixed feature set; you adapt to it | |
| Version support | Built and tested on your v15/v16 bench | Depends on your team's Frappe expertise | May lag ERPNext releases | |
| Ownership & delivery | Build-to-order, 2–4 weeks, full git handover | Longer timeline; you own and staff it | Instant install but no source, hosted lock-in risk |
This is build-to-order, so there is no instant download. After a short scoping call to lock the exact promotion types, stacking rules and POS workflow, typical delivery is 2–4 weeks from confirmed scope. We build against your version on a staging bench, run UAT, then deploy to production with a rollback plan.
It does, and where native `Pricing Rule` covers your need we use it. But core ERPNext has no real BOGO engine, no tiered spend thresholds, no gift-card issuance/redemption ledger, and no clean segment-scoped campaign model. This app adds those as proper DocTypes and a server-side rules engine while respecting ERPNext's existing pricing where it fits.
Yes. The rules are evaluated by a whitelisted server-side method and applied through `hooks.py` doc events on `Sales Order`, `Sales Invoice` and `POS Invoice`, so the same promotion behaves identically at the POS counter, on a Sales Order, and via the REST API for a headless storefront. A POS Client Script gives cashiers live coupon feedback.
We build and test against Frappe/ERPNext v15 and v16. Tell us your exact bench version during scoping and we target that; the app is delivered as a versioned Frappe app you can upgrade alongside your instance.
Every build includes a post-go-live support window for bug fixes and configuration questions. Because you receive the full git repository, your team (or ours under a support agreement) can maintain and extend it. We also offer ongoing support and version-upgrade retainers separately.
Yes. Usage limits, expiry and per-customer restrictions are enforced in the database, not just the UI, and coupon codes are cryptographically random. Perm-level field security and role profiles let cashiers apply promotions while only marketing can author or edit rules. Every applied promotion and coupon is stamped on the invoice for audit.
Yes. You receive the full source as a proper Frappe app in a git repository with commit history, handed over on completion. There is no lock-in to a hosted-only marketplace add-on.
A build-to-order Frappe app that adds coupons, BOGO, tiered discounts, gift cards and segment-specific offers on top of ERPNext sales and POS. ECOSIRE scopes, builds, installs and supports it for your instance.