# Run a Tip Report (/how-to/reporting/run-tip-report)



The Tip Report is built for staff payout reconciliation. It shows the running totals you need for any payout cadence (daily, weekly, monthly), the per-booking detail to drive the actual disbursement, and a CSV export to hand off to whatever payroll or bookkeeping process you use.

Before you begin [#before-you-begin]

* You need access to the Resytech Dashboard with permission to view reports.
* Tipping must be enabled for at least one location, and at least one tipped booking must exist in the period you want to review. See [Configure Tipping](/how-to/checkout/configure-tipping).

Steps [#steps]

1. In the sidebar, click **Reports** → **Tips**.
2. Set the **Start Date** and **End Date** to your payout window (e.g., the past week).
3. Pick a **Group By** option — `Day`, `Week`, or `Month` — to control how the trend chart is bucketed.
4. Click **Apply Filters** to refresh the report.
5. Review the headline KPI cards, the trend chart, and the per-booking detail table.
6. Click **Export CSV** to download the per-booking detail for your payout process.

What the report shows [#what-the-report-shows]

Headline KPIs [#headline-kpis]

| Card                    | Meaning                                                                                                                                                                                                                                         |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Net Owed to Staff**   | The bottom line for your payout. Gross tips collected in the window, minus the apportioned Stripe processing fee, minus the proportional reduction from any tip refunds. Excludes still-pending apportionments — see the Pending callout below. |
| **Gross Collected**     | Sum of all positive tip dollars recorded in the window (online + manual). Shows the booking count and average tip alongside.                                                                                                                    |
| **Refunded**            | Tip dollars returned to customers during the window.                                                                                                                                                                                            |
| **Stripe Fees on Tips** | The payment-processing cost of accepting tips online. Manual-payment tips contribute zero to this number.                                                                                                                                       |

Pending apportionments [#pending-apportionments]

When you collect a tip online, Resytech needs the **Stripe BalanceTransaction** to settle before the processing fee can be apportioned to the tip portion of the charge. This usually happens within seconds of the charge, occasionally minutes. While it is still pending:

* The booking shows up in the **Pending apportionment** count.
* It is excluded from **Net Owed to Staff** so the headline number does not over-state the payout.
* In the detail table, the Net column shows a &#x2A;*"Pending"** pill instead of a dollar value.

Once the webhook fires (automatic, no action required), the booking moves from Pending to a real Net value on the next report load.

Tip participation [#tip-participation]

The participation rate is the fraction of bookings touched by any payment in the window that included a tip. Useful for tracking how often customers actually leave a gratuity — if you notice the number sliding down after a checkout flow change, that's a signal.

Trend over time [#trend-over-time]

A bar chart with three series — **Collected**, **Refunded**, **Net to Staff** — grouped by your selected period. The visible gap between Collected and Net is the Stripe-fee + refund bite. Use it to spot anomalies (a refund-heavy day, a payment-method-failure spike).

Per-booking detail [#per-booking-detail]

Every booking with tip activity in the window, sorted by date descending:

| Column                                 | Description                                                                                         |
| -------------------------------------- | --------------------------------------------------------------------------------------------------- |
| **Confirmation**                       | Links back to the booking detail page.                                                              |
| **Date**                               | When the booking was created.                                                                       |
| **Customer**, **Activity**, **Source** | Standard booking context.                                                                           |
| **Collected**                          | Tip dollars recorded against this booking in the window.                                            |
| **Refunded**                           | Tip dollars given back to the customer in the window. Shown in red.                                 |
| **Net to Staff**                       | What you owe staff for this booking right now. Shows "Pending" while awaiting Stripe apportionment. |

CSV export [#csv-export]

The export contains the same columns as the detail table plus the booking UUID, and is named `tips-{startDate}-to-{endDate}.csv` so it sorts cleanly when you archive payouts. Fields with commas, quotes, or newlines are properly escaped — safe to open in Excel, Numbers, Google Sheets, or feed into payroll software.

Tips [#tips]

* **Run the report at the end of each payout period.** Set the date range to the payout window you are reconciling, group by Day for short windows or Week / Month for longer ones, and use Net Owed to Staff as the total you are paying out.
* **Wait for pending apportionments before paying out.** If the Pending callout shows non-zero, those tips are not yet in the headline total. They typically settle within minutes — re-run the report or just wait a few minutes.
* **The report filters by payment date, not booking date.** A cash tip recorded on the 15th of the month against a booking from the 1st correctly lands in your "current period" payout window. This is intentionally different from how the Revenue report works.
* **Confirmation codes link back to the booking.** Click any confirmation code in the detail table to open the booking and see the full payment history, including which payments contributed to the tip.

Related guides [#related-guides]

* [Configure Tipping](/how-to/checkout/configure-tipping) — turn on tipping per location and pick presets.
* [Tipping](/docs/payments/tipping) — feature overview, fee handling, and refund treatment.
* [Issue a Refund](/how-to/payments/issue-a-refund) — pick how the tip portion is handled when refunding.
