Skip to main content

Xero Integration – User Guide

Learn how to connect your Bikebook workshop to Xero, send invoices (as draft or approved), sync payments, use the end-of-day summary, and keep invoice status in sync when invoices are paid in Xero.

Updated over 3 weeks ago

What the Xero integration does

The Xero integration lets you:

  • Send workshop invoices to Xero – Create or update sales invoices in your connected Xero organisation, with the right tax types and account codes.

  • Choose how each invoice is sent – As a draft (for review in Xero before approving) or approved (ready for payments).

  • Sync payments to Xero – When you send an invoice as approved, you can choose to post payments recorded in Workshop to the same invoice in Xero (using a default bank account).

  • Use an end-of-day summary – Optionally, create one joint Xero invoice per day that aggregates multiple paid workshop invoices.

  • Stay in sync when paid in Xero – If you mark an invoice as paid in Xero, Workshop can update the workshop invoice to paid automatically (via webhooks).

If configuration is missing (e.g. no default bank account), the send flow will still work; payment sync will only be available once you set a default bank account.


Getting started

Before you start:

  • You need a Xero organisation (business or practice) and an account you can sign in with.

  • In Workshop, go to Configuration (or Settings) and find POS Integration (or Integrations). https://workshop.bikebook.co.uk/configuration/pos-integration

  • You can only connect one POS/accounting system per business (e.g. Xero or Saledock, not both).

What you’ll do:

  1. Connect your Xero organisation to Workshop (one-time OAuth).

  2. Configure default accounts, bank account (for payment sync), and optionally account mapping and tax.

  3. Send invoices from the workshop (per invoice or via end-of-day summary).

  4. Optionally enable webhooks so that when an invoice is paid in Xero, Workshop marks it paid too.


Connecting Xero

  1. Go to ConfigurationPOS Integration (or your equivalent path).

  2. Select Xero from the list of available integrations.

  3. Click Connect (or Connect to Xero). You’ll be redirected to Xero to sign in and choose which organisation to link.

  4. After authorising, you’re returned to Workshop with Xero connected. The POS Integration page will show your connected Xero organisation and the Settings section for Xero.

Afterwards you should see some thing like the following:

Please click on each orange button and select your preferred accounts.


Configuration

After connecting, the Xero Settings area shows several blocks. Configure these so that sent invoices and payments behave the way you want.

Default account

The Default Account is the Xero revenue account used for invoice lines when you don’t set a more specific mapping (e.g. for services, parts, collection, discount).

  • Open the Default Account block and choose an account from the list (typically a Revenue type account in Xero).

  • Save. This account is used as the fallback for all line types unless you override them in Account mapping.


Default bank account (for payment sync)

If you want to sync payments to Xero when you send an invoice as approved, you must choose a default bank account.

  • In Settings, find Default bank account for payments (or similar).

  • Open it and select the Xero bank account where received payments should be recorded in Xero.

  • Save.

If this is not set, you won't be able to sync payments when sending to Xero (you can still send invoices as draft or approved, but payments won't be posted).


Account mapping (optional)

You can map different revenue accounts for:

  • Services

  • Parts

  • Collection (e.g. collection fees)

  • Discounts

If you don’t set these, the Default Account above is used for all. Use account mapping when you want services, parts, collection fees, and discounts to post to different Xero revenue accounts. These affect each individual line item on your invoice and how they are associated within Xero.


Xero tax types

Invoices sent to Xero use your workshop’s VAT rate and map it to the correct Xero tax type (e.g. UK OUTPUT, or GST in AU/NZ). Standard rates (e.g. 20% UK VAT) are matched automatically to existing Xero tax rates; if your workshop uses a custom rate that doesn’t exist in Xero, Workshop can create a matching tax rate in Xero so the invoice posts correctly.

You don’t usually need to change anything here unless you use non-standard VAT rates or see tax-related errors when sending.


Sending invoices to Xero

You can send a workshop invoice to Xero from the invoice screen (e.g. Send to Xero or Send to POS when Xero is connected).

First time sending an invoice

  1. Open the invoice and use Send to Xero (or Send to POS).

  2. In the dialog you’ll see:

    • How should this invoice be sent?

      • Save as draft – The invoice is created in Xero as a draft. You can review and approve it in Xero; payments cannot be applied until it’s approved.

      • Save as approved – The invoice is created in Xero as approved and is ready for payments.

    • If the invoice has payments and you chose Save as approved, a Sync my Workshop payments to Xero option appears. When enabled, those payments are posted to the new Xero invoice (using the default bank account).

  3. Click Send to Xero. The invoice is created (or updated) in Xero according to your choices. You can then open it in Xero via View in Xero if the dialog offers that link.

Note: Like our screenshot, you won't see an option to sync your payments unless there is a payment to sync.


Already sent – update existing or create a new invoice

If the invoice has already been sent to Xero, the same dialog shows the existing Xero invoice ID and two actions:

  • Send Again (Update Existing) – Updates the existing Xero invoice with the current workshop invoice details (line items, amounts, etc.). You can still choose Save as draft or Save as approved and whether to sync payments; those options apply to the update.

  • Send Again (New Invoice)Cancels (voids) the current invoice in Xero and creates a new Xero invoice with the current details. The workshop invoice will then link to the new Xero invoice.

    • A warning is shown: The current invoice in Xero will be cancelled when you create a new one. Use this when you need to replace the Xero invoice entirely (e.g. wrong customer or major changes).


Sent via end-of-day summary

If an invoice was sent to Xero as part of an end-of-day summary (one joint Xero invoice per day), the dialog will say so and offer Send Individually. Choosing that creates a separate Xero invoice for this workshop invoice (it will no longer be tied to the summary invoice). You can again choose draft/approved and whether to sync payments.


End-of-day summary

The end-of-day summary creates one Xero invoice per day that combines multiple paid workshop invoices into a single joint invoice. Useful if you prefer to batch daily sales into one Xero invoice instead of one per job.

Enabling and configuring

  1. In POS IntegrationSettings (with Xero connected), turn on Enable Xero end-of-day summary.

  2. Set:

    • Xero contact name for summary invoice – The contact (e.g. “Daily sales”) that the joint invoice will be billed to in Xero.

    • Send summary at – The time of day (in your business timezone) when the summary should be created and sent to Xero (e.g. 18:00).

  3. Save. The UI may show Next sending in … so you know when the next run will occur.


Which invoices are included

Typically, the summary includes paid workshop invoices that have not already been sent to Xero (neither individually nor in a previous summary). Exact rules may depend on your version; check the View and send (or “Send summary now”) area to see which invoices would be included in the next run.

Sending the summary early

Use View and send (or Send summary now) to see which invoices will be included and to send the summary to Xero immediately instead of waiting for the scheduled time. Helpful for testing or for sending early on a given day.


Webhooks – when an invoice is paid in Xero

If an invoice is marked as paid in Xero (e.g. you record a payment against it in Xero), Workshop can update the corresponding workshop invoice to Paid and record that it was paid via Xero. This is done via webhooks: Xero notifies Workshop when an invoice is updated, and we process “invoice marked paid” events.

Enabling webhooks

  • In POS Integration (Xero connected), find the Webhooks or Xero webhooks section.

  • You’ll see at least one webhook (e.g. “Invoice updates”). Ensure it is enabled. When enabled, Workshop will process invoice-update events from Xero and, when the invoice is paid in Xero, update the workshop invoice accordingly.

  • You can use View webhooks (or similar) to see recent events and last received time per topic.


What happens when an invoice is paid in Xero

When Xero sends an update indicating that the linked invoice is paid:

  • Workshop finds the workshop invoice that was sent to that Xero invoice.

  • The workshop invoice is set to Paid and marked as Paid via Xero (or equivalent). It may become read-only for further payment or send actions in the workshop, depending on your product behaviour.

So: pay in Xero → workshop invoice updates to paid automatically, as long as webhooks are enabled and the Xero app is configured correctly (see developer docs for one-time webhook URL and signing key setup).


Tips for accurate invoicing

  • Draft vs approved – Use draft when you want to review or edit the invoice in Xero before it’s final. Use approved when the invoice is ready and you want to sync payments or allow payment in Xero immediately.

  • Payment sync – Only works when the invoice is sent as approved, a default bank account is set, and you turn on Sync my Workshop payments to Xero in the Send to Xero dialog for that send.

  • Account mapping – Set Default account and, if needed, Account mapping (services, parts, collection, discount) so lines post to the correct Xero revenue accounts.

  • New invoice vs update – Use Send Again (Update Existing) for normal changes. Use Send Again (New Invoice) only when you need to replace the Xero invoice (the previous one will be cancelled in Xero).


Troubleshooting

“Payments can only be made against Authorised documents” (or similar):
You’re trying to sync payments to a Xero invoice that is still a draft. Send the invoice as approved, or approve it in Xero first, then sync payments (or resend as approved with payment sync on).

Payment sync didn’t run


Check: (1) Default bank account for payments is set in configuration, (2) you sent the invoice as approved, and (3) you turned on Sync my Workshop payments to Xero in the Send to Xero dialog for that send.

Invoice was paid in Xero but workshop invoice didn’t update


Ensure the Invoice updates webhook is enabled in the Xero webhooks section. If it is and the invoice still didn’t update, check with support; the webhook may not be receiving events (e.g. URL or signing key configuration on the app side).

Wrong account or tax on lines in Xero


Adjust Default account and Account mapping for the relevant line type (service, parts, collection, discount). For tax, ensure your workshop VAT rate matches what you expect; the Xero tax types block shows how we map rates to Xero.

End-of-day summary didn’t run or included wrong invoices


Confirm the summary is enabled, the Send summary at time is correct, and your timezone is set correctly. Use View and send to see which invoices would be included in the next run.


Need help?

If something doesn’t work as described, check the configuration steps above (connection, default account, bank account, account mapping, tax, webhooks). If you’re still stuck, contact support with:

  • What you were doing (e.g. “Send to Xero”, “Sync payments”, “End-of-day summary”).

  • What you expected vs what happened.

  • Any error message shown in Workshop or in Xero.

Did this answer your question?