Demo tillSales today ₦1,284,650.00Receipts printed 187Queued offline 0Duplicates after sync 0

Supermarkets · Gadgets · Wholesale · Pharmacy

Your shop doesn't stop when the network does.

Point of sale, stock, purchasing and books in one system that keeps trading straight through an outage, then reconciles every sale exactly once.

That printer is live. Press Line up to cut the network. It keeps printing.

Sells offlineSales, refunds and receipts with zero signal.
Every tradeFrom a corner mart to a wholesale depot.
Per branchEvery cashier included. No seat fees.
ONLINE#0188

One ledger instead of three. Most shops run a till, a stock spreadsheet, and an accountant who reconciles the two a month late. Every handoff between them is where money quietly goes missing. Nostra is all three, so there are no handoffs.

0 barsof signal needed to take money and print a receipt
1time each offline sale is accepted, however often it is sent
497automated tests before any release ships
199permissions, enforced on the server

Product film, 0:14

A sale, start to finish.

Scan, basket, payment, receipt. And the part nobody sees: stock leaves the shelf earliest-expiry-first in the same instant the money is taken, so the count is right before the customer reaches the door.

TILL 02 · CORNER MART, LEKKI
Basket
Total
₦0.00
0 items
Cash
Transfer
Card
Split
Transfer confirmed
Stock moved: 3 lines, earliest expiry first. Drawer updated.
Scan
0:00 / 0:14

The platform

Everything between the barcode and the balance sheet.

Twelve parts sharing one database, one permission model and one audit trail. That shared spine is why the numbers agree with each other.

01

Point of sale

Touch-first, full-screen mode, split payments, hold and resume, branded receipts.

SHIPPING
02

Inventory

Batches, earliest-expiry-first, reorder points, adjustments that need a reason.

SHIPPING
03

Purchasing

Order, receive into batches, match the invoice, pay, reconcile.

SHIPPING
04

Branches

Transfers with approval, waybill and a receive step that counts what arrived.

SHIPPING
05

Cash drawer

Opening float, blind counts, variance calculated rather than declared.

SHIPPING
06

Customers and credit

Credit limits, payment terms, statements, loyalty points and tiers.

SHIPPING
07

Quotations

Price a basket before they commit. Accepted quotes reach the till intact.

SHIPPING
08

Analytics

Sales by hour, margin by category, branch comparison, expiry exposure.

SHIPPING
09

Accounting

Ledger, journals, expenses, assets, bank reconciliation, period close.

SHIPPING
10

Import and export

CSV and XLSX in with quarantine for bad rows. CSV, XLSX and PDF out.

SHIPPING
11

Landed cost

Freight, duty and clearing spread across a shipment so import cost is true.

NEXT
12

Commission

Flat, percentage and tiered rules for salespeople, reported as statements.

NEXT

Every module in detail →

Purchasing

Three documents. They check each other.

PURCHASE ORDERPO-0412
Rice, 50kg bag20✓
Sugar, 50kg bag15✓
Vegetable oil, 25L12!
GOODS RECEIVEDGR-0412
Rice, 50kg bag20✓
Sugar, 50kg bag15✓
Vegetable oil, 25L10!
2 short on delivery. Counted at the gate by the storekeeper.
SUPPLIER INVOICEINV-8830
Rice, 50kg bag20✓
Sugar, 50kg bag15✓
Vegetable oil, 25L12!
Billed for 12. Only 10 arrived. Payment held on this line.
MATCHED · 1 HELD

You pay for what arrived, not for what was ordered. Nobody had to spot it.

One Saturday

Scroll through a trading day. The line drops at 14:32.

LINE DOWN
08:0011:0014:0017:0020:00
Sales rung0
Taken while offline0
Duplicates after sync0

How it works

Exactly once is a design decision, not a hope.

Storing a sale offline is easy. The hard part is making sure a sale that was sent, timed out, and sent again does not become two sales.

01

The device names the sale

Every offline transaction gets a unique identifier created on the device at the moment of sale, not assigned by a server later.

LOCAL ID
before the sale completes
02

The queue survives everything

Queued sales live in the browser's own database. Closing the tab or restarting the machine does not lose them.

INDEXEDDB
survives restart
03

The server deduplicates

If it has already accepted that identifier, it returns the original result instead of creating a second sale. Sending it ten times makes one sale.

IDEMPOTENT
retries are safe
04

Stock moves in the same transaction

Either the sale and its stock movement are both written, or neither is. There is never a sale whose stock did not move.

ATOMIC
no half-states
05

Anything odd is shown, not buried

A sale that cannot be applied goes to a conflict log with the reason. You retry it, one at a time or all at once.

VISIBLE
never silent

The honest limits

What offline mode cannot do.

Anyone who says their offline mode has no limits is describing a demo. These are ours.

Card terminals still need the bank

We record that a card payment was taken, but only the bank can authorise it. Cash and transfer keep working, which is most of what happens in an outage anyway.

Other branches are a snapshot

An offline till knows its own stock exactly and other branches as of the last sync. Sell your own shelf with confidence; do not promise stock sitting across town.

Offers are priced online

Promotions and loyalty redemptions are worked out while online. A sale made offline is recorded at the price the customer actually paid.

Two tills can sell the last unit

If two offline tills each sell the final box, both sales are real. Nostra flags the negative stock on reconnect instead of hiding it.

The whole offline story →

Trades

Built for how the trade actually runs.

The stock discipline was proven in pharmacy, where getting expiry wrong is a regulator's problem. Every other trade gets the same rigour for free.

Supermarkets

CORNER MART · LEKKI
USUALLY

Shrinkage nobody can trace, because the till and the stock list are reconciled once a month.

WITH NOSTRA

Every movement is written the instant it happens, with who made it.

  • Full-screen till
  • Blind drawer counts
  • Promotions
  • Sales by hour

Gadgets and phones

GADGET HUB · IKEJA
USUALLY

High-value stock on a spreadsheet, and returns nobody can match to the original sale.

WITH NOSTRA

Refunds return stock to the exact batch it left, gated by permission.

  • Refund control
  • Manager PIN
  • Card and transfer
  • Serial tracking next

Wholesale and distribution

BULK DEPOT · ONITSHA
USUALLY

Quotes retyped into invoices, and credit customers tracked in a notebook.

WITH NOSTRA

Accepted quotes reach the till intact. Credit balances update with every sale.

  • Quotations
  • Credit accounts
  • Supplier returns
  • Multi-currency buying

Pharmacy

WELLNESS PHARMACY · SURULERE
USUALLY

Expiry tracked per product, not per batch. Rotation depends on whoever reads the carton.

WITH NOSTRA

Earliest-expiry-first is automatic. Expired stock cannot be sold without a signed override.

  • Batch recall
  • Prescriptions
  • Controlled-drug log
  • Expiry alerts

See your trade →

Product film, 0:16

Stock between branches, with nowhere to hide.

A transfer is a document, not an adjustment. Request, approve, ship, receive. What arrives is counted, and any difference becomes a variance someone has to explain.

TRANSFER TR-0091
TR-0091 · REQUESTED24 × Vegetable oil, 25L
Ikeja to SurulereAPPROVED
IKEJA
48
on hand
24
SURULERE
6
on hand
Counted 23 of 24 at Surulere. Variance of 1 needs an explanation.
A branch runs low
0:00 / 0:16

Security

Most retail fraud is internal. So is most of our security.

The threat is rarely a hacker. It is a trusted person making a small change nobody can see. So every change has a name on it, and nothing financial can be erased.

199 permissions

Granted by named capability. No refund permission means no refund button, at any till.

An audit log you cannot edit

Written in the same transaction as the action, with user, branch, till and before-and-after values.

Voids, never deletes

Financial records are voided and the void is itself recorded. History stays whole and countable.

Backups you own

Off-site to storage under your own credentials, downloadable as one archive, with a restore you can rehearse.

Getting started

Live in a week, not a quarter.

Every stage is something we do with you, not a form we send. Most single-branch shops are trading on Nostra inside five working days.

DAY 1

We look at what you run today

You show us the actual shop: the till, the stock list, the notebook behind the counter. We look for what already works so we do not break it.

45 MINUTES
nothing installed
DAY 1–2

Your catalogue comes across

Products, prices, suppliers and opening stock from CSV or XLSX. Rows that do not fit are quarantined for review, never silently dropped.

IMPORT
with quarantine
DAY 2

Branches, tills and people

A cashier gets the till and nothing else. An auditor sees everything and changes nothing. You decide who can refund.

9 ROLES
all editable
DAY 3–4

Your team learns on the floor

Cashiers train during a real trading session, not in a classroom. The questions asked at 4pm on a Saturday are the ones worth answering.

ON SITE
or on a call
WEEK 1

You go live, and we stay close

We check that stock, drawer and takings reconcile against your hand count until you trust the system more than the notebook.

DAILY CHECK-IN
then weekly

What we will not do

The promises we refuse to make.

We will not charge per cashier.

Per-seat pricing punishes you for hiring. You pay per branch. Put every member of staff on it, including the Saturday ones.

We will not delete your financial records.

Not us, not your staff. Sales are voided and the void is signed. Your history stays whole.

We will not hold your data hostage.

Export everything to CSV, XLSX or PDF whenever you like. If you leave, you leave with your data in a format your next system can read.

We will not pretend a cache is offline mode.

A read-only copy lets you look at prices during an outage. Ours completes the sale, moves the stock and prints the receipt.

Pricing

Per branch. Not per person.

You pay for the branches you trade from. Staff, transactions and updates are never the thing you are billed on. We quote you a number on the walkthrough, not three days later.

COUNTER

Single shop

One branch, one or two tills. The whole platform, nothing held back.

  • Unlimited staff and transactions
  • Full offline mode
  • Batches, expiry and purchasing
  • All reports and exports
Get a quote
GROUP · MOST CHOSEN

Multi-branch

Two or more locations that need to agree with each other.

  • Everything in Counter
  • Transfers with waybill
  • Branch comparison
  • Credit accounts and quotations
Get a quote
ENTERPRISE

Groups and chains

Large estates, your own hosting, or needs that deserve a conversation.

  • Self-hosted option
  • Full accounting suite
  • Custom roles and approvals
  • Migration from your system
Talk to us
No seat feesNo transaction feesNo upgrade invoicesNo contract lock-in

Compare plans in full →

Questions

The ones worth answering properly.

How long can a till stay offline?
As long as the device keeps working. The queue lives on the device with no expiry, and a full trading day of queued sales syncs in one go. Device storage is the practical limit, and a day of sales is nowhere near it.
What if the device dies while it is offline?
Unsynced sales live on that device, so a dead device with a queue is the one genuinely painful case. That is why the queue count is always on screen, and why we recommend a second till per branch and syncing as soon as the line returns.
Do I need new hardware?
Usually not. Nostra runs in a browser on hardware you likely own, including modest Android tablets and older Windows machines. We check your printer and scanner on the walkthrough, before you pay anything.
Does it work for my kind of shop?
Supermarkets, gadget and phone shops, wholesale depots and pharmacies all run on the same core. The pharmacy build is where the stock rules were proven, so batch and expiry discipline is there for anyone who needs it.
What happens if I stop paying?
Your data is yours. Before any account closes you get a full export of products, customers, sales, stock movements and the audit trail in open formats.
Is there a contract?
Monthly, cancel with notice. If the only thing keeping a customer is a contract, the product has failed and the contract is just delaying the conversation.

Book a walkthrough

See it with your own stock.

Bring your product list. We load it in front of you, ring a sale, then cut the line halfway through. It takes about four minutes.