Features

What R-POS actually does at the counter.

Eleven screens, one shared runtime, and about seventy internal operations - every one of them checked against the role of whoever is signed in.

The one that matters

Prices are decided by the server, not the till.

The till sends item IDs and quantities. The server re-reads every price from your catalogue, applies the quantity tier, the discount and the tax, and writes the sale inside a single transaction with row-level locking on stock. A tampered till cannot change what a sale costs, and a sale that fails part-way through leaves nothing behind.

Cashier discount caps are checked in the same place, so they can’t be worked around from the interface.

Point of sale

Scan it, or tap it. The cart does the rest.

Barcode scanners type into the search box, so anything you already own works. Quantity price tiers apply as the quantity changes - the twelfth packet costs what twelve packets should cost, without the cashier working it out.

  • Barcode scan or click-to-add, either way
  • Quantity price tiers that change as the quantity does
  • Discounts per line or across the whole cart
  • Cash, card, UPI and bank transfer, with change worked out for you
  • Hold a bill, serve someone else, come back to it
  • Thermal receipt printing with your own store details and footer text
Point of Sale - cartMockup slot
Search items, or scan a barcode…
All ItemsGroceryBeverages
Bar soap 110g
Rs. 190.00
Milk powder 400g
Rs. 1,450.00
Cream crackers
Rs. 320.00
Soft drink 1.5L
Rs. 480.00
Ginger beer 400ml
Rs. 380.00
Instant noodles 80g
Rs. 110.00
Fresh milk 1L
Rs. 560.00
Toothpaste 120g
Rs. 620.00
Savoury spread 250g
Rs. 1,180.00
Cart (15 items)Clear
Instant noodles 80g
Rs. 96.00 each
Tier 2 · 10+ @ Rs. 96.00
12+
Rs. 1,152.00
Soft drink 1.5L
Rs. 480.00 each
2+
Rs. 960.00
Milk powder 400g
Rs. 1,450.00 each
1+
Rs. 1,450.00
Percentage (%)
5
SubtotalRs. 3,562.00
Discount− Rs. 178.10
VAT (18%)Rs. 609.10
TotalRs. 3,993.00
HoldHeld (1)Charge Rs. 3,993.00
ReportsMockup slot
Reports
Export PDF
01 Jul 2026
to
31 Jul 2026
Update
TodayThis month
Transactions
1,284
Revenue
Rs. 1.84M
Discounts
Rs. 62K
Average sale
Rs. 1,432
Sales Over Time
Profit Summary
Revenue
Rs. 1.84M
Cost of Goods
Rs. 1.21M
Gross Profit
Rs. 630K
Margin
34.2%
Reports

What sold, what made money, over any period you pick.

Pick a date range or use a quick preset. Every figure reads straight from the sales your tills actually recorded - no separate reporting import to keep in sync.

  • Sales by date range, with quick presets for today, the week, the month and the year
  • Top sellers by quantity and by revenue
  • Sales broken down by category
  • Profit reporting with cost of goods, gross profit and margin
  • Export any report to PDF in your own currency
Inventory

Every change to stock has a name against it.

Stock in, stock out, or set to a counted figure. Each one writes a signed history row: the amount, whether it went up or down, the reason given, and who was signed in when it happened. Sales deduct stock the same way, inside the sale's own transaction.

  • Stock in, stock out, or set to a counted figure
  • Every row records the signed change, the reason and the user
  • Low-stock flagging against a minimum level you set per item
  • Sales deduct stock inside the sale transaction, with row-level locking
Inventory - stock historyMockup slot
Milk powder 400g - history
Stock: 36
WhenTypeChangeReasonBy
01 Aug 11:38Sale-2Invoice INV-004182Nimal P.
01 Aug 09:14In+48Delivery - supplierKasun W.
31 Jul 18:02Set-3Monthly count correctionKasun W.
31 Jul 16:45Out-6Damaged in storeroomKasun W.
31 Jul 12:20Sale-1Invoice INV-004160Ishara D.
30 Jul 10:05In+24Delivery - supplierKasun W.
29 Jul 17:31Sale-4Invoice INV-004118Nimal P.
Sign Off
Mockup slot×
Shift opened08:02, 01 Aug
Opening floatRs. 5,000.00
Cash sales (34)Rs. 48,260.00
Expected in drawerRs. 53,260.00
Cash counted in drawer
53,100.00
Variance− Rs. 160.00
Notes (optional)
Short by one 100 and one 50 note.
CancelClose shift
Cashier shifts

The drawer is counted, and the difference is recorded.

A cashier signs on with an opening float and signs off by counting the drawer. R-POS works out what should be in there from the cash sales taken during that shift, compares it with what was counted, and stores the variance as a real record you can look up later.

  • Opening float recorded when the cashier signs on
  • Expected cash worked out from that shift’s cash sales
  • Counted amount and variance stored as a real record
  • Notes on the count kept with the shift, not on a scrap of paper
Roles

Three roles, enforced in the one place that counts.

Hiding a button is not access control. Every internal operation checks the signed-in role before it does anything, so a cashier calling an admin-only operation is refused outright.

Can doCashierManagerAdmin
Ring up sales and print receiptsIncludedIncludedIncluded
Sign on and off their own shiftIncludedIncludedIncluded
View the dashboardIncludedIncludedIncluded
Discount above the cashier capNeeds a managerIncludedIncluded
Items, categories and price tiersNot includedIncludedIncluded
Inventory adjustmentsNot includedIncludedIncluded
Invoices and reportsNot includedIncludedIncluded
Discounts and promotions pagesNot includedIncludedIncluded
User managementNot includedNot includedIncluded
System and database settingsNot includedNot includedIncluded

An admin cannot demote or deactivate the last remaining active admin - the shop can never be locked out of its own system.

Also included

Invoices

Search and filter by date, payment method or customer. PDF invoices carry your own store details, currency, tax rate and invoice prefix.

Catalogue and price tiers

Items, categories, cost and selling prices, minimum stock levels, and quantity price tiers that survive an edit.

Dashboard

Today’s sales, monthly revenue, active items and a low-stock list, with a seven-day sales chart and recent invoices.

Settings

Store details, tax rate and label, receipt footer text, currency, which payment methods you accept, and the cashier discount cap.

Backup and import

Export your data with password hashes excluded. Imports add catalogue rows only and cannot overwrite sales history.

Receipts

Thermal-format receipts printed through your operating system’s printer, reading the live store and currency settings.

Scheduled discounts and named promotions are recorded and managed in their own pages, but are not yet applied automatically at the till. R-POS is single-location: one database, one shop, with no multi-till or multi-store concept.

Technical summary

Platforms
Windows installer, macOS disk image, Linux AppImage
Database
a database - tables created automatically on first connection
Schema upgrades
Applied in place on connect; an existing database upgrades itself
Password hashing
bcrypt, cost factor 12
Credential storage
AES-256-GCM, in the OS per-user data directory
Internal operations
~70, every one role-checked in the main process
Network
No outbound requests; charts and icons bundled in the app
Documents
PDF invoices and PDF report exports
Automated checks
172 / 172 passing
Shipped dependencies
0 known vulnerabilities

See it with your own item list.

Send us a slice of your catalogue and we'll load it before the call, so you're looking at your prices rather than sample data.

Book a demo