Shopify orders

New orders placed through Shopify will be created in Brightpearl. The order download can be activated and deactivated at any time from within Shopify. 

Order download triggers

Brightpearl’s Shopify integration attempts to download orders on the following cadence:

  • Real time

When an Order Created webhook is received from Shopify, Brightpearl attempts to download the new order.

  • Hourly reconciliation

If no webhooks are received within an hour, an hourly reconciliation is performed to continue order download in the event of webhook failure by Shopify.

  • Nightly reconciliation

An additional nightly reconciliation run at (3am Brightpearl server time) to see if any orders were missed in the last 24 hours.

  • Manual

A manual order download can be triggered for a single order from the Brightpearl Shopify app.

Delay order creation

Ordinarily, orders are captured from Shopify immediately once they're placed. However, on occasion there may be reasons to want to delay the order download, e.g. to give a third party application the opportunity to perform a fraud check.

To mitigate any issues, the integration provides an option to delay the order creation:


Choose between no delay, a 2 minute delay and a 5 minute delay.

Single order download

If for any reason an order fails to download, an order download can be forced via single order import:


In the Shopify Order ID field enter the Shopify Internal ID (this is found in the URL when you're viewing the order in Shopify (eg if your order URL is then the Shopify Order ID is 123456789) click 'Import order' and the order should appear in Brightpearl. 

New order status

New orders will be created with the order status chosen in the Orders configuration tab.

New and existing customers

If a new email address is found on the order, a customer will be created in Brightpearl, regardless of whether they chose “guest” or “account” during checkout.

Email address 2 and email address 3 in Brightpearl are not checked when searching for existing customers to assign the order to.

An order from a repeat customer will be added to their existing account. By default, the customer’s contact record will be updated with the most recent information from that order. Currently, integration does not capture a company for new contacts that are not already in Brightpearl.


Brightpearl has 3 address fields on an order:

  • Primary
  • Invoice
  • Delivery

Primary address is mapped to the delivery address.

You can also choose a contact email for an anonymous customer for orders in the Orders configuration tab.

SKUs and product description

On order download, Brightpearl attempts to match a product’s SKU in Shopify to a SKU in Brightpearl. If a match is found, that product is added to the order in Brightpearl. If it cannot be found, the product will be added as a miscellaneous line item. It is recommended to add the missing product in Brightpearl, delete the sales order in Brightpearl and then re-download using Single Order Import. This ensures that the fulfillments post correctly to Shopify. 


When an order for the item is downloaded, Brightpearl will use the bundle item and add on all the separate components. The inventory will be automatically allocated to reserve the bundle for the order.

Price, tax, and order total

Brightpearl will always respect the item price and tax collected on Shopify. In rare cases, a reconciliation line may be required to ensure the order total matches Shopify.

The price list on new orders can be selected in the Orders tab in the app.

Tax code

The tax code assigned to an order row will be selected based on the Brightpearl sales tax rules.

Shopify multi-currency

Read about multi-currency support here

Inventory allocation

When an order is downloaded, any inventory in the channel's default allocation warehouse will be allocated to the order. There may have been more inventory visible on Shopify (from other warehouses), but this will not be automatically allocated.

Brightpearl automation rules can be used to create goods out note for any warehouse, so you could use that to reduce the risk of double selling inventory in warehouses other than the default allocation warehouse.

Discounts, coupons, and promotions

All discounts, excluding shipping, will be spread across products using a weighted average based on price.


Discount Line

Item Line



Displayed as


Account code

List price/price

List price/price

Shopify, ShopifyPlus

Order level discounts, %

Additional line

Discount/coupon description

Sales discounts

0 / 0

List price=original/  price=discounted

Shopify, ShopifyPlus

Item level discounts, %

Additional line

Discount/coupon description

Sales discounts

0 / 0

List price=original/price = discounted 

Shipping discounts will only discount the shipping line item as opposed to all products.

Shipping method

Shipping methods must be defined within Shopify to be used on sales. Shipping charges will download as additional line items.

If a shipping method of the exact same name exists in Brightpearl it will be assigned to the order in the “Shipping Method” field. If the name cannot be matched, the default shipping method selected in the Orders tab will be used. This allows sales to be filtered by the shipping method to prioritize and batch fulfill orders. The goods-out note will inherit the order shipping method unless specified otherwise.

Custom items

The integration supports customizable products, adding any Shopify custom items to the order in Brightpearl. 


Cart attribute mapping

Shopify allows you to create cart attributes which are custom fields used for collecting additional information from customers when they checkout, such as gift messages. To bring those additional details into Brightpearl the Shopify cart attribute can be mapped to a Brightpearl sales order custom field. And if the attribute isn't mapped it will get captured in the Brightpearl order notes. Read more about cart attribute mapping with Shopify here.


Enter the Shopify attribute field name and specify which Brightpearl custom field the information should be captured in.

Have more questions? Submit a request