# Show RRPs to your trade customers

URL: https://docs.sparklayer.io/help/guides/show-rrp
Applies to: Shopify, BigCommerce, WooCommerce, Magento

Show each product's RRP (MSRP) beside the B2B price: copy your Shopify prices with a ready-made Flow, or fill in your whole catalogue from a spreadsheet.

> **Quick summary**
>
> - You'll end up with every product showing its RRP (also called MSRP) next to the customer's B2B price, for example "£6.75" with "RRP: £29.99", so trade customers see their margin.
> - The RRP lives in a field on each product variant, called `rrp`. SparkLayer adds the field for you; this guide is about filling it in without typing it product by product.
> - If your RRP is your Shopify price, a Shopify Flow fills it in for you. If it's a different price, or you sell in several currencies, fill it in from a spreadsheet. Allow about 20 minutes either way.
> - Works on Shopify, BigCommerce, WooCommerce and Magento. Wix doesn't support metafields, so RRPs aren't available on Wix.

Each variant's `rrp` field holds its retail price and the currency, written like this: `[{"value":29.99,"currency_code":"usd"}]`. The value is a decimal amount, such as `29.99`, not a number of cents or pence. You never have to type that by hand: every route below writes it for you.

## Choose your route

| Your RRP is | Use | How it stays up to date |
| --- | --- | --- |
| The same as your Shopify price | [Shopify Flow](#copy-your-shopify-prices-with-shopify-flow) | Automatically, every hour |
| A different price, or in several currencies | [A spreadsheet](#fill-in-rrps-from-a-spreadsheet) | Import again when your RRPs change |
| Only needed on a few products | [By hand](#fill-in-a-few-products-by-hand) | Edit the product |

Using Shopify Flow? It fills in products as they change, so do a one-off [spreadsheet import](#fill-in-rrps-from-a-spreadsheet) first to cover the products you already have.

## Before you start

- **The RRP field.** On Shopify, go to **Integrations > Platform > Metafields** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/integrations/platform)), or **SparkLayer Wholesale > Integrations > Platform > Metafields** in the Shopify app, click **Configure** next to **SparkLayer metafields** and enable the RRP field. On other platforms, your developer adds a variant-level `sparklayer.rrp` field of the type JSON: see [Metafields](https://docs.sparklayer.io/developers/data/metafields.md).
- **Your currency code**, in lowercase: the 3 letters for the currency your B2B prices are in, such as `usd`, `gbp` or `eur`.

## Copy your Shopify prices with Shopify Flow

**Shopify only:**

### Step 1. Install Shopify Flow

[Shopify Flow](https://apps.shopify.com/flow) is a free Shopify app, available on every Shopify plan. Install it from the Shopify App Store.

### Step 2. Import our RRP workflow

1. Download our workflow: [Update RRP metafield when a product is updated](https://cdn.shopify.com/s/files/1/0612/7602/9065/files/Update_RRP_Metafield_when_product_updated.flow?v=1772815525).
2. In your Shopify admin, go to **Apps** > **Flow** and click **Import**.
3. Click **Add files**, choose the file you downloaded and click **Import**.

### Step 3. Set your currency and timing

The workflow opens in Flow's editor. Before you turn it on, change two settings:

1. Click the **Get product variant data** step. In its **Query**, change `15 minute` to `60 minute`. The workflow runs once an hour, so this makes it pick up every change since its last run.
2. Click the **Update product variant metafield** step. In its **Value**, change `gbp` to your currency code, for example `usd`.
3. Click **Turn on workflow**.

**What the workflow does**

Once an hour, it finds the variants that changed in the last hour, up to 100 of them, and writes each one's Shopify price into its `rrp` field. New products are included, because adding a product counts as a change. 100 is the most Flow's **Get product variant data** step can return in one run.

### Step 4. Fill in the products you already have

The workflow only picks up products as they change. Fill in your existing catalogue once with a [spreadsheet import](#fill-in-rrps-from-a-spreadsheet), using your **Variant Price** column as the RRP.

**BigCommerce and WooCommerce and Magento only:**

Shopify Flow is only on Shopify. On BigCommerce, WooCommerce and Magento, fill in your RRPs [from a spreadsheet](#fill-in-rrps-from-a-spreadsheet).

## Fill in RRPs from a spreadsheet

A spreadsheet fills in every variant in one import, whatever your RRPs are. On Shopify, use the [Matrixify](https://apps.shopify.com/excel-export-import) app to export and import. On other platforms, use your platform's product export and import, or ask your developer.

### Step 1. Export your products

Export your products, including their variants, as an Excel or CSV file. Each variant has its own row, with its price. In Matrixify, export **Products**: the price is in the **Variant Price** column.

### Step 2. Add the RRP column

Open the file in Excel or Google Sheets and add a column for the RRP field. For Matrixify, head it `Variant Metafield: sparklayer.rrp [json]`.

Then fill in the form with the column that holds each variant's RRP: **Variant Price** if your RRP is your Shopify price, or a column you've added with your RRPs. It writes a formula that turns each price into the right format. Paste it into the first row of your new column, then fill it down to the last row.

Rows with no price stay empty, so those variants won't show an RRP. If your spreadsheet writes decimals with a comma, such as `29,99`, set its language to English for this file first, so prices come out as `29.99`.

### Step 3. Import the file

So nothing else changes, delete every column except the IDs and your RRP column. For Matrixify, keep **ID** and **Variant ID**: Matrixify uses them to find and update each variant. Then import the file.

## Fill in a few products by hand

For one or two products, enter the RRP and its currency in the form. It writes the value for you. Click **Copy**, open the variant in your store admin, paste the value into its `rrp` field and save.

**Lots of products? Fill them in one table (Shopify):** in your Shopify admin, go to **Products**, tick the products and click **Edit products**. Click **Columns**, tick the SparkLayer field under **Metafields**, type the values and click **Save**. See [Shopify's guide](https://help.shopify.com/en/manual/custom-data/metafields/bulk-edit-metafields).

## Choose how RRPs and savings show

Optional. At **Storefront > Options > Pricing and display** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/storefront/options)), or **SparkLayer Wholesale > Storefront > Options > Pricing and display** in the Shopify app, you can turn on **Base savings on RRP**, so savings are worked out from the RRP, and **RRP toggle**, so buyers can switch between the RRP and their own prices. Click **Save and publish**. See [How prices are shown](https://docs.sparklayer.io/help/pricing/pricing-display.md#show-an-rrp-msrp-price).

## Check it worked

Signed in as a B2B customer, or with [Try it out](https://docs.sparklayer.io/help/get-started/launching.md#place-a-test-order):

- **The product page shows the RRP** under the price, for example "RRP: £29.99", on each variant.
- **In your store admin**, a variant's `rrp` field holds a value such as `[{"value":29.99,"currency_code":"gbp"}]`, with your currency.
- **On Shopify Flow**, the workflow's **Runs** show it running each hour without errors.

## If something's not right

- **No RRP shows.** Check the value is on the variant, not the product, and that you're signed in as a B2B customer. The RRP's currency must match the currency of the customer's prices.
- **Only some products show an RRP.** With Shopify Flow, products that haven't changed since you turned it on have no RRP yet. Fill them in with a [spreadsheet import](#fill-in-rrps-from-a-spreadsheet).
- **The product shows the same RRP for every variant.** On a product with several variants, the RRP in the product summary is the first variant's, in your platform's variant order, and it doesn't change when the customer picks another variant. A range isn't available yet. Each variant's own RRP shows in the variant table. See [Show an RRP (MSRP) price](https://docs.sparklayer.io/help/pricing/pricing-display.md#show-an-rrp-msrp-price).
- **The RRP shows in the wrong currency.** The workflow still has `gbp` in its value. Change it to your currency code, as in [Set your currency and timing](#set-your-currency-and-timing).
- **A price changed but the RRP didn't.** The workflow updates up to 100 variants an hour. After a big price change, import your RRPs again from a spreadsheet. Check the workflow's **Runs** in Shopify Flow for errors.
- **You're on Wix.** Wix doesn't support metafields, so RRPs aren't available.

## Next steps

- [How prices are shown](https://docs.sparklayer.io/help/pricing/pricing-display.md): Every way to change how prices show, including RRP-only mode
- [Shopify Flow for B2B](https://docs.sparklayer.io/help/platforms/shopify/customisations/flow.md): More ready-made workflows for orders, customers and products
- [Set up wholesale prices](https://docs.sparklayer.io/help/guides/set-up-wholesale-prices.md): Give trade customers their prices
