Acuity Scheduling logo + Xero logo

Automate Acuity Scheduling & Xero

Stop paying for mismatched spreadsheets. Sync data between Acuity Scheduling and Xero in real-time, so you can manage your operations without the busywork.

Custom API Integration
Secure Data Transfer
Done-For-You Setup

How the Data Flows

graph LR
    subgraph Source ["Acuity Scheduling"]
        T1(["Appointment Canceled"])
    end
    
    subgraph Middleware ["Enterprise Integration Core"]
        W[CRON API
Poller] --> V{Validation
& Auth} V -->|Fail| DLQ[Dead Letter
Queue] V -->|Pass| Map[Data Mapping
& Transformation] Map --> Retry[Rate Limiting
& Retries] end subgraph Target ["Xero"] A1(["Add Items to Existing Sales Invoice"]) end T1 -->|JSON Payload| W Retry -->|Authenticated API POST| A1 style Source fill:transparent,stroke:#cbd5e1,stroke-dasharray: 5 5 style Target fill:transparent,stroke:#cbd5e1,stroke-dasharray: 5 5 style Middleware fill:#f8fafc,stroke:#94a3b8,stroke-width:2px style T1 fill:#3b82f6,stroke:#fff,stroke-width:2px,color:#fff style W fill:#1f2937,stroke:#fff,stroke-width:1px,color:#fff style V fill:#1f2937,stroke:#fff,stroke-width:1px,color:#fff style Map fill:#1f2937,stroke:#fff,stroke-width:1px,color:#fff style Retry fill:#1f2937,stroke:#fff,stroke-width:1px,color:#fff style DLQ fill:#ef4444,stroke:#fff,stroke-width:1px,color:#fff style A1 fill:#e11d48,stroke:#fff,stroke-width:2px,color:#fff
When Acuity Scheduling and Xero operate independently, appointment data can fall through the cracks, leading to lost revenue opportunities. For example, when a client books an appointment, the details like date, time, and client information must be manually entered into Xero for invoicing. This manual entry often results in errors such as incorrect billing details or missed appointments, wasting valuable time for the accounting team who must reconcile these discrepancies after the fact.

Top Ways to Automate Acuity Scheduling & Xero

  • Automated Invoice Generation: Instantly create and send invoices in Xero whenever a new appointment is scheduled in Acuity, ensuring accurate billing and timely payments.
  • Real-Time Payment Updates: Automatically update appointment statuses in Acuity based on payment confirmations received in Xero, reducing administrative overhead and enhancing client communication.
  • Comprehensive Financial Reporting: Sync client data and appointment details from Acuity to Xero for streamlined financial reporting, allowing for better insights into business performance and cash flow management.

How to Build the Acuity Scheduling → Xero Sync

  1. In Acuity Scheduling, navigate to the Webhooks section and create a new webhook. Set the trigger to 'Appointment Scheduled'.
  2. Configure the webhook to POST to your integration endpoint, which should listen for the following payload data: { "id": "appointment_id", "date": "appointment_date", "client": { "name": "client_name", "email": "client_email" } }.
  3. In your integration endpoint, extract the appointment details from the received payload.
  4. Use the Xero API to create a new invoice. Make a POST request to https://api.xero.com/api.xro/2.0/Invoices with the extracted data formatted as follows: { "Type": "ACCREC", "Contact": { "Name": "client_name", "EmailAddress": "client_email" }, "Date": "appointment_date", "LineItems": [{ "Description": "Appointment", "Quantity": 1, "UnitAmount": appointment_fee }] }.
  5. Test the integration by scheduling a new appointment in Acuity and verifying that the invoice appears correctly in Xero.

Developer Warnings & API Gotchas

  • Ensure that the client email in the Acuity payload matches the email format required by Xero; otherwise, the invoice creation will fail.
  • When extracting the appointment date, confirm the timezone is correctly handled, as Xero may require dates in UTC format.
  • Be cautious of duplicate invoice entries; implement logic to check if an invoice for the same appointment already exists in Xero before creating a new one.

Supported API Operations

We leverage official, stable endpoints to ensure secure data transfer. No deprecated legacy routes.

  • When this happens in Acuity Scheduling... Appointment Canceled
    Do this in Xero Add Items to Existing Sales Invoice
  • When this happens in Acuity Scheduling... Appointment Rescheduled
    Do this in Xero Add Note to Invoice
  • When this happens in Acuity Scheduling... Appointment Start
    Do this in Xero Add or Update Stock Items
  • When this happens in Acuity Scheduling... Appointment Types
    Do this in Xero Allocate Credit Note to Invoice
  • When this happens in Acuity Scheduling... Fetch Custom Actions
    Do this in Xero Create Account

SyncMatrix Experts

Available for Hire

We are an AI-powered automation team. We build custom, reliable API workflows that eliminate manual data entry.

Speak with an Integration Architect

We build custom API workflows that don't hit rate limits.

I can see you're looking at mapping Acuity Scheduling to Xero. Tell me about your current setup—what's the specific bottleneck you're trying to automate right now?