Bitta Retail POS guide

Role profiles playbook

How role profiles gate register and Role Center capabilities per role, a reference of every gated capability, and a repeatable enabled/disabled verification method.

status: verified applies-to: 1.0.0.121rev: 3

Role profiles decide which capabilities each role sees at the register and on the Role Center: what a cashier can capture, change, print, and look up. This playbook explains how profile gating behaves and gives administrators a repeatable method for verifying that an enabled capability works end to end and a disabled one is genuinely gone.

How profile gating behaves

Profile enforcement follows one contract everywhere:

  • Enabled - the control is visible, using it creates the documented POS, Business Central, or accounting record, and the server accepts the operation.
  • Disabled - the control is absent, not merely grayed out, and a direct server call for the same operation is rejected. No success record is created.
  • Profiles restrict; they never bypass. Company policy, permissions, readiness, and device safety always remain stronger than the profile. Enabling a capability in a profile does not override POS Setup policy, permission sets, or licensing.
  • The Effective Register Setup view explains the result a user is getting without exposing private configuration or secrets.

Capability reference

Each capability governs one register or Role Center surface:

Capability What it controls when enabled
Customer Requirement Attaching a customer to the sale (Not Used / Optional / Required). See Customers and loyalty.
Order Reference Capturing an order name/reference on the sale, with a configurable caption.
Fulfillment Selecting a fulfillment method; the chosen code, description, and behavior are stamped on the sale.
Promised Time Capturing a promised date-time on the sale.
Pricing Changes Discounts and price overrides, still within the governance rules on Pricing and discounts setup.
Park and Resume Parking a sale and resuming it later. See Parking and resuming sales.
Cashier Cancellation Cancelling a sale, with the required reason/approval and audit stamps.
Returns Creating return sales and refunds. See Returns and refunds.
Gift Receipt Printing gift receipts. See Gift receipts.
Price Check Price Check mode (also gated per terminal). See Price check.
Stock Availability Read-only availability lookups. See Stock availability.
Customer History Read-only completed-sale history for a customer, including balance exposure.
Preparation Instructions Per-line preparation text for kitchen output.
Kitchen Printing Kitchen label/ticket dispatch and reprint. See Kitchen output.
Weighed Item Capture Scale and manual weight capture on lines. See Scale and weighed items lab.
Shift Operations Opening and closing shifts. See Shifts.
Cash Movements Pay-in, pay-out, and safe drop. See Cash movements.
No Sale Opening the drawer outside a sale, always with a zero-amount audit movement.
Receipt Recovery Reprinting receipts from the original snapshot, marked as reprints.
Sales History A terminal-scoped read-only list of completed sales.
Printer Menu Printer pairing, status, and print-queue actions at the register. See Printers and hardware setup.
Cashier KPIs The terminal-scoped KPI snapshot on the Role Center.
Cashier Financial Amounts Financial values on the Role Center; when off, counts may remain but amounts are hidden.

Verifying a profile (the playbook)

To prove a capability is correctly gated, test it as a pair: one profile with the capability enabled, one otherwise-identical profile with it disabled, while holding company Setup, Store, Terminal, permissions, and data constant.

  1. Record the profile and setup state, then start a fresh basket.
  2. Enabled path: use the visible control and capture the exact record it creates - the POS sale/line, print job, shift, or cash movement, and any BC or accounting record that follows.
  3. Disabled path: switch the user to the paired disabled profile (refresh/reassign before the next basket) and prove the control is absent, not merely disabled.
  4. Exercise the same operation through its direct server boundary and confirm the server rejects it.
  5. Clean up the scenario and record the evidence, tester, date, and Pass/Fail.

TIP

"No record created" is part of the expected result. For a disabled capability, verify the absence: no sale line, no print-queue row, no cash movement, no shift - and state explicitly that there was zero accounting impact.

Cleanup and evidence

Close or cancel only test baskets, reconcile any test card transactions, reverse posted test documents through standard Business Central, and keep the evidence ledger. Roles split naturally: an administrator prepares the paired profiles, a cashier executes the UI paths, and a supervisor verifies the restricted paths (see Supervisor operations).

NOTE

Where a capability interacts with routing-heavy features, test the feature's own matrix too. For Kitchen Printing, verify the route modes (Legacy / Inherit / Add / Replace), Labels-only and Tickets-only routes, and the terminal > store > company precedence described in Multi-station kitchen routing.

// next step

Ready to try Bitta Retail POS?