Skip to main content

Function Buttons

Function buttons allow you to assign particular sets of functions that might be special to your business type.

You can add function buttons to sections of your App from Transaction Settings. They will show up like this drop-down menu in the upper right corner:

Custom Menu A

Custom Menu A

From Settings - Authorization And Access

You can add new menu groups, and then add new menu items to those groups. If you don't see a function you would like to use, let us know. You may refer to the Function List from the menu on the left.

Overview

Function groups are assigned to specific contexts using the Multi-Function Button Lists settings in Transaction Settings:

ContextSettingDescription
Order HeadermultiButtonOrderHeaderButtons in the order screen header
Prep Header (Mobile)multiButtonPrepHeaderButtons in the mobile prep screen
Prep Header (Stationary)multiButtonKPrepHeaderButtons in the desktop prep screen

Function Group List

The Function Group list displays all available groups for the current site in an AG-Grid table. Each row shows:

ColumnDescription
RowRow number
EditButton to open the group in the editor
NameThe group display name
DescriptionOptional description of the group

Toolbar actions:

ActionDescription
SearchFilter groups by name (debounced input)
List AllClear the search filter and show all groups
RefreshReload the group list from the server
AddCreate a new blank group (pre-populated with name "Input Name")
Reset Order ButtonsCreates a fresh "Order Buttons" group with the default set of buttons (Items, Suspend, Delete, Check Out / Pay, Labels, Re-Print Labels, Void, Leave, Order Details) and posts it to the server

Function Group Editor

Clicking Edit on any group opens the function-group-edit screen, which provides a drag-and-drop interface for managing the buttons within a group.

Layout

The editor is divided into two panels:

  • Left panel — A vertical, drag-and-drop list of all buttons in the group. Each button displays its icon and name. Buttons are re-ordered by dragging, and the new order is saved automatically.
  • Right panel — Opens when you click a button in the left list. Shows all editable properties for that button.

Group-Level Actions

ButtonDescription
SaveSaves the group's name and description
Delete GroupPrompts for confirmation, then deletes the entire group and navigates back to the list
Add ButtonCreates a new blank button (name: "New Button") appended to the group

Button Editor

Each button within a group is configured through two forms: the basic fields (name, icon) and the properties form (behavioral toggles stored as JSON).

Basic Button Fields

FieldTypeDescription
NameTextDisplay name for the button
IconTextMaterial icon name (e.g., credit_card, delete, print). Click the icon picker button (right of the field) to browse and select from available icons

Button Properties (Toggle Conditions)

Each button carries a set of boolean toggles stored in the properties JSON field. These toggles control when the button is enabled or visible in the POS interface.

PropertyLabel in UIEffect
orderHistoryAllow when is in order historicalButton is active even when viewing historical (archived) orders
balanceRemainingGreaterThanZeroAllow only when balance is greater Than 0Button is only enabled if the order still has an outstanding balance
allowStaffAllow for Staff UserButton is visible to staff (non-customer) accounts
allowUserAllow for customersButton is visible to customer-facing accounts
paymentsMadeAllow when payments are madeButton only appears after at least one payment has been applied to the order
suspendedOrdersAllow suspended OrdersButton remains active for orders in a suspended (on-hold) state
completedOrderAllow when order is completedButton is accessible after the order has been marked completed
completedOrderAndUserAllow if order is completed and user is customerButton is accessible only when the order is completed AND the current user is a customer
itemsPrintedPrevent use if order is provided but not paidRestricts the button when items have been printed (sent to kitchen/prep) but the order is unpaid
mainPanelOnlyMain Panel OnlyButton only renders in the main panel of the POS layout
sidePanelOnlySide Panel OnlyButton only renders in the side panel of the POS layout
smallDeviceOnlySmall Device OnlyButton only renders on small-screen devices (e.g., tablets, phones)

Function and Variable

In addition to the toggles, each button can be assigned a Function and an optional Variable:

FieldDescription
Function (method)The action the button triggers when clicked. Selected from a dropdown of all available functions. See the Function List for all available options. Stored in the method property of the JSON.
VariableAn optional parameter string passed to the function. Stored in the variable property.

Default Order Buttons

The Reset Order Buttons action on the list view generates the following default button set:

NameIconmethodNotes
ItemslistshowItems()Small device only
SuspendremoveSuspension()Warn color
DeletedeletedeleteOrder()Warn color
Check Out / Paycredit_cardmakePayment()Side panel only
LabelsprintprintLabels()
Re-Print LabelsprintrePrintLabels()
VoiddeletevoidOrder()Warn color
LeaveclearOrder()Warn color
Order DetailsgetPOSOrderWithMenuItems()Accent color

All default buttons share these property defaults: balanceRemainingGreaterThanZero: true, allowUser: true, allowStaff: true, itemsPrinted: true, isAuthorized: true, suspendedOrders: true.

Function groups let you customize the toolbar experience for different roles and workflows without modifying code. Create separate groups for kitchen staff, front-of-house, and management as needed.