Google Sheets Integration
Push every Advik Booking to a Google Sheet in real time. Perfect for non-tech-savvy team members, custom reporting, or syncing bookings with external tools.
What you get
- A new row is added to your Google Sheet for every booking, in real time.
- Custom field values are included as their own columns.
- Status changes (confirmed, cancelled, completed) update the existing row.
- You can map any booking field to any column.
Where to find it
Advik Booking → Settings → Integrations → Google Sheets.
Setup — 5 minutes
- Create or pick a Google SheetEither create a new sheet or pick an existing one. The first row should be your column headers.
- Connect your Google accountIn the Advik Booking Google Sheets settings, click Connect Google account. Approve the OAuth popup. You can use the same Google account that powers Google Calendar or a different one.
- Pick the spreadsheetAfter connecting, the plugin lists all spreadsheets in your Google Drive. Select the one you created in step 1.
- Pick the worksheet tabEach sheet can have multiple tabs. Pick the one you want bookings to land in.
- Map the columnsThe plugin shows a list of all the data points you can send (booking ID, customer name, service, date, total, every item field, every add-on, every coupon). For each one, pick the column letter it should write to.
- TestClick Send test row. Check the sheet — a row should appear. Then place a real test booking and verify.
The default column mapping
| Column | Header | Source |
|---|---|---|
| A | Booking ID | Booking reference |
| B | Date | Booking date |
| C | Time | Start time |
| D | Service | Service name |
| E | Category | Category name |
| F | Staff | Staff display name |
| G | Customer name | First + last name |
| H | Customer email | |
| I | Phone | Customer phone |
| J | Address | Address line 1 |
| K | Subtotal | Subtotal |
| L | Tax | Tax amount |
| M | Discount | Coupon discount |
| N | Total | Final total |
| O | Status | Booking status |
| P | Payment | Payment method |
| Q+ | Custom fields | One column per item field |
| Q+ | Add-ons | Comma-separated list |
i
Customising columns
You can rename headers, reorder columns, and add columns for any item field or add-on. The plugin reads the first row of your sheet to detect the headers — you can change them in the sheet, or change the mapping in the plugin. Either works.What happens on status changes
| Event | Sheet behaviour |
|---|---|
| Booking created | New row appended. |
| Booking rescheduled | Existing row updated (date, time columns). |
| Booking cancelled | Existing row updated (status column → "cancelled"). Row is not deleted. |
| Booking completed | Status column updated to "completed". |
| Payment refunded | A new row is added for accounting clarity (original row stays untouched). |
Triggers
Beyond the standard "every booking", you can set conditional triggers:
- By category — e.g. only send "End of Tenancy" bookings to a separate sheet.
- By status — e.g. send only confirmed bookings, ignoring pending.
- By field value — e.g. only send bookings where Property size ≥ 4.
Common use cases
- Owner reporting. Non-tech owners open one sheet and see every booking, in their preferred order, with their custom columns.
- Accountant integration. Push bookings to a sheet that feeds QuickBooks, Xero, or a custom accounting tool via Zapier.
- Marketing follow-up. Filter to "completed" and import into Mailchimp for a review request.
- Operations dashboard. Build charts in Google Sheets (revenue per week, top service, busiest day) from the live data.
!
Rate limits
Google Sheets API has a limit of 60 requests/minute per project. The plugin batches updates where possible, but if you have a sudden burst of bookings (e.g. 100 in 10 seconds), some rows may take a few extra seconds to appear. They will all arrive.