Can you export Booker reports to Google Sheets?
Yes, but usually by hand. Booker reports can be exported as files, typically Excel or CSV, and then uploaded or pasted into a Google Sheet. Report names and what you can export depend on your plan, so look in the Reports area of your own account. We could not confirm from public sources at the time of writing that Booker keeps a Google Sheet current on its own, so check your plan before you assume it does.
This page is for owners and managers who want stylist-level and location-level numbers without a weekly export routine. Below is how the manual way works, where it breaks, and how to keep a sheet updated with Pandaflow’s Booker integration. Booker stays your booking system. Pandaflow only keeps the sheet current.
Which Booker reports do salons actually use?
Rather than hunting for exact menu names, group your reports by the question they answer:
- Sales or revenue: what was sold this week, by item, payment type and stylist. The number that surprises owners is usually the gap between this and service revenue.
- Appointments: who was booked, who showed, who cancelled and who was a no-show. Owners often forget that cancellations are the rows that explain a quiet calendar.
- Employee or stylist performance: booked hours and service totals per person. Check whether it counts completed appointments only.
- Retail and product sales: what sold and who rang it up. The seller on the receipt is not always the stylist who recommended the product.
- Client lists and visit history: who has come in, when, and how often.
For a sheet to be useful, the appointment and sales data needs a stable client ID and a status column. A client name alone is not enough, and a missing status hides cancellations.
How do you export Booker reports by hand?
The general steps are the same for most reports:
- Open the report in the Reports area of Booker.
- Set the date range and the location.
- Run the report.
- Export it to Excel or CSV.
- Upload the file to Google Sheets, or paste the rows into a tab.
Doing it well by hand means a few habits. Use one tab per report. Keep one header row. Write the date range in a cell at the top of the tab so you know what period it covers. Never paste over last week’s data without saving a dated copy first.
A weekly routine of four to six exports per location adds up quickly, and it usually gets skipped in a busy week. That is when the sheet goes stale right before a decision.
Where does the manual export break?
The manual way works for a single location and a single question. It starts to break in these places:
- One report, one range, one location per export. Two locations means stacking files and remembering to add the Location column yourself. Forgetting it is how one site’s tips or taxes end up double-counted or lost.
- Sales and appointments follow different dates. Sales are anchored to the date of the transaction. Appointments are anchored to the date of service. Deposits, packages and gift cards will not line up between the two.
- Overlapping date ranges create duplicate rows. Pasting a new export under an old one without checking the dates double-counts the overlap.
- Layout changes break formulas. Subtotal rows, merged headers or a changed column order will break pivots and QUERY formulas.
- Names break lookups. ‘Jen’ and ‘Jennifer’ are the same client to you and two different people to a name-based match. Use the client ID.
- Stale data. When the export is the job nobody has time for, the sheet is out of date when the decision is made.
The table below shows the usual reasons the numbers disagree.
| Question | Data to pull from Booker | Date it follows | Why it may not match another report |
|---|---|---|---|
| How much did we sell this week? | Sales lines with item type, payment type, stylist, location | Date of transaction | Includes gift card sales, deposits and package sales that are not service revenue yet |
| How busy was each stylist? | Appointments with status, stylist, service, duration | Date of service | Cancellations and no-shows must stay as rows, or utilization looks better than it is |
| Who sells retail? | Retail lines with seller, product, location | Date of transaction | Credit goes to whoever rang it up, not necessarily who recommended it |
| Are clients coming back? | Appointments with client ID and date of service | Date of service | Depends on your definition: pre-booked at checkout or rebooked within N days |
| How is each location doing? | All of the above with a Location column | Matches each source | Reports run per location, so a manual combination can double-count or miss a site |
How do you keep a Booker sheet updated automatically?
Pandaflow keeps the raw data flowing so you do not have to export it. The setup has four steps:
- Start free. Create your Pandaflow account.
- Connect your apps. Connect Booker and Google Sheets.
- Describe what you want. Write it in plain English, for example: ‘Every day, add new appointments, sales and retail lines to my raw tabs, with stylist, location, client ID, date and status on each row.’ Pandaflow’s AI sets up the sync and keeps it running. If something changes in the connected apps, Pandaflow repairs the sync.
- Review, then go live. Check a few records against Booker, such as one appointment, one sale and one retail line. When they match, go live.
Once it runs, the owner sees new rows arriving in the sheet by themselves. Each row is one appointment or one sale line, with stylist, location, date and status. Nobody pastes anything.
A layout that works well:
- Raw_Appointments, Raw_Sales, Raw_Retail: fed automatically. Never edit these by hand.
- Summary tabs by stylist and by location: built with pivots or QUERY formulas on top of the raw tabs.
For pricing, Pandaflow is free to start. Paid plans are Lite at $79, Silver at $299 and Gold at $499 a month. You can also deploy in Pandaflow’s cloud or your own. See Pandaflow pricing for what each plan covers.
If your studio is on Mindbody rather than Booker, the same approach applies. Pandaflow connects to the platform you already use.
This is an illustrative setup, not a customer story. A two-location salon has a Location column on every raw row, a stylist summary tab and a weekly rebooking column. The owner opens the summary tabs on Monday and does not export anything.
How do you measure stylist productivity and rebooking rate?
First, define the metrics and write the definitions in a cell note at the top of the summary tab. Common ones:
- Rebooking rate: pick one definition and stick to it. (a) The share of clients who leave with a future appointment already booked. (b) The share of clients who book again within a set window, for example six weeks. These give very different numbers, so state which one you use.
- Service revenue per stylist: exclude gift card sales, since selling a gift card is not service revenue. Redeeming it later is. Keep a payment-type or item-type column so you can filter them out.
- Retail attach rate per stylist: check who is recorded as the seller before comparing people.
- No-show and late-cancel rate: keep cancellations as rows with a status, not dropped. Otherwise every stylist’s numbers look better than they are.
- Utilization: only if booked hours are available in your data.
If your Booker plan includes a report that shows rebooking, use it as a check. If not, calculate it from raw appointment rows. In words, the formula counts the clients seen in the period who have a later appointment, then divides by the clients seen. Use the client ID for the match, not the name.
How do you share the numbers with managers, and what can go wrong?
Share the summary tabs. Keep the raw tabs protected. Be careful with access, though. Google Sheets permissions are set per file, not per tab. Protected ranges stop people from editing a range but not from viewing it, so a manager with access can still see every tab. If a location manager should only see their own numbers, give them a separate file, or a Looker Studio dashboard filtered to their location built on top of the sheet.
What tends to go wrong:
- A stylist changes name or location in the middle of a quarter, so the same person appears twice.
- Refunds show up as negative rows, and a formula that ignores them overstates revenue.
- Appointments near midnight land on different days depending on the time zone used.
- A report definition changes on the Booker side, and last month’s numbers no longer compare.
After any change, review a few records against Booker before you trust the totals. For more on reporting, see the Pandaflow guides.