# Shopify > Brightpearl - order refunds

## Introduction

The process flow retrieves `refunded` orders from Shopify, searches for a correlating order in Brightpearl and adds a credit note.

## Process flow snapshot

<details>

<summary><img src="https://2440044887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLYNcUBVQwSkOMG6KjZfz%2Fuploads%2FSUvxsp8XwrC9qsafJMIe%2Ficon%20process%20flow.svg?alt=media&#x26;token=ad1dc886-4a4e-4cad-9ad0-3d755e0f3b5a" alt="" data-size="line"> Click to view process flow snapshot</summary>

<div align="left"><figure><img src="https://2440044887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLYNcUBVQwSkOMG6KjZfz%2Fuploads%2FYoIawJpwi553hp3NzVKP%2FShopify%20%3E%20Brightpearl%20-%20Order%20refunds%20-%20full%20flow.png?alt=media&#x26;token=b48e031c-99a2-4181-aa8f-eebd6a1cc709" alt="" width="340"><figcaption></figcaption></figure></div>

</details>

## Limitations

<table><thead><tr><th width="266.79296875">Limitation</th><th>Summary</th></tr></thead><tbody><tr><td>'Hard coded' tax code</td><td>The last map shape in this flow includes a <code>rows.*.taxCode</code> rule, where a transform function outputs the value as <code>T20</code>. Further development would be needed to retrieve and utilise other tax codes.</td></tr></tbody></table>

## Assumptions

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](#flow-variables)
* [Process shape shapes](#process-flow-shapes)

### Flow variables

The table below summarises [flow variables](https://doc.wearepatchworks.com/product-documentation/process-flows/building-process-flows/dynamic-variables/flow-variables) defined for this process flow.

<table><thead><tr><th width="163.5078125">Flow variable</th><th>Summary</th><th>Default value</th></tr></thead><tbody><tr><td>datefrom</td><td>Set the relative number of days to look back for updates. Update the default value as required.<br><br>This variable is referenced in the first Shopify connector, where a filter query is defined to determine which refunds to pull.</td><td>-1 hour UTC</td></tr></tbody></table>

{% hint style="info" %}
For information on working with flow variables, please refer to our [flow variables documentation](https://doc.wearepatchworks.com/product-documentation/process-flows/building-process-flows/dynamic-variables/flow-variables).
{% endhint %}

### Process flow shapes

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

{% hint style="warning" %}
Shape settings determine the outcome of process flows. Do not change shape settings unless they are listed below.&#x20;
{% endhint %}

<table data-full-width="false"><thead><tr><th width="220.09375">Shape</th><th>Notes</th></tr></thead><tbody><tr><td>Trigger</td><td>The default schedule for this flow is to run <code>every hour</code>. This is the recommended run frequency but the schedule can be changed if necessary.</td></tr><tr><td>Connector (Shopify)</td><td><p>If you did not add or select a Shopify instance during the blueprint <a href="../installation-guide-shopify-and-brightpearl">installation process</a>, the following settings must be configured:<br><br><code>Source instance</code> : Set to your required <code>Shopify</code> instance.<br><code>Source endpoint</code> :  Set to <code>POST Get refunded orders via graphql</code><br><code>Filter</code> : The default filter references the <code>datefrom</code> <a href="#flow-variables">flow variable</a> as below:</p><pre data-overflow="wrap"><code>financial_status:refunded AND updated_at:>='{{flow.variables.datefrom}}'
</code></pre><p>If you need to pull more information for refunded orders, you can extend this query. If you do so, check subsequent map shapes to ensure new fields are mapped where needed. </p></td></tr><tr><td>Connector (Brightpearl)</td><td><p>If you did not add or select a Brightpearl instance during the blueprint <a href="../installation-guide-shopify-and-brightpearl">installation process</a>, the following settings must be configured:<br><br><code>Source instance</code> : Set to your required <code>Brightpearl</code> instance</p><p><code>Source endpoint</code> :  Set to <code>GET Search orders</code><br><code>Parameters</code> :  A default filter is defined to search (and match) on <code>externalRef</code> where the value is set to <code>[[payload.name]]</code>.</p></td></tr><tr><td>Connector (Brightpearl)</td><td><p>If you did not add or select a Brightpearl instance during the blueprint <a href="../installation-guide-shopify-and-brightpearl">installation process</a>, the following settings must be configured:<br><br><code>Source instance</code> : Set to your required <code>Brightpearl</code> instance</p><p><code>Source endpoint</code> :  Set to <code>GET Order details</code><br><code>Id</code> :  Set to <code>[[payload.order_number]]</code>.</p></td></tr><tr><td>Connector (Brightpearl)</td><td><p>If you did not add or select a Brightpearl instance during the blueprint <a href="../installation-guide-shopify-and-brightpearl">installation process</a>, the following settings must be configured:<br><br><code>Source instance</code> : Set to your required <code>Brightpearl</code> instance</p><p><code>Source endpoint</code> :  Set to <code>POST Create sales credit note</code></p></td></tr></tbody></table>

## Reference

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

* [Scripts used in this process flow](#scripts-in-this-process-flow)
* [Cross-reference lookups used in this process flow](#cross-reference-lookups-in-this-process-flow)

### Scripts in this process flow

<table><thead><tr><th width="293">Script</th><th>Summary</th></tr></thead><tbody><tr><td>Bp Order refunds</td><td><ul><li>Builds a SKU → refund amount map from Shopify refund line items.</li><li>Matches those SKUs against Brightpearl order rows.</li><li>Collects matched Brightpearl items, attaching their refund amount and basic BP order/customer info.</li><li>Extracts the total Shopify refund amount and currency.</li><li>Outputs a structured JSON containing all matched BP rows with refund amounts plus the overall refund summary.</li></ul></td></tr></tbody></table>

### Cross-reference lookups in this process flow

This process flow does not use cross-reference lookups.
