Tip Report
Staff payout reconciliation — gross tips, refunds, and net amounts owed to staff.
Overview
The Tip Report is for staff payout reconciliation. Access from Dashboard > Reports > Tips.
Tips are pass-through to staff and never operator revenue. Every other report on the dashboard strips tips out of business revenue (see How report calculations work). The Tip Report is where tips actually live as a first-class metric.
What this report counts
- Payments counted: customer-payment rows with a non-zero tip portion.
- Refunds counted: customer-payment rows that represent a tip refund (negative tip amounts).
- Date axis: controlled by the Date Basis filter.
- Payment Date (default): windows on when the tip was actually
recorded (
CustomerPayment.Date), not booking creation date. A manual cash tip recorded two weeks after the booking lands in the payout window when it was recorded — which is what you want for paying out staff. - Trip Date: windows on the booking's service day. Use this to answer "how much was tipped on today's trips" — a tip paid today for a booking two days out shows under the trip's day, not today, and a tip recorded after the trip still counts toward the trip's day.
- Payment Date (default): windows on when the tip was actually
recorded (
- Booking statuses: every status — the report's filtering happens at the payment-row level, not the booking level. If a tip exists on a payment row, it counts.
Summary Metrics
| Metric | What it is | How it's calculated |
|---|---|---|
| Total Tips Collected | Gross tips received in the period | Sum of positive TipAmount values across payment rows in the period |
| Total Tips Refunded | Tip refunds issued in the period | Absolute sum of negative TipAmount values across payment rows in the period |
| Net Tips for Staff | Money to pay out to staff | Sum of TipNetOfStripeFee for payment rows where this is set, plus tip amounts on manual payments |
| Stripe Fees on Tips | Processing fees that came out of tips | Total Tips Collected − Net Tips for Staff − Total Tips Refunded (approximately — depends on which rows have Stripe-fee allocation) |
| Tip Participation Rate | Share of recognized bookings that included any tip | Bookings with a non-zero TipAmount ÷ all recognized bookings in the period, as a percent |
Net vs Gross
Net Tips for Staff is the headline number — it's what you owe your team for the period. It excludes:
- Refunded tips — already returned to the customer.
- Stripe processing fees allocated to the tip portion of card payments. Resytech apportions a fair share of the Stripe fee to the tip side of the payment so the operator isn't subsidizing the processor's cut of the tip.
Manual payments (cash, check, electronic, other) have no Stripe fee allocation — the full tip amount on those rows is staff-owed.
Tips by Period
A trend chart with two lines — gross tips collected and net tips for staff — so you can see how much of the gross is going to processing fees or refunds over time.
- Group by controls the period bucket (day, week, month).
- Each data point is bucketed by the active date basis — payment date by default, or the booking's service day under Trip Date.
- Signed values: payment-in rows contribute positively, refund rows contribute negatively.
Tip Detail Table
A per-booking row for every tipped booking in the period:
| Column | What it is |
|---|---|
| Confirmation | Confirmation code, linked to the booking |
| Trip Date | The booking's service day — when the trip actually happens |
| Booked | When the booking was created |
| Customer | Customer name |
| Activity | The activity on the booking |
| Booking Source | Booking source (website, manual, etc.) |
| Tip Source | Where the tip came from (checkout, waiver, manual) |
| Collected | Sum of positive tip rows for this booking in the period |
| Refunded | Sum of refunded-tip rows for this booking in the period |
| Net to Staff | Collected − Refunded − Stripe fee allocated to this tip ("Pending" until Stripe reports the fee) |
CSV export is available from this table — useful for handing off to payroll.
Filters
- Date basis — Payment Date (when the tip dollars moved; the payout view) or Trip Date (the day the booking happens; the operational view).
- Date range — applied on the selected date basis.
- Activities — narrow to specific activities (filters by the booking that the payment row is associated with).
- Sources — filter by booking source.
- Booking statuses — explicitly filter by booking status (defaults to no filter — every tipped booking shows).
- Group by —
day,week, ormonthfor the trend chart.
Why payment date is the default
Operators typically need to pay tips out on a regular cadence (e.g., biweekly). If a cash tip is recorded on March 15 for a booking that happened on March 1, the payout that covers March 11–25 should include that tip — regardless of when the booking itself was created.
Using payment date solves three problems:
- Manual tips added later land in the period they're recorded.
- Refunds issued in a later period correctly subtract from that period's net (not retroactively from the booking-date period).
- Stripe fee allocation happens when the
charge.updatedwebhook fires, which is when the payment-row'sTipNetOfStripeFeegets populated — by payment date.
When to use Trip Date instead
Payment date can look wrong at a glance: filter to today and a $20 tip on a booking that's two days out still shows, because it was paid today. If what you actually want is "tips on the trips that ran today" — for example, to eyeball which trip earned the biggest tip — switch the Date Basis to Trip Date. The detail table shows both the trip date and the booked date on every row, so either view stays unambiguous.
Reconciling with the Revenue Report
The Revenue Report's Payment Method Distribution section shows total gross customer payments, including tips. The Tip Report's gross tips total is a subset of that. Do not double-count: if you're computing total operator revenue, use the Revenue Report's Gross Revenue (which excludes tips). If you're computing total cash flow, the Operations report's Payment Methods section is the right source.
