Sales
Two ways to start a sale
Kasyro gives you two ways to start a sale:
Quick tab — clicking "Quick tab" on the main screen instantly opens the sales screen without selecting a table. The tab is labeled "No table".
Table tab — clicking "Create tab" lets you pick a section, table, and number of guests. Then click "Order" to go to the sales screen.
Both methods use the same sales screen, but the buttons at the bottom of the cart differ (see Buttons below the cart).
Sales screen layout
The system supports two display modes. The mode is determined automatically by screen width (the 680 px threshold), or you can force it in the device settings:
Full mode
The screen is split into three columns:
- Left panel — Cart (fixed width of 280 px)
- Center — Toolbar + Product catalog
- Right panel — Side panel (290 px, retail mode only, see Side panel)
Compact mode
The screen switches between two views:
- Product catalog at full width with a compact mini cart at the bottom
- Cart at full width (switch to it by clicking the mini cart)
At the bottom of the screen there is a navigation bar with the same actions as the side panel in full mode (Receipts, New tab, Shift, Cash movement, Settings, Log out, Switch user).
Cart (order summary)
This is where you see the list of added items. Each item is shown as a card with a colored stripe on the left. For each item, the following is displayed:
- Quantity and unit
- Item name
- Total price for the given quantity (base price including modifiers)
If an item has modifiers, indented rows with the name and surcharge appear below it. An item note is shown in italics. If an item has a discount, an indented row with the text "Manual discount" and the discount amount (in red) appears.
At the bottom of the cart there is a section with the total price. If a discount or voucher is active, an expanded summary is shown: subtotal, bill discount (red), voucher (purple), and the total amount (bold).
Buttons below the cart
The buttons depend on how you started the sale:
Quick tab (no existing tab):
- Cancel (red outlined) — removes the last item (or separator) from the cart. If the cart is empty, in retail mode it prepares the screen for the next sale; otherwise it returns to the previous screen. A long tap clears the entire cart at once.
- Save (blue) — creates a tab and saves the order without opening payment. Disabled when the cart is empty.
- Pay (green, full width) — creates a tab, saves the order, and immediately opens the payment dialog. Disabled when the cart is empty.
Table tab (existing tab):
- Cancel (red outlined) — returns you to the previous screen.
- Send order (green) — sends the order to the kitchen display, prints the order ticket (if automatic printing is enabled), and returns you to the previous screen. Disabled when the cart is empty.
Mini cart (compact mode)
In compact mode, a compact card with the list of cart items, a cart icon, item count, and total price is shown below the product catalog. Clicking the mini cart switches to the full cart (only if the cart contains at least one item). To return to the catalog, click the cart header, which has a left arrow and the text "Back".
Top bar — Tools
Below the header there is a row of tool chips (filter chips). In full mode the chips stretch to full width; in compact mode they are scrollable.
If a chip is active (e.g. a customer is assigned or a discount is applied), it is visually highlighted.
- Search (magnifier icon) — opens a search field that replaces the entire bar. Enter a name or scan a barcode. Close it with the X. In compact mode the magnifier icon is hidden while the cart is shown.
- Scan — opens a full-screen barcode scanning dialog. If the code matches an item, it is added to the cart. If not, it opens search with the code as the query. Camera scanning works without any additional configuration; a physical scanner must first be set up in Settings > Register > Peripherals.
- Customer — assign a customer to the order. Once assigned, the customer's name is shown on the chip. Click it again to remove the customer. Requires the orders.assign_customer permission and the Customers module enabled. If the permission is missing or the module is disabled, the chip is not shown.
- Discount — apply a discount to the entire bill. If a discount is already active, the chip shows the text "Remove discount" and clicking it offers a removal confirmation. The chip is always visible — the permission is checked internally when the dialog opens. The discounts.apply_bill permission allows an unlimited discount; otherwise the maximum percentage from the company settings applies.
- Voucher — redeem a voucher. If a voucher is already active, the chip shows the text "Remove voucher" and clicking it offers a removal confirmation. It is shown only if at least one voucher module is enabled (sales vouchers or discount vouchers).
- Note — a note for the entire order. It appears on the kitchen display and on the printed order ticket. If a note exists, the chip is shown as active.
- Split — inserts a separator into the cart that, when the order is sent, splits the items into separate orders. Shown only in restaurant mode (not in retail). Disabled when the cart is empty or when the last item in the cart is already a separator.
- Print (check / X) — toggles automatic printing of order tickets for the current session. Green check = printing on, red X = printing off. If automatic printing is enforced in the company settings, the chip is disabled (it cannot be turned off).
Product catalog (Grid)
Products are displayed as tiles in a grid. The grid dimensions (the number of columns and rows) are set in the register configuration. The grid supports multiple pages — navigation is handled by special navigation tiles and the "Back" button in the top-left corner of subpages.
Tile types:
- Product — name, price (hidden for products with variants), and a color derived from the product, category, or grid. Products that are not on sale (isOnSale = false) are disabled. Click to add to the cart.
- Category — folder icon, category name, category color. Click to go to the page with that category's products.
- Page link — right arrow, tertiary container color. Navigates to another grid page.
- Empty cell — a gray tile with no interaction.
Inventory badges on tiles
If the Inventory module is enabled and the register has inventory badges turned on, a colored badge with the stock quantity appears in the top-right corner of the tile:
- Green — sufficient stock (positive quantity)
- Orange — partial availability (for products with variants, where some variants are in stock and others are not)
- Red — stock of 0 or less
For products with variants, the letter "V" is shown instead of a number.
Adding items
Adding from the grid
Click a product tile in the catalog. The system goes through the following steps (each one appears only if relevant):
- Variant selection — if the product has variants, a dialog for selecting a specific variant appears. Click a variant to select it and the dialog closes.
- Price entry — if the product has an open price (no fixed price set), a numpad for entering the price appears. The dialog also includes a stepper for adjusting the quantity.
- Quantity entry — if the unit is something other than pieces (e.g. kg, l), a numpad for entering the quantity appears. This dialog also opens on a long tap of the tile.
- Modifier selection — if the product has modifier groups (its own or inherited from a parent category), a dialog for selecting modifiers appears. Required groups must be filled in, otherwise you cannot confirm.
- Adding to the cart — the item is added to the cart. If the same item already exists in the cart (same product, same modifiers, same price, no note, and no discount), the quantity is increased.
Adding via search
If you cannot find a product in the grid, click the magnifier icon in the toolbar. The entire bar is replaced by a search field. Enter a name or part of a product name — the system filters products in real time (with a 300 ms debounce) and shows the matching tiles. Clicking a result starts the same adding process as from the grid. Close search with the X (the grid is restored to page 0).
Long tap on a product in the catalog
A long tap on a product in the catalog always opens the quantity entry dialog (numpad), regardless of the unit. Unlike a short click (which adds 1 piece), a long tap prompts you to manually enter an exact count.
Editing items in the cart
Tapping an item
Tapping an item in the cart opens a dialog with the item's details:
- Header — quantity, unit, product name, and total price (including modifiers and discount)
- Modifiers — a list of the added modifiers (read-only)
- Note — if one exists, it is shown in a box in italics with an edit icon. Click it to open editing. If no note exists, a full-width "Note" button is shown for adding one.
- − / + — buttons around the quantity display (e.g. "1 pc") for decreasing/increasing. The − button is disabled at a quantity of 1.
- Delete (red outline, bottom left) — removes the item from the cart
- Discount (bottom right) — apply a discount to the item. If a discount exists, it shows its current value. Requires the discounts.apply_item or discounts.apply_item_limited permission; without the permission the button is not shown. The discount dialog also has a "Remove discount" button (shown only if the item already has a discount) that removes the discount with a single click.
- Save (blue filled, bottom right) — saves the changes and closes the dialog
Long tap on an item in the cart
A long tap on an item in the cart decreases its quantity by 1. If the quantity drops to 0, the item is automatically removed from the cart. This is the fastest way to remove a single item.
Long tap on the Cancel button
A long tap on the "Cancel" button clears the entire cart at once (all items are removed). This gesture is available only if the cart is not empty. A short click removes only the last item (or separator) from the cart.
Discount
Click the "Discount" chip in the top bar to apply a discount to the entire bill. If a discount is already active, the chip shows the text "Remove discount" and clicking it opens a removal confirmation.
You add a discount to an individual item from the item editing dialog (tap an item in the cart, then the "Discount" button). The discount dialog shows a numpad for entering the value and two buttons (Kč / %). If the item already has a discount, the dialog additionally shows a "Remove discount" button for removing it.
Products flagged with Discounts blocked (discountsBlocked) do not allow an item-level discount to be added — the Discount button is not shown in the item details. This restriction applies only to manual item-level discounts. A discount on the entire bill is applied to all items, including blocked ones. Vouchers also ignore the discounts-blocked flag and are always applied. The flag is set in the product editor in the Catalog (the Settings tab) and is inherited from the category only when creating a new product — if blocking is enabled on the product, the category setting will not override it.
Voucher
Click the "Voucher" chip in the top bar. A dialog opens for entering the 8-digit voucher code (format XXXX-XXXX) using the numeric keypad. The system verifies its validity and applies the value. If a voucher is already active, clicking the chip opens a removal confirmation.
Note: a voucher with a discount applied to the whole bill (gift, deposit, or a discount voucher with a "whole bill" scope) cannot be combined with a manual bill discount.
Note
Click the "Note" chip in the top bar to add a note to the entire order. The note appears on the kitchen display and on the printed order ticket. If a note exists, the chip is shown as active.
Separator (restaurant mode)
Clicking the "Split" chip inserts a separator line into the cart. The items above and below the separator are processed as separate orders when the order is sent (e.g. for different courses). To remove a separator, click it in the cart.
Saving and sending the order
The behavior depends on the sale method:
Quick tab:
- The "Save to tab" button creates a new tab, saves the order, and returns you to the main screen.
- The "Pay" button creates a tab, saves the order, and immediately opens the payment dialog.
Table tab:
- The "Send order" button sends the order to the kitchen display, prints the order ticket (if printing is enabled), and returns you to the tab overview.
In retail mode, after payment or saving the tab, the screen is automatically cleared and prepared for the next sale (it does not close). If the sales mode switches from retail to restaurant, the screen automatically navigates to the list of tabs.
Stock check
If the Inventory module is enabled and the product has stock tracking active, the system checks for sufficient stock when the order is sent:
- "Warn" policy — a table with an overview of the missing items is shown (name, required quantity, available quantity, resulting status). You can still send the order despite the shortage by clicking "Continue".
- "Block" policy — a similar table is shown (without the resulting status column), but the order cannot be sent. You must adjust the cart.
Side panel (retail mode)
In full retail mode, a side panel (290 px) with navigation buttons is shown on the right side of the screen. You can hide/show the panel with the arrow at the right end of the toolbar (left arrow = show the panel, right arrow = hide the panel).
Buttons in the panel:
- Receipts — goes to the list of tabs (requires an active shift)
- New tab — creates a new tab (requires the orders.create permission and an active shift)
- Open/Close shift — toggles the register's shift status (requires the register.open_close permission)
- Cash movement — opens the cash deposit/withdrawal dialog (requires the stats.cash_journal permission and an active shift)
- Settings — goes to the settings
- Log out — logs the user out
- Switch user — locks the screen to switch to another user
The panel also shows the active logged-in user and a list of all logged-in users.
Customer display
If the register is paired with a customer display, the sales screen automatically broadcasts the current cart state to the display on every change. After a successful payment, a thank-you message is shown that disappears after 10 seconds.
"Assign to grid?" dialog
After creating a new product in the Catalog, an "Assign to grid?" dialog appears with three options:
- Automatically — the system assigns the product to the first free position in the grid
- Choose position — you manually choose a position on the grid
- No — the product will not be on the grid (available only through search)
For managers and administrators
Permissions related to sales
| Permission | Description |
|---|---|
| orders.create | Creating a new tab (the "New tab" button in the side panel / bottom bar) |
| orders.assign_customer | Assigning a customer to an order (the "Customer" chip in the toolbar) |
| discounts.apply_bill | Unlimited discount on the entire bill |
| discounts.apply_bill_limited | Discount on the entire bill limited by the maximum percentage from the company settings |
| discounts.apply_item | Unlimited discount on an individual item |
| discounts.apply_item_limited | Discount on an item limited by the maximum percentage from the company settings |
| register.open_close | Opening/closing the register shift |
| stats.cash_journal | Cash movement (cash deposit/withdrawal) |
Stock policy settings
The out-of-stock policy is set in Settings > Company and determines the behavior when an order is sent and there is insufficient stock:
- Warn — the order can be sent even with a shortage, but the user is alerted to the shortage by a table with an overview of the missing items.
- Block — the order cannot be sent until the quantities in the cart are adjusted to match the available stock.
Product grid configuration
The grid layout (the number of columns and rows) is set in Settings > Register > Grid. The grid is specific to each register — different registers can have different layouts.
Inventory badges on tiles are turned on in the register configuration (the "Show inventory badges" toggle). The badges are shown only if the Inventory module is also enabled.
Automatic printing of order tickets
Automatic printing can be enabled in Settings > Company. If this option is active, the operator cannot turn printing off with the "Print" chip on the sales screen (the chip is shown as disabled). If the option is disabled, the operator can turn printing on/off individually for each session.
Display mode (layout)
The sales screen's display mode is determined automatically by screen width (the 680 px threshold). In the device settings, the mode can be forced to "Full" (always three columns) or "Compact" (always switching).