🔄Import & Export Price List Rules
When managing large catalogs or tailoring numerous pricing schemes for different B2B customer tiers, manually creating each price list in the admin can be time-consuming. The Import & Export Price List feature allows you to bulk upload, update, or migrate Price List rules using a CSV file.
📤 Export Existing Rules
Go to B2B pricing › Price Lists, click More actions and choose Import & export.
On the Import/Export page click Export (the Export card).
Choose a file format: CSV or Excel. All price lists are exported, with each extra product on its own row.
The export runs as a background job with a progress indicator; you can keep working.
When it finishes, click the download link. Choose CSV if you want to import the file again.

Export from the rules list
You can also export without leaving the rules list:
Go to B2B pricing › Price Lists. Click Export above the rules list, or select rules and choose Export from the bulk actions.
In the Export rules window, choose what to export: Current page, All records, Selected records (when you have ticked rules) or the records matching your search (when a search is active).
Under Export as, choose CSV or Excel, then click Export rules.
The export runs in the background, so you can leave the page. When it finishes, click the download link.

📥 Import New or Updated Rules
Step 1: Download the Sample Template
Go to B2B pricing › Price Lists › More actions › Import & export.
Click Import.
Click Download sample CSV.
Delete every row under the column names before you upload, including the Required/Optional, Data type and Example rows and the example rules. The importer reads them as real rules.
Step 2: Fill in the CSV Template
Create a new rule
Leave the ID column blank.
Update an existing rule
Put the rule's ID (from an export) on the rule's first row only.
Multiple products in one rule
Put the rule settings and the first Product, Discount type and Discount value on one row. For each extra product add a row with only Product, Discount type and Discount value filled. Leave every other column blank, including ID and Name.
A row that repeats the ID or the name becomes a separate rule. List each product or variant only once per rule.
💡 Choosing the Right Discount Type
Merchants often ask which Discount type value to enter in the CSV. Below is a quick decision guide and complete reference:
Quick Decision Guide
"I want to sell this product for an exact wholesale price (e.g., exactly $45.00)" ➔ Choose
Fixed priceand enter45inDiscount value."I want to deduct a fixed dollar amount off the retail price (e.g., $10.00 off)" ➔ Choose
Decrease fixed amountand enter10inDiscount value."I want to offer a percentage discount off the retail price (e.g., 20% off)" ➔ Choose
Decrease fixed percentageand enter20inDiscount value.
Discount Type Reference & Comparison
Value to enter in CSV (Discount type)
Matching In-App UI Option
Calculation Formula
Value Format
Storefront Example (Original = $100.00)
Fixed price
Apply a decreasing price
Final Price = Discount value
Positive number (e.g., 80)
Value = 80 ➔ Final Price: $80.00
Decrease fixed amount
Decrease a fixed amount
Final Price = Original Price - Discount value
Positive number (e.g., 15)
Value = 15 ➔ Final Price: $85.00
Decrease fixed percentage
Decrease in percentage
Final Price = Original Price × (1 - Discount value %)
Number from 0 to 100 (e.g., 20)
Value = 20 ➔ Final Price: $80.00
Increasing price
Apply an increasing price
Final Price = Discount value (Markup)
Positive number (e.g., 120)
Value = 120 ➔ Final Price: $120.00
Increase fixed amount
Increase a fixed amount
Final Price = Original Price + Discount value
Positive number (e.g., 10)
Value = 10 ➔ Final Price: $110.00
Increase fixed percentage
Increase in percentage
Final Price = Original Price × (1 + Discount value %)
Number from 0 to 100 (e.g., 10)
Value = 10 ➔ Final Price: $110.00
Important Notes for Discount Values:
Exact Text: You must enter the exact CSV values shown above (case-sensitive, e.g.,
Fixed priceorDecrease fixed percentage).No Symbols: Enter plain numbers only in
Discount value— do not add currency symbols ($,€) or percentage signs (%).
📋 CSV Column Reference
The table below lists all supported columns in the Price List CSV template:
ID
Optional
Number
Rule ID. Leave blank when creating a new rule; fill in matching ID when updating an existing rule.
Name
Required
String
Internal name of the price list rule (e.g., VIP Wholesale Pricing).
Priority
Required
Number
Whole number from 0 to 99 (0 is highest priority).
Status
Required
String
enable or disable, in lower case.
Market
Required
String
All, or Region market names exactly as in Shopify admin, separated by commas.
Customer condition
Required
String
One of: All, Logged-in, Not logged-in, Specific customers, Customer tags, Company locations.
Customers
Conditional
String
Comma-separated list of customer emails, tags, or company location IDs (required when condition is Specific customers, Customer tags, or Company locations).
Exclude customer condition
Required
String
One of: None, Specific customers, Customer tags, Company locations.
Exclude customers
Conditional
String
Comma-separated list of customer emails, tags, or company location IDs to exclude.
Exclude product condition
Required
String
One of: None, Specific products, Specific variants, Specific collections, Specific tags.
Exclude products
Conditional
String
Comma-separated list of items to exclude, matching the condition above — product/variant IDs, titles, SKUs, or barcodes for Specific products / Specific variants, collection IDs or titles for Specific collections, or product tags for Specific tags. Required when Exclude product condition is not None.
Apply level
Required
String
Product (applies to all variants) or Variant (applies to specific variant).
Product
Required
String
One value per row. Product level: product ID, title, SKU or barcode. Variant level: variant ID, SKU or barcode.
Discount type
Required
String
One of: Fixed price, Decrease fixed amount, Decrease fixed percentage, Increasing price, Increase fixed amount, Increase fixed percentage.
Discount value
Required
Number
A number of 0 or more (e.g., 50 for $50, or 20 for 20%). Percentages go up to 100.
Start date
Optional
Date
YYYY-MM-DD (e.g., 2026-09-01). Fill Start date and Start time together; a start date without a start time is dropped.
Start time
Optional
Time
HH:MM or HH:MM:SS (e.g., 00:00).
End date
Optional
Date
YYYY-MM-DD, not before the start date. Kept only when Start date and Start time are filled; End date and End time are both needed for the price list to stop.
End time
Optional
Time
HH:MM or HH:MM:SS (e.g., 23:59).
Template changed: the old Exclude variants column has been replaced by two columns — Exclude product condition and Exclude products — so you can now exclude specific products, collections, or product tags as well as variants (same format as Custom Pricing). If you kept a CSV file exported before this change, export a fresh template and move your data into the new columns before importing again.
Sample CSV Structure
Here is an example showing how multi-product rules are structured in the CSV:
Step 3: Upload & Import
In the Import panel, choose your
.csvfile (up to 10 MB).Two options appear:
Overwrite rules with matching IDs: updates rules by their ID. The product list of each updated rule is replaced by the rows in your file.
Replace all existing rules: deletes every current price list before importing. Leave the ID column blank.
Click Validate and import.
We check the whole file and look up every customer, product and market in your store. Any problem stops the import and gives you
import_errors.csvwith the location, the error and the message. When the file passes, price lists are saved in the background and the status card shows how many rules succeeded; a rule that fails while saving is reported and the others are still saved.
Replace all existing rules is permanent. Export first to keep a copy.

✅ Best Practices & Troubleshooting
Always backup first: Export your existing rules to a CSV before performing bulk updates or replacements.
Keep column headers unchanged: Do not rename, remove, or rearrange header columns from the template.
One product/variant per row: Do not list multiple products or SKUs in a single
Productcell.Check file size limits: Ensure the file is under 10 MB and saved in
.csvformat (UTF-8). Import has no row limit and runs in the background, so you can leave the page.Counting: the status card counts price list rules, not CSV rows. A rule with 50 product rows counts as one.
Large lists: your storefront shows about the first 14,000 products of a single price list, so split very large lists into several price lists.
Use the app's own format: files from Shopify admin or other wholesale apps do not match. Start from Download sample CSV or an export of your price lists.
Propagation time: Once imported, rule updates write to store metafields and typically take 1–3 minutes to reflect across the live storefront.
Common errors
"Rule ID is not allowed when not use update" — your file has values in the ID column but Overwrite rules with matching IDs was not ticked. Tick it to update those rules, or clear the ID column to create new ones.
"ID not exists" — the ID belongs to a deleted rule or to another store.
Last updated
Was this helpful?