Point of Sale
This course covers the Point of Sale module in Quickenerp. Learn how to set up POS shops, manage product displays, process customer orders, handle payments, close sessions, run multi-shop offline sync, and analyze sales.
| Responsible | System |
|---|---|
| Last Update | 07/21/2026 |
| Completion Time | 2 days 12 hours |
| Members | 1 |
POS Overview
View allPOS Reporting
POS Analysis
Go to Point of Sale > Reporting > POS Analysis. Pivot with:
- Dimensions: Product, Category, POS Shop, Customer, Payment Method, Session.
- Measures: Quantity, Price, Total, Profit, Number of Orders.
- Filters: Date Range, Shop, Cashier.
Session Reports
Open a closed session: see total sales by payment method, product breakdown, cash difference. Export session PDF for records.
Key Metrics
- Average Order Value – Total / Order Count.
- Items Per Order – Cross-sell effectiveness.
- Cash Difference – Variance between system and actual cash.
- Peak Hours – When most sales occur.
Multi-Branch Consolidated Reporting
On the central server, POS Analysis naturally covers every branch once their orders have synced, letting you compare shops side by side. Use the Sync Log/Conflicts views alongside this — a branch with unusually low reported sales is sometimes actually a sync delay, not a real sales dip.
Bringing a New Branch Online
On the Central Server
- Confirm Settings > Point of Sale > Instance Role is set to Server.
- Create/confirm the POS shop that will represent this branch centrally.
On the Local (Branch) Instance
- Set Instance Role to Local.
- Enter the Central Server URL (the full HTTPS address of the central Quickenerp).
- Leave Verify SSL Certificate enabled — only disable it for a private test network with self-signed certificates, never over the open internet.
- Register the device — this generates an 8-character pairing code shown on screen.
Approving the Pairing (back on the Server)
- Go to Point of Sale > Configuration > Devices — the new device appears with a pending pairing request.
- Open the pairing wizard, select the device, and enter the pairing code exactly as shown on the local device.
- Approve. The server issues the device its API token (used for all future sync requests) — nothing syncs until this human-verified handshake is complete, which prevents a random or misconfigured device from ever pulling or pushing data.
Finishing Setup
- On the server, create a Counter Map linking this device's local POS shop to the correct server-side POS shop.
- Assign the branch's Warehouse on the device record, so local stock movements post against the right location.
- Adjust Pull/Push Interval and Connection Timeout if the branch's internet is slow or intermittent (satellite/mobile links: 60–120 second timeout is a reasonable starting point).
- Watch the first few sync cycles in the Sync Log to confirm orders are arriving and no conflicts are raised.
If a Device's Token Is Compromised
Open the device record on the server and regenerate its API token — the old token stops working immediately and the local device must be given the new one before it can sync again.
Running Branches That Can't Always Reach Head Office
For retailers with multiple physical branches where the internet connection to head office is unreliable, Quickenerp supports a dual-role architecture: one central database holds real accounting and inventory, while each branch runs its own local Quickenerp instance that keeps working — selling, printing receipts, deducting local stock — even with no connection at all, then syncs to the centre whenever it can.
The Two Roles
| Role | What It Does |
|---|---|
| Server | The central Quickenerp — owns consolidated accounting and inventory across all branches. Receives pushed orders from every local branch and is the source of truth for products, prices, and master data that branches pull down. |
| Local | A shop-floor instance — runs its own POS shop(s) and warehouse fully offline-capable, queues completed sales, and periodically pushes them to the central server while pulling master-data updates back down. |
The role is set once per installation in Settings > Point of Sale > Instance Role (Server or Local) — this is a one-time architectural choice per database, not something switched day-to-day.
What Actually Syncs
- Push (Local → Server): completed POS orders queue in an Outbox and are sent in batches (default 200 records per request — lower this on slow links) at a configurable Push Interval (default every 5 minutes).
- Pull (Server → Local): product/price/master-data updates come down at a configurable Pull Interval (default every 5 minutes).
- Every sync attempt is recorded in the Sync Log, and anything that fails to reconcile automatically (e.g. a numbering collision) surfaces in the server's Conflicts view for manual review rather than silently being dropped.
Counter Mapping
Each local POS shop is linked to a specific POS shop on the server via a Counter Map entry (Point of Sale > Configuration > Counter Maps on the server), so orders from "Branch 2 – Till 1" always land against the correct corresponding shop record centrally, not mixed in with other branches.
POS Interface
Screen Layout
- Left Panel – Product categories and products grid.
- Right Panel – Current order line items.
- Top Bar – Search products, customer selection, session info.
- Bottom Bar – Payment buttons, total amount.
Creating an Order
- Tap product categories to browse.
- Tap a product to add it to the order.
- Adjust quantity with +/- buttons.
- Apply discounts (percentage or fixed) per line or globally.
- Click Customer to select or create a customer.
- Click Pay to proceed to payment.
Payment
- Select payment method (Cash, Card, Mobile).
- Enter amount tendered (for cash, change is calculated).
- Split payment across multiple methods if needed.
- Click Validate. Receipt prints automatically.
Offline Mode
If internet drops, POS continues in offline mode. Orders are stored locally and synced when connection is restored. Configure cache size in POS Settings. This built-in offline mode is separate from — and simpler than — the multi-shop Offline Sync feature covered in the next section, which is for running an entire branch on its own local server, not just riding out a brief connection drop.
Returns & Refunds
Look up the original order (by receipt number or customer) and use Refund to create a negative-quantity order for the returned items, which restocks inventory and reverses the original payment. Cash refunds pay out from the till; card refunds are typically processed back to the original card via the payment terminal.
Loyalty & Discounts
If a loyalty program is configured, returning customers linked to their profile automatically earn/redeem points at checkout. Manual discounts (a manager PIN can be required above a threshold) and the automatic Promotions/Coupon rules from the Sales app both apply at the POS the same way they do online.
POS Shop Configuration
Go to Point of Sale > Configuration > POS Shops.
Creating a POS Shop
- Click Create.
- Shop Name – e.g. "Main Street Store".
- Currency – Local currency.
- Available Products – Select all products or specific categories.
- Payment Methods – Cash, Bank Card, Mobile Wallet.
- Journal – The Sales journal where POS orders are posted.
- Receipt Printer – Network printer or ePOS Print.
- Iface – Which screen layout (default, restaurant, bar).
- Set Barcode Scanner if using a hardware scanner.
- Set Customer Display if using a second screen.
Available Product Settings
- Sale Product Search Limit – How many products load initially.
- Show Product Images – Display product images in the POS grid.
- Category Display – As a grid or list.
- Featured Products – Highlight specific items.
Opening a Session
- Click New Session for the shop.
- Enter Opening Cash (cash float).
- The POS interface opens in a new tab.
- Start selling.
Closing a Session
At end of day:
- Click Close Session in the POS interface.
- Enter actual cash counted.
- Quickenerp shows expected vs actual difference.
- Confirm closure. The session posts all orders to Accounting.
Restaurant & Bar Mode
When Iface is set to Restaurant or Bar, the POS gains a floor plan editor (tables, seats), the ability to split a bill across multiple guests, course-by-course order firing to the kitchen, and a bill-printing step separate from final payment — useful for table service rather than a straight retail checkout.
The POS Module
The Point of Sale module provides a tablet-friendly POS interface for retail operations. It works online and offline (cached orders sync when reconnected). Integrates with Inventory (stock deduction), Accounting (sales journal), and CRM (customer tracking).
Core Concepts
| Concept | Model | Description |
|---|---|---|
| POS Shop | pos.config | Configuration of a physical POS location. Includes product list, payment methods, receipt printer. |
| POS Session | pos.session | A work shift. Opens with a cash float, closes with reconciliation. |
| POS Order | pos.order | An order placed at the POS. Creates a sales order and invoice. |
| Payment Method | pos.payment.method | Cash, Card, Mobile, etc. Each maps to a journal in Accounting. |
Accessing POS
- Go to Point of Sale from the main dashboard.
- Click New Session to open a POS session on a connected tablet/browser.
- Set up shops in Configuration > POS Shops.