POS / Retail · Live · 2026

Inventra

Point of sale and inventory that keeps working when the internet doesn't

Small and growing shops usually run on three things: a till, a spreadsheet for stock, and a notebook for customers who buy on credit. Inventra replaces all three with one app that runs in the browser on a laptop, tablet or phone.

inventra-inv.vercel.app

Background

The problem

A shop can't stop selling because the internet dropped, and it can't trust a system where the numbers can be changed from the browser. On top of that, the people we had in mind ran more than one branch, and we wanted to be able to set up a new business without a new server.

  • Sales have to carry on when the connection drops, without being recorded twice
  • Each branch needs its own stock, invoice numbers and receipt details
  • Tax (GST or VAT) has to be right on every invoice
  • Prices, totals and stock can't be something the browser decides
  • One installation should serve many businesses, each completely separate

Solution

What we built

The rules that matter live in the database, not the app. Postgres functions handle sales, returns, payments and transfers, so prices come from the catalogue and totals and tax are calculated in one place. Row-level security keeps every business's data apart. On the front end, a service worker and an IndexedDB queue keep the till working offline and sync each sale exactly once when the connection comes back.

  • Barcode scanning with a USB scanner or the phone camera
  • Cash, card, credit and split payments, with customer balances
  • Draft bills to come back to later
  • Returns and exchanges that refund exactly what was paid, discount and tax included
  • Receipts on A4 or on 80 mm and 58 mm thermal printers
  • Stock per branch, with every movement recorded, and transfers in one step
  • Roles for admin, manager and cashier, or custom ones, limited to their branches
  • Tax per product or category, with prices entered before or including tax
  • An audit log of every sale, payment, return, transfer and settings change
  • A platform console to create, suspend and reactivate customer businesses

In use

What it looks like

inventra-inv.vercel.app

Selling

Scan, pick the customer by phone number, add a discount, take payment and print.

inventra-inv.vercel.app

Keeps selling offline

The connection drops, the cashier carries on, and the sale syncs by itself when the internet is back.

inventra-inv.vercel.app

Several branches

Switch between branches and move stock from one to another. Both update straight away.

inventra-inv.vercel.app

Reports

Revenue, cash collected, outstanding credit, tax and returns, filtered by date and branch, and exported to Excel.

inventra-inv.vercel.app

A new business in a minute

From the platform console, the owner of the software sets up a new customer business with its own data, stores, staff and settings.

inventra-inv.vercel.app

Light and dark mode

Switched from the header and remembered per device. Receipts always print on white, and every screen meets WCAG AA contrast in both themes.

Screens

A closer look

Inventra dashboard in dark mode
Dashboard
Inventra POS terminal in dark mode
POS terminal
An 80 mm receipt preview
Thermal receipt
Inventra reports in dark mode
Reports

Details

How it's kept honest

  • No public sign-up. Staff are added by their admin with a one-time password they have to change.
  • Deactivated users and suspended businesses lose access immediately.
  • Completed invoices can't be edited, and products with sales history are archived rather than deleted.
  • 58 automated database checks cover isolation between businesses, permissions, pricing, tax, returns, offline sync and stock transfers.
  • A separate test confirms the POS total always matches the final invoice across random carts.