Skip to content
Log in

Configure tipping at POS

On this page

Tipping lets a customer add a tip at the register. Once it is on, the POS asks for a tip before the sale completes and records the tip on the order. On most payment methods it asks straight after the operator selects Charge. Cash settles its tip first, so the keypad can ask for the order and the tip together. Turn it on for a restaurant, bar, cellar door, or any counter where customers expect to be asked.

Tipping is off unless you turn it on. Everything below is set with store variables on the Store record (s_c__Store_Variable__c), so no code change is involved.

Before you start

  • You need edit access to the Store record and its Store Variables related list.
  • The StoreConnect Tipping reserved product must exist, with a price book entry in the store’s price book. StoreConnect creates it during installation. If it is missing, the tip screen is silently skipped and no tip is collected. See reserved products.
  • POS reads store variables on its next store sync, so plan the change for a quiet period. See manage POS data sync.

Turn on tipping

  1. Open the Store record and go to the Store Variables related list.
  2. Click New.
  3. Enter a Name that makes sense to your organization, such as POS tipping.
  4. Enter pos.tipping.enabled in Key. Keys are case sensitive.
  5. Enter true in Value. Any other value leaves tipping off.
  6. Save the record.
  7. Sync the register, or wait for the next store sync.

At the register, taking a manual card, bank transfer, cheque, or pay-on-account payment now opens the Add a tip screen with the default suggestions of 15%, 18%, and 20%. Cash offers the same suggestions from a + Tip button on the keypad until you change how cash asks, below.

Choose the suggested amounts

The tip screen shows a row of preset buttons, a No tip button, and a Custom tip option. Add any of these store variables to change the presets. Each one is optional and falls back to its default when it is missing or cannot be parsed.

Key Value Default What it does
pos.tipping.percentages Comma-separated whole percentages, such as 10,15,20 15,18,20 The preset buttons on a regular payment. Each button shows the percentage and the amount it works out to. Values above 100 are ignored.
pos.tipping.amounts Comma-separated amounts in the store currency, such as 1,2,3 1,2,3 The preset buttons on a small payment, where a percentage would round to an awkward figure.
pos.tipping.amount_threshold A number, such as 10 10 Payments below this amount show the fixed-amount presets instead of the percentages. Set it to 0 to always show percentages.
pos.tipping.tax_basis post_tax or pre_tax post_tax Whether percentage presets are worked out on the amount being paid including tax, or on the pre-tax amount. Set pre_tax where prices are shown tax-exclusive, such as the United States. The tip itself is never taxed either way.

Presets are a percentage of the payment being taken, not of the whole order. On a split bill, each payer is asked to tip on their own share. See split payment at POS.

Choose how cash asks for its tip

Cash settles its tip before the charge, so the keypad can ask for the order and the tip together and record exactly what the customer handed over. Use pos.tipping.cash_prompt to choose how the register asks.

Value What the operator sees Use it when
on_request The cash keypad opens straight away with a + Tip button beside it. The Add a tip screen opens only when the operator selects that button, and it offers Keep the change as a one-tap tip once the customer’s cash has been keyed in. Tipping is not customary, such as in Australia, and should not slow down a sale with no tip. This is the default.
ask_first Every cash sale opens on Add a tip? before the keypad, with a Customer handoff button that opens a screen safe to turn toward the customer. Tipping is expected, such as in the United States, and you want the ask on every cash sale.

Any other value falls back to on_request. The setting changes only how the question is put: either way the keypad then asks for the order plus the tip, and a tipped cash payment must be tendered in full. See add a tip at POS.

Turn tipping off for a payment method

Every payment method that supports tipping offers it as soon as tipping is on. To stop asking on one method, add a store variable with the Key pos.payment_options.<type>.tipping_enabled and the Value false. Any other value, or no variable at all, leaves tipping on for that method.

Payment method <type> for the tipping key
Cash cash
Card (manual) card
Bank transfer bank
Cheque cheque
Pay on account on_account

:::note For pay on account, both pos.payment_options.on_account.tipping_enabled and pos.payment_options.pay_on_account.tipping_enabled work. If both are set, the on_account key wins. Use on_account to match the enabled, label, and require_purchase_order keys for the same method. See configure POS payment methods. :::

Which payments offer a tip

Payment Tip offered Why
Cash, card (manual), bank transfer, cheque, pay on account Yes, unless turned off for that method The operator records the payment, so the POS can ask before the payment is saved.
Card (Tyro) and Card (Square) integrated terminals No, in the POS The terminal collects the tip on the device. For Square, tipping on the terminal is controlled by the payment provider’s settings. See Square payment provider. A tip taken on the terminal is still recorded on the order, even when pos.tipping.enabled is off.
Card (Linkly), Quest Airpay TAP, Latitude, Vii gift card No The card is charged before a tip could be added.
Voucher, account credit No These tenders have a fixed balance, so a tip on top could overdraw them.
Pay by link No The customer pays later, away from the register.
A deposit or part-payment where the rest is owed later No The amount due now is only part of the order. A split payment that settles the full amount is not a deposit, so each part still offers a tip.
Refunds No A tip is never refunded.

How a tip is recorded

  • The tip is added to the order as its own line on the StoreConnect Tipping product (OrderItem), with no tax. The POS shows it as a Tip line under the Order total, which stays the pre-tip amount.
  • Each tip is tied to the payment it was collected with. The payment item for the tipping line is recorded at the exact tip amount, so a report on Payment Items shows which payment carried the tip. See how an order is recorded in Salesforce.
  • Each payment records the staff member who took it in Salesforce User Id on the Payment (s_c__Payment__c), which is how a tip finds its owner. See record who assisted and who took payment.
  • A cash tip is settled before the charge, so the recorded tender is exactly what the customer handed over. The keypad asks for the order plus the tip and refuses anything less, so a tipped cash payment is always a full tender and can never leave the order part-paid. Anything above the tipped total is returned as change. Cash rounding is worked out on the total including the tip.
  • Refunding a payment that carried a tip returns the sale amount only. The tip stays on the order.
  • Changing these variables affects new sales only. Tips already taken do not change.

Example

A cellar door wants tipping on cash and manual card payments with higher suggestions than the default, fixed amounts on small payments, and no tip prompt on cheques.

Name Key Value
POS tipping pos.tipping.enabled true
Tip percentages pos.tipping.percentages 18,20,22,25
Tip amounts for small payments pos.tipping.amounts 1,3,5
Small payment threshold pos.tipping.amount_threshold 10
How cash asks pos.tipping.cash_prompt ask_first
No tip prompt on cheque pos.payment_options.cheque.tipping_enabled false

A $145 cash payment then offers 18% $26.10, 20% $29.00, 22% $31.90, and 25% $36.25. A $8 cash payment offers $1, $3, and $5.

Once the store has synced, ring up a test item at the register and take a cash payment. The Add a tip screen appears with your presets, and after you choose one the completed order shows a Tip line and a Tip: amount under the payment.

Was this article helpful?

Was this article helpful?