Offline-First Architecture

Point of Sale
Built for South Africa

GAAP-compliant retail engine with double-entry accounting, immutable stock ledger, and Xero sync. Runs without internet. Built for businesses that can't afford downtime.

FlowPOS - Register 1
Shift: SH-000042 Online
Scan barcode or search products...
Scale
1

Beef Mince 500g

SKU: BM500 · 15% VAT

R 89.99

x 2

2

Brown Bread 700g

SKU: BB700 · Zero-Rated

R 16.99

x 1

3

Chicken Livers 250g

SKU: CL250 · Zero-Rated (Offal)

R 24.99

x 1

4

Boerewors Traditional

SKU: BW001 · 1.250 kg @ R129.99/kg

R 162.49

weighed

Quick Items

Wors

R129.99

T-Bone

R189.99

Rump

R169.99

Mince

R89.99

Sosatie

R149.99

Droewors

R249.99

Subtotal (excl. VAT) R 338.42
VAT (15%) R 46.04
Zero-Rated Items R 41.98
Cash Rounding - R 0.06
Total Due R 384.40

<200ms

Scan Response

100%

Offline Capable

IFRS

SME Compliant

15%

SA VAT Ready

Live screens · Real data

What it actually looks like

Screenshots straight from the running system — not mockups. The same screens your cashiers, managers and bookkeepers use every day.

The POS till

Point of sale

The POS till

The screen your cashiers actually use. Built for speed: barcode scan, favourite grid, customer lookup, multi-tender split — all without leaving the keyboard.

  • Favourites grid for fast item entry (no scanner needed)
  • Barcode + PLU + name search in one box
  • Live cart with line discounts and price overrides
  • Multi-tender splits (Cash, Card, EFT, Account, Voucher)
  • Auto-attaches active shift, register and sales rep
Owner dashboard

Daily ops

Owner dashboard

The first screen the owner sees in the morning. Today vs yesterday, week-on-week, top sellers, low stock and alerts — at a glance.

  • Today's sales, transactions and average basket
  • Hourly takings chart vs the same day last week
  • Top sellers, low stock alerts and recent activity
  • Per-store filter for multi-branch operators
Money Counter cashup

Cash management

Money Counter cashup

A real cashup screen built for South African retail — count notes and coins by denomination and watch the till balance live as you type.

  • Denomination grid (5c through R200) with live extended totals
  • Tender reconciliation: system vs counted vs tip per payment type
  • Record payouts and paid-ins mid-cashup, totals update instantly
  • Float toggle, cash to bank, expected vs counted variance
  • Non-banking categories (petty cash, supplier from till, owner draws)
Sales report

Reporting

Sales report

Every sale, grouped your way. Daily takings chart, payment-mix donut and a transaction list you can drill into.

  • Daily takings bar chart over any range
  • Payment-mix donut: Cash / Card / EFT / Account / Voucher
  • Filter by store, register, cashier, customer or rep
  • Excl-VAT, VAT and incl-VAT broken out per row
Gross profit report

Reporting

Gross profit report

Where you actually make money. Revenue, COGS and GP% per category, with a bar chart that puts the underperformers in front of you.

  • GP per department, category and product line
  • Calculated against the WAC at the moment of sale
  • Compare against your per-product GP target
  • Drill from category → product → individual sale
VAT 201 ready

Compliance

VAT 201 ready

Output VAT, input VAT, net payable to SARS. The numbers your bookkeeper actually needs at the end of every period.

  • Standard / zero-rated / exempt split per line
  • Input VAT from GRVs and supplier invoices
  • Net VAT payable / refundable for the period
  • Tax-period selector (monthly or bi-monthly)
Goods received vouchers

Purchasing

Goods received vouchers

Every delivery from every supplier, with the journal entries already posted and stock already moved.

  • Sequential GRV numbers, gap-free
  • Posts DR Inventory / CR Accounts Payable automatically
  • Recalculates WAC the moment you save
  • One-click reprint, edit before posting, never after
GRV detail with cost allocation

Purchasing

GRV detail with cost allocation

Open any GRV and see every line, every cost component and the journal entry the system posted. Full audit trail, every time.

  • Line-by-line cost, freight allocation and landed cost
  • Per-line VAT (15% / 0% / exempt)
  • Linked journal entry shown inline
  • Stock ledger entries linked from each line
Purchase orders

Purchasing

Purchase orders

Order from suppliers before they deliver. PO becomes a GRV in one click — no re-keying line items.

  • Sequential PO numbers (PO-) gap-free
  • Status flow: draft → sent → received
  • Convert PO → GRV with one click
  • Tracks ordered vs received per line
Stock-on-hand valuation

Inventory

Stock-on-hand valuation

What is sitting on the shelves and what it cost you. Computed live from the immutable stock ledger — never edited by hand.

  • On-hand × WAC = total stock value, per location
  • Filter by department, category, brand or supplier
  • Highlights items below min stock level
  • Export to CSV for the auditors
Product detail

Inventory

Product detail

One product, every fact about it. Pricing across price levels, suppliers, barcodes, recent movements and stock by location — on a single page.

  • Multiple barcodes and units of measure
  • Price levels (Retail / Wholesale / Trade) editable inline
  • Multi-supplier with last cost per supplier
  • Stock-on-hand split by location, with recent movements
Stock take with variance

Inventory

Stock take with variance

Count what is actually on the shelf and let FlowPOS write the variance to the books — with a journal entry, not a free-text note.

  • System-on-hand vs counted with running variance
  • Posts DR/CR Inventory Shrinkage on close
  • Snapshot taken at start, never moves
  • Variance valued at WAC for accurate write-offs
BOM / Recipe builder

Manufacturing

BOM / Recipe builder

Bake a loaf, blend a sausage filler, build a hamper. One click consumes the components and produces the parent — at a real, computed cost.

  • Components with scrap % per line
  • Cost methods: avg / standard / fixed
  • Builds atomically: components down, parent up
  • Cost flows into product WAC like any other receipt
Customer at a glance

Customers

Customer at a glance

Open a customer and see everything that matters first. Outstanding balance, credit limit, aging strip, recent sales and payments — without scrolling.

  • Live balance vs credit limit with colour cue
  • Inline aging strip across all buckets
  • One-click Receive Payment and Statement actions
  • Recent sales and payments without leaving the page
Customer statement

Debtors

Customer statement

Send your account customers a real statement — opening balance, every transaction in the period, running balance, closing balance and aging.

  • Period range selector with one-click print
  • Coloured transaction types (invoice, payment, credit note)
  • Running balance after every line
  • Aging analysis as at the closing date built in
Debtors aging report

Reports

Debtors aging report

Store-wide aging snapshot. See exactly which customers owe what, in which bucket, at any date.

  • FIFO allocation of payments against oldest invoices
  • Current / 30 / 60 / 90 / 120+ buckets with totals row
  • Click any customer to drill into their statement
  • As-at date picker for retrospective views
Customer payments

Debtors

Customer payments

Receive a payment and let the system FIFO-allocate it across the customer's open invoices — with a journal entry posted at the same moment.

  • Sequential payment numbers (PMT-) gap-free
  • Auto FIFO allocation against oldest invoices
  • Posts DR Bank/Cash / CR Accounts Receivable
  • Reverses cleanly via credit note, never deleted
Commission report

Sales reps

Commission report

Pay your sales reps the right amount. Live per-rep performance with sales count, turnover and commission across any date range.

  • Per-rep commission % stored on the rep, not hardcoded
  • Calculated on excl-VAT turnover
  • Date range filter (month / quarter / year)
  • Grand totals row for the whole team
Live quote builder

Quotes &amp; orders

Live quote builder

Build quotes and sales orders in seconds. Customer + sales rep auto-link, line builder with live VAT, convert to order with one click, fulfill into a real Sale.

  • Live line totals (excl, VAT, incl) per row
  • Sequential numbers (QT-, SO-) gap-free
  • Status workflow: draft / sent / accepted / converted
  • One-click convert to Sales Order or Sale
Quotes pipeline

Quotes &amp; orders

Quotes pipeline

Every quote your team has put out, with status, value and customer. See what is sitting in draft, what is sent and what already converted.

  • Filter by status, customer or rep
  • Convert any sent quote to a Sales Order
  • Track lost quotes with a reason field
  • Print or email straight from the row
Sales orders

Quotes &amp; orders

Sales orders

A confirmed order that is not yet a sale. Reserve stock, plan delivery, then fulfill into a real Sale when the goods leave the door.

  • Sequential SO numbers (SO-) gap-free
  • Pending / partial / fulfilled status flow
  • Auto-defaults customer, rep and price level
  • Fulfill into a real Sale via POSService
Areas & delivery routes

Distribution

Areas & delivery routes

Group customers by area, assign them to a delivery route on a specific weekday, and print a delivery sheet the night before.

  • Areas and routes managed on one screen
  • Customer counts per area / route at a glance
  • Day-of-week selector per route
  • Print delivery sheet for any day with check boxes
Leads inbox

Sales pipeline

Leads inbox

Quote requests from the public website land here. Triage, qualify, convert into a real customer — without ever leaving FlowPOS.

  • Status filter: new / contacted / qualified / lost
  • Linked to the website quote calculator
  • One-click convert lead to customer
  • Note thread per lead for sales follow-ups
Carcass receipt with cooling loss

Butchery

Carcass receipt with cooling loss

Receive a livestock carcass at delivery weight, capture the cold mass after chilling, and let FlowPOS post the cooling loss as a real expense — automatically.

  • Hot mass at delivery vs cold mass after chilling
  • Auto-computed shrinkage % with warning above 3%
  • Inventory recorded at cold mass (the actual usable kg)
  • Auto journal entry: DR Inventory + DR Cooling Loss + CR Accounts Payable
Carcass split into cuts

Butchery

Carcass split into cuts

Take a 50kg beef chuck, split it into rump, loin, belly and trim, and FlowPOS does the mass-weighted cost allocation and writes the trim loss to the books.

  • One input → many cuts with actual masses
  • Live yield % and trim loss as you build
  • Mass-weighted WAC per cut (not equal-weighted)
  • Trim loss posted as Inventory Shrinkage expense

Designed for Real Retail

Not a checklist. A ledger-based transaction engine built from first principles for South African compliance and operational reality.

Offline-First

Store server runs on your LAN. Sales, inventory, receipts - everything works without internet. Cloud syncs when available.

Double-Entry Accounting

Every sale auto-generates balanced journal entries. Revenue, COGS, VAT, inventory - all in one atomic transaction.

Immutable Audit Trail

Stock ledger is append-only. No record ever deleted. Corrections via reversing entries. SARS-ready with 5-year retention.

SA VAT Compliance

Three VAT rates (15%, zero-rated, exempt). Auto invoice type (till slip, abridged, full). Cash rounding to nearest 10c.

Scale Integration

Direct RS232/USB/TCP scale support. Stable weight detection. Tare support. Price-per-kg items auto-calculated on the till.

Xero Sync

Outbox-based sync with exponential backoff. Daily summaries or per-sale invoices. Syncs when internet is back.

Seven Integrated Modules

Each module is purpose-built, but they all share the same transaction engine. Every movement flows through the stock ledger and general ledger.

01

POS Sales Engine

Barcode scanning, favourites grid, weighted items, split payments, discounts, shift management, ESC/POS receipt printing.

02

Inventory & Stock Ledger

Multi-location stock, immutable ledger entries, unit conversions. On-hand computed from ledger - never a direct edit.

03

Costing Engine

Weighted Average Cost auto-recalculated on every GRV. Freight allocation. Per-product and per-category margin reports.

04

GRV with Photos

Photo capture of delivery notes. Auto-assign products from supplier history. Approval workflow. Costs posted to ledger.

05

Stock Take (Excel)

Export by category/location to Excel. Staff counts offline. Import, review variances, approve. Adjustments posted to ledger.

06

Xero Integration

OAuth2 connection. Daily summary or per-sale sync. Outbox queue with retry. Contact and account mapping.

07

Hardware Integration

USB barcode scanners, ESC/POS printers (USB/LAN), RS232 scales, cash drawers. All local - no cloud relay.

South African GAAP Compliance
Built In, Not Bolted On

Every transaction generates proper double-entry journal entries. The chart of accounts, VAT handling, and invoice rules follow IFRS for SMEs and the South African VAT Act.

Three-Tier Tax Invoicing

Till slip (R0-R50), abridged (R50-R5,000), full tax invoice (R5,000+) - automatically determined per Section 20 of the VAT Act.

Zero-Rated Items Aware

Brown bread, offal, maize meal, eggs, milk, flour - all correctly zero-rated. Per-line VAT calculation. Ready for VAT201 returns.

Gapless Invoice Numbering

Sequential numbers enforced via database-level locking. No gaps, no duplicates. SARS audit-safe even under concurrent tills.

Cash Rounding (10c)

Automatic rounding to nearest 10c for cash payments only. Card/EFT stays exact. Rounding posted to its own ledger account.

Auto-Generated Journal Entry

JE-000127

Sale INV-000384 · 27 March 2026

Account Debit Credit
1100 Cash on Hand R 384.40 -
4000 Sales Revenue - R 296.44
4100 Sales Revenue (Zero) - R 41.98
2100 Output VAT - R 46.04
2300 Rounding Liability R 0.06 -
5000 Cost of Goods Sold R 215.30 -
1200 Inventory - R 215.30
Totals R 599.76 R 599.76
Balanced · Debits = Credits

Built for Your Industry

From butcheries with scale integration to hardware stores with thousands of SKUs - FlowPOS adapts to how you actually work.

Butcheries

Scale integration for weighed items. Zero-rated offal tracking. Cut-to-order workflows. Per-kg pricing with automatic weight capture.

Bakeries

Zero-rated brown bread and flour tracking. Batch production costing. Waste/spoilage recording. Daily bake production support.

Hardware Stores

Thousands of SKUs with barcode scanning. Multi-location stock (warehouse + floor). Account customers. Wholesale pricing tiers.

Agri Retail

Bulk weights and measures. Account-based sales for farmers. Seasonal stock management. Multi-unit conversions (bags, tonnes, kg).

Food Processors

Raw material to finished goods tracking. Waste recording. GRV with photo proof. Supplier cost trend analysis for margin protection.

Your industry?

FlowPOS is configurable. If you sell products and need proper books, we can make it work.

Store-First Architecture

Your store server is the source of truth. The cloud is optional. This is how you build software that doesn't fail when Telkom goes down.

Cloud Dashboard

Reporting · Sync · Management

Optional

Store Server

Local POS Engine + MySQL

Always available

Till 1

+ Printer + Scale

Till 2

+ Printer

Till 3

+ Printer

Pre-launch · Active development

Build Roadmap

What we’ve shipped, what’s in flight, and what’s next. Updated as items ship.

33 done · 0 building · 0 planned 100%

Multi-store / location / register

Done

Stores, locations, registers, multi-till support.

Products + Departments + Categories

Done

Single-level dept→cat. Two-level hierarchy planned.

Multiple barcodes per product

Done

product_barcodes with primary flag.

Multi-supplier per product

Done

supplier_products with preferred + last cost.

Price levels (tiered pricing)

Done

Effective-dated price levels per customer.

Units of measure + conversions

Done

Sell unit ≠ purchase unit, conversion factors.

WAC costing + immutable stock ledger

Done

Recalc on every GRV.

GRV with cost allocation

Done

Freight allocated proportionally, posts journal.

Stock takes

Done

Variance posting with audit trail.

Stock transfers (location → location)

Done

Dispatch / receive workflow.

POS sales + refunds + shifts

Done

Cash, Card, EFT, Account, Voucher payments.

Double-entry accounting

Done

Auto journal entries on every transaction.

VAT (multi-rate, per line)

Done

15% / 0% / exempt with VAT report.

Customer credit limits + price levels

Done

Credit-on-account with limit enforcement.

Sequential numbering (gapless)

Done

Pessimistic-locked sequences.

Audit log

Done

Immutable, 5-year retention.

Xero integration scaffold

Done

Connection + outbox + entity map ready.

Cashup money-counter (denominations, recon, payouts)

Done

Denomination grid, tender recon, payouts/paid-ins, non-banking summary, full close-shift flow.

Customer statements + aging

Done

Customer ledger, FIFO-aged buckets, per-customer statement, debtors aging report.

Public realtime quote calculator

Done

Live tier/till/hardware/add-on calculator on the home page that captures leads with their selected quote.

Demo data seeder

Done

80 products, 7 suppliers, 12 customers, 159 sales over 90 days, GRVs and stock take — vibrant first-boot data.

Sales rep / salesman tracking

Done

Rep on customer & sale, commission report with date range and per-rep breakdown.

Brand master

Done

Brand on product, default supplier per brand, brand filter on products list.

Customer areas + delivery routes

Done

Per-day delivery sheets, area + route master, customer assignment.

Re-order levels + GP target on product

Done

Re-order report with suggested order qty and estimated cost per supplier.

Stock master extensions

Done

Alt description, PLU, life-time, pack size, web visible, on-hold, allow sell under cost.

Customer master extensions

Done

VAT #, terms, currency, lat/long, delivery address, behaviour flags.

Supplier master extensions

Done

Banking, pay method, POP email, registration #, livestock flag, geo + distance.

Batch / lot + BBD tracking

Done

Batch + expiry on stock ledger, batch-controlled product flag, expiry report (critical / warning / expired).

BOM / recipes

Done

Recipes consume components from stock and produce parent at computed cost (avg / standard / fixed).

Bulk → derived pricing relations

Done

Parent-product link + adder/multiplier value (e.g. mince 500g = mince/kg × 0.5).

Quotes + sales orders

Done

Full quote → order → invoice flow with live line builder, conversion, fulfillment via POSService.

Industry: butchery (slaughter, cold mass, carcass cuts)

Done

Slaughter fee per kg, hot/cold carcass receipt with cooling loss, carcass split into cuts with mass-weighted cost allocation.

Live quote · No phone tag

Build your quote

Slide a few things, see the price update live. Submit only if you want us to come install it.

Choose your plan

Number of tills

15101520

Hardware bundle (optional)

Add-ons (optional)

Your live quote

Plan
Setup once-off
Hardware
Then monthly
First payment

Excludes 15% VAT. No annual support fee.

Send me this quote

No obligation. We’ll come back within 1 business day.

Ready to Run Your Store Properly?

Stop losing money to stock shrinkage, VAT errors, and systems that crash when the internet drops. FlowPOS gives you a proper books-based POS from day one.

Sign In