Brightpearl Integration
OVERVIEW
Loop’s integration with Brightpearl is a two way integration designed to streamline the return management process by connecting Loop and Brightpearl. For merchants who also have Brightpearl connected to Shopify, the Brightpearl-Shopify connector remains responsible for importing original and exchange orders into Brightpearl, while the Loop integration manages the return lifecycle. This includes support for both online returns and in-store returns submitted through the Loop POS app.
The integration supports two key data flows, which can work independently or together, depending on your business needs:
Loop → Brightpearl: Data flows from Loop into Brightpearl. This is ideal for merchants who use Loop’s automatic processing events, or who handle returns processing directly within Loop – either manually in the Loop UI or automatically via a connected 3PL or WMS.
Brightpearl → Loop: Data flows from Brightpearl back into Loop. Specifically, when inventory is received in Brightpearl – whether manually in the Brightpearl UI or automatically via a connected 3PL or WMS – that action can trigger return processing in Loop, such as issuing a refund or completing an exchange. This flow is well-suited for merchants who process returns by receiving inventory directly in Brightpearl.
These flows are not mutually exclusive and can work in tandem to support a more seamless and automated return experience across systems.
This integration was built and is maintained by Synks. If you need assistance with setup or troubleshooting, please reach out to support@loopreturns.com.
How it works
Loop Online Returns
Customer initiates a return in Loop.
Loop automatically creates a Sales Credit in Brightpearl.
Note: This Sales Credit is linked to the original Sales Order.
The return can be processed in Loop via one of the following methods:
Return Processed in Loop (Automatic Processing Events, Manual Action, or via Third-Party Integration)
When this method is used, Loop communicates directly with Brightpearl to complete the return. The following actions are taken automatically within Brightpearl against the Sales Credit:
Inventory is received and a Goods In Note is created.
Payment is posted to the Sales Credit, matching the return credit amount.
The Sales Credit is closed.
Inventory Received in Brightpearl
Alternatively, merchants can receive inventory on the Sales Credit in Brightpearl – whether manually in the Brightpearl UI or automatically via a connected 3PL or WMS. In this flow, Loop monitors the status of the Sales Credit and takes the following actions:
If no inventory has been received, the return remains open in Loop.
If some inventory has been received, the return is flagged for review in Loop.
If all inventory has been received, the return is automatically processed in Loop.
When this method is used, Loop communicates directly with Brightpearl only once the return has fully processed, and takes the following action within Brightpearl:
Payment is posted to the Sales Credit, matching the return credit amount.
The Sales Credit is closed.
Loop POS Returns
Store associate submits a return using the Loop POS App.
Loop automatically creates a Sales Credit in Brightpearl.
Note: This Sales Credit is linked to the original Sales Order.
Loop automatically receives inventory on the Sales Credit and a Goods In Note is created.
Payment is posted to the Sales Credit, matching the return credit amount.
The Sales Credit is closed.
Getting started
To get started, please review Loop's Pricing and Packaging page to see if your plan includes this feature. If this is not included in your current plan, please contact your Merchant Success Manager or support@loopreturns.com to see about adding this to your plan.
Connecting Loop and Brightpearl
Follow the below steps to connect your Brightpearl account to your Loop admin:
Provide your Brightpearl Account Code to the Loop onboarding team or Merchant Succes Manager.
Open the onboarding link provided by the Loop team.
For each Loop instance you have, create a new integration. Start by defining an identifier that is meaningful to this specific instance so that it can be found later on if you need to edit it. Then click Save.
On the credentials tab, you’ll need to input your Loop API Key as well as authorize the Brightpearl connection.
To generate your Loop API Key, navigate to Tools & integrations > Developer tools. From there, scroll down and click on Generate API Key.
Select Returns, Destinations (read) and Developer Tools as the scopes and give the key a meaningful name.
Copy the newly generated API Key and paste it into the API Key field in the onboarding page.
Next, click Continue to Brightpearl, where you’ll be able to authorize the integration.
Once you’re redirected to Brightpearl, you’ll be prompted to log in to your account if you are not yet.
After you’re logged in you’ll be asked to approve access to the application. Click Approve.
You should then be redirected back to a new page showing you that the authorization process was successful. If so, please close this new tab and return to the onboard screen.
On the onboarding screen, you’ll see that the connection to Brightpearl now shows as Connected.
Click Save to go to the settings tab, where you’ll be able to configure your integration.
If you're not sure what to input on each field, please visit the “Documentation” tab to learn more about these fields and how they are used to customize the integration.
Once filled out, click Save to finish the onboarding process.
Disable the “Create Sales Credits from Returns” setting in the Brightpearl App
In the Brightpearl App within Shopify, turn off the “Create Sales Credits from Returns” setting. This ensures that duplicate sales credits are not created for returns processed in Shopify, and that sales credits are only generated for returns initiated in Loop.
Note: By turning this setting off, any returns initiated outside of Loop, whether for online or in-store orders, will require sales credits to be created manually in Brightpearl.
Upsell
When an item is returned using Loop Returns and exchanged for a higher value item, the customer will be asked to make an additional payment through Stripe to cover the difference.
Original item: $10 | Exchange item: $12 |
In this example, $10 of return credit will be applied to the exchange items, resulting in the customer paying $2 in upsell.
When the customer completes the return process and has made the payment, Loop will first mark the line item as “return in progress” on the original order in Shopify. Loop will then create a sales credit in Brightpearl for the returned item at the price it was originally purchased for with any tax that was applicable.
Brightpearl sales credit: $10 |
Once the items are delivered back, this can be confirmed within Brightpearl by receiving the inventory against the sales credit in Brightpearl. Alternatively, confirming the item as received can be done directly within Loop by processing the return, or another application connected to Loop or Brightpearl that can trigger processing/receiving.
Once the item has been confirmed as received back into stock, Loop will carry out the following steps:
Update the item in Shopify from “return in progress” to “return closed”.
Create an order payment in Brightpearl to update the sales credit to paid, using the “exchange” payment method mapped within the Loop Brightpearl app.
Brightpearl order payment (refund): $10 |
Close the sales credit in Brightpearl to raise the credit and create the necessary accounting for the return.
Create a new sale in Shopify for the exchange item.
The new exchange order will download into Brightpearl through the Brightpearl Shopify app. To ensure it adds the item at the relevant price and with tax (and therefore accurate revenue, tax and profit are accounted for and reported), and it is marked as paid, the relevant settings must be enabled within Loop. The payment will be in full (return credit plus the difference the customer paid), using the Shopify “manual” payment method.
Brightpearl sales order: $12 | Brightpearl order payment: $12 |
The result in Brightpearl is that there is a completed and refunded sales credit, and a new sales order paid in full ready for processing and shipping.
Things to be aware of:
The refund (return credit) for the returned item is created in Brightpearl using the payment method mapped to “exchanges” in Loop. The full payment for the exchange
item uses the payment method mapped to the Shopify “manual” payment method in the Brightpearl Shopify app, or the default payment method if it’s not mapped. Take note of the bank accounts these transactions impact in Brightpearl as adjustments may be needed in order to reconcile and balance the accounts.
For example, if the refund in Brightpearl (exchange credit) impacts account “1205 Loop exchange credit” but the new payment impacts “1200 Shopify payments”, the resulting balances will be:
1205 Loop exchange credit = -$10 | 1200 Shopify payments = $12 |
However, only $2 card payment was taken, and there is no more return credit to be used, so the account balances should be:
1205 Loop exchange credit = $0 | 1200 Shopify payments = $2 |
To achieve this, use a bank transfer in Brightpearl to move the $10 exchange credit from the “1200 Shopify payments” account to the “1205 Loop exchange credit” account.
It is not necessary to carry out these adjustments for each exchange, it can be done periodically for a batch of exchanges. It is recommended that you use a Brightpearl payment method and associated bank account that is used ONLY for Loop exchanges to enable you to easily see the total exchange credit issued and make this accounting adjustment.
In Brightpearl, go to Sales > Customer payments.
Filter by:
Payment method = Loop exchanges method
Payment type = Payment
From and To date
Total the payments to get the value that needs to be transferred.
Go to Accounting > Transfer money.
Select the payments account as the “from bank account”.
Select the exchange bank account as the “to bank account”.
Enter the total from the order payments as the amount.
Set the date as the end of the period you are covering.
Enter details to keep a record of what the transfer is for.
Click Submit.
Brightpearl recommends creating a Brightpearl payment method AND bank account specifically for Loop exchanges and map that in the Synks config.
FAQ
What plan do I need to be on to utilize this feature? This feature is included for merchants with access to integrations and/or Loop's API. If you do not have access and would like to add this feature, please contact your Merchant Success Manager or support@loopreturns.com.
Will I need a developer involved to complete this integration? Not at all!
Where can I find my Brightpearl Warehouse ID(s)? In the Brightpearl admin, the Warehouse IDs can be found under Settings > Products/Inventory > Warehouses. The page displays a list of warehouses with their names, IDs, and type.
How are handling fees reflected? Handling fees are reflected on the Sales Credit in Brightpearl as a negative line item, using the nominal code and tax code specified during setup. Please ensure that you’re using a nominal code that is supported on Brightpearl Sales Credits.
How are Loop Exchange Orders handled in Brightpearl? Exchange orders created by Loop in Shopify can be marked as paid, which allows the payment status to sync to Brightpearl when the order is imported via the Brightpearl Shopify App. When enabled, these orders will use the payment method mapped to “manual” payments in Shopify. If you’d like this functionality enabled for your account, please reach out to your Loop MSM.
Please reach out to support@loopreturns.com with any additional questions.