Skip to content
Try free for 14 days
English
EnglishFrenchSoonItalianSoonJapaneseSoonSpanishSoonPortuguese (Portugal)SoonGermanSoonCzechSoonDanishSoonFinnishSoonKoreanSoonNorwegian (Bokmål)SoonDutchSoonPolishSoonPortuguese (Brazil)SoonTurkishSoonChinese (Simplified)SoonChinese (Traditional)Soon
Open in Claude Ask questions about this pageOpen in ChatGPT Ask questions about this page

Import multiple products for Wholesale pricing setup

Create many wholesale pricing rules at once by uploading a CSV or XLSX file instead of building each rule by hand.

If you need to set up a large number of wholesale pricing rules, uploading a file is much faster than creating them one by one in the app. This import creates brand-new wholesale pricing rules — if you only need to add products and prices to a rule that already exists, use Import products into a wholesale pricing rule instead.

Create a CSV or XLSX file with one row per product/variant, using the columns described below. The file is read by column name, not by position — you can reorder columns, and you can leave out any column you don’t need. Every row that shares the same Rule Id value belongs to the same wholesale pricing rule.

The download sample only includes the minimum columns needed to get started (Rule Id, Status, Apply Customer, Apply Product, Apply Product ID, Apply Variant ID, Discount Type, Discount Value, plus example tag columns). The reference below covers every column the importer understands, including the optional ones the sample leaves out.

Note: Please split your products into batches of approximately 500 products per rule when importing. If your products have a large number of variants, the rule may fail to upload the data to the metafields successfully.

Full column reference
Column Required? Notes
Rule Id Yes Any value that groups rows together — rows sharing the same Rule Id become one wholesale pricing rule. It does not need to match a real rule ID.
Name No Name of the wholesale pricing rule. Defaults to “New Wholesale Pricing” if left blank.
Status No active or draft. Anything else is treated as draft.
Start Date No When the rule starts working.
End Date No When the rule stops working.
Apply Customer Yes The customer condition. One of: all, logged, non-logged, tags:tag1,tag2, or customers:id1,id2.
Exclude Customer Tags No Comma-separated customer tags to exclude, e.g. blocked,vip-exclude.
Exclude Customer IDs No Comma-separated customer IDs to exclude.
Apply Product Yes The product condition. One of: all, products, products:id1,id2, collections:id1,id2, or tags:tag1,tag2 (product tags).
Apply Product ID Conditional The product this row sets a custom price for. Required on any row that carries a per-product price. Leave blank on the rule’s first/summary row. See below for how to find a product’s ID.
Apply Variant ID No Fill in when the row sets a price for one specific variant rather than the whole product. See below for how to find it.
Exclude Products No Comma-separated product IDs to exclude from the rule.
Exclude Collections No Comma-separated collection IDs to exclude from the rule.
Exclude Gift Cards No TRUE to exclude gift card products.
Apply Market No all, or markets:handle1,handle2 to restrict the rule to specific markets.
Pricing Source No PRICE (Selling price) or COMPARE_AT_PRICE (Compare-at price). Defaults to PRICE.
Discount Type Yes percent, fixed (fixed amount off), or amount.
Discount Value Yes The discount value, e.g. 10 for 10% or $10 off depending on Discount Type.
(any other column name) No Extra trailing columns become segment columns — see below.

Segment columns: when Apply Customer is tags:... or customers:..., you can give each tag or customer a different price by adding one column per tag name or customer ID (matching the values used in Apply Customer), then filling in that segment’s Discount Value on the product’s row. A cell can hold a bare number (uses the row’s Discount Type) or a value with its own type, e.g. 10 percent, 10 fixed, 10 amount.

Building a rule across several rows: give the rule’s general settings (Name, Status, Apply Customer, Apply Product, discount, etc.) on its first row, then add one row per product/variant that needs a specific price — repeat the same Rule Id and leave the rule-level columns blank on those rows, filling in only Apply Product ID (and Apply Variant ID, if pricing a specific variant) plus the discount.

Finding a product ID: go to the Products folder in Shopify, open the product, and check the page URL — the product ID is the number at the end of the link.

Finding a variant ID: open the product, go to the variant you need, and click into it. The variant ID is the number at the end of that page’s URL.

Sample file: download wholesale_example.csv or wholesale_example.xlsx to see the format in action.

Once your file is ready, save it.

  1. From the app Dashboard, click Wholesale Pricing.

  2. You can also download a sample CSV or XLSX file here to see exactly what data each column needs.

  3. Review the file information, then click Upload and preview.

Was this helpful?