Sign in

Xero · Explanation

How Invoices Reach Xero

Published documentation for BMS Cloud.

How invoices reach Xero

An invoice in BMS and the same invoice in Xero are two records, and keeping them in step is most of what the integration does.

Three modules, one destination

Sales invoices arrive from three places. Billing raises them from contracts, Service from completed jobs, and Sales from deals. To BMS these are genuinely different documents raised by different processes; to Xero they are all just sales invoices.

Purchase invoices come the other way, out of Stock — supplier invoices for goods received, including the ones generated by agent reconciliations — and reach Xero as accounts payable.

The integration is the adapter that flattens that variety into the two shapes Xero has.

Why it is a cross-reference, not a copied field

Each pushed record keeps a link between the BMS record and its Xero counterpart, noting what kind of object it is and when it was last pulled.

Storing a Xero identifier directly on the invoice would have been simpler and worse. There are several kinds of thing being matched — invoices, line items, credit notes, contacts, accounts, tax rates, journals — and they live on different tables in BMS. A separate cross-reference means one mechanism covers all of them, and means the mapping can record its own history: what was pushed, what was pulled, and when.

It is also what makes deep links possible: from a BMS record, straight to the matching document in Xero.

Why the push is not immediate

Invoices are pushed by a background job rather than as you save.

The alternative — pushing inline — would mean a Xero outage, a rate limit or a slow response became a failure to save an invoice in BMS. Accounting is downstream of operations, and downstream systems should not be able to block upstream work. So BMS commits its own record first and reconciles afterwards, which is also why a manual push and a reschedule exist for the cases where the first attempt did not take.

The consequence to live with: a document existing in BMS is not evidence it is in Xero. Usually the gap is seconds. When it is not, the place to look is whether the organisation is still authenticated.

Related