Next.js 16 SaaS script · POS, stock and multi-store

Ring it up. Restock it. Know your profit.

A touch-friendly register, stock across every store, purchase orders, transfers and profit reports, sold as your own SaaS with plans, trials and Stripe billing. One docker compose command and an install wizard.

Next.js 16 and PostgreSQLStripe billing built inDocker install wizardLight and dark
Tillora dashboard
Tillora on a phone
3Panelsregister, back office, platform admin
1Command installdocker compose up -d
Features

Everything a shop runs on, in one app

From the first sale of the morning to the Z report at close, and the SaaS around it.

01

A register made for touch

Fast on a tablet at the counter, works on a laptop or phone

  • Variants, add-ons like oat milk, barcodes and quick custom items
  • Split payments across cash, card terminal and gift card, with change worked out
  • Hold orders, dine-in tables, kitchen tickets, printed or emailed receipts
Ring up a sale →
A register made for touch
02

Stock in every store

Always know what is on the shelf and what to reorder

  • Stock per store with reorder points and low-stock alerts
  • Counts, adjustments, transfers between stores and a full movement history
  • Purchase orders to suppliers, received in parts, with average cost
Open the inventory →
Stock in every store
03

Reports that show the profit

Sales are nice; margin pays the rent

  • Sales, profit, products, staff, payments, taxes and stock value
  • Today, this week, this month or any dates, per store or all stores
  • Export any report or list to CSV
See the reports →
Reports that show the profit
04

Your own POS SaaS

Sell it to shops on monthly or yearly plans

  • Plans with limits on stores, registers, staff and products, plus free trials
  • Stripe Checkout and billing portal, or demo payments until your keys are in
  • Rebrand the name, logo, colours and fonts from the admin, no code edits
Open the platform admin →
Your own POS SaaS
Back office

Every screen a shop owner needs

Hover to scroll, click to open it live (you are signed in as the demo owner).

Three panels

One click into each panel

No sign-up. The demo data resets every 6 hours, and the platform admin is read-only.

Cashier

The register: ring up sales, take split payments, open and close the shift.

Live demo →

Shop owner

The back office: products, stock, purchase orders, staff, reports and settings.

Live demo →

Platform admin

Your SaaS: tenants, plans, payments, setup checks and branding.

Live demo →
More screens

Down to the receipt

Details, settings and the SaaS side. Hover to scroll, click to open.

Light and dark

Easy on the eyes after dark

Every screen, including the register, in light and dark. Drag the handle to compare.

Tillora in dark mode
Tillora in light mode
LightDark
Any device

From the counter to your pocket

The register fits a phone, and owners check the numbers from anywhere.

Tillora on a phone
Tillora on a phone
Tillora on a phone
Tillora on a phone
Inside

Built to run, not just to look at

Install wizard

docker compose up -d, then the wizard checks the server, runs the migrations and creates your admin.

Multi-tenant

Every business has its own stores, staff, products and data, with plan limits checked on the server.

Correct numbers

Server-side pricing, tax-exclusive or tax-inclusive, stock moves in the same transaction as the sale.

Rebrand from settings

Product name, logo, colours and fonts from the admin. Receipts carry each shop's own details.

Tested

Unit and database tests for pricing, sales, refunds, stock and transfers, plus browser smoke tests.

Modern stack

Next.js 16, React 19, TypeScript, Prisma 7, PostgreSQL, Tailwind CSS 4. No PHP.

Support

We have you covered

Step-by-step docs

Install with Docker, on a VPS or on Vercel, connect each service and rebrand. HTML and PDF.

Free updates

Fixes and new features, free for every buyer.

Requirements

Docker, or Node.js 20.9+ with PostgreSQL 14+. Stripe and SMTP are optional.

Open the till

Pick a panel and try it live. Nothing to install.