Change a setting on one register only
On this page
Most POS settings apply to every register in the store. A per-register setting lets one register use a different value, such as a service desk that takes card only while the main counter takes cash.
A register gets its own value when an operator taps a button that runs the settings:update action. There is no settings screen for this, so a store administrator adds the buttons in Salesforce first.
Settings you can change per register
| Setting | Store variable key | Values | Default |
|---|---|---|---|
| Accept cash at checkout and as a refund destination | pos.payment_options.cash.enabled |
true or false |
true |
Every other setting applies to the whole store. Each setting is addressed by the store variable key, the same key described in POS payment methods.
How the register’s value is chosen
The store variable takes priority. When it is set, every register follows it and ignores any value of its own.
| Store variable | Register’s own value | The register uses |
|---|---|---|
| Set | Set or not set | The store variable |
| Not set | Set | The register’s own value |
| Not set | Not set | The setting’s default |
The register keeps its own value on the device until a settings:reset button clears it. If the store variable is set later, the store variable takes priority, and the register’s own value applies again if the store variable is removed.
Before you start
- Make sure the store variable for the setting is not set on the store. While it is set, the register refuses
settings:update. See store variables. - Choose the action group where the button should appear. See POS action groups.
Add a button that changes the setting
This example adds a button that turns cash off on the register where an operator taps it.
- Open the POS Action Items list.
- Click New.
- Set Name to a label the operator understands, such as
Turn off cash on this register. - Set Type to
action. - Set Action to
settings:update. - Set Params to
key=pos.payment_options.cash.enabled;value=false. - Set Parent Action Group to the group where the button should appear.
- Save the record.
- Sync the register. See manage POS data sync.
- On the register, tap the button.
To turn cash back on, add a second button with Params set to key=pos.payment_options.cash.enabled;value=true.
Start a sale on that register and go to checkout. Cash is not offered as a payment method, and other registers in the outlet still offer it.
Return a register to the store setting
Add a button that clears the register’s own value, so the register follows the store variable, or the default when no store variable is set.
- Open the POS Action Items list.
- Click New.
- Set Name to
Use the store's cash setting. - Set Type to
action. - Set Action to
settings:reset. - Set Params to
key=pos.payment_options.cash.enabled. - Set Parent Action Group to the group where the button should appear.
- Save the record.
- Sync the register.
On a register with no value of its own, tapping the button changes nothing. The button never changes the store variable or any other register.
Errors at the register
| Message | Cause |
|---|---|
| Unable to update setting. Unknown setting key “…”. | The key in Params is not in the table of per-register settings, for example because of a typo. settings:reset shows the same message, starting “Unable to reset setting”. |
| Unable to update setting. Invalid value “…” for “…”. | The value in Params is not true or false. |
| “…” is fixed by a store setting and cannot be changed for this register. | The store variable for the setting is set. Remove it from the store to allow per-register values. |
Was this article helpful?
Thanks for your feedback! It helps us improve our docs.