How syncing works
Each Webflow order becomes one invoice in each connected and mapped accounting system. Here is what happens, step by step.
When an order posts
- New orders and changes: Webflow calls Xaldro's webhook when an order is placed or changes, and Xaldro then reads the order from Webflow and posts it. A check every hour adds a missing webhook back and then imports the orders placed while it was missing. For a shop connected before its first order, where Webflow may not accept the webhooks yet, that is how the first orders arrive: within about an hour. You can also pull orders in at any time with Import past orders.
- Past orders: connecting a site, resuming a paused one, and saving the first mapping for a ledger each import the last 90 days. You can import up to 12 months yourself.
- Posting starts once a ledger is connected and its accounts are mapped.
One order, one invoice
Xaldro turns an order into a single approved invoice:
- one line per product (name, quantity, unit price),
- shipping as its own line against your shipping account,
- a discount as one negative line, so the invoice total matches the order,
- the customer found by email, or created if new (see Customers & contacts),
- the Webflow order ID (for example
c30-62d) as the invoice Reference in Xero and the memo in QuickBooks.
Checked before and after posting
Before posting, Xaldro checks that the lines add up to the order and that a taxed order has a tax code to post its tax with. If not, the order is held and nothing is created. That is why a taxed order with no tax code mapped is held rather than posted short by the tax.
Before creating anything, Xaldro searches the ledger for an invoice with the same Webflow order reference. One with the same total is linked instead of creating a second; one with a different total holds the order. It never posts the same order twice.
After posting, Xaldro reads the invoice back from Xero or QuickBooks. If its total or its tax differs from what the customer paid by more than 1 cent, Xaldro voids the invoice it just created and holds the order with the reason. An invoice that was already in your ledger is never voided by Xaldro; a mismatch there holds the order and asks you to correct it.
Fix the cause (usually a mapping, see Mapping your accounts) and press Retry.
Temporary errors
If Xero, QuickBooks or Webflow is briefly unavailable, Xaldro tries again by itself, up to 10 times with growing delays. Errors no retry can fix (a refused account code, lost access, a missing setting) hold the order at once with the message. See Hold reasons.
The status of every order
On the Orders screen each order shows its status per ledger, Xero and QuickBooks side by side, with a link to each posted invoice:

- Synced: posted and read back. View opens the invoice in Xero or QuickBooks.
- Pending: in progress.
- Failed: held or not yet posted. Hover it for the reason, fix the cause, then Retry. Only orders held because the trial ended, the monthly limit was used, or ledger access was lost post again by themselves once that is fixed.
- Skipped: excluded by a sync rule (below your minimum, or not fulfilled yet). Open the order for the reason.
- Review: the order's total changed in Webflow after its invoice posted; the invoice was left unchanged. See Refunds & edited orders.
Click any order to open its detail drawer: the money breakdown, every line item, the status per ledger with invoice links and messages, and any refunds.

Safe to retry
Retries, repeated webhooks, reconnects and re-imports do not create a second invoice: Xaldro reuses the invoice it already created, or finds it in the ledger by its reference. A new invoice follows an earlier one only after Xaldro voided the earlier one on a mismatch. Retry all failed on the Orders screen requeues every held or failed order and refund for a site at once.