Pos Prime

Modern Point of Sale for ERPNext

Install Pos Prime

bench get-app https://github.com/ravindu2012/pos-prime

Tags

  • barcode-scanner
  • erp
  • erpnext
  • frappe
  • frappe-framework
  • point-of-sale
  • point-of-sale-system
  • pos
  • retail
  • self-checkout
  • tailwindcss
  • typescript
  • vite
  • vue
  • vue3

Add the Frappe Gems badge to your README

Maintain Pos Prime? Paste this into your README:

[![Listed on Frappe Gems](https://frappegems.com/api/method/frappe_gems.seo.badge?app=ravindu2012%2Fpos-prime)](https://frappegems.com/gems/apps/ravindu2012/pos-prime)

About Pos Prime

# POS Prime **A modern, fast Point of Sale for ERPNext** Built for speed, touch screens, and real retail workflows. [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) [![Frappe](https://img.shields.io/badge/Frappe-v14%20|%20v15%20|%20v16-blue)](https://frappeframework.com) [![Sponsor](https://img.shields.io/badge/Sponsor-%E2%9D%A4-red)](https://github.com/sponsors/ravindu2012) [![Buy Me A Coffee](https://img.shields.io/badge/Buy%20Me%20A%20Coffee-FFDD00?logo=buy-me-a-coffee&logoColor=black)](https://buymeacoffee.com/ravindu2012)
--- ## Why POS Prime? ERPNext's built-in POS is functional but limited. POS Prime is a complete replacement built from the ground up with Vue 3, designed for businesses that need a fast, reliable, and modern point of sale. - **Fuzzy item search** with barcode scanning — typos, partial matches, and out-of-order words all work - **Real-time stock validation** so you never sell what you don't have - **Loyalty points** — redeem points at checkout with live balance deduction - **Store credit** — automatically detects customer credit from returns/overpayments, apply at checkout with double-spend prevention - **Partial payments & credit limits** — split pay, pay later, with automatic credit limit enforcement - **Pricing rule discounts** — promo badges, strikethrough prices, discount labels, coupon codes, and free item rules - **Resizable cart panel** — drag to resize the cart column, persisted across sessions - **Self-checkout kiosk mode** for customer-facing touchscreens - **Customer pole display** support (screen-based and VFD serial) with discount indicators - **Keyboard shortcuts** (F1-F10) for lightning-fast checkout - **Desk mode** — use POS inside Frappe Desk at `/app/pos-terminal` or standalone at `/pos-prime` - **Quick customer creation** — create customers inline with dynamic form fields, no page navigation - **Fullscreen toggle** — maximize/minimize POS with one click - **i18n ready** — all UI strings wrapped for translation, RTL layout support - **Works with ERPNext's inventory, taxes, and accounting** - no separate system --- ## Zero Modifications to ERPNext POS Prime does **not** add custom fields, custom doctypes, or modify any existing ERPNext schema. It works entirely with ERPNext's standard doctypes: - **POS Profile** - your existing POS configuration - **POS Opening Entry** - standard shift management - **POS Invoice** - native ERPNext invoices, fully compatible with consolidation and accounting - **Item, Customer, Item Price, Bin** - reads directly from your existing data - **Item Tax Template, Sales Taxes and Charges** - uses your existing tax setup **Why this matters:** - Upgrade ERPNext freely - POS Prime will never block or break your upgrades - Uninstall cleanly - remove POS Prime and nothing changes in your ERPNext data - No data lock-in - every invoice POS Prime creates is a standard POS Invoice, visible in Desk and reports - Works alongside ERPNext's built-in POS - use both if you want --- ## Screenshots ### POS - Item Grid Browse items by category with stock quantity badges, search by name or barcode, and add to cart with a single tap. Dark mode shown. ![POS Item Grid](screenshots/pos-item-grid.png) ### POS - Cart Full cart sidebar with quantity controls, invoice discount, coupon code field, and real-time totals. ![POS Cart](screenshots/pos-cart.png) ### POS - Payment Payment dialog with grand total, multiple payment method tabs (Cash, Credit Card, Bank Draft, Cheque), quick amount shortcuts, and Complete Payment button. ![POS Payment](screenshots/pos-payment.png) ### POS - Payment Success Receipt screen showing "Payment Successful" with itemized invoice details, Print and New Order action buttons. ![POS Payment Success](screenshots/pos-payment-success.png) ### POS - Past Orders Searchable invoice list with status filter tabs (All, Paid, Return, Draft). Select an invoice to view items, payments, totals, and Print/Return actions. ![POS Orders](screenshots/pos-orders.png) ### POS - Returns Return Items dialog with customer info, item search, quantity and amount adjustment, refund method selection, and Process Return button. ![POS Returns](screenshots/pos-returns.png) ### POS - Customer 360 Customer list with selected profile showing outstanding balance, contact details, and recent POS invoice history. ![Customer 360](screenshots/pos-customer-360.png) ### Customer Display - Settings Customer Display panel in the sidebar with "Open Display Window" and "Connect VFD" options for setting up a customer-facing screen. ![Customer Display](screenshots/pos-customer-display.png) ### Customer Display - Popup Customer Display popup window showing the Welcome screen with phone number numpad entry for loyalty point lookup. ![Customer Display Popup](screenshots/pos-customer-display-popup.png) ### Customer Pole Display Full-screen customer-facing display showing company branding, live cart items with quantities and prices, subtotal, and grand total. ![Customer Pole Display](screenshots/customer-pole-display.png) ### Customer Display - Welcome Screen Welcome screen with company logo, greeting message, phone number input with numpad, and Submit button. ![Customer Display Welcome](screenshots/customer-display-welcome.png) ### Denomination Calculator Cash Denomination Count dialog with Notes and Coins sections, quantity inputs per denomination, running totals, and Clear All/Apply buttons. ![Denomination Calculator](screenshots/denomination-calculator.png) --- ## Features ### Point of Sale - Fuzzy item search powered by Fuse.js — typos, partial matches, and out-of-order words all work - Virtual scrolling item grid for smooth performance with large catalogs (powered by @tanstack/vue-virtual) - Item grid with images, categories, and stock indicators - Barcode scanner support (USB/Bluetooth HID scanners) - Keyboard shortcuts (F1-F10) for lightning-fast checkout — works even inside input fields - Cart with inline quantity, discount, and price controls - Multiple payment methods (Cash, Card, Bank Draft, Cheque) - Split payments across multiple methods - Partial payments with confirmation dialog (requires POS Profile `Allow Partial Payment`) - Credit limit enforcement — displays outstanding, credit limit, and available credit; blocks transactions that would exceed the limit - Loyalty points redemption — apply points at checkout with live grand total update - Coupon code support — validates and applies coupon-based pricing rules (Price and Product discounts) - Invoice-level and item-level discounts - Pricing rule engine — applies non-coupon and coupon-based rules with smart single-rule selection per item - Free item rules (Buy X Get Y) — automatically adds free items from Product discount pricing rules - Tax calculation with Item Tax Templates - POS returns and refunds - Order history with search and filters - Print and reprint invoices - Email receipts with PDF attachment - Hold and resume orders (with delete confirmation) - Auto-fetch serial numbers (FIFO) - Product Bundle support with computed stock availability - Cash denomination calculator for opening/closing shifts (21 currencies supported) - Resizable cart panel — drag the handle between items and cart to adjust width, persisted in localStorage - Collapsible item categories sidebar — toggle visibility, preference saved across sessions - Correct rounding support — uses ERPNext's `rounded_total` for payment calculations, change, and display - Fullscreen toggle — maximize/minimize the POS view with a single click - Dark/Light mode follows ERPNext user theme preference - Favicon and app logo from Website Settings ### Desk Mode Integration - Access POS directly from Frappe Desk at `/app/pos-terminal` — no need to leave the desk - Standalone mode at `/pos-prime` still works as before - Auto-detects Frappe version and uses the correct desk URL prefix (`/app/` for v14-v15, `/desk/` for v16+) - In-memory routing in desk mode — no URL changes, seamless navigation within the desk iframe ### Pricing Rules & Discounts - Real-time pricing rule preview — promo badge, strikethrough original price, discount percentage/amount badges - Supports all ERPNext pricing rule types: Discount %, Discount Amount, Fixed Rate - Coupon code pricing rules — Price discounts and Product discounts (free items) via coupon codes - Non-coupon pricing rules — automatic item-level and transaction-level rule application - Free item rules (Buy X Get Y) — with deduplication across ERPNext versions - Smart rule selection — best single rule per category (coupon preferred, then highest priority) - Transaction-level promo discounts shown in cart summary - Customer Pole Display mirrors discount indicators (Promo badge, strikethrough, discount badge) ### Store Credit - Automatically detects available store credit from customer returns and overpayments - GL-based credit calculation with unconsolidated POS Invoice tracking for double-spend prevention - Apply partial or full store credit at checkout with editable amount input - Server-side re-validation at submit time — caps to actual available credit - Works across multiple POS terminals and shifts for the same company - V14: works without any POS Profile setting; V15/V16: requires `Allow Partial Payment` enabled - Credit consumption tracked via `outstanding_amount` on unconsolidated POS Invoices ### Loyalty Points - Automatic loyalty point balance display on customer selector and payment dialog - Redeem points at checkout — checkbox auto-applies full balance, or enter custom amount - Live grand total update showing original price, redemption deduction, and effective total - Points × conversion factor calculation shown inline - Reads from ERPNext's standard Loyalty Program and Loyalty Point Entry doctypes ### Partial Payments & Credit Limits - Allow zero-payment or partial-payment invoices when `Allow Partial Payment` is enabled on POS Profile - Confirmation dialog before processing partial payments showing paid vs outstanding - Customer outstanding balance aggregated from both Sales Invoices and POS Invoices - Remaining credit limit displayed in payment header - Credit limit exceeded warning blocks submission when new outstanding would breach the limit - Invoices created with correct outstanding amount and Unpaid status ### Internationalization (i18n) & RTL - All UI strings wrapped with `__()` translation function for Frappe's translation system - RTL-compatible layout using CSS logical properties (`border-e`, `end-0`, etc.) - RTL auto-detection from Frappe boot language data - Accessible dialogs with `role="dialog"`, `aria-modal`, `aria-label`, and Escape key handling ### Self-Checkout Kiosk - Fullscreen kiosk mode for dedicated touchscreens - Barcode scanning + manual item code entry - Phone number lookup for customer loyalty - Card and cash payment flows - Auto-reset after transaction completes - Idle timeout returns to welcome screen - Navigation prevention (no accidental exits) ### Customer Display - Real-time cart mirroring on a second screen - Company branding with logo - Phone number entry for loyalty points - VFD serial display support - Multi-session broadcast ### Customer 360 - Slide-in customer detail panel with editable contact fields (email, mobile, loyalty program) — saves on blur - Quick stats badges: loyalty points, outstanding balance, credit limit, store credit - Primary address display - Recent POS invoice history with status badges (last 20 invoices) - Open full customer form in Desk with one click - Loyalty points balance and outstanding badges on customer selector - Quick customer search with phone number normalization — flexible matching with/without country code ### Quick Customer Creation - Create new customers inline without leaving the POS - Dynamic form fields rendered from Customer doctype quick_entry metad

Related Retail apps for Frappe & ERPNext

  • Ury — URY - FOSS restaurant management system super powered by ERPNext.
  • Webshop — Open Source eCommerce Platform
  • Ecommerce Integrations — Ecommerce integrations for ERPNext
  • Posnext — A modern, high-performance Point of Sale system for ERPNext with offline capabilities, real-time updates, and intuitive UI.
  • Woocommerceconnector — Integration App for ERPNext to connect to WooCommerce
  • Woocommerce Fusion — WooCommerce connector for ERPNext v15
  • Go1 Webshop — Go1 Webshop is an Open Source eCommerce portal built on frappe builder.
  • Retail Suite — is a modern POS system built with Tailwind CSS on the frontend and Frappe as the backend. It is designed for small retail businesses