Skip to content

How the Setup area works

Setup (via the till's Manager button, or #setup) is the administrative side of the POS — completely separate from ringing sales. The door is real: entering Setup requires the Enter Setup permission (see permissions.md), and the header shows whose name the work is recorded under.

The principle: every button on every screen is data. Setup edits that data; the tills just render it.

The Manager portal — the till side of the same menu

Stations & Layouts → pick a station → Edit Touchscreen Layout. Then shape what its sale screen shows:

The touchscreen layout editor

The editor looks like the till: the category column on the left, the real 4-wide button grid on the right. Drag categories or buttons to rearrange — buttons fill left-to-right, then the next row (positions 1·2·3·4 are row one, 5·6·7·8 row two), and sorting or repopulating follows the same reading order.

  • removes a category from the station, or a button from the grid.
  • + Add opens a searchable picker of the department's products.
  • Default repopulates the grid with every product in the department, A–Z — the recovery button when a menu gets mangled or you want everything back as a starting point.
  • Sort A–Z (or by item #) reorders whatever is currently on the grid.

Nothing takes effect until Save layout.

The till loads its curated menu at startup — a product removed here simply doesn't exist on that station's screen (fifteen years of dead items stop cluttering the counter). Modifiers are always attachable regardless of menu placement.

Discounts

The whole discount table. Show at till is the curation flag: the till's discount picker lists only checked rows, no matter how many discounts the table holds. Uncheck Active to retire one entirely (history keeps its records). Every applied discount records who applied it — that's built into the till, not configurable.

Stations

Stations & Layouts

Each till, on one card: its name, its receipt behaviour (ask on every sale / never / always print — with a copy count), the credit-card slip (ask / never / automatic on card payments), and when the drawer kicks open (never / on cash / on everything — the kick itself waits for the device bridge). One station is starred as the main station — the default identity for new devices. From here two editors branch off: Edit Touchscreen Layout (above) and Edit Station Buttons — which system buttons appear along the bottom bar, their order and labels, on a fixed 3×8 grid (blanks are allowed; they group buttons and keep muscle memory). A future mobile cart is just another station with its own trimmed menu.

General

General → Business — the identity block

Five tabs, each a small honest form:

  • Business — the store identity: name, address, phone, email, website, GST number. This single block feeds receipts, invoices, statements, and the card-reader registration.
  • Receipt — logo upload and the header/footer notes, with a live thermal preview (see receipts-and-printing.md).
  • Payments — which card gateway is live (the mock terminal or Stripe Terminal) and the Stripe secret key, pasted here and stored encrypted — no config files to edit (see payment-gateway.md).
  • Email — the SMTP connection for sending mail: a provider preset (Gmail / Microsoft 365 / custom), username, an encrypted password, and a Send test email button that proves the connection. Statement/invoice sending hooks in next.
  • Sales — cash rounding: the mode and the increment (nickel and up).

General → Email — SMTP with a working test button

The rest

Each big area has its own page: inventory-maintenance.md, customer-maintenance.md, customer-accounts.md, reports.md, permissions.md (Employees), receipts-and-printing.md (Printer Setup), gift-cards.md, vendor-payouts.md, loyalty.md, backups.md. Taxes are a plain editable table (effective dates handled underneath); Departments carry the behaviour flags (retail beans vs wholesale vs drinks) that make new items in them default correctly.