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 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.
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.