Skip to main content

POS Integration Auto-Sync — Quick Guide

Keep your BikeBook invoices in sync with your POS or accounting system automatically. No more manual sending after every change.

Updated this week

Beta — Automatic sync is currently in beta. We're still refining it — if something doesn't work as expected, please let us know so we can fix it.

Supported Integrations

Auto-sync works with the following integrations:

  • Shopify (draft orders or confirmed orders)

  • Lightspeed R-Series (layby or regular sales)

  • Lightspeed X-Series (sales)

  • Xero (invoices)

  • Saledock (sales orders)


Getting Started

1) Navigate to your integration settings

Go to Configuration > POS & Accounting Integrations and scroll to your connected integration.

2) Enable automatic sync

Find the Automatic Sync section and turn on the master toggle: "Enable automatic sync to [Integration]".

Once enabled, additional settings will appear below.


Auto-Sync Settings

When the master toggle is on, you can fine-tune exactly when syncing happens.

When to Sync

These settings control the default behaviour of the "Sync to POS" option that appears when creating jobs, invoices, and sales. You can still override the default per action.

Setting

What it does

Sync when a job is created

New jobs will default to syncing their invoice. You can turn this off for individual jobs when creating them.

Sync when products/services are changed

When you add or change items on an invoice, the order in your POS updates automatically.

Sync when creating an invoice

Invoices created from the Create Invoice dialog will default to syncing. Overridable per invoice.

Sync when completing a sale

Sales from the Create Sale flow will default to syncing. Overridable per sale.

Sync on online bookings

Online bookings can trigger a sync. When enabled, a dropdown appears to choose when: "When booking is created" or "When job is accepted".

When to Mark as Deleted

Setting

What it does

Mark order as deleted when job is cancelled/rejected

When a job is cancelled or rejected, the linked POS order will be voided, archived, or deleted in the external system.


Integration-Specific Settings

Each integration has additional settings below the auto-sync section. Here's what to look for.

Shopify

Setting

What it does

Use draft orders

Creates draft orders instead of confirmed orders. Recommended for auto-sync — draft orders support in-place updates. If you enable auto-sync without this, a warning dialog explains that orders will be cancelled and replaced on each sync.

Create products automatically if missing

Auto-creates products in Shopify when they're referenced on an invoice but don't exist yet.

Complete draft order when invoice is "Paid"

When an invoice is marked as Paid in BikeBook, the linked Shopify draft order is converted to a confirmed order and marked as paid. Requires "Use draft orders" to be enabled.

Reserve inventory on draft orders

Reserves stock in Shopify when the draft order is created. Requires "Use draft orders".

Reservation expiry (hours)

Hours until the inventory reservation expires. Set to 0 to use Shopify's default (midnight).

Webhook settings (under a separate "Webhook Settings" header):

  • Set invoice to "Paid" when order is paid — When a Shopify order is marked as paid, the linked BikeBook invoice is set to paid automatically.

  • Set job to "Completed" when order is paid — When a Shopify order is paid, the job status updates to Completed.

Xero

Under the auto-sync section, Xero has additional default options:

Setting

What it does

Default Xero invoice status

Choose whether auto-synced invoices are created as Draft or Authorised in Xero. You can override this per invoice from the sync dialog.

Sync payments to Xero by default

When enabled, payments recorded in BikeBook are automatically pushed to Xero alongside invoice updates.

Below auto-sync, Xero also has:

Setting

What it does

Enable Xero end-of-day summary

Creates one aggregated Xero invoice at a configurable time, covering all paid invoices not yet sent. Has sub-settings for contact name and send time.

Lightspeed R-Series

Setting

What it does

Enable layaway sales

When on, sales are marked as layaway in Lightspeed and include any partial payments from the invoice. When off, regular incomplete sales are created.

Lightspeed X-Series

No additional settings beyond the auto-sync section.

Saledock

Setting

What it does

Set invoice to "Paid" on completion

When a Saledock order is completed, the BikeBook invoice is marked as paid automatically.

Set job to "Completed" on completion

When a Saledock order is completed, the job status updates to Completed.


How Auto-Sync Works

Once enabled, here's what happens behind the scenes:

  1. You create or update a job/invoice/sale as normal.

  2. If the "Sync to POS" option is on (defaulted by your settings above), changes are queued automatically and synced in the background.

  3. The sync status is visible on the invoice — look for the POS sync icon next to the invoice.

  4. Each invoice has its own per-invoice auto-sync toggle, so you can turn syncing off for a specific invoice without changing the global setting.


The Sync Dialog

Click the POS sync icon on any invoice to open the sync dialog. This is your control centre for that invoice's sync status.

What you'll see:

  • Sync status — Whether the invoice is synced, syncing, pending, failed, or not yet sent.

  • External reference — The order/invoice ID in the external system, with a link to view it directly.

  • Auto-sync toggle — Enable or disable auto-sync for this specific invoice.

  • Manual actions — Re-sync, send as new, retry (see below).

  • Sync history — A log of every sync event with timestamps and details.


Manual Actions

Even with auto-sync enabled, you can always take manual action from the sync dialog.

Re-Sync to [Integration]

Push the latest invoice data to the existing order in your POS. Use this if you've made changes and want to force an immediate sync rather than waiting for the background worker.

Send as New [Order Type]

Create a brand new order in your POS. You'll be asked whether to cancel/void the existing order first. Use this if the original order is corrupted or you need a clean start.

View in [Integration]

Opens the linked order directly in your POS system (Shopify admin, Lightspeed back office, Xero, etc.).

Retry

Appears when the last sync failed. Retries the failed operation. You can also expand the failed event in sync history to see the error details.


Xero Send Options (Per-Invoice)

When sending to Xero manually (not via auto-sync), the sync dialog shows additional options:

  • Save as Draft — The invoice is created in Xero as a draft. Review and approve it in Xero before payments are applied.

  • Save as Authorised — The invoice is created as authorised and ready for payments.

  • Sync payments to Xero — Push BikeBook payments to Xero for this invoice. Only available when the status is Authorised.

These options use your business-level defaults (from Settings) but can be overridden per invoice. When auto-sync is active on the invoice, the worker uses the business defaults automatically — the per-invoice options are hidden to avoid confusion.


Understanding Sync History

The bottom of the sync dialog shows a log of sync events for that invoice. Click Show More to see the full history.

Event Statuses

Status

Meaning

Synced

Successfully synced to the POS.

Failed

Something went wrong. Expand the event to see the error.

Syncing...

Currently being processed.

Pending

Queued and waiting to be processed.

Superseded

A newer event replaced this one before it was processed.

Event Details

Expand any event to see:

  • Trigger — What caused the sync (e.g. "Invoice item added", "Payment added to invoice", "Invoice marked as paid").

  • Response summary — For successful syncs: line count, order total, order status, POS reference.

  • Change details — What changed: items added/removed, discount changes, customer changes, payment details.

  • Error message — For failed syncs: a friendly explanation and the raw error from the POS.


Troubleshooting

"Why isn't my invoice syncing?"

Check that both the global auto-sync toggle (in Settings) and the per-invoice auto-sync toggle (in the sync dialog) are turned on. Also make sure the relevant "When to sync" sub-settings are enabled.

"The dialog says auto-sync is paused (disabled in settings)"

The per-invoice toggle is on, but the global setting is off. Go to Configuration > POS & Accounting Integrations and enable the master toggle. There's a shortcut button in the dialog that takes you straight there.

"Sync failed — what do I do?"

Open the sync dialog and expand the failed event to see the error. Common causes:

  • Credentials expired — Reconnect your integration in Settings.

  • Order not found — The order may have been deleted in the POS. Try "Send as new".

  • Rate limited — The POS is temporarily limiting requests. The sync will retry automatically.

You can always click Retry or Send as new to recover.

"Lightspeed register doesn't show updated items"

If the sale is currently open in the Lightspeed register, you may need to dismiss it and re-open it from Sales History to see the updated items. This is a Lightspeed register caching behaviour, not a sync issue.

"Sync is stuck on 'Syncing...'"

If a sync was interrupted (e.g. you stopped the server mid-request), stuck events auto-recover within 2 minutes. The background worker detects stale processing events and resets them to Pending for retry.

Still stuck?

Feel free to reach out to support and they will be happy to help you.


Tips

  • Use auto-sync for day-to-day work — Let it handle the routine. Use manual send for one-off corrections or edge cases.

  • Shopify: enable draft orders — Draft orders support in-place updates, which is much smoother than cancelling and replacing confirmed orders on every change.

  • Xero: use "Authorised" status if you want payments to sync automatically. Draft invoices in Xero cannot receive payments.

  • Check the sync dialog if something looks off — the sync history tells you exactly what happened, when, and why.


NEED HELP?

If you're still unsure about any of these settings, start by checking your auto-sync settings under Configuration. Most sync issues are caused by a setting being off or a credential that needs refreshing.

Any issues please feel free to reach out to support and they will be happy to help you.

Did this answer your question?