Skip to content

Xero ​

The Xero integration sends the invoices you issue in OpsMerge to Xero and brings payments back. When a client pays and you record it in Xero, the OpsMerge invoice moves to paid (or part paid), overdue reminders stop and the client gets a payment receipt.

Xero is one of three accounting integrations, alongside QuickBooks Online and FreeAgent. A tenant connects one at a time, see One accounts package at a time.

What syncs ​

DirectionWhatWhen
OpsMerge to XeroIssued invoices, as approved sales invoices with your OpsMerge invoice numberSeconds after you issue
OpsMerge to XeroEdits to an issued invoice, and voidsSeconds after the change
OpsMerge to XeroNew clients, when you choose Create in XeroOn demand
Xero to OpsMergePayments, part payments and removed paymentsWithin seconds with webhooks on, otherwise within 30 minutes
Xero to OpsMergeContacts, items, revenue accounts and tax ratesHourly, or when you click Sync now

OpsMerge emails invoices to your clients itself. Xero never emails them; pushed invoices are marked as sent in Xero so they do not show as unsent.

Before you start ​

  • Xero switched on for your account. It is being rolled out account by account; if you do not see Settings > Xero, contact support to have it turned on.

  • A Xero organisation. If you are VAT registered, set that up in Xero first so its VAT rates exist.

  • An OpsMerge tenant with no other accounting package connected.

  • Permission to manage PSA settings.

Xero limits how many apps that are not yet Xero-certified can connect to one organisation. If Xero refuses the connection, remove an app you no longer use under Xero > Settings > Connected apps, then try again.

Connect ​

  1. Go to Settings > Xero and click Connect Xero.
  2. Sign in to Xero and tick the organisation to connect. OpsMerge asks only for invoices, payments, contacts and settings.
  3. You return to OpsMerge. If you ticked more than one organisation, choose the one OpsMerge should use; the others are disconnected.
  4. The first sync starts straight away and reads your chart of accounts, VAT rates, items and contacts.

Set up before the first invoice ​

The Before the first invoice checklist on the Xero page tracks these steps.

  1. Default revenue account. On the Accounts tab, pick the Xero revenue account invoice lines post to. You can give individual services their own account in the table below it.
  2. Link your clients. On the Contacts tab, every Xero contact is listed with a suggested OpsMerge client where the email or name matches. For each one choose Link to existing, Create in OpsMerge, Skip for now or Always skip. Clients that exist only in OpsMerge go to Xero from the Create in Xero tab.
  3. VAT. Xero's VAT rates appear on the Tax rates tab and in PSA > Billing > Settings > VAT. Turn VAT on there, enter your VAT number and choose the default rate (usually 20% (VAT on Income)). Every invoice line then carries a Xero VAT rate.
  4. Items (optional). Xero items can become OpsMerge services on the Items tab. Services do not have to be linked to an item; a line only needs a revenue account.

Invoice push ​

When you issue an invoice, OpsMerge creates it in Xero as an approved sales invoice with:

  • the OpsMerge invoice number and dates,
  • each line's quantity, price and any line discount,
  • each line's revenue account and VAT rate,
  • the VAT OpsMerge calculated on each line, so the Xero total matches the OpsMerge total to the penny.

After the push OpsMerge compares the totals. If they ever differ, the invoice shows a Xero problem status with the reason.

The invoice page shows the Xero status, a View in Xero link and, when something needs fixing, the reason and a retry button. Xero problem also appears in the invoice list. The common reasons:

MessageFix
Client is not linked to a Xero contactLink it on the Contacts tab, or use Create in Xero, then retry
Line has no Xero revenue accountSet the default revenue account, then retry
VAT code is not a Xero tax rateEdit the line and pick a VAT rate synced from Xero
Invoice currency differs from the Xero base currencyForeign-currency invoices are not sent to Xero yet; OpsMerge blocks issuing them while Xero is connected
Negative totalRaise a credit note in Xero instead

Invoices issued before you connected Xero are not sent automatically. Open one and use the retry button to send it.

Edits and voids ​

Editing an issued invoice in OpsMerge updates it in Xero, provided it has no payments in Xero. Voiding in OpsMerge voids it in Xero. Xero will not change or void an invoice that has payments or credit notes allocated; OpsMerge shows the reason and you resolve it in Xero.

Payments ​

Record payments in Xero as normal (bank reconciliation, Add payment, batch payments). OpsMerge books each payment against the invoice, so part payments show as part paid and full payment as paid. If a payment is later removed in Xero, OpsMerge does not reverse its ledger automatically; the Sync history tab shows a problem so you can correct it.

Credit notes allocated in Xero are noted in the Sync history but do not reduce the OpsMerge invoice. Adjust or void the OpsMerge invoice if it should stop being chased.

Reminders ​

OpsMerge already chases overdue invoices. If Xero's own invoice reminders are also on, clients may get two reminders, and the Xero page shows a warning. Turn reminders off in Xero under Invoice settings.

One accounts package at a time ​

A tenant can connect QuickBooks Online, FreeAgent or Xero, but only one. While one is connected, the others show which package to disconnect first.

Disconnect ​

Settings > Xero > Disconnect removes the connection in Xero and in OpsMerge and forgets which clients, services and invoices were linked. Nothing is deleted in Xero, and invoices, payments and VAT codes stay in OpsMerge. Reconnecting starts the mapping again.

Xero also ends a connection that is not used for 60 days. The Xero page then shows Reconnect needed.

Troubleshooting ​

Connect is unavailable. Another accounting package is connected, or the platform administrator has not configured Xero yet; the page says which.

Payments are not arriving. Check Last payment check on the Xero page. A Reconnect needed status means Xero ended the connection.

Xero says the daily API limit was reached. Xero caps calls per organisation per day. OpsMerge pauses and carries on automatically after the reset at midnight UTC.

Lovingly Created in the UK
OpsMerge is a product of Brindleford Technologies Ltd, company number 16871436, registered in England and Wales.