# Tipping (/docs/payments/tipping)



Resytech supports collecting tips from customers during checkout or alongside manual payments. Tips are tracked separately from the booking subtotal so they do not contribute to platform application fees, and they are reported on independently so you can pay your staff out on whatever schedule you prefer.

How tipping works [#how-tipping-works]

Tipping is configured per location and disabled by default. Once you enable it (Checkout Settings → Tipping), customers can add a gratuity in the public checkout flow and staff can record cash gratuities when adding manual payments.

When a tip is collected:

1. The tip is added to the customer's total alongside the booking subtotal, fees, and taxes.
2. On online checkout, the tip rides on the same Stripe charge, so the customer sees a single transaction on their statement.
3. The platform application fee is calculated **without** the tip — operators do not owe platform fees on staff gratuities.
4. Stripe's own processing fee is apportioned to the tip portion of the charge and recorded as the "Stripe fee on tip" so you know the net amount owed to staff.
5. On manual payments (cash, check, electronic, other), tip is recorded with no fee deduction — the full amount is owed to staff.

You handle the actual disbursement to staff yourself, on whatever cadence works for your business — daily, weekly, monthly. The Tips report (Dashboard → Reports → Tips) gives you the running totals and the per-booking detail needed to reconcile each payout.

Where tipping is offered [#where-tipping-is-offered]

| Surface             | Configured by                 | Description                                                                                                                    |
| ------------------- | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| **Online checkout** | Enable Online Checkout toggle | Customers see a tip selector in the public booking flow, between the discount section and payment.                             |
| **Manual payments** | Enable Manual Payments toggle | When recording a cash/check/electronic/other payment from the dashboard, staff can enter a tip portion of the amount received. |

Both surfaces can be enabled or disabled independently. A location with online tipping off but manual tipping on, for example, lets staff capture cash gratuities collected in person without exposing the option to online customers.

Tip presets [#tip-presets]

You can configure up to 10 quick-pick tip presets that customers see as one-tap buttons during checkout. The customer can also enter a custom dollar amount if you allow it.

Each location picks **one type** of preset — either percentages OR fixed dollar amounts, never mixed in the same selector. This is set by the **Preset Type** radio in the dashboard.

| Setting                 | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Preset type**         | `Percentages` (e.g., 15%, 20%, 25% — each preset resolves to a percent of subtotal at checkout) or `Dollar amounts` (e.g., $5, $10, $20 — each preset is a flat amount). Switching type clears the existing preset list, since values like "15" don't carry the same meaning across types.                                                                                                                                                                                                                                                                                                             |
| **Presets**             | List of values shown as buttons. For percentage type, each chip displays both the percentage and the dollar-equivalent based on the current subtotal (e.g., "15% / $48"). For dollar type, each chip shows just the dollar value (e.g., "$5").                                                                                                                                                                                                                                                                                                                                                         |
| **Allow custom amount** | When enabled, customers can type any dollar amount instead of (or in addition to) picking a preset.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Max tip**             | Optional safety cap. For **percentage** presets, this is a percent of subtotal (e.g., 20 means tip cannot exceed 20% of subtotal); the booking flow hides presets above this percentage, clamps the custom-amount input, and the server rejects any request whose tip exceeds the cap. For **dollar** presets, this is a flat dollar cap (e.g., 50 means tip cannot exceed $50); the cap only applies to the custom-amount input — your explicit dollar presets bypass it (presumed intentional). Switching the preset type clears the cap, since the value's meaning changes. Leave blank for no cap. |

If you enable a surface, at least one of the presets or the custom amount must be configured — otherwise the tip selector has nothing to render and the configuration is rejected.

What gets stored [#what-gets-stored]

Each booking with a tip tracks three numbers:

| Field             | Description                                                                                                                                                   |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Tip collected** | The gross tip the customer paid. Never reduced — refunds are tracked separately.                                                                              |
| **Tip refunded**  | Running total of tip dollars refunded to the customer across all refunds on this booking.                                                                     |
| **Net for staff** | What you currently owe staff for this booking. Gross tip, minus the apportioned Stripe processing fee, minus the proportional reduction from any tip refunds. |

The "Net for staff" number is the one you use to drive payouts. It is `null` momentarily on online charges while Stripe is reporting back the BalanceTransaction fee (typically seconds; occasionally minutes), shown as "Pending" in the Tips report.

Tipping and Stripe fees [#tipping-and-stripe-fees]

Stripe charges a processing fee on every card transaction. When a tip is part of the charge, a proportional share of that fee is apportioned to the tip portion and deducted from the staff payout. For example:

* Customer pays $100: $80 booking + $20 tip
* Stripe processing fee on the $100 charge: $3.20
* Tip share of the Stripe fee: $3.20 × ($20 / $100) = $0.64
* **Net for staff: $19.36**

Manual payments have no Stripe fee, so the net for staff equals the gross tip dollar-for-dollar.

Tipping and gift cards [#tipping-and-gift-cards]

Gift card balance is capped at the booking portion of the total (subtotal + fees + taxes). It cannot be used to cover the tip — the tip is always paid upfront via the customer's selected payment method. This way the staff payout is always backed by real dollars collected, not store credit.

Tipping and refunds [#tipping-and-refunds]

When you refund a booking with a tip, you choose how to handle the tip portion. See [Refunds & Disputes](/docs/payments/refunds) for the full list of options.

Tipping and reports [#tipping-and-reports]

The Tips report (Dashboard → Reports → Tips) is the canonical view for staff payout reconciliation:

* **Net owed to staff** for the period (the headline number for payouts)
* **Gross collected**, **refunded**, and **Stripe fees on tips** as separate KPIs
* **Tip participation rate** — what fraction of bookings included a tip
* **Trend over time** broken down by day, week, or month
* **Per-booking detail** with confirmation code, customer, activity, and the three-column tip breakdown
* **CSV export** for handing off to whatever payroll or bookkeeping process you use

The report filters by **payment date**, not booking creation date — so a manual cash tip recorded on the 15th of the month against a booking from earlier in the month lands in your "current period" payout window correctly.

Related guides [#related-guides]

* [Configure Tipping](/how-to/checkout/configure-tipping) — set up presets and enable the surfaces.
* [Run a Tip Report](/how-to/reporting/run-tip-report) — generate the payout reconciliation export.
* [Issue a Refund](/how-to/payments/issue-a-refund) — handle the tip portion of a refund.
