Sales orders in the Xero connector

Sales orders created in Brightpearl are pushed to Xero once they are invoiced.

Payments can be recorded in either Brightpearl or Xero, with the resulting transaction updating the other system.



Sales invoices are only created in Xero once the sales order in Brightpearl moves to the mapped status. This ensures quotes and incomplete or uninvoiced sales orders are not accounted for in Xero.

The status is configured in the connector at Account settings > Brightpearl settings > Default configuration.


The selected order status should be the same status used for invoiced sales, which is set in Brightpearl at Settings > Sales > Sales workflow.



Fields between Brightpearl and Xero are mapped as follows:

Brightpearl field Xero field
Invoice ref Invoice number
Date created Date
Payment due Due date
Item code (SKU) Item code
Details Description
Qty Qty
Tax code* Tax rate*
Tax amount Tax amount
Invoice total Invoice total

The 'to' name, postal address and email address against the invoice in Xero are taken from the customer record in Xero.

Note about tax codes and rates: If your Brightpearl account is configured to use US sales tax, then eCommerce orders are created with a tax code of ‘-‘ but with the tax amount as applied by the channel. In Xero, such tax amounts will be added to the invoice as a tax only order row coded to your sales tax account.


Payment initiated in Xero

You may choose to manage accounts receivable in Xero. When doing so, the sales order is still created in Brightpearl and posted to Xero once invoiced. The payment is then recorded in Xero and will be pushed back to Brightpearl, marking the linked order as paid.

This is a common workflow for B2B sales where the order is only paid once it has been shipped and invoiced.


Overpayments in Xero

Overpayments can be recorded in Xero by navigating to New > Receive money > Overpayment. The payment can then be allocated against an outstanding invoice. If the invoice originated from Brightpearl, the payment is pushed to Brightpearl and automatically allocated against the corresponding invoice.

Payment initiated in Brightpearl

Alternatively, if the payment is recorded in Brightpearl, it will be pushed to Xero once the order is invoiced.

This is the typical workflow for online sales, where payments may be authorized and captured before the sale is invoiced.

The order and payment will download into Brightpearl and both be created in Xero automatically once the order is invoiced in Brightpearl.


Note: The payment can also be received in Brightpearl after the order is invoiced.

Payment reversals

Payment reversals should always be done in the same application where the payment was initiated. For example, if a payment is taken in Brightpearl and needs to be reversed, it should be reversed in Brightpearl. The connector will update the linked transaction in Xero.

If payment was initially taken in Xero, use the option to "Remove and redo" against the transaction in Xero. This will create a reversal in Brightpearl.


Depending on your Brightpearl configuration, it may be possible to "uninvoice" sales orders. This setting can be found in the Brightpearl back office at Settings > Company > Accounting: Options > Allow un-invoicing. If enabled, an invoiced order can be uninvoiced, cancelling the journal in Brightpearl and returning the order to your "new order" status.

Upon uninvoicing in Brightpearl, the corresponding invoice in Xero is automatically voided (if the option is enabled in the connector configuration). This can happen both before and after payment has been taken. If the latter, both the invoice and payment are voided in Xero. Both will be resent when the order is reinvoiced.

The reference of the new invoice created in Xero will have a unique suffix, e.g. SI-1000/New-01.

Have more questions? Submit a request