Brightpearl > Shopify - fulfillment

Introduction

The process flow retrieves unfulfilled orders from Shopify, then cross-references with Brightpearl to see which ones have been fulfilled. Associated goods-out notes are pulled and manipulated before shipping information is sent to Shopify.

This blueprint includes two process flows to handle the sync of fulfillments between Shopify and Brightpearl: Brightpearl > Shopify (detailed here) and Shopify > Brightpearl. You only need to run ONE, depending on which way you want the sync to work.

Process flow snapshot

Click to view process flow snapshot

Limitations

Limitation
Summary

Standard shipments only

This flow does not support split shipments.

One-time fulfillments

A fulfilment will fail if the order has been fulfilled, cancelled and re-fulfilled.

Assumptions

Assumption
Summary

Sync direction

Running this flow assumes that you want to sync fulfillments in this direction (i.e. from Brightpearl to Shopify). If required, a flow for the reverse direction is available (Shopify > Brightpearl fulfillments). You should run one or the other.

There are no assumptions to consider for this flow.

Customisation

To ensure that this process flow runs as required, some customisation options are available. These are documented in the following sections:

Flow variables

The table below summarises flow variables defined for this process flow.

Flow variable
Summary
Default value

datefrom

Set the relative number of days to look back for updates. Update the default value as required. This variable is referenced in the first Shopify connector, where a filter query is defined to determine which fulfilled orders to pull.

-4 hours UTC

For information on working with flow variables, please refer to our flow variables documentation.

Process flow shapes

This process flow includes some shapes that can be configured with your own settings. Please see guidelines in the table below.

Shape
Notes

Trigger

No default schedule is defined. If you decide to sync in this direction (as opposed to syncing from Shopify to Brightpearl), you should set a schedule in line with your fulfillment requirements. For example, if warehouse activity stops at 6pm, you might run this flow at 7pm each day.

Connector (Shopify)

If you did not add or select a Shopify instance during the blueprint installation process, the following settings must be configured: Source instance : Set to your required Shopify instance. Source endpoint : Set to POST Get fulfilled orders via graphql Filter : The default filter references the datefrom flow variable as below:

Connector (Brightpearl)

If you did not add or select a Brightpearl instance during the blueprint installation process, the following settings must be configured: Source instance : Set to your required Brightpearl instance

Source endpoint : Set to GET Search orders Parameters : A default filter is defined to search (and match) on externalRef where the value is set to [[payload.ref]].

Connector (Brightpearl)

If you did not add or select a Brightpearl instance during the blueprint installation process, the following settings must be configured: Source instance : Set to your required Brightpearl instance

Source endpoint : Set to GET Get goods out note Order ID : Set to [[payload.order_id]].

Connector (Shopify)

If you did not add or select a Shopify instance during the blueprint installation process, the following settings must be configured: Source instance : Set to your required Shopify instance. Source endpoint : Set to POST Get order for fulfillment via graphQL Order ID : Set to [[payload.id]]

Connector (Shopify)

If you did not add or select a Shopify instance during the blueprint installation process, the following settings must be configured: Source instance : Set to your required Shopify instance. Source endpoint : Set to POST Fulfill orders via graphQL Fulfillment Order ID : Set to [[payload.id]] Tracking Number : Set to [[payload.tracking]] Company : Set to [[payload.company]]

Reference

Reference information for this process flow is documented in the following sections:

Scripts in this process flow

Script
Summary

Reformat payload for filter

Takes raw Brightpearl API response data and transforms it into a clean, standardised structure. If no fulfillment data is found, the item is rejected.

Cross-reference lookups in this process flow

This process flow does not use cross-reference lookups.

Last updated

Was this helpful?