Help Center
Step-by-step tutorials, FAQ, and troubleshooting guides for SmartPOS AI
Getting Started
First-time setup, onboarding wizard
POS Terminal
Sales, payments, discounts, refunds
Restaurant Mode
Floor plan, kitchen, table orders
Integrations
Payments, accounting, delivery
Products
Add products, variants, barcodes
Reports & Analytics
Sales reports, shifts, AI insights
Employees
Roles, permissions, card login
Settings
General, fiscal, subscription
π Getting Started
Set up your SmartPOS AI account and start selling in minutes.
Location: Automatically shown on first login to Backoffice (/backoffice/)
Step 1 β Basic Info
| Field | Type | Required |
|---|---|---|
| Business Name | text | β |
| β | ||
| Phone | tel | β |
| Address | text | β |
| Currency | select | β |
| Country | select | β |
| Language | select | β |
Step 2 β Store Setup
| Field | Type | Required |
|---|---|---|
| Store Name | text | β |
| Address | text | β |
| POS Mode | select | β |
POS Mode options:
- Retail β Standard product grid for shops
- Restaurant β Floor plan with tables, kitchen display
- Both β Switch between modes in POS
Step 3 β First Employee
| Field | Type | Required |
|---|---|---|
| Full Name | text | β |
| PIN | 4 digits | β |
| Role | select | β |
Step 4 β Tax Settings
Configure your default tax rate (e.g. 17% PDV for Bosnia). You can add more tax rates later in Settings.
Backoffice Login
Access: Only Owner, Admin, and Manager roles can log into Backoffice.
POS Login
Access: All roles can access POS (based on permissions).
| Role | Backoffice | POS |
|---|---|---|
| Owner | Full access | Full access |
| Admin | Full access | Full access |
| Manager | Full access | Full access |
| Employee | β | Configurable |
| Cashier | β | Limited |
| Waiter | β | Restaurant POS |
π Dashboard
Your business overview at a glance β key metrics, charts, and real-time data.
Location: Backoffice β Dashboard (first page after login)
KPI Cards (Top Row)
| Metric | Description |
|---|---|
| Today's Sales | Total revenue for today |
| Transactions | Number of completed sales today |
| Average Order | Average receipt value |
| Active Employees | Currently clocked-in staff |
Charts
- Sales Trend β Line chart of sales over last 7/30 days
- Top Products β Bar chart of best-selling products
- Payment Methods β Pie chart breakdown (Cash/Card/Mix/Online)
- Hourly Sales β Bar chart showing busiest hours
Store Filter
Use the store dropdown at the top to filter all dashboard data by a specific store, or select "All Stores" for combined view.
Location: Backoffice β Executive Dashboard (sidebar)
Advanced analytics view for business owners with multi-store overview, financial KPIs, and trend analysis.
Key Metrics
- Revenue vs. target (percentage achievement)
- Gross profit margin
- Customer acquisition cost
- Employee productivity (sales per employee)
- Inventory turnover rate
- Critical stock alerts
π¦ Products
Manage your product catalog β add, edit, import/export, variants, and measurement units.
Location: Backoffice β Products β "+ Add Product" button
| Field | EN | BS | Type | Required |
|---|---|---|---|---|
| Product Name | Product Name | Naziv proizvoda | text | β |
| Price | Price | Cijena | number | β |
| Category | Category | Kategorija | select | β |
| SKU | SKU | SKU | text | β |
| Barcode | Barcode | Barkod | text | β |
| Cost Price | Cost Price | Nabavna cijena | number | β |
| Tax Rate | Tax Rate | Porez | select | β |
| Track Stock | Track Stock | Prati zalihe | checkbox | β |
| Kitchen Station | Kitchen Station | Kuhinjska stanica | select | Restaurant only |
| Measurement Unit | Unit | Jedinica | select | β |
Location: Product edit modal β Variants section
Creating Variants
Open the product edit modal and scroll to the "Variants" section.
Click "+ Add Variant". Enter variant name (e.g. "Small", "Medium", "Large") and variant price override.
Each variant can have its own: Name, Price, SKU, Barcode. Stock is tracked per variant if stock tracking is enabled.
Click "Save" to save the product with all variants.
Variants in POS
When a product with variants is tapped in POS, a popup appears showing all available variants. Tap the desired variant to add it to the cart. The variant name appears in the cart alongside the product name.
Location: Backoffice β Settings β Units tab
Adding a Measurement Unit
Go to Backoffice β Settings β Units tab.
Click "+ Add Unit". Enter unit name (e.g. "kg", "liter", "piece") and abbreviation.
Click "Save". The unit is now available in the product form dropdown.
Assigning Unit to Product
When editing a product, select the measurement unit from the "Unit" dropdown. This affects how quantities are displayed in POS and reports.
Export Products to CSV
Click the "Export" button on the Products page. Downloads a CSV file with all products including name, price, SKU, barcode, category, stock level, and cost price.
Import Products from CSV
Click "Import" button β Select your CSV file.
Map CSV columns to product fields (name, price, SKU, barcode, category).
Review the preview and click "Import" to confirm.
π·οΈ Categories
Location: Backoffice β Categories
Add Category
Click "+ Add Category".
Enter: Name (required), Color (picker), Sort Order (number), Parent Category (optional, for subcategories).
Click "Save". The category appears in POS as a filter tab.
π POS Terminal
Process sales, accept payments, apply discounts, manage refunds, and more.
Step-by-Step
Add products: Tap product cards in the grid, use the search bar, or scan a barcode. Each tap adds 1 unit. Long-press or tap the quantity in cart to change amount.
Optional β Select customer: Tap "π€ Customer" button to attach a loyalty customer. This enables higher discounts and loyalty point earning.
Optional β Apply discount: Tap "π·οΈ Discount" to enter a percentage or fixed-amount discount.
Click PAY β The payment modal opens showing the total amount.
Select payment method:
- Cash β Enter amount received. System calculates change. Quick-amount buttons available.
- Card β One-click confirmation for card payments.
- Mix β Split between cash and card. Both amounts must equal the total.
- Online β Sends a payment link to the customer's email via connected gateway (Stripe, PayPal, etc.).
Complete: Receipt is saved. Option to print receipt or email it. Cart resets for next sale.
Click "π·οΈ Discount" button below the cart.
Discount Types
- Percentage β e.g. 10% off entire cart
- Fixed Amount β e.g. 5.00 KM off
Discount Limits
- Without customer: Limited by tier rules (e.g., max 5% for orders under 50, max 10% for 50-100, max 15% for 100+)
- With customer: Up to the configured maximum percentage
- Promo products: Discount not allowed without a customer selected
Location: POS β "β©οΈ Refund" button (bottom toolbar)
Refund with Receipt
Click "β©οΈ Refund" β Enter receipt number or scan barcode on receipt.
Receipt details load. Select items to refund (all or specific items).
Enter refund reason (required). Click "Process Refund".
Refund is recorded. Stock is restored if stock tracking is enabled. A refund receipt is generated.
Refund without Receipt
Select "Refund without receipt" option. Manually enter items and amounts. Requires manager approval depending on settings.
Refund in Backoffice
Location: Backoffice β Refunds page. View all refund requests, approve/reject pending refunds, see refund history with reasons and employee who processed it.
Hold an Order
With items in cart, click "βΈοΈ Hold". The cart is saved with a timestamp and optional note. You can then serve other customers.
Recall an Order
Click "π Recall" to see all held orders. Select one to load it back into the cart and continue the sale.
SmartPOS supports USB barcode scanners and camera-based scanning.
- USB Scanner: Just scan β the barcode is automatically entered into the search field and the matching product is added to cart.
- Camera: Click the camera icon in the search bar to activate camera scanning.
Send payment links to customers via email using connected payment gateways.
After adding items to cart, click "PAY" β select "Online" payment method.
Select the payment gateway (Stripe, PayPal, Monri, etc.) from available gateways.
Enter the customer's email. Click "Send Payment Link".
Customer receives an email with a secure payment link. Once paid, the receipt status updates automatically via webhook.
Supported Gateways
Stripe, PayPal, Square, Razorpay, Mollie, MercadoPago, Monri, AllSecure, CorvusPay, CaSys
When you add the first item to the cart, SmartPOS AI checks if there are active promotions on other products. If found, a suggestion modal appears to help cashiers upsell promotional items.
How It Works
Add the first product to the cart.
If active promotions exist for products not yet in the cart, a suggestion modal automatically appears.
The modal shows promotional products with their discount percentage and sale price.
Tap a suggested product to add it to the cart at the promotional price, or dismiss the modal to continue without.
Mark individual cart items as free (gratis) for samples, promotions, or staff meals.
How to Use Gratis
Add the product to the cart as usual.
Tap the item in the cart to expand options, then toggle the "Gratis" switch.
The item price becomes 0 and a "GRATIS" label appears next to it.
Gratis Rules
- Limited to 1 piece per product per cart - you cannot mark multiple units of the same product as gratis.
- The gratis item still appears on the receipt with a 0.00 amount and the GRATIS label.
- Useful for product samples, promotional giveaways, and staff meals.
Modify items in the cart before completing a sale.
Available Actions
- Edit price: Tap the price value on a cart item to edit it inline. Enter the new price and confirm. Useful for negotiated pricing or manual adjustments.
- Adjust quantity: Use the + and - buttons next to the item quantity. You can also tap the quantity number to type a specific amount.
- Add item notes: Tap the note icon on a cart item to add special instructions (e.g. allergies, modifications like "no onions", "extra sauce"). Notes print on the receipt and kitchen ticket.
- Remove item: Click the X button on any cart item to remove it instantly.
- Clear entire cart: Click the "Clear Cart" button. A confirmation dialog appears to prevent accidental clearing.
Speed up your workflow with these keyboard shortcuts in POS.
| Shortcut | Action |
|---|---|
Escape | Close any open modal or dialog |
F2 | Start a new sale (clears the cart) |
F4 | Open the payment modal |
Enter (in search field) | Barcode lookup - adds the matching product to cart |
Enter (in PIN field) | Submit PIN login |
SmartPOS is fully responsive and optimized for mobile and tablet devices.
Mobile-Specific Features
- Collapsible cart panel: On mobile screens, the cart is collapsed into a bottom bar showing the item count and total. Tap it to expand the full cart view.
- Tap-to-expand cart bar: The cart bar at the bottom of the screen slides up to reveal all cart items, payment buttons, and discount options.
- Touch-friendly category scrolling: Categories are displayed as horizontally scrollable tabs that you can swipe through.
- Responsive product grid: Product cards automatically resize and reflow to fit the screen width - 2 columns on phones, 3-4 on tablets.
- Mobile table grid: In restaurant mode, the canvas floor plan is replaced with a scrollable card list for easy table selection on phones.
Install SmartPOS as a Progressive Web App (PWA) on your mobile or tablet for an app-like experience with offline support.
Install on iOS (Safari)
Open the POS URL in Safari on your iPhone or iPad.
Tap the Share button (square with arrow) at the bottom of the screen.
Scroll down and tap "Add to Home Screen".
Confirm the name and tap "Add". The POS icon appears on your home screen.
Install on Android (Chrome)
Open the POS URL in Chrome on your Android device.
Tap the three-dot menu (top right).
Tap "Install app" or "Add to Home screen".
Confirm installation. The app icon appears on your home screen and in your app drawer.
PWA Benefits
- Offline capable: Process sales even without internet - data syncs when connection restores.
- Full-screen mode: Runs without browser chrome (address bar, tabs) for a native app experience.
- Fast loading: Cached assets load instantly on subsequent visits.
- Auto-updates: The app updates automatically in the background when a new version is available.
Switch from retail to B2B mode to issue invoices with buyer company details and tax IDs.
How to Create a B2B Invoice
Add products to the cart as usual.
Click "Pay" to open the payment modal.
Check the "B2B / Invoice" toggle at the top of the payment modal.
Fill in the buyer details: Company Name, Tax ID (PDV/VAT number), and Address.
Complete the payment. The receipt is generated as a formal invoice with both seller and buyer details.
Invoice Features
- Auto-fill: If a loyalty customer is selected and has company info on file, the B2B fields auto-fill.
- Invoice numbering: B2B invoices use a separate sequential numbering system from regular receipts.
- PDF format: B2B invoices are automatically generated as A4 PDF with full tax breakdown, suitable for accounting.
Apply frequently used discounts with a single tap using pre-configured discount buttons.
Configuring Discount Presets
Location: Backoffice → Settings → POS Settings → Discount Presets
Add up to 6 quick discount buttons. For each, set the percentage (e.g. 5%, 10%, 15%, 20%) and an optional label.
Using Presets in POS
With items in the cart, tap the "Discount" button in the action bar.
The discount panel shows your preset buttons (e.g. "5%", "10%", "15%") alongside a custom input field.
Tap a preset button to instantly apply that discount to the entire sale, or enter a custom percentage/amount.
To apply a discount to a single item instead, long-press the item in the cart first, then select "Discount" from the item menu.
Get instant help, tips, and answers to your questions directly inside the POS terminal using the built-in AI Assistant chatbot.
How to Open
Open the side menu (β°) and tap "π¬ AI Assistant", or tap the floating chat bubble on the left side of the screen.
What You Can Ask
The AI Assistant has a built-in knowledge base covering 60+ topics across these categories:
- Sales β how to make a sale, search products, apply discounts, clear cart, change quantities, hold orders, gratis items
- Payments β process payment, mix/split payment (cash + card)
- Receipts β email receipts, print receipts, receipt history, void/delete receipts
- Customers β add customer to sale, use loyalty points
- Operations β shifts, cash handover, checklists, bonus system, commissions, mail/packages
- Inventory β receive goods, stock transfer, tester assignment
- Reports & Settings β sales analytics, language, printer settings
- Restaurant β table orders, floor plan, bill splitting, kitchen display, QR ordering
Offline Mode
The AI Assistant works even when offline. In offline mode, it uses the local knowledge base to answer your questions. When online, it can also connect to the AI service for more advanced answers.
Daily Tips
Each day, the assistant shows a different "Did you know?" tip to help you discover features you might not be using yet.
Bilingual Support
The AI Assistant fully supports both English and Bosnian, automatically matching your POS language setting.
A guided, interactive walkthrough that highlights each feature of the POS terminal step by step.
How to Start
Open the side menu (β°) and tap "π Tutorial". The tutorial also runs automatically the first time you log in to the POS.
What the Tutorial Covers
The tutorial walks you through up to 25 steps depending on your enabled features:
- Search products by name, SKU, or barcode scanner
- Filter products by category
- Add products to the shopping cart
- Manage cart items β adjust quantities, remove items
- Attach a customer to the sale for loyalty tracking
- Apply discounts (percentage or fixed amount)
- Process payment via cash, card, or mixed payment
- Restaurant features β floor plan and table ordering (if enabled)
- Side menu features β receipt history, shifts, customers, inventory, reports, and more
- AI Assistant β get help anytime
Adaptive Steps
The tutorial automatically adapts to your configuration. Steps for disabled features (e.g. restaurant mode, delivery orders, stock transfer) are skipped so you only see what is relevant to your setup.
Replaying the Tutorial
You can restart the tutorial at any time from the side menu. Each step highlights the relevant element on screen with an animated indicator and a tooltip explaining what it does.
π° Shifts & Cash Management
When you first open POS (or after closing a previous shift), you'll be prompted to start a new shift. Enter the opening cash amount (starting float) and click "Start Shift".
During a shift, you can record non-sale cash movements:
- Cash In β Money added to the register (e.g. change fund top-up). Click "π΅ Cash In", enter amount and reason.
- Cash Out β Money removed from register (e.g. bank deposit). Click "π΅ Cash Out", enter amount and reason.
Click "π Close Shift" in POS sidebar or toolbar.
Count your cash and enter the counted cash amount.
Review the shift summary: total sales, cash sales, card sales, refunds, cash in/out, expected vs counted, difference.
Click "Close Shift". Optionally print the shift report.
Transfer cash from the register to an owner or manager during a shift without closing it.
How to Perform a Cash Handover
In POS, open the menu and select "Cash Handover".
Enter the amount to hand over.
Select the receiver (owner or manager) from the dropdown list.
The receiver enters their PIN to verify and authorize the handover.
The handover is recorded in the audit trail and the register cash is reduced by the handover amount.
Configure how the opening cash amount is handled when starting a shift.
Fixed Mode
A standard opening amount is configured in store settings. When the employee enters a different amount, a warning is displayed and a reason must be provided. This ensures consistency across shifts.
Free Mode
Any opening amount is accepted without warnings. The employee simply enters whatever cash is in the register. This mode is more flexible for stores with variable starting floats.
The system automatically detects when employees start shifts late or close them early based on the configured work schedule.
Late Login Detection
When an employee starts a shift after the configured work schedule start hour, the system shows a "LATE" tag. The employee must provide a reason for the late start. The lateness is recorded in the shift report.
Early Close Detection
When an employee closes a shift before the configured end hour, the same mechanism applies - a reason is required and the early closure is recorded.
Shifts that remain open at 23:59 are automatically closed by the system.
What Happens at Auto-Close
- A full-screen overlay notification appears on the POS terminal informing the employee that the shift has been closed automatically.
- The shift report is generated with the cash counted as the expected amount (since no manual count was performed).
- An email notification is sent to all configured shift notification recipients.
- The employee must start a new shift to continue selling.
Configure email notifications to stay informed about shift activity across your stores.
Notification Types
- Shift start notification: Email sent when an employee opens a new shift, including employee name, store, opening cash amount, and timestamp.
- Shift end summary: Detailed HTML email sent when a shift is closed, containing all receipts, cash status, payment breakdown, handover records, and any discrepancies.
- Auto-close alerts: Immediate notification when a shift is automatically closed at midnight.
Administrators can enter the POS terminal in a view-only mode without starting an active shift.
How It Works
- When an admin logs into POS, they can choose "Preview Mode" instead of starting a shift.
- In preview mode, the product catalog, categories, and prices are fully visible and browsable.
- Payment buttons are disabled - no sales can be processed.
- This is useful for checking product setup, verifying prices, reviewing settings, or demonstrating the POS to new staff.
Fiscal reports used for tax compliance and daily cash register management.
X-Report (Interim Read)
An X-Report provides an interim fiscal read of the current day's totals. It does not reset any counters. You can run it multiple times during the day to check sales progress. Accessible from POS Menu → X-Report.
Z-Report (End-of-Day Closure)
A Z-Report performs the official end-of-day fiscal closure. It resets the daily counters and increments the Z-number (a sequential number that proves no reports were skipped). Z-Reports are required by tax authorities in many countries.
Require employees to complete their daily checklist before they can close a shift. This ensures all end-of-day tasks (cleaning, restocking, etc.) are done.
How It Works
- When the employee clicks "Close Shift", the system checks whether the assigned checklist for that day has been completed.
- If any mandatory tasks remain unchecked, the shift close is blocked and a message shows which tasks need to be completed.
- The employee must go to Menu → Checklist, complete all tasks, then try closing the shift again.
When logging into POS, admin users can select which store and terminal to work at.
Login Flow for Admins
Enter your PIN on the login screen.
If assigned to multiple stores, select the store to work at from the dropdown.
Select the POS terminal (e.g. "Terminal 1", "Terminal 2") from the list of registered devices.
Start your shift or enter preview mode.
Terminal Occupation Check
If another employee is already logged into a terminal with an active shift, the system will show a warning: "This terminal is occupied by [Employee Name]". You cannot start a new shift on an occupied terminal.
🖨 Receipt & Printing Setup
Configure printers, customize receipt layout, enable auto-printing, and set up kitchen printing.
Location: POS → Menu → Settings → Printers
Adding a Printer
Open POS and go to Menu → Settings → Printers.
Click "+ Add Printer" and enter a name (e.g. "Receipt Printer", "Kitchen Printer").
Select the connection type and configure it (see table below).
Choose the paper size and click "Save".
Connection Types
| Type | Setup | Notes |
|---|---|---|
| USB | Auto-detected. Plug in the printer and it appears in the list. | Most reliable connection. Requires the printer driver to be installed on the OS. |
| Bluetooth | Pair the printer with your device first via OS Bluetooth settings, then select it in POS. | Best for mobile and portable setups. Pair before configuring in POS. |
| Network | Enter the printer's IP address and port (usually 9100). | Ideal for shared printers. Printer and POS device must be on the same network. |
| Browser | Uses window.print() as a fallback. No additional setup needed. | Works on any device with a browser. Opens the OS print dialog each time. |
Paper Sizes
- 58mm - Portable thermal printers. Compact receipts for mobile POS setups.
- 80mm - Standard thermal receipt printers. Most common for countertop POS.
- A4 - Standard paper size. Used with inkjet/laser printers for full-page receipts or invoices.
Customize the information that appears on your printed and digital receipts.
Receipt Header
The receipt header is configured in Backoffice → Settings → General and Store Settings. It includes:
- Business name - from General Settings
- Address - from Store Settings (each store can have its own address)
- ID number (JIB) - company identification number from General Settings
- PDV number - VAT registration number from General Settings
- Phone number - from Store Settings
Receipt Footer
Add a custom thank-you message or promotional text in Backoffice → Settings → General → Receipt Footer. This text appears at the bottom of every receipt.
Receipt Content
Each receipt automatically includes:
- Receipt number, date, and time
- Seller (employee) name and store name
- Itemized list with product names, quantities, unit prices, and line totals
- Tax breakdown by rate (e.g. 17% PDV, 0%)
- Subtotal, discount (if any), and grand total
- Payment method and amount paid
- Change returned (for cash payments)
- Loyalty points earned (if loyalty customer is attached)
Auto-Print
Enable auto-print in POS → Menu → Settings → toggle "Auto-Print Receipt". When enabled, the receipt prints automatically after every completed sale without needing to click the print button.
Email Receipts
There are multiple ways to email a receipt to a customer:
- During payment: In the payment modal, check the "Email receipt" checkbox and enter the customer's email address. The receipt is emailed immediately after the sale completes.
- From receipt modal: After a sale, the receipt preview modal includes an "Email" button. Click it and enter the email address to send.
- Loyalty customers: Customers with an email on file receive receipts automatically if the "auto-email loyalty" option is enabled in settings.
PDF Receipts
Download or preview any receipt as a PDF. From the receipt modal, click "Download PDF" to save a copy, or "Preview" to open it in a new tab. PDF receipts use the same layout as printed receipts.
Set up a separate printer for kitchen orders so the kitchen staff receives printed tickets for food preparation.
Setup Steps
Add a new printer in POS → Menu → Settings → Printers (follow the printer setup steps above).
Set the printer type to "Kitchen" instead of "Receipt".
In Backoffice, assign products to kitchen stations (Settings → Restaurant → Kitchen Stations).
Products assigned to a kitchen station automatically route to the kitchen printer when "Send to Kitchen" is clicked.
Location: Backoffice → Printers
Centrally manage all printers across your stores. Add, edit, test, and remove printers from one place.
Adding a Printer
Click “+ Add Printer”.
Enter a name, select the store, choose a connection type (USB, Bluetooth, Network, Serial, or Browser), and select the printer type.
For Network printers, enter the IP address. For USB/Bluetooth/Serial, a browser picker dialog appears on first use.
Click “Test Print” to verify the connection, then save.
Printer Types
| Type | Use Case |
|---|---|
| Receipt Printer | Main customer receipt. Auto-prints after each sale. Supports auto-cut and cash drawer kick. |
| Kitchen Printer | Sends order tickets to kitchen or bar stations. Shows items, table number, notes — no prices. |
| Label Printer | Print product labels and barcodes for shelf pricing, inventory management, and product tagging. |
Connection Methods
USB — direct cable, Chrome/Edge required. Bluetooth — wireless, best on Android Chrome. Network (IP) — WiFi/Ethernet, requires Epson ePOS or Star WebPRNT firmware. Serial — RS-232/COM port, Chrome 89+. Browser — system print dialog, works with all browsers and printers.
π Reports
Location: Backoffice β Reports β Shifts
View all closed shifts with: opening/closing cash, total sales, cash/card breakdown, cash in/out, difference, employee name, duration.
Location: Backoffice β Reports β Sales
Filters
- Date range (from/to)
- Store (dropdown)
- Employee (dropdown)
- Payment method (cash/card/mix/online)
Report Data
Each receipt row shows: receipt number, date/time, items count, subtotal, discount, tax, total, payment method, employee, customer (if any). Click a row to see full receipt details.
Export
Click "Export CSV" or "Export PDF" to download the report.
Location: Backoffice β Extended Reports
- Consolidated Shift Report: Multi-store summary with combined totals per store.
- Tax Report: Tax collected by rate (17% PDV, 0%, etc.) with totals.
- Product Performance: Top/bottom sellers, margins, profit per product.
- Employee Performance: Sales per employee, transaction counts, average order value.
View key sales metrics directly from the POS terminal without switching to Backoffice.
Accessing Quick Reports
Location: POS → Menu → Reports
Available Metrics
| Metric | Description |
|---|---|
| Total Sales | Revenue for the selected period (today, this week, this month) |
| Terminal Total | Sales made on the current terminal only |
| Starting / Expected Cash | Opening cash and calculated expected cash in register |
| Average Sale | Average transaction value for the period |
| Sold Items | Total number of items sold |
| Top Products | Best-selling products by quantity |
| Cash / Card Split | Revenue breakdown by payment method |
Set up automated report delivery to receive sales and inventory reports via email on a schedule.
Setting Up a Scheduled Report
Location: Backoffice → Reports → Scheduled Reports
Click "+ Add Schedule".
Select the report type: Daily Sales, Shift Summary, or Inventory Alert.
Choose frequency: Daily, Weekly (select day), or Monthly (select date).
Set the delivery time and enter one or more email addresses (comma-separated).
Click "Save". Toggle the Active switch to enable/disable the schedule.
π€ Customers & Loyalty
Location: Backoffice β Customers β "+ Add Customer"
| Field | Required |
|---|---|
| Full Name | β |
| β | |
| Phone | β |
| City | β |
| Notes | β |
| Loyalty Enrolled | β |
Customers can also be created from POS by clicking "π€ Customer" β "+ New".
Location: Backoffice β Bonus / Loyalty page
Configuration
- Points per unit of currency: e.g. 1 point per 1 KM spent
- Point value: How much 1 point is worth in currency (e.g. 1 point = 0.01 KM)
- Minimum redeem: Minimum points required to redeem
- Auto-enroll: Automatically enroll new customers
How it works in POS
When a loyalty customer is selected during a sale, they earn points automatically after payment. To redeem points, click "Use Points" in the payment modal β it applies a discount equal to the redeemed points' value.
Location: Backoffice β Customer DNA
AI-powered customer segmentation using RFM (Recency, Frequency, Monetary) analysis.
Segments
- Champions: Buy often, spend big, bought recently
- Loyal Customers: Buy regularly with good spending
- At Risk: Were good customers but haven't bought recently
- Lost: Haven't purchased in a long time
- New: Recently acquired customers
Email Campaigns
Select a customer segment β Click "Send Campaign" β Write subject and message β Send to all customers in that segment. Requires customers to have email addresses.
Location: Backoffice → Management → Loyalty Log
View a complete history of all loyalty point transactions across your business.
Log Contents
| Column | Description |
|---|---|
| Date & Time | When the points transaction occurred |
| Customer | Customer name linked to the points |
| Type | Earned (from purchase) or Redeemed (used as payment) |
| Points | Number of points earned or redeemed |
| Balance | Customer’s total point balance after this transaction |
| Receipt # | Linked receipt number for reference |
| Employee | Cashier who processed the transaction |
Redeeming Points (Step-by-Step)
In POS, select the loyalty customer before or during the sale.
Open the payment modal. The customer’s available points and their value are displayed.
Click “Use Points”. Enter the number of points to redeem (or use all available).
The point value is applied as a discount. Pay the remaining balance with cash or card.
Import customers from a CSV file or export your customer database.
Exporting Customers
Location: Backoffice → Customers → "Export CSV" button. Downloads a CSV file with all customer records (name, email, phone, city, loyalty points, notes).
Importing Customers
Click "Import CSV" in the Customers page.
Select your CSV file. Map CSV columns to SmartPOS fields (Name, Email, Phone, City).
Review the preview and click "Import". Existing customers are matched by email and updated; new customers are created.
π Inventory
Location: Backoffice β Inventory
View all products with stock levels. Filter by store, category, or stock status (low/out/normal).
Stock Adjustments
Click a product β "Adjust Stock" β Enter new quantity or adjustment (+/-) β Enter reason β Save. Stock changes are logged in the audit trail.
Low Stock Alerts
Products below their minimum stock level are highlighted. Configure minimum stock per product in the product edit form.
Suppliers
Location: Backoffice β Inventory β Suppliers. Add suppliers with name, contact, email, phone, and address.
Purchase Orders
Go to Inventory β Purchase Orders β "+ New Order".
Select supplier, add products with quantities and costs.
Save as Draft or Send to Supplier.
When goods arrive, click "Receive" β confirm quantities β Stock is automatically updated.
Location: Backoffice β Inventory β Transfers
Select From Store and To Store.
Add products and quantities to transfer.
Click "Transfer". Stock is deducted from source store and added to destination store.
Perform a physical stock count to verify actual inventory matches system records.
How to Perform an Inventory Count
Location: Backoffice → Inventory → Count
Click "+ New Count" and select the store.
For each product, enter the actual count (physically counted quantity).
The system shows the expected quantity vs your count, highlighting any variance (surplus or shortage).
Review the count summary with discrepancy statistics, then click "Finalize Count" to update stock levels.
Track every stock movement across your stores with a complete audit trail.
Inventory History
Location: Backoffice → Inventory → History
View all stock movements filtered by product and store. Each entry shows who made the change, when, and the movement type:
- Sale: Stock deducted when a product is sold
- Receive: Stock added from goods receipt or purchase order
- Adjustment: Manual stock corrections (damage, correction, theft)
- Transfer: Stock moved between stores
- Count: Stock adjusted after physical inventory count
Inventory Log
Location: Backoffice → Inventory → Log
A detailed per-product stock change log with pagination. Filter by date range and store. Export the log to CSV for external analysis.
📥 POS Stock Operations
Receive deliveries, transfer stock, and manage tester/display/consignment items directly from the POS terminal.
Receive stock deliveries directly from the POS terminal without needing to switch to Backoffice.
How to Receive Goods
In POS, open the Menu and select "Goods Receipt".
Search for products by name or scan barcodes to add them to the receipt list.
Enter the received quantity for each product.
Optionally add delivery notes (e.g. supplier name, delivery reference number).
Click "Confirm Receipt". Stock levels are updated in real time.
Transfer stock between stores directly from the POS terminal.
How to Transfer Stock
In POS, open the Menu and select "Stock Transfer".
Select the destination store from the dropdown list.
Add products by searching or scanning, and enter the quantity for each.
Click "Execute Transfer". Stock is deducted from the current store and added to the destination store.
Mark a product unit as a tester or display item, which deducts it from sellable stock.
How to Assign a Tester/Display
In POS, open the Menu and select "Tester/Display".
Search for the product and select it.
Choose the type: Tester (product sample for customers to try) or Display (product on display shelf).
Add a reason or notes (optional) and confirm. One unit is deducted from stock.
Record sales of third-party (consignment) goods where the card payment goes to the store but cash needs to be forwarded to the goods owner.
How to Record a Commission Sale
In POS, open the Menu and select "Commission Sale".
Enter the total amount of the consignment sale.
Select or enter the goods owner (the third party who owns the merchandise).
Add any notes (optional) and confirm.
The commission sale is tracked separately from regular sales in the shift report and can be reviewed in Backoffice reports.
Manage courier package reception and cash-on-delivery (COD) collection at your store.
Receiving Packages
In POS, open the Menu and select "Postal / Courier".
Enter the number of packages received from the courier (e.g. SDS, BH Post).
Enter the total COD amount collected from customers for those packages.
Confirm the receipt. The COD amount is added to your register cash.
Handing Over COD Cash
When the courier comes to collect COD cash, use Cash Handover (Menu → Cash Handover). The receiver must enter their PIN to verify. The handover is recorded in the shift report.
Open the cash drawer programmatically from the POS terminal.
How It Works
If your receipt printer supports cash drawer control (most thermal printers do), SmartPOS can send an "open drawer" command to the printer. The cash drawer opens automatically:
- After cash payments: Drawer opens automatically when a cash sale is completed.
- Manual open: POS → Menu → "Open Drawer" to manually open without a sale.
Supported Connections
Cash drawer control works via USB, Bluetooth, Network, and Serial connected printers. The drawer must be connected to the printer's RJ11 port (the kick connector on the back of the printer).
Encourage customers to leave Google reviews after their purchase.
How It Works
After a sale is completed, a prompt appears on the cashier's screen reminding them to ask the customer for a Google review. The prompt includes a suggested script and can show a bonus incentive message if the employee bonus system is enabled.
Submit and manage support tickets directly from SmartPOS.
Creating a Ticket
From POS: Menu → Support → "New Ticket". Describe the issue and submit. Your device info and current store are automatically attached.
From Backoffice: System → Support Tickets → "New Ticket". Enter subject, description, and priority.
Managing Tickets
View all tickets with their status. Click a ticket to see details and replies. Reply to support responses directly in the ticket view. Tickets are tracked until resolution.
Export your business data for backup or analysis purposes.
Available Exports
- Products: Backoffice → Products → Export CSV (all products with prices, SKUs, barcodes, categories)
- Customers: Backoffice → Customers → Export CSV (all customer records)
- Employees: Backoffice → Employees → Export CSV (employee list with roles and stores)
- Sales Reports: Any report page → Export CSV or Export PDF (filtered data)
- Inventory Log: Backoffice → Inventory → Log → Export CSV (stock movements)
- Audit Log: Backoffice → Audit Log → Export CSV (all system actions)
π΅ Finance
Location: Backoffice β Accounting
Dashboard Metrics
- Total Revenue: Sum of all completed sales
- Total Expenses: Sum of all recorded expenses
- Net Profit: Revenue minus expenses minus cost of goods sold
- Tax Collected: Total tax amounts from sales
Charts
Revenue vs Expenses bar chart (monthly), Profit trend line chart, Tax breakdown pie chart.
Location: Backoffice β Settings β Tax Rates
Add Tax Rate
| Field | Type | Required |
|---|---|---|
| Tax Name | text | β |
| Rate (%) | number | β |
| Default | checkbox | β |
The default tax rate is automatically applied to new products. Products can override with a specific tax rate.
Location: Backoffice → Finance → Cash Tracking
Track daily cash register movements across all stores with complete audit trail.
Features
- Opening/closing balance: Track daily cash register start and end amounts per store.
- Cash deposits & withdrawals: Record all non-sale cash movements with reasons.
- Cash reconciliation: Compare expected cash (calculated from sales) vs actual cash counted.
- Cash operation history: Complete log of all cash in/out operations with timestamps and employee names.
- Store cash summary: View total cash in, total cash out, and current balance per store.
Location: Backoffice → Finance → End of Day
A comprehensive daily summary consolidating all sales, shifts, and cash activity.
Report Contents
- All shifts consolidated: Combined sales totals from every shift that day.
- Top products: Best-selling items of the day by revenue and quantity.
- Cash reconciliation overview: Expected vs actual cash across all shifts.
- Payment method breakdown: Cash, card, mix, and online totals.
Track business expenses alongside revenue for accurate profit calculations.
Recording Expenses
- From POS: When closing a shift, add expense notes in the closing modal. These are recorded as shift-level expenses.
- Cash Out operations: Each Cash Out during a shift (Menu → Cash Out) is logged as an expense category. Enter the amount and reason (e.g. "supplier payment", "office supplies").
- In Accounting view: Total Expenses appears as a KPI in Backoffice → Accounting, reflecting all Cash Out operations and shift expenses.
Net Profit is automatically calculated as Revenue minus Expenses minus Cost of Goods Sold.
Location: Backoffice → Tax Rates
Configure tax rates, compound taxes, and tax groups that apply to your products and sales.
Tax Rates
Click “+ Add Tax Rate” to create a new tax rate. Each rate has:
| Field | Description |
|---|---|
| Name | Display name (e.g. “VAT 17%”, “Reduced VAT 9%”) |
| Rate (%) | The tax percentage to apply |
| Type | Inclusive (price already includes tax) or Exclusive (tax added on top of price) |
| Compound | If enabled, this tax is calculated on top of other taxes (tax-on-tax) |
| Priority | Order of calculation when multiple taxes apply. Lower number = calculated first. |
Tax Groups
Tax groups bundle multiple tax rates together. Click “+ Add Tax Group” to create a group, then select which rates it includes. Assign a tax group to products that require multiple taxes (e.g. state tax + city tax).
Tax Calculator
Use the built-in tax calculator to verify how taxes apply. Enter a subtotal, select a tax group, and click “Calculate” to see the breakdown of each tax rate and the final total.
πͺ Stores (Multi-location)
Location: Backoffice β Stores β "+ Add Store"
| Field | Required |
|---|---|
| Store Name | β |
| Address | β |
| Phone | β |
| POS Mode | β |
Each store has independent: products, stock levels, employees, shifts, reports, and settings. Products are shared across stores but stock is per-store.
Location: Backoffice → Stores → click a store name
The store detail page has 6 tabs for managing every aspect of an individual store:
| Tab | Description |
|---|---|
| Overview | Edit store name, address, city, phone, and view store statistics (total sales, products, employees). |
| Regional Settings | Override the default currency, currency symbol, decimal/thousands separators, and tax settings for this specific store. Useful for businesses operating in different countries. |
| Products | View and manage products available at this store. Products are shared across all stores but stock levels are tracked per store. |
| Employees | View employees assigned to this store. Reassign or add employees from here. |
| Fiscal | Configure per-store fiscal settings: fiscal device, certificate, country rules, and compliance requirements. |
| Printers | Set up printers specific to this store: receipt printers, kitchen printers, and label printers with their connection type and settings. |
π₯ Employees & Roles
Location: Backoffice β Employees β "+ Add Employee"
| Field | Type | Required |
|---|---|---|
| Full Name | text | β |
| β | ||
| Phone | tel | β |
| PIN | 4 digits | β |
| Role | select | β |
| Store Assignment | select | β |
| Commission Rate (%) | number | β |
Enable NFC/barcode card login for quick waiter identification in restaurant mode.
Setup
Go to Settings β Restaurant β Enable "Card Login".
For each waiter, scan their card in the employee edit form to assign the card ID.
In POS, waiters scan their card instead of entering a PIN. "Auto-lock" option locks POS after each order for security.
Location: Backoffice β Checklists
Creating a Checklist
Click "+ Add Checklist". Enter name, select frequency (Daily / Weekly / Monthly).
Add tasks to the checklist (e.g. "Clean coffee machine", "Restock napkins", "Count cash drawer").
Assign to a store and save.
Completing Tasks in POS
Employees see their assigned checklists in POS β "π Checklist" button. They check off completed tasks. Progress is visible in Backoffice.
Configure sales-based performance bonuses for employees to incentivize higher sales.
Backoffice Configuration
Location: Backoffice → Management → Employee Bonus
- Bonus threshold: The sales amount an employee must reach before bonus kicks in (e.g. 5,000 KM/month).
- Bonus percentage: The percentage of sales above the threshold that the employee earns as bonus.
- Season adjustments: Modify thresholds for busy/slow seasons.
- Checklist completion requirement: Optionally require checklist completion to qualify for bonus.
Employee Bonus Grid
View all employees with their current sales progress, shift count, bonus rate, and payout status. The grid shows progress bars towards the bonus threshold.
In POS
Employees can view their bonus progress from POS → Menu → Bonus. Shows current sales total, threshold, progress percentage, and estimated bonus amount.
π½οΈ Restaurant Mode
Complete restaurant management: floor plan, tables, kitchen display, courses, and table orders.
Location: Backoffice β Settings β Restaurant tab
| Setting | Description |
|---|---|
| Kitchen Stations | Define preparation areas (e.g. Kitchen, Bar, Grill, Dessert, Pizza, Cold) |
| Auto-send to Kitchen | Automatically send items to kitchen when added to order |
| Kitchen Alert Sound | Play sound when new kitchen orders arrive |
| Require Guest Count | Must enter guest count when opening a table |
| Enable Courses | Support multi-course ordering (appetizer, main, dessert) |
| Default Order Type | Dine-in or Fast Food |
| Waiter Restrict Own | Waiters can only see/modify their own tables |
| Card Login | Enable NFC/barcode card login for waiters |
| Card Auto-lock | Lock POS after each order (requires re-scan) |
This is a complete end-to-end flow: Create kitchen stations β Assign products β Open KDS β Process orders.
Step 1: Create Kitchen Stations
Go to Backoffice β Settings β Restaurant tab.
In the "Kitchen Stations" section, type a station name (e.g. "Bar") in the input field and click "Add".
Station appears as a tag with icon. Repeat for each station. Common stations:
- π³ Kitchen / Main
- πΊ Bar
- π Pizza
- π₯ Grill
- π° Dessert
- π₯ Cold / Salad
Click "Save Restaurant Settings". KDS quick-links appear below showing links for each station.
Step 2: Assign Products to Kitchen Stations
Go to Backoffice β Products. Edit a product (click the edit icon).
Find the "Kitchen Station" dropdown (only visible in Restaurant or Both POS mode).
Select the station (e.g. "Bar" for drinks, "Kitchen" for food, "Grill" for grilled items).
Save the product. Repeat for all products.
Step 3: Open Kitchen Display System (KDS)
Open /pos/kitchen.html on a tablet or screen in the kitchen. Or use the KDS quick-links in Restaurant Settings.
Log in with email/password. Select the store.
The KDS shows 3 columns: NEW β PREPARING β READY. Use station tabs at top to filter by station.
Step 4: Order Flow on KDS
Each order card shows: table name, items grouped by station, special notes (italicized), course number, elapsed time (red if >15 min). KDS polls every 4 seconds for updates and plays a chime sound for new orders.
Send items to the kitchen in separate courses (appetizers, mains, desserts) so each course is prepared at the right time.
How to Use Courses
Open a table and add items for the first course (e.g. appetizers).
Click "Send to Kitchen" — these items are sent as Course 1.
Click "+ Add Course" to start Course 2. Add main course items.
Click "Send to Kitchen" again — Course 2 items are sent separately.
Repeat for additional courses (desserts, drinks, etc.).
On the KDS, items are grouped by course number. The kitchen can see which course each item belongs to and prepare them in the correct sequence.
Quick-service mode for restaurants and takeaway counters that don't need table assignments.
How Fast Food Mode Works
In the POS floor plan, click "Fast Food" toggle (or set the default order type to Fast Food in restaurant settings).
Add items to the order just like a regular sale.
Click "Send to Kitchen". Items are sent with a sequential order number (e.g. FF-001, FF-002).
Process payment immediately or after kitchen preparation.
On the KDS, fast food orders appear with the order number instead of a table name. The kitchen prepares them in sequence.
Location: Backoffice → Online Menu
Control which products appear on your customer-facing online menu. Guests access this menu by scanning a QR code at their table or using a direct link.
Setting Up Your Online Menu
Go to Backoffice → Online Menu.
Toggle “Menu Active” to enable the online menu for your restaurant.
Select a store from the dropdown to manage per-store menus, or choose “All stores” for global settings.
Use the search bar, category filter, or visibility filter to find specific products.
Managing Menu Items
Each product in the list shows its name, category, price, and visibility status. You can:
- Toggle visibility — Click the toggle to show or hide a product from the online menu.
- Edit description — Add a custom description that guests see when browsing the menu.
- Filter by status — Use the visibility dropdown to show only visible, hidden, or all products.
- Search — Type a product name to quickly locate it in a large catalog.
Preview & Sharing
Click the “Preview” button to see your online menu as guests will see it. The preview link can be shared directly or embedded in a QR code.
Per-Store Menus
If you operate multiple stores, each store can have its own online menu with different visible products and descriptions. Select the store from the dropdown at the top of the page.
πΊοΈ Floor Plan
Location: Backoffice β Floor Plan
Click "+ Add Floor Plan". Enter name (e.g. "Main Floor", "Terrace", "VIP Room") and select store.
Click "+ Add Table" to add tables. Enter: Table Name (e.g. T1, T2), Shape (square/round/rectangle/oval), Seats (1-20).
Click a table card to edit: change name, seats, shape, color, dimensions (width/height), and assign a waiter.
Tables appear in POS floor plan view for table selection.
Table Properties
| Property | Description |
|---|---|
| Name | T1, T2, Bar-1, etc. |
| Seats | 1-20 |
| Shape | Square, Round, Rectangle, Oval |
| Color | Custom color (green=available, red=occupied, orange=reserved) |
| Assigned Waiter | Employee with waiter/cashier/manager/admin role |
QR Codes for Tables
Generate QR codes for each table from Backoffice β Floor Plan β "Generate QR". Customers can scan to view the menu and place orders directly.
Let customers scan a QR code at their table to view your menu and place orders directly from their phone.
Setting Up QR Ordering
Create your floor plan with tables in Backoffice → Floor Plan.
Click "Generate QR" on the Floor Plan page. A unique QR code is generated for each table.
Print the QR codes and place them on each table (table tent, sticker, etc.).
Customers scan the QR code, which opens the online menu linked to their specific table.
Online Menu Editor
Location: Backoffice → Restaurant → Online Menu
Control which products appear on the customer-facing online menu. Toggle product visibility, reorder items, and customize the menu appearance. Only products marked as visible will show when customers scan the QR code.
π¨βπ³ Kitchen Display System (KDS)
Station Tabs
Top bar shows filter buttons for each configured station with icons. Click a station to filter orders for that station only. Click "All" to see everything.
Order Cards
- Table name (large, prominent)
- Elapsed time (red highlight if >15 minutes)
- Items grouped by station with quantities and special notes
- Course number (if multi-course ordering enabled)
- Guest count and order number
Controls
- π Sound toggle β Enable/disable new order chime (two-tone: C5 + E5)
- βΆ Fullscreen β Expands KDS to fullscreen mode
- π Auto-refresh β Polls every 4 seconds automatically
Bulk Actions
Each column has "Accept All", "Ready All", or "Served All" buttons to process all visible orders in that status at once.
In fast food mode (no floor plan), orders go directly to kitchen from POS cart.
Add items to cart in POS.
Click "π₯ Send to Kitchen (N)" where N is the count of unsent items.
Items get badges: β SENT (green) or β³ PENDING (yellow). Button changes to "β All sent to kitchen" when complete.
Order number is generated as FF-{timestamp} (e.g. FF-1707234567890).
π Table Orders
Select a table from the floor plan in POS. Table status shows as colored cards (green=available, red=occupied).
Add items to the order by tapping products. If courses are enabled, items are grouped by course number.
Send to kitchen: Click "Send to Kitchen". Items change status from pending to sent. Each item goes to its assigned kitchen station. If auto-send is enabled, items are sent automatically when added.
Add more items anytime β just select the table again and add items. New items appear as "pending" while previously sent items show as "sent".
Close order: Click "Close Order" β payment modal appears β select payment method β Complete. Any pending items are auto-sent to kitchen before closing.
Additional Actions
- Transfer table: Move the order to a different table (e.g. guests want to move)
- Cancel order: Cancel with a reason (confirmation required)
- Item notes: Add special preparation instructions per item
- Delete item: Remove items within 1-minute grace period after sending to kitchen
Course Management
When courses are enabled (Settings β Restaurant β Enable Courses), items are grouped by course number (1, 2, 3...). Course numbers appear in KDS cards so the kitchen knows the serving order. Courses can be sent to kitchen separately or all at once.
Real-time Updates (SSE)
POS receives real-time kitchen events: kitchen_order_ready (order ready for pickup), kitchen_order_preparing (kitchen started preparing), kitchen_order_displayed (KDS confirmed display).
When closing a table order, you can split the bill between guests.
Click "Close Order" on a table order.
In the payment modal, click "Split Bill".
Choose split method: Equal split (divide total by N guests) or By items (assign items to each guest).
Process payment for each split portion separately.
🚚 Delivery Orders
Receive and manage delivery orders from Wolt, Glovo, and other platforms directly in your POS.
SmartPOS integrates with delivery platforms like Wolt and Glovo to receive orders in real time via webhooks.
How It Works
Before using delivery in POS, you must first connect the delivery platform in Backoffice → Integrations. See the Wolt Setup and Glovo Setup sections below.
Location: POS → Delivery Panel (accessible from the POS toolbar or sidebar)
Delivery Panel
The delivery panel shows all incoming delivery orders with a badge count for new (unaccepted) orders.
Status Filters
- All - Shows all delivery orders regardless of status.
- New - Orders that just arrived and need to be accepted or rejected.
- Accepted - Orders that have been accepted and are being prepared.
- Ready - Orders that are prepared and waiting for courier pickup.
Available Actions
- Accept: Accept the order and begin preparation. The delivery platform is notified that the order is being prepared.
- Reject: Reject the order with a reason text (e.g. "out of stock", "kitchen closed"). The customer is notified on the delivery platform.
- Mark Ready: Mark the order as ready for courier pickup. The delivery platform dispatches a courier.
Location: Backoffice → Integrations → Wolt
Connection Steps
Go to Backoffice → Integrations and find the Wolt card.
Enter your API Key (provided by Wolt when you register as a merchant).
Enter your Venue ID (identifies your specific restaurant on Wolt).
Click "Connect". The status indicator changes to connected.
Options
- Test mode: Enable to receive test orders without affecting your live Wolt account. Useful for initial setup verification.
- Auto-accept: Toggle to automatically accept incoming Wolt orders.
- Menu sync: Synchronize your SmartPOS product catalog with Wolt for automatic product mapping.
Location: Backoffice → Integrations → Glovo
Connection Steps
Go to Backoffice → Integrations and find the Glovo card.
Enter your API Token (provided by Glovo merchant portal).
Enter your Store ID (identifies your store on Glovo).
Click "Connect". The status indicator changes to connected.
Options
- Test mode: Enable to receive test orders without affecting your live Glovo account.
- Auto-accept: Toggle to automatically accept incoming Glovo orders.
- Menu sync: Synchronize your product catalog with Glovo. Supports automatic store mapping and product matching.
π€ Analytics & AI
Location: Backoffice β Analytics β Sales Predictions
AI analyzes historical sales data to predict future trends. Shows: predicted daily revenue, peak hours forecast, recommended stock levels, and seasonal trend analysis.
Available Tabs
- Overview: Summary of all AI insights with key metrics and alerts.
- Critical Stock: Products at risk of running out based on predicted demand.
- Segments: Product classification by sales velocity (fast-moving, slow-moving, seasonal).
- Transfers: Recommended stock transfers between stores to optimize inventory distribution.
- Reorder: Products that need reordering with suggested quantities. Exportable to CSV.
- Sales Forecast: Predicted revenue for next 7, 14, or 30 days with confidence intervals.
- Demand: Per-product demand forecasting with daily/weekly predictions.
- Trends: Seasonal trend detection showing which products peak in which months.
- Peak Hours: Heatmap showing busiest hours by day of week for staffing optimization.
- Restock: Smart restock suggestions combining demand, lead time, and safety stock.
Running AI Analysis
Click "Run AI Analysis" to start the computation. A progress modal shows the analysis steps. Results are cached and refresh when you run a new analysis. Use "Auto-Optimize" to let AI tune its own parameters for better accuracy.
Location: Backoffice → Analytics → Loss Prevention
AI monitors transaction patterns to detect anomalies: unusual void patterns, excessive discounts, suspicious refund sequences, cash drawer discrepancies. Alerts are shown in the Security dashboard.
Analysis Tabs
- Voids: Tracks voided receipts with frequency analysis. Flags employees with unusually high void rates.
- Discounts: Monitors discount usage by employee. Identifies excessive or unauthorized discounting patterns.
- Employee Risk: Risk scores per employee based on void/discount/refund behavior. Higher scores indicate patterns needing investigation.
- Patterns: Suspicious pattern detection (e.g. sales just below manager approval threshold, repeated same-amount refunds).
- Cash: Cash discrepancy analysis across shifts. Tracks shortages and overages over time.
A trend chart shows loss metrics over time, and a recent alerts list highlights issues needing immediate attention.
Location: Backoffice → Analytics → Smart Pricing
AI suggests optimal prices based on demand patterns, competitor analysis, and profit margin targets. Review suggestions and apply with one click.
Smart Pricing Features
- Top 10 suggestions: AI-ranked pricing recommendations with expected revenue impact.
- Season analysis: Factor visualization showing how seasons affect demand and pricing.
- Discount badges: Recommended promotional labels for products (e.g. "-20%", "Sale").
- CSV export: Download all pricing suggestions for review.
Promotions Management
Go to Smart Pricing → Promotions tab.
Click "+ Create Promotion". Set a name, discount percentage, start/end date.
Select products to include (or use "Auto-Select" for AI-recommended products).
Save the promotion. Products show a "PROMO" badge in POS with the discounted price.
Email Marketing
Send promotional emails to customers about active sales. Preview the email, send a test to yourself, then broadcast to all customers with email addresses on file.
Location: Backoffice → Analytics → Stock Algorithm
Configure automated reorder points, safety stock levels, and low-stock alerts based on AI-driven demand analysis.
Key Settings
| Setting | Description |
|---|---|
| Reorder Point | Stock level at which a reorder alert is triggered |
| Safety Stock | Buffer stock to prevent stockouts during unexpected demand |
| Lead Time (days) | Supplier delivery time used in reorder calculations |
| Min/Max Levels | Minimum and maximum stock boundaries per product |
| Store Multiplier | Per-store adjustment factor for stores with different sales volumes |
| Season Factor | Seasonal adjustment for demand fluctuations |
Dashboard
The algorithm dashboard shows: total low-stock items by severity, items needing reorder, algorithm performance stats, and a log of all alert recalculations. Click "Recalculate Alerts" to refresh. Use "Send Report" to email the algorithm report.
π Security
Location: Backoffice β Anti-Fraud
Monitors for tamper attempts and suspicious activity:
- Tamper Log: Device integrity checks, unauthorized access attempts
- Device Alerts: Offline devices, suspicious login patterns, location changes
- Transaction Monitoring: Unusual void/refund patterns, large discounts, off-hours activity
Location: Backoffice β Audit Log
Records all system actions. Filterable by: action type, user, date range, store.
Logged Actions
- Product create/edit/delete, price changes
- Sales, refunds, voids, discounts
- Stock adjustments, transfers
- Employee create/edit/delete, role changes
- Settings changes, login/logout events
Location: Backoffice → Settings → Permissions
Configure granular permissions for each role to control exactly what each employee type can access.
How to Configure Permissions
Go to Backoffice → Settings → Permissions tab.
You'll see a permission matrix with roles as columns (Admin, Manager, Cashier) and modules as rows.
Toggle checkboxes to enable/disable access for each role and module combination.
Click "Save Permissions" to apply changes immediately.
Controllable Modules
Permissions can be set for: Dashboard, Products, Customers, Employees, Inventory, Reports, Finance, Settings, Integrations, Analytics, Floor Plan, and all POS features (discounts, refunds, receipt deletion, cash handover, etc.).
Location: Backoffice β Devices
View all registered POS devices: device name, last heartbeat, sync status, browser info, IP address, error logs. Devices send heartbeat signals to confirm they're online.
π Integrations
Connect SmartPOS with 20+ services for payments, accounting, marketing, e-commerce, and delivery.
| Gateway | Region | Auth Type | Currencies |
|---|---|---|---|
| Stripe | Global | OAuth2 | USD, EUR, GBP +135 |
| PayPal | Global | API Key | USD, EUR, GBP +20 |
| Square | US, CA, UK, AU, JP, EU | OAuth2 | USD, CAD, GBP, AUD, JPY, EUR |
| Razorpay | India | API Key | INR |
| Mollie | Europe | API Key | EUR, GBP, CHF, SEK, NOK, DKK |
| MercadoPago | Latin America | Access Token | BRL, ARS, MXN, CLP, COP, PEN, UYU |
| Monri | BA, HR, RS, ME | API Key | BAM, EUR, HRK, RSD |
| AllSecure | RS, ME | API Key | EUR, RSD |
| CorvusPay | HR | API Key | EUR, HRK |
| CaSys (cPay) | MK | API Key | MKD, EUR |
Setup Flow (API Key gateways)
Go to Backoffice β Integrations β select gateway.
Enter your API credentials (API Key, Secret, etc.).
Click "Connect". Status changes to connected.
Setup Flow (OAuth2 gateways β Stripe, Square)
Click "Connect" β Redirected to provider's authorization page.
Authorize SmartPOS to access your account.
Redirected back to SmartPOS with connection confirmed.
| Service | Auth | Syncs |
|---|---|---|
| QuickBooks | OAuth2 | Contacts, Items, Invoices, Sales Receipts |
| Zoho Books | OAuth2 | Contacts, Items, Invoices |
| Xero | OAuth2 | Contacts, Items, Invoices |
| FreshBooks | OAuth2 | Clients, Invoices |
All accounting integrations use OAuth2 β click Connect, authorize, done. Toggle auto-sync to keep data in sync automatically.
WooCommerce
| Field | Required |
|---|---|
| Store URL | β |
| Consumer Key | β |
| Consumer Secret | β |
Syncs: Products (push/pull), Orders (pull), Customers (push/pull), Stock levels (push). Webhook receives new WooCommerce orders automatically.
Shopify
| Field | Required |
|---|---|
| Store Domain | β |
| Access Token | β |
Syncs: Products (push/pull), Orders (pull), Customers (push/pull), Inventory. Webhook receives new Shopify orders.
Mailchimp
Connect with API Key (format: xxx-usXX). Syncs customers to audiences with configurable fields (name, email, phone, city, total_spent, order_count, loyalty_points). Supports tags and auto-sync on sale.
HubSpot
OAuth2 connection. Syncs Contacts (push/pull) and Deals (push). Auto-sync and tag contacts options available.
Wolt
| Field | Required |
|---|---|
| API Key / Access Token | β |
| Venue ID | β |
Actions: Accept Order, Reject Order, Mark Ready. Auto-accept option available. Orders appear in POS delivery panel.
Glovo
| Field | Required |
|---|---|
| API Token | β |
| Store ID | β |
Actions: Accept Order, Reject Order, Mark Ready, Sync Menu. Unlike Wolt, Glovo supports direct menu sync.
βοΈ Settings
Location: Backoffice β Settings β General
| Setting | Description |
|---|---|
| Business Name | Displayed on receipts and reports |
| Language | English / Bosanski |
| Currency | BAM, EUR, USD, etc. |
| Timezone | For report timestamps |
| Receipt Header/Footer | Custom text on printed receipts |
Location: Backoffice β Settings β Subscription
Plan Information
- Current plan name and status (active/trial/expired)
- Usage meters: products used/limit, stores used/limit, employees used/limit
- Trial days remaining (if on trial)
- Feature list for current plan
Upgrade
Click "Upgrade Plan" to see available plans with pricing. Plans: Starter, Professional, Business, Enterprise.
Location: Backoffice β Settings β Fiscal
Configure fiscal compliance settings for your country. Different countries have different requirements.
| Setting | Description |
|---|---|
| Fiscal Enabled | Enable/disable fiscal receipt generation |
| Device Registration | Register POS devices with tax authority |
| Tax ID / JIB | Company tax identification number |
| Fiscal Audit | View fiscal audit trail for compliance |
Fiscal Country Support
SmartPOS supports fiscal compliance in 30+ countries through multiple fiscal drivers:
- Bosnia, Bulgaria, Romania, Poland: ErpNet.FP driver (Datecs/Tremol/Tring fiscal printers via local bridge)
- Bosnia (direct): Web Serial API for direct USB fiscal printer connection (no bridge software needed)
- Germany, Austria: Fiskaly TSE (cloud-based Technische Sicherheitseinrichtung)
- Austria: fiskaltrust middleware (RKSV compliance)
- Serbia: LPFR local fiscal processor (eFiskalizacija)
- Croatia, Hungary, Greece, Italy, Spain, Portugal, Turkey, and more: Online fiscal via SmartPOS API
- US, UK, Canada, Australia, etc.: No fiscal signing required (passthrough mode)
Location: Backoffice → Settings → Email Templates
Customize the HTML templates used for all system-generated emails.
Available Templates
- Receipt email: Sent when a receipt is emailed to a customer
- Shift report: Shift start/end notification emails
- Low stock alert: Inventory warning emails
- Auto-close notification: Midnight shift auto-close alerts
- Welcome email: New employee/customer welcome message
- Stock algorithm report: AI-generated restock recommendations
Editing a Template
Select a template type, edit the subject line and HTML body. Use template variables like {{business_name}}, {{employee_name}}, {{total_sales}}. Click "Preview" to see a live rendering, then "Save".
Location: Backoffice → Settings → API
API Key Management
Generate API keys to allow external applications to interact with your SmartPOS data. Click "Generate Key" to create a new key. Copy it immediately as it won't be shown again. Click "Regenerate" to invalidate the old key and create a new one.
Webhooks
Set up webhooks to receive real-time notifications when events occur in SmartPOS.
Click "+ Add Webhook".
Enter the target URL where notifications should be sent.
Select event types to subscribe to (e.g. order.created, product.updated, shift.closed, refund.created).
Save. The webhook is immediately active and will POST JSON payloads to your URL when selected events occur.
Show or hide specific features in the POS and Backoffice to simplify the interface for your team.
POS Modules
Location: Backoffice → Settings → Modules (POS tab)
Toggle individual POS features on/off: Goods Receipt, Stock Transfer, Tester/Display, Employee Bonus, Commission Sales, Postal Packages, Checklists, Cash Handover, Customer Management, Refunds, Cash Drawer. Disabled modules are hidden from the POS menu.
Backoffice Modules
Location: Backoffice → Settings → Modules (Backoffice tab)
Toggle Backoffice sidebar sections on/off to hide pages you don't use. Disabled sections are removed from the sidebar navigation.
Location: Backoffice → Settings → Discounts
Configure tiered discount limits to control the maximum discount employees can apply based on the cart total.
How Tiers Work
Each tier defines a cart total range and a maximum discount percentage. Example:
| Cart Total | Max Discount |
|---|---|
| Under 50 | 5% |
| 50 – 100 | 10% |
| 100 – 200 | 15% |
| 200+ | 20% |
Click "+ Add Tier" to create new tiers. Set whether the discount is percentage or fixed amount. When a customer is attached to the sale, a separate "Max discount with customer" setting applies, allowing higher discounts for loyal customers.
Location: Backoffice → Settings → Legal
Configure legal business details that appear on receipts, invoices, and fiscal documents.
| Field | Description |
|---|---|
| Company Registration No. | Official business registration number |
| Tax ID (JIB/PIB) | Tax identification number for the business |
| VAT Number (PDV) | VAT registration number (if registered for VAT) |
| Legal Name | Official registered company name |
Location: Backoffice → Settings → Receipt/PDF tab
PDF Watermark
Enable a text watermark on PDF receipts (e.g. "COPY", "DUPLICATE"). Toggle "Enable PDF Watermark" and enter the watermark text. The text appears diagonally across the PDF.
PDF Stamp
Add a custom stamp image (e.g. company seal, approval stamp) to PDF receipts. Toggle "Enable PDF Stamp" and upload an image. The stamp appears in the footer area of the PDF.
Receipt Preview
Preview how your receipts will look with the current settings. Click "Preview Receipt" to generate a sample receipt with all customizations applied.
Location: Backoffice → Settings → Subscription
Available Plans
| Plan | Price | Key Features |
|---|---|---|
| Free | Free forever | Basic POS, limited products/stores/employees |
| Starter | 29 EUR/mo | Inventory, cash tracking, checklists, tax reports |
| Professional | 59 EUR/mo | Multi-store, stock transfers, accounting, loyalty log, bonus |
| Business | 129 EUR/mo | AI analytics, Customer DNA, demand forecasting, full integrations |
Upgrading
Click "Upgrade Plan" to view a plan comparison. Toggle between monthly and yearly billing (yearly saves ~20%). Select a plan and follow the payment flow. Features unlock immediately after upgrade.
Usage Tracking
Usage bars show how many products, stores, and employees you've used vs your plan limit. When you approach a limit, warnings appear. Exceeding a limit prevents creating new items until you upgrade.
Location: Backoffice → Settings → Currency
Currency Settings
| Setting | Description |
|---|---|
| Currency Code | ISO code (BAM, EUR, USD, GBP, etc.) |
| Currency Symbol | Display symbol (KM, €, $, £) |
| Symbol Position | Before or after the amount (e.g. $10 vs 10 KM) |
| Decimal Separator | Period (.) or comma (,) |
| Thousands Separator | Comma (,) or period (.) or space |
Per-Store Currency
Each store can have its own regional settings including currency. Go to Stores → select store → Regional tab to override the default currency for that location. This is useful for businesses operating across different countries.
Location: Backoffice → Settings → Notifications
Configure automatic email reports that keep you informed about shifts, stock levels, and business activity.
| Report Type | Description |
|---|---|
| Weekly Report | Sent every Monday at 8:00 AM. Summarizes the previous week’s sales and key metrics. |
| Low Stock Report | Sent every Thursday at 02:00. Lists products below their algorithm-calculated reorder point. |
| Shift End Report | Sent automatically when an employee closes a shift. Includes sales summary, cash status, and any discrepancies. |
| Shift Start Report | Sent when an employee opens a new shift. Confirms opening cash amount and start time. |
You can send reports to multiple recipients — for example, the owner and the accountant. Each report type can have different recipients.
Location: Backoffice → Settings → Loyalty
Configure your customer loyalty program. When enabled, customers earn points on every purchase and can redeem them for discounts.
| Setting | Description |
|---|---|
| Enable Loyalty Program | Master toggle to activate or deactivate the loyalty program. When disabled, no points are earned or redeemed. |
| Points per Currency Unit | How many loyalty points a customer earns per 1 unit of currency spent (e.g. 1 point per 1 KM). |
| Value of 100 Points | The discount value (in your currency) that 100 loyalty points are worth when redeemed. |
| Min. Points for Redemption | The minimum number of points a customer must accumulate before they can redeem them for a discount. |
How It Works
When enabled, every sale to a registered customer automatically earns points. At checkout, customers with enough points see a “Use Points” option. Points are deducted from their balance and the discount is applied to the sale total. View all point activity in the Loyalty Log page.
Location: Backoffice → Settings → Shifts
Configure cash opening rules, working hours, and lateness thresholds for employee shifts.
Opening Cash
| Setting | Description |
|---|---|
| Opening Cash Mode | Choose Fixed (employee must match a standard amount and explain any difference) or Free (employee simply enters the actual cash amount with no expectation). |
| Standard Opening Amount | The expected cash amount at the start of each shift (only applies in Fixed mode). If the actual count differs, the employee must provide a reason. |
Working Hours
| Setting | Description |
|---|---|
| Work Start Time | Set the hour and minute when shifts are expected to begin (e.g. 10:00). |
| Work End Time | Set the hour and minute when shifts are expected to end (e.g. 18:00). |
Lateness & Early Close Thresholds
| Setting | Description |
|---|---|
| Late Threshold (minutes) | Number of minutes after work start time before an employee is flagged as late (default: 15 min). |
| Early Close Threshold (minutes) | If a shift is closed this many minutes before the end of working hours, a reason is required from the employee (default: 10 min). |
Location: Backoffice → Settings → Floor Plan
Configure the POS operating mode and customize table status indicator colors.
POS Operating Mode
| Mode | Description |
|---|---|
| Retail (Grid) | Standard product grid layout. Best for retail shops, convenience stores, and fast service. |
| Restaurant (Floor Plan) | Shows a visual floor plan with draggable tables. Best for dine-in restaurants and cafés. |
| Both (Toggle) | Enables both views. A toggle button appears in the POS to switch between grid and floor plan modes. |
Table Status Colors
Customize the colors used to indicate table status on the floor plan. Click each color swatch to change it:
- Available — default green (#4CAF50). Empty tables ready for seating.
- Occupied — default red (#F44336). Tables with active orders.
- Reserved — default orange (#FF9800). Tables reserved for future guests.
- Dirty — default grey (#9E9E9E). Tables that need cleaning after guests leave.
Offline Mode & Data Sync
SmartPOS is designed to keep working even when your internet connection drops. Sales, receipts, and critical operations continue seamlessly — everything syncs automatically when connectivity is restored.
SmartPOS uses your browser’s IndexedDB storage to cache product data, customer records, and configuration locally. When the server becomes unreachable, the POS automatically switches to offline mode.
What Works Offline
| Feature | Available Offline |
|---|---|
| Process sales & print receipts | ✓ |
| Browse products & categories | ✓ |
| Apply discounts & promotions | ✓ |
| Customer lookup (cached) | ✓ |
| Open/close shifts | ✓ |
| Backoffice reports & analytics | ✗ (requires connection) |
| Product editing & creation | ✗ (requires connection) |
Automatic Activation
You do not need to enable offline mode manually. The POS detects connectivity loss within seconds and displays an offline indicator in the header bar. All transactions are queued and will sync once the connection returns.
While offline, every action that would normally require a server call is stored in a local pending operations queue.
How the Queue Works
- Action captured — Each sale, payment, or shift action is saved to IndexedDB with a timestamp and unique ID.
- Queue ordered — Operations are kept in chronological order to ensure they replay in the correct sequence.
- Connection restored — The POS detects connectivity and begins sending queued operations to the server one by one.
- Confirmation — Each operation is removed from the queue only after the server confirms successful processing.
Queue Status
The POS header shows a pending counter (e.g. “3 pending”) so you always know how many operations are waiting to sync. Once all operations are synced, the counter disappears and the offline indicator is removed.
When the connection is restored, SmartPOS syncs all pending data automatically. In rare cases where multiple terminals edit the same record offline, conflict resolution rules apply.
Automatic Sync Process
The sync engine sends queued operations sequentially. If a single operation fails (e.g. a product was deleted on another terminal), it is flagged for review while remaining operations continue to sync.
Conflict Resolution Rules
| Scenario | Resolution |
|---|---|
| Two terminals sell the same last item | Both sales are accepted; stock may go negative and triggers a stock alert |
| Price changed while terminal was offline | The sale uses the price that was active at the time of the transaction |
| Customer record edited on two terminals | Last-write-wins based on timestamp; both changes are logged in history |
Follow these tips to ensure the best offline experience:
- Keep the POS tab open — Closing the browser tab may clear cached data on some devices.
- Start your shift while online — This ensures all products, prices, and customer data are fully cached before any connectivity issues.
- Do not clear browser data — IndexedDB stores your offline queue. Clearing site data will erase pending transactions.
- Use a UPS (battery backup) — Power loss during offline mode can result in data loss. A UPS keeps the terminal running.
- Monitor the pending counter — If the counter stays high for an extended period after reconnecting, check your network or contact support.
Notifications & Alerts
Stay informed about important events across your business — from low-stock warnings to shift changes and system announcements.
Location: Backoffice → Inventory → Stock Alerts / POS header bell icon
Alert Types
| Alert | Trigger | Action |
|---|---|---|
| Low Stock Warning | Quantity falls below minimum threshold | Yellow badge in POS & Backoffice |
| Out of Stock | Quantity reaches zero | Red badge; product greyed out in POS |
| Overstock Alert | Quantity exceeds maximum threshold | Blue badge in Backoffice inventory |
| Expiry Warning | Product approaching expiration date | Orange badge; suggested for discount |
Setting Thresholds
Set minimum and maximum stock levels per product in Products → Edit Product → Inventory tab. You can also set default thresholds for all new products in Settings → Inventory Defaults.
Managers receive notifications about important shift and employee activities.
| Event | Notification |
|---|---|
| Shift opened/closed | Summary with opening/closing amounts and any discrepancies |
| Void or refund processed | Details of voided/refunded items with employee name and reason |
| Cash drawer opened (no sale) | Timestamp and employee who opened the drawer without a transaction |
| Discount above threshold | Alert when an employee applies a discount exceeding the configured limit |
Administrators can send announcements that appear to all users across the organization.
Creating an Announcement
- Go to Backoffice → Settings → Announcements
- Click New Announcement and enter a title and message
- Choose the target audience: All Users, Managers Only, or specific stores
- Set priority (Info, Warning, Critical) and optional expiry date
- Click Publish — the announcement appears as a banner in both POS and Backoffice
Users can dismiss informational announcements. Critical announcements remain visible until the admin removes them or they expire.
Location: Backoffice → Settings → Notifications
| Setting | Description |
|---|---|
| In-App Notifications | Show/hide the bell icon and notification panel in POS and Backoffice |
| Email Digest | Receive a daily or weekly summary of alerts by email |
| Low Stock Emails | Get an immediate email when any product falls below its minimum stock level |
| Shift Summary Emails | Receive an email summary after each shift is closed |
| Sound Alerts | Play a notification sound for critical alerts in the POS |
Partner Program
Join the SmartPOS partner ecosystem to earn commissions, access exclusive resources, and grow your business alongside ours.
The SmartPOS Partner Program is designed for IT consultants, POS resellers, business advisors, and technology integrators who want to offer SmartPOS to their clients.
Partnership Tiers
| Tier | Requirements | Commission | Benefits |
|---|---|---|---|
| Referral Partner | Sign up — no minimum | 10% recurring | Referral link, basic dashboard |
| Silver Partner | 5+ active referrals | 15% recurring | Priority support, co-branded materials |
| Gold Partner | 15+ active referrals | 20% recurring | Dedicated account manager, training sessions |
| Platinum Partner | 50+ active referrals | 25% recurring | White-label option, custom integrations, early access |
Location: Partner Dashboard (partners.smartposai.com)
How Referrals Work
- Share your unique referral link with potential clients
- When a client signs up through your link, they are tracked to your partner account
- You earn a recurring commission on every subscription payment the client makes
- Commissions are calculated monthly and paid out via bank transfer or PayPal
Commission Dashboard
Your partner dashboard shows real-time metrics: active referrals, monthly recurring revenue, pending commissions, and payout history. You can also download invoices and tax documents.
Platinum partners can offer SmartPOS under their own brand with our white-label program.
White-Label Features
- Custom branding — Your logo, colors, and domain name on the POS and Backoffice
- Custom login page — Branded sign-in experience for your clients
- Branded receipts — Your company info on printed and digital receipts
- Custom email templates — Automated emails sent from your domain
- Sub-tenant management — Create and manage client accounts from your admin panel
Getting Started with White-Label
Contact your dedicated account manager or email partners@smartposai.com to discuss white-label setup. The process typically takes 5–10 business days and includes a guided onboarding session.
Navigate to /backoffice/ and enter your 4-digit admin PIN. Only Owner, Admin, and Manager roles have access.
Go to Backoffice β Settings β General tab. Change the "Language" dropdown to English or Bosanski. Click "Save". The entire UI switches immediately.
An admin must go to Backoffice β Employees, click Edit on your employee record, and enter a new 4-digit PIN. Leave the PIN field empty to keep the current PIN.
Owner/Admin/Manager β Full Backoffice + POS. Employee β POS only (configurable). Cashier β Limited POS. Waiter β Restaurant POS. Permissions customizable in Backoffice β Security β Permissions.
Depends on your subscription plan. Check Settings β Subscription to see limits and upgrade. You'll see a message like "Product limit reached (50/50)" when hitting a limit.
Yes! POS works fully offline. Sales are saved locally and automatically synced when connection restores. Backoffice requires internet. Offline data is stored in browser IndexedDB.
Add products to cart (tap, search, or scan barcode) β Click PAY β Select payment method (Cash/Card/Mix/Online) β Complete Sale. Receipt is saved automatically.
- Cash β Enter received amount, auto-calculates change
- Card β One-click card confirmation
- Mix β Split between cash and card (must equal total)
- Online β Sends payment link via connected gateway (Stripe, PayPal, etc.)
Click "π·οΈ Discount" below the cart. Enter percentage or fixed amount. Limits: without customer max 5-15% (tiered), with customer up to configured max, promo products require customer.
Click "β©οΈ Refund" β Enter receipt number or scan barcode β Select items β Enter reason β Process Refund. Stock is restored. Without receipt: select "Refund without receipt" and manually enter items.
Hold: With items in cart, click "βΈοΈ Hold". Cart is saved with timestamp. Recall: Click "π Recall" to see all held orders, select one to load it back.
Select a loyalty customer first (π€ Customer button). In the payment modal, click "Use Points" β discount is applied equal to the redeemed points' value. Points are earned automatically after each sale.
Backoffice β Inventory β Click product β "Adjust Stock" β Enter new quantity or +/- adjustment β Enter reason β Save. All adjustments are logged in the audit trail.
Set a minimum stock level per product in the product edit form. When stock falls below this level, the product is highlighted in the Inventory page and appears in low-stock alerts on the Dashboard.
Backoffice β Inventory β Transfers β Select From/To stores β Add products and quantities β Click "Transfer". Stock is automatically deducted from source and added to destination.
POS β "π Close Shift" β Count cash and enter amount β Review summary (sales, cash/card, refunds, difference) β Click "Close Shift". View all shift reports in Backoffice β Reports β Shifts.
On any report page, click "Export CSV" or "Export PDF" button. Filters are applied to the export, so set your date range and store filter first.
Settings β Restaurant tab β Type station name β Click "Add". Common: Kitchen π³, Bar πΊ, Grill π₯, Pizza π, Dessert π°, Cold π₯. Then assign each product to a station in the product edit form.
Open /pos/kitchen.html on a kitchen tablet/screen. Log in, select store. KDS shows 3 columns (NEW β PREPARING β READY) and auto-refreshes every 4 seconds. Use station tabs to filter by station.
Backoffice β Floor Plan β "+ Add Floor Plan" β Name it β Add tables with "+ Add Table" (name, shape, seats). Edit tables to set color, dimensions, and assigned waiter. Tables appear in POS floor plan view.
Close Order β "Split Bill" β Choose: Equal split (Γ· by N guests) or By items (assign items per guest). Process payment for each portion separately.
On an active table order, click "Transfer" β Select the destination table from available tables β Confirm. The order moves to the new table.
POS automatically detects when offline. Sales are saved to IndexedDB in the browser. When connection restores, data syncs automatically. You'll see a sync status indicator. Products, categories, and prices are cached locally for offline use.
Failed syncs are retried automatically with exponential backoff. If sync keeps failing, check: 1) Internet connection, 2) Server status, 3) Clear browser cache and retry. Offline sales are never lost β they remain in local storage until synced.
Backoffice β Integrations β Select gateway β Enter API credentials β Click "Connect". For OAuth2 gateways (Stripe, Square), you'll be redirected to authorize. Webhooks are configured automatically.
Backoffice β Integrations β Select accounting service (QuickBooks/Xero/Zoho/FreshBooks) β Click "Connect" β Authorize OAuth2 β Enable auto-sync. Syncs contacts, items, and invoices automatically.
Connect Wolt/Glovo in Integrations with API key and venue/store ID. Orders arrive via webhook and appear in POS delivery panel. Actions: Accept, Reject (with reason), Mark Ready. Enable auto-accept for hands-free operation.
POS → Menu → Settings → Printers → "+ Add Printer". Choose connection type (USB, Bluetooth, Network, or Browser), set paper size (58mm/80mm/A4), and save. USB printers are auto-detected.
Receipt header comes from Settings → General (business name, address, tax ID). Receipt footer is customizable in General Settings. PDF receipts can have watermarks and stamps configured in Settings → Receipt/PDF tab.
Backoffice → Settings → Discounts. Create tiered limits based on cart total (e.g. max 5% under 50, max 10% for 50-100). A separate "Max with customer" setting allows higher discounts when a loyalty customer is attached.
Backoffice → Settings → Modules. Toggle individual features on/off for POS (refunds, goods receipt, cash handover, etc.) and Backoffice (sidebar sections). Disabled features are hidden from the interface.
Backoffice → Settings → API tab. Generate an API key for external access. Add webhooks with target URLs and select event types (order.created, product.updated, etc.). Webhooks POST JSON payloads in real-time.
Backoffice → Settings → Email Templates. Select a template type (receipt, shift report, low stock, etc.), edit the subject and HTML body using template variables like {{business_name}}. Preview and save.
POS → Menu → Cash Handover. Enter amount, select receiver (owner/manager), they enter their PIN to verify. The handover is recorded in the shift report and audit trail.
Add the product to cart, tap it to expand options, toggle the "Gratis" switch. The item becomes free (0.00) with a GRATIS label. Limited to 1 per product per cart. Tracked in reports.
Shifts open at 23:59 are automatically closed. A full-screen overlay notifies the employee. Expected cash is used (no manual count). Email notification is sent. Employee must start a new shift to continue.
Enable courses in Settings → Restaurant. When taking orders: add Course 1 items → Send to Kitchen → click "+ Add Course" → add Course 2 items → Send again. Kitchen sees items grouped by course.
Create tables in Floor Plan → "Generate QR" → print QR codes for each table. Customers scan with their phone to see your online menu. Configure which products appear in Backoffice → Restaurant → Online Menu.
Backoffice → Inventory → Count → "+ New Count". Enter actual quantities for each product. System shows expected vs counted with variance. Finalize to update stock. History is saved for tracking.
Backoffice → Reports → Scheduled Reports → "+ Add Schedule". Select report type (Daily Sales, Shift Summary, Inventory Alert), frequency (daily/weekly/monthly), delivery time, and email recipients. Toggle active/inactive.
Community Guides & Best Practices
- Use clear, short names β they appear as tabs in POS
- Assign distinct colors to each category for quick visual identification
- Keep categories to 5-8 max for easy POS navigation
- Use subcategories for large catalogs (parent β child hierarchy)
- Set sort order to control the display sequence (lower number = first)
- Use EAN-13 for standard retail products
- Use internal barcodes (starting with 2) for custom/weighted items
- Test USB scanner compatibility β most standard USB scanners work automatically
- Print barcode labels using the export feature β generate labels in third-party tools
- Products are shared across stores β stock levels are per-store
- Use store filter on all Backoffice pages to view per-store data
- Set up stock transfers between stores to rebalance inventory
- Each store can have different POS mode (retail, restaurant, both)
- Use Extended Reports for consolidated multi-store reporting
π§ Troubleshooting
- Clear browser cache and reload (Ctrl+Shift+R)
- Check internet connection
- Try a different browser (Chrome recommended)
- Check if JavaScript is enabled
- If using HTTPS, ensure certificate is valid
- Check printer is connected via USB and powered on
- Install the correct printer driver for your OS
- In POS Settings, verify the correct printer is selected
- Try printing a test page from OS printer settings
- For network printers, check IP address and port (usually 9100)
- Check the sync status indicator in POS (green = connected, red = offline)
- Click the sync button to force a manual sync
- Check Backoffice β Devices to see device heartbeat status
- Clear IndexedDB data: Settings β Advanced β Clear Offline Data
- If problem persists, check server status and contact support
- Verify KDS is logged in and connected to the correct store
- Check that products have kitchen stations assigned
- If filtering by station, try "All" to see if orders appear
- In POS, check that "Send to Kitchen" was clicked (items should show "SENT" badge)
- Check internet connection on both POS and KDS devices
- Verify API credentials are correct (check for spaces/typos)
- For test mode, ensure test API keys are used (not live)
- Check Backoffice β Integrations β Status for error messages
- For OAuth2 gateways, try disconnecting and reconnecting
- Ensure your plan includes the "integrations" feature
π Workflow Examples
- Morning: Open POS β Start shift (enter opening cash) β Open KDS on kitchen screen β Complete daily checklist tasks
- During service: Waiters select tables β Add items β Send to kitchen β Kitchen prepares β Mark ready β Waiter serves β Guest finishes β Close order with payment
- End of day: Close all tables β Close shift (count cash) β Review shift report β Print daily summary
- Morning: Open POS β Start shift β Complete opening checklist β Check low stock alerts
- During day: Scan/search products β Process sales β Apply loyalty discounts β Handle returns
- End of day: Close shift β Count cash β Review difference β Print shift report β Check inventory levels
- Create store: Backoffice β Stores β + Add Store β Set name, address, POS mode
- Add employees: Create employee accounts with PINs and assign to the new store
- Set stock: Transfer stock from existing store OR adjust stock manually
- Configure: Set up floor plan (if restaurant), configure kitchen stations, assign products to stations
- Test: Open POS on store device β Make test sale β Verify KDS works β Delete test sale
- Set a standard opening cash amount (e.g. 200 KM) and use Fixed Mode for consistency across shifts
- Perform cash handovers mid-shift when the register has excess cash, rather than waiting for shift close
- Always require PIN verification for cash handovers to maintain the audit trail
- Review shift reports daily for cash discrepancies. Patterns of shortages indicate training or security issues
- Use the Late/Early Detection feature to ensure employees follow the work schedule
- Set up scheduled reports (daily sales email every morning) so managers stay informed without logging in
- Use AI Demand Forecasting weekly to keep stock levels optimized and prevent stockouts
- Review Loss Prevention analytics monthly to catch discount abuse or suspicious void patterns early
- Use Customer DNA to identify at-risk customers and send re-engagement campaigns before they churn
- Export reports to CSV for deeper analysis in Excel or Google Sheets
- Configure granular permissions for each role. Cashiers should not have access to reports or settings
- Use unique PINs for every employee. Never share PINs between staff members
- Enable Card Login for restaurant waiters for faster and more secure authentication
- Review the Audit Log weekly for unexpected actions (settings changes, product deletions, etc.)
- Use discount tiers to limit how much employees can discount without manager approval
📝 More Workflow Examples
- Create: Analytics → Smart Pricing → Promotions → Create new promotion with discount % and select products
- Notify: Send promotional email to customers (Smart Pricing → Email Marketing) or use Customer DNA segments
- POS: Products show "PROMO" badges in POS. AI Promo Suggestion modal reminds cashiers to upsell promotional items
- Review: Check promotion history and promo stats in Smart Pricing to see impact on sales
- Prepare: Export current stock levels from Inventory page (CSV). Print count sheets or use the count feature
- Count: Inventory → Count → New Count. Physically count each product and enter actual quantities
- Review: Compare expected vs actual. Investigate any significant variances (theft, damage, miscounts)
- Finalize: Click "Finalize Count" to update stock levels. Log reasons for major discrepancies
- Report: Review Inventory History for trends. Run Stock Algorithm to recalculate reorder points based on updated data
- Payment: Integrations → Connect Stripe/PayPal (API key or OAuth2). Test with a small transaction. Enable in POS payment modal.
- Accounting: Integrations → Connect QuickBooks/Xero (OAuth2). Map accounts. Enable auto-sync for sales and invoices.
- E-Commerce: Integrations → Connect WooCommerce/Shopify. Import products or push your catalog. Stock syncs automatically.
- Delivery: Integrations → Connect Wolt/Glovo with API key. Set auto-accept. Orders appear in POS delivery panel.
- Marketing: Integrations → Connect Mailchimp/HubSpot. Sync customer data. Use for email campaigns and customer segmentation.