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

  1. Create or pick a Google Sheet
    Either create a new sheet or pick an existing one. The first row should be your column headers.
  2. Connect your Google account
    In 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.
  3. Pick the spreadsheet
    After connecting, the plugin lists all spreadsheets in your Google Drive. Select the one you created in step 1.
  4. Pick the worksheet tab
    Each sheet can have multiple tabs. Pick the one you want bookings to land in.
  5. Map the columns
    The 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.
  6. Test
    Click Send test row. Check the sheet — a row should appear. Then place a real test booking and verify.

The default column mapping

ColumnHeaderSource
ABooking IDBooking reference
BDateBooking date
CTimeStart time
DServiceService name
ECategoryCategory name
FStaffStaff display name
GCustomer nameFirst + last name
HEmailCustomer email
IPhoneCustomer phone
JAddressAddress line 1
KSubtotalSubtotal
LTaxTax amount
MDiscountCoupon discount
NTotalFinal total
OStatusBooking status
PPaymentPayment method
Q+Custom fieldsOne column per item field
Q+Add-onsComma-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

EventSheet behaviour
Booking createdNew row appended.
Booking rescheduledExisting row updated (date, time columns).
Booking cancelledExisting row updated (status column → "cancelled"). Row is not deleted.
Booking completedStatus column updated to "completed".
Payment refundedA 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.