Windows + browser PWA
A native Windows app for the counter, and the same product as a web PWA.
Point of sale for every kind of shop
Catalyst POS is a modular system for retail and service counters. One product, configured per business — not a fork for every customer. LKR-first, with tax and currency set per shop.
Sample counter: cart lines, LKR total, cash + card split. Variance on close: LKR 40.00.
A native Windows app for the counter, and the same product as a web PWA.
Each subscribing business gets one PostgreSQL database. Shoppers do not share it.
Built around Sri Lankan rupees. Tax and currency stay configurable per business.
Signed leases decide whether a device may complete sales while disconnected.
What the counter actually does
Checkout, stock, staff access, and a database that belongs to the business. These ship. Later modules are registered and called out as later.
Checkout
Walk-in sales on Windows or in the browser. Cash and externally recorded cards, split tender, discounts, receipts, reprints, and returns linked to the original sale.
8901 2200 4412 Stock
Receiving, adjustments, and on-hand quantities with a movement history. Low-stock is a report, not a rumour.
| Item | On hand | Move |
|---|---|---|
| Keeri Samba 5kg | 84 | −2 sale |
| Fresh milk 1L | 19 | low |
| Blade service | — | service |
| Sugar 1kg | 120 | +50 recv |
Staff access
Task permissions and roles so a cashier only sees what they need. A deny override beats an allow. That is the whole model.
A deny override wins. Cashiers only see what the role plus overrides leave standing.
Isolation
Each subscribing business gets its own database. The control database holds tenancy, signed offline leases, and which modules are registered. Shoppers do not share your books.
Own PostgreSQL
Own PostgreSQL
Own PostgreSQL
How it works
Subscribe once. Catalog, tax, staff, and tenders are configured for that shop — not a custom codebase.
Opening float, cash in and out, a close count, and variance. The drawer is part of the books.
Scan, search, split tender, print, reprint, return. If offline is off, checkout waits for the server.
Daily sales, tenders, stock on hand, low stock, by staff and by item — with coverage notes, not mystery totals.
Offline policy
The platform panel decides whether a business may complete sales while disconnected. Devices receive a signed policy with an expiry — default up to 72 hours.
A signed policy reaches the device, with an expiry you can read.
If offline is on, the sale, tenders, and local stock movement save together, then print.
Checkout still stores a draft, but waits for the server before it is a completed sale.
Pending work is never deleted because policy changed. A lost device can still lose never-uploaded records.
A lost, wiped, or stolen device can lose records that never uploaded. The Sync screen states that risk in plain language. We will not pretend local drafts are immortal.
Registered, not built
These can be enabled later without forking the product. They are not in the core you can use today.
Accounts and credit ledgers for regulars.
Job tickets and workshop flow.
Supplier orders beyond simple receiving.
Points and rewards on top of the sale.
More locations on the same subscription story.
Ready when the counter is
Pricing is still being validated, so we will not invent a number. Open the app if you already have access, or talk to Catalyst Digital about Core, modules, and onboarding.