Point of sale for every kind of shop

Take a sale. Keep the books honest. Work through an outage.

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.

Open the app See what is included

Counter 1 Shift open Lease 61h
  • Keeri Samba 5kg RICE-5 · ×2
    2,490.00
  • Fresh milk 1L MILK-1 · ×1
    420.00
  • Blade service SVC-12 · ×1
    350.00
Cash Split Card Hold

Sample counter: cart lines, LKR total, cash + card split. Variance on close: LKR 40.00.

Sample checkout showing three cart lines, an LKR total of 3,846.80, and a cash plus card split tender.

Windows + browser PWA

A native Windows app for the counter, and the same product as a web PWA.

Your own database

Each subscribing business gets one PostgreSQL database. Shoppers do not share it.

LKR-first counters

Built around Sri Lankan rupees. Tax and currency stay configurable per business.

Centrally managed offline

Signed leases decide whether a device may complete sales while disconnected.

What the counter actually does

Core work, stated plainly.

Checkout, stock, staff access, and a database that belongs to the business. These ship. Later modules are registered and called out as later.

Checkout

Scan, search, split, print, return.

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.

Scan 8901 2200 4412
  • SearchKeeri Samba
  • SplitCash + card
  • Receipt#10482 reprint
  • ReturnLinked to original

Stock

On-hand that matches the movement.

Receiving, adjustments, and on-hand quantities with a movement history. Low-stock is a report, not a rumour.

Stock on hand Store · Main
Item On hand Move
Keeri Samba 5kg 84 −2 sale
Fresh milk 1L 19 low
Blade service — service
Sugar 1kg 120 +50 recv
Receiving, adjustments, and a movement history sit with the quantity — not a separate mystery ledger.

Staff access

Roles, tasks, and a deny that wins.

Task permissions and roles so a cashier only sees what they need. A deny override beats an allow. That is the whole model.

Task permissions Role · Cashier
  • Take saleAllow
  • Print receiptAllow
  • Give discountDeny
  • Adjust stockDeny
  • Open cash drawerAllow

A deny override wins. Cashiers only see what the role plus overrides leave standing.

Isolation

One PostgreSQL database per business.

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.

Control DB Tenants, leases, modules

Business A

Own PostgreSQL

Business B

Own PostgreSQL

Business C

Own PostgreSQL

Shop data stays in that business’s database. The control plane holds tenancy, offline policy, and which modules are registered.

How it works

From subscribe to close of day.

01

A business, not a fork

Subscribe once. Catalog, tax, staff, and tenders are configured for that shop — not a custom codebase.

02

Open the shift

Opening float, cash in and out, a close count, and variance. The drawer is part of the books.

03

Take the sale

Scan, search, split tender, print, reprint, return. If offline is off, checkout waits for the server.

04

Read the day

Daily sales, tenders, stock on hand, low stock, by staff and by item — with coverage notes, not mystery totals.

Offline policy

A signed lease. Not a hope that the network holds.

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.

1

Lease

A signed policy reaches the device, with an expiry you can read.

2

Outage

If offline is on, the sale, tenders, and local stock movement save together, then print.

3

If offline is off

Checkout still stores a draft, but waits for the server before it is a completed sale.

4

Sync risk

Pending work is never deleted because policy changed. A lost device can still lose never-uploaded records.

Say the hard part out loud

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.

Read the offline policy →

Registered, not built

Modules that come later.

These can be enabled later without forking the product. They are not in the core you can use today.

Later

Customers / credit

Accounts and credit ledgers for regulars.

Later

Repair

Job tickets and workshop flow.

Later

Purchasing

Supplier orders beyond simple receiving.

Later

Loyalty

Points and rewards on top of the sale.

Later

Extra branches

More locations on the same subscription story.

Ready when the counter is

Open a shift. Take the next sale.

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.

Open the app Contact us