An offline-first retail POS built as a proper Frappe app on top of ERPNext, with touch and keyboard checkout, barcode and weighing-scale support, loyalty, gift cards, and multi-store sync. ECOSIRE builds, installs, and supports it for your outlets after a scoping call. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $499.00 USD; request a quote for a scoped proposal.

An offline-first retail POS built as a proper Frappe app on top of ERPNext, with touch and keyboard checkout, barcode and weighing-scale support, loyalty, gift cards, and multi-store sync. ECOSIRE builds, installs, and supports it for your outlets after a scoping call.
Sin pago ahora. Esto envía una solicitud de presupuesto a nuestro equipo; te responderemos por correo con precios y próximos pasos.
Retail teams that run ERPNext quickly hit the edges of the stock POS Awesome / ERPNext Point of Sale profile: the cashier screen stalls when the internet drops, there is no first-class loyalty or gift-card flow, weighing scales and second cash drawers are not wired in, and a chain with ten outlets ends up with ten disconnected POS profiles and no clean way to reconcile them centrally. ERPNext core keeps your Item, Stock Ledger Entry, Sales Invoice, and POS Profile data honest, but the counter experience and multi-store operations are where native runs out of road.
Dedicated touch- and keyboard-driven POS page (Frappe page + client scripts), with configurable hotkeys and a fast item grid separate from the core POS Awesome screen
Offline-first checkout: sales cached in browser storage and posted via an idempotent @frappe.whitelist() sync method when connectivity returns, with a visible unsynced-queue indicator
Barcode support including EAN-13 embedded-weight parsing for weighing scales, validated server-side against the ERPNext item and barcode master
New DocTypes — POS Terminal, POS Offline Batch, POS Loyalty Program, Gift Card — that map back to standard Sales Invoice, Payment Entry, and Loyalty Point Entry
hooks.py on_submit doc events that accrue/redeem loyalty points and decrement gift-card balances inside a single database transaction
Multi-store, multi-terminal model: each outlet ties to its own POS Profile, warehouse, and price list, with per-terminal opening/closing entries
ECOSIRE builds the Retail POS Suite as a proper Frappe app (retail_pos_suite) with its own module, installed alongside ERPNext rather than as a fragile patch to core. The checkout UI is a dedicated touch- and keyboard-driven page (Frappe page + client scripts) that talks to the server through whitelisted methods and the Frappe REST API. It runs offline-first: sales are captured in browser storage and posted through an idempotent @frappe.whitelist() sync method the moment connectivity returns, so a dropped link never stops a queue. New DocTypes — POS Loyalty Program, Gift Card, POS Terminal, and POS Offline Batch — model the retail concepts ERPNext lacks, and each maps back to standard Sales Invoice, Payment Entry, and Loyalty Point Entry records so your accounting and stock stay in one ledger.
Under the hood, hooks.py doc events keep everything consistent: on_submit of a POS Sales Invoice accrues or redeems loyalty points and decrements gift-card balances inside a single transaction; server scripts validate barcode and weighing-scale (EAN-13 embedded-weight) input against the item master; and a scheduler event reconciles each terminal's offline batches and flags any that failed to sync. Access is governed with dedicated role profiles (Cashier, Store Manager, Regional Manager) and DocType permissions so a cashier can ring sales but never edit price lists or void another terminal's session. Everything is built for and tested against Frappe/ERPNext v15 and the v16 line.
Because this is build-to-order, nothing is pretending to be an instant download. We start with a short scoping call, agree on the exact hardware (scanners, scales, receipt printers, cash drawers), store topology, and loyalty rules, then build your version against that scope. Typical delivery is 2–4 weeks from confirmed scope. You get the app deployed to a staging bench for UAT, then a supervised go-live, the full git repository, and a post-go-live support window — no lock-in, and your team can read and extend every line.
Runs one or two stores on ERPNext and needs a fast, offline-tolerant counter with barcode scanning and simple loyalty, without the fragility of the stock POS when the internet drops.
Handles high transaction volume with weighing scales, multiple cash drawers, and split tender, and needs cashier-scoped permissions plus reliable end-of-day reconciliation.
Manages several branches on one ERPNext instance and needs per-store profiles, per-terminal control, central loyalty and gift-card rules, and a clean API for BI and ecommerce.
Wants every counter sale to land as a standard Sales Invoice with correct Mode of Payment accounts and a full audit trail of loyalty and gift-card movements, not a parallel system.
Compre la licencia en ecosire.com y descargue la aplicación ZIP de Retail POS Suite for ERPNext desde el panel de su cuenta.
Extraiga el ZIP en la carpeta de aplicaciones de su banco o ejecute `bench get-app` con la ruta a la aplicación extraída.
Ejecute `bench --site SITE_NAME install-app APP_NAME` seguido de `bench migrar` para instalar Retail POS Suite for ERPNext y aplicar su esquema.
Abra la configuración de licencia de ECOSIRE en su sitio y active su clave de licencia. Requiere las aplicaciones gratuitas ecosire_connect y ecosire_license_client.
| Criterio | ECOSIRE | Construcción personalizada | Competidor | Odoo Nativo |
|---|---|---|---|---|
| Offline mode | Offline-first with idempotent sync and reconciliation | Possible but you design and test the sync yourself | Varies; often partial or breaks on reconnect | |
| Loyalty & gift cards | Purpose-built DocTypes, tiered rules, expiry, audit trail | Built from scratch to your spec | Basic loyalty if any; gift cards rare | |
| Multi-store / multi-terminal | Per-store profiles, per-terminal control, central rules | Whatever you build and maintain | Single-store focus common | |
| Hardware (scales, drawers, printers) | Scoped to your devices, EAN-13 weight, ESC/POS | Wired up per project by your team | Generic; may not match your hardware | |
| Fit with your ERPNext | Proper Frappe app, standard Sales Invoices, one ledger | Depends on developer discipline | Sometimes a parallel or bolt-on system | |
| Ownership & extensibility | Full git repo handover, readable code, no lock-in | You own it, but you also own all the work | Often closed or license-restricted | |
| Delivery & support | 2–4 weeks, UAT, training, post-go-live support | Timeline and support depend on your team/vendor | Install now, support tiered and generic | |
| Permissions & roles | Cashier/Manager/Regional role profiles, scoped access | Configured per project | Basic or coarse-grained |
No. The Retail POS Suite is build-to-order. ECOSIRE builds your version against your scoped hardware, store topology, and loyalty rules, then installs and supports it. It is not a Frappe Cloud Marketplace download.
Typical delivery is 2–4 weeks from confirmed scope. After the scoping call we agree on hardware, store layout, and loyalty/gift-card rules; the timeline starts once that scope is signed off. Larger multi-outlet rollouts may be phased.
Yes. Sales are captured in browser storage and posted through an idempotent whitelisted sync method when connectivity returns, so a dropped connection never stops the queue. A scheduler event reconciles each terminal's offline batches and flags any that failed to sync.
It is a proper Frappe app installed alongside ERPNext. Every counter sale posts as a standard Sales Invoice with correct Mode of Payment accounts, and loyalty and gift-card movements map to Loyalty Point Entry and dedicated DocTypes, so stock and accounting stay in one ledger.
The suite is built and tested for Frappe/ERPNext v15 and the v16 line. Tell us your exact bench version during scoping and we build and test against it.
Delivery includes a post-go-live support window for defect fixes and configuration questions. You also receive the full git repository, so your team can maintain and extend the code, and ECOSIRE can quote ongoing support or version upgrades separately.
Yes. It parses EAN-13 embedded-weight barcodes validated against the item master, and models multiple terminals per outlet with per-terminal opening/closing entries, each tied to its own POS Profile, warehouse, and price list.
An offline-first retail POS built as a proper Frappe app on top of ERPNext, with touch and keyboard checkout, barcode and weighing-scale support, loyalty, gift cards, and multi-store sync. ECOSIRE builds, installs, and supports it for your outlets after a scoping call.