Store, head office, warehouse.
How CAD 2.0 fits together, what keeps working when the network drops, and what it runs on. Written for the person who has to install it and keep it running.
How it fits together.
Each store
CAD 2.0 tills
Touchscreen tills, Android handhelds, kiosks and customer screens. Each till keeps its own copy (SQLite) of items, prices and staff.
Store server
Runs the store’s MySQL database: the record of every sale, item and stock movement.
Admin
The store back office: local items, goods received and store admin.
Up: sales and stock
Down: items, prices, promotions
Apache Airflow or CAD’s own collection
Head office (optional)
Endgame
Central item creation, buying, pricing and promotions, and reporting across every store. Runs on TimescaleDB.
The same sync as a store
Warehouse (optional)
Warehouse server
The same server and MySQL database as a store.
WMS
Receiving, picking, put-away, moves and counts on phones, reconciled with the database every night.
- 1
One store, on its own
CAD 2.0 tills and the Admin back office on the store server. Items, goods received and the store’s admin are done in the store. No head-office system is needed.
CAD 2.0 + Admin - 2
Run from head office
Add Endgame. Items are created centrally, prices and promotions go down to every store, and each store’s sales and stock come up for reporting.
+ Endgame - 3
With a distribution warehouse
The warehouse runs the same server and MySQL database as a store, with WMS on top for receiving, picking, put-away and counts.
+ WMS
When the network drops.
Tills reach the store server over the store’s own network, so the internet going down doesn’t stop the tills. This is what each till does when it can’t reach the store server. Prices are as of the last sync.
Keeps selling
From the till’s own copy. Sales queue on the till and post once the server is back.
- Cashier and supervisor sign-in
- Scanning, item search and open items
- Promotions, discounts and voids
- Cash sales
- Pickups, drops and payouts
- Loyalty points earned
Needs the internet, not the store server
These keep working when only the store server is down.
- Integrated card payments (FNB)
- Airtime, electricity and bill payments (Blue Label)
Waits for the server
The till says “unavailable offline” and nothing is half-saved.
- Account sales and lay-bys
- Voucher and points redemption
- Credit-note refunds
- Parked sales, quotes and reprints
- X and Z reports (cash-up won’t close while sales are still queued)
- Changing store settings
How we test it
CAD 2.0 has an automated fault-injection suite. A proxy sits between the till and a real MySQL database and breaks the link the way it breaks in a store: before, during and after a scan or a sale, with tables locked, and with two tills at once. Every sale is then checked against what actually landed in the database, not against what the till reported. Each test checks that:
- Every scan adds the item or shows an error. Nothing is silently dropped.
- The cashier always gets an answer when finalising a sale.
- After recovery, every sale is in the database exactly once: header, every line and payment, with stock moved once.
- A sale whose reply was lost is never simply sent again. It is checked first, so it can’t post twice.
- The till goes back online by itself once the server returns.
What it runs on.
Recommended application-server specs by number of tills, on Ubuntu 22.04 LTS or Windows Server. MySQL can stay on an existing database server with the RAM shown.
| Tills | Application server | MySQL RAM | Network |
|---|---|---|---|
| 1 to 5Small store | 4-core CPU, 8 GB RAM, 120 GB SSD | 4 GB | 8-port switch, Cat 5e |
| 6 to 15Supermarket | 8-core CPU, 16 GB RAM, 256 GB SSD, UPS | 8 GB | 24-port managed switch, Cat 6 |
| 15+Large supermarket | 16-core CPU, 32 GB ECC RAM, 512 GB NVMe (RAID 1), rack UPS | 16 GB+ | 48-port managed switch, 10 GbE uplink |
Tills: Windows 10 or Ubuntu with Chrome, 4 GB RAM or more, and wired Ethernet to every lane. Scanners, ESC/POS receipt printers, cash drawers, customer displays and card machines connect to the till.
Sign-in by role
Cashiers sign in with a PIN, card or fingerprint. What each person can do follows their role, and discounts need a supervisor.
Changes on record
Voids are logged, store setting changes are logged with who made them, and Endgame keeps an audit log of who changed what.
Backups
Daily automated database backups, to a NAS or off-site, are part of every installation’s requirements.
Updates
Software updates are distributed centrally to the tills and screens.
Asked and answered.
Does CAD 2.0 need the internet to sell?
No. The tills talk to the store server over the store’s own network. The internet is needed for card payments, airtime and bills, software updates and syncing with head office. If the store server itself can’t be reached, each till keeps selling from its own copy and posts the sales once the server is back.
Which databases does CAD use?
Each store and warehouse runs MySQL on its own server, and an existing database server can usually stay. Each till keeps a local SQLite copy for trading offline. Endgame, at head office, runs on TimescaleDB.
How do stores sync with head office?
Scheduled jobs run with Apache Airflow, or CAD’s own collection process, bring each store’s sales and stock up to Endgame. Items, prices and promotions created at head office go down to the stores.
Do I need head-office software for a single store?
No. CAD 2.0 with the Admin back office runs a store on its own. Endgame is added when you want to run several stores from one place.
Can I add head office or a warehouse later?
Yes. Endgame and WMS are added on top of the stores you already have. A warehouse runs the same server and database as a store, with WMS on top.
Do Endgame and WMS work with CAD’s other tills?
Yes. Both can also be added to the clothing system (XPOS 2.0 and XStock 2.0) and to HomePOS 2.0. CAD’s other products stand alone.
Can the tills run on Wi-Fi?
Not on till lanes. CAD requires wired Ethernet to every till, because packet loss on Wi-Fi causes scan delays and failed posts.