Automation library

Sync wholesale price lists from one master to every place buyers see a price

Updated · By Ecomsellertool editorial team

Short answer

To sync wholesale price lists, keep every B2B price in one master, a sheet or your ERP, with a change type and an effective date on each row. Rules then write each change to the place buyers see it, such as a Shopify B2B catalog's price list, on the effective date, after buyers had notice and a person approved anything that lowers margin or changes a contract price.

  • Shopify B2B allows up to 3 active B2B catalogs on the Basic, Grow and Advanced plans; Plus allows unlimited catalogs and catalogs assigned directly to a company or location (checked October 19, 2026).
  • Quantity rules and quantity price breaks are on all four Shopify plans, with up to 10 price breaks per product (checked October 19, 2026).
  • In a Shopify catalog, fixed prices override the overall percentage adjustment, and when one location has several directly assigned catalogs, the buyer sees the lowest price.
  • Shopify's quantityPricingByVariantUpdate mutation sets fixed prices, price breaks and quantity rules in one call, and applies none of them if any change fails.
  • A Shopify rollout can schedule a catalog's status change only for market catalogs; catalogs assigned directly to a company or location cannot be scheduled.
  • In this recipe fixed rules write every price; an AI model only drafts the buyer notice, and a person approves contract, margin and notice decisions.

The step map: who runs each step

Trigger: A price change is saved in the master price list (a sheet or the ERP) with its change type and effective date, plus a daily run that publishes every change whose effective date has arrived.

Each step of the workflow in order, and whether a fixed rule, an AI model or a person runs it
StepWhat happensWho runs it
1A change is entered in the master: SKU, buyer or price tier, new price or break, change type, effective date and reason. Rules reject rows with a missing date, a currency that does not match the tier, or a SKU that does not exist.Rule
2The workflow classifies the change with the propagation table, works out every price that follows from it (tiers built as a percentage of list, volume breaks, market prices) and checks each one against the cost floor and any MAP floor.Rule
3It lists who is affected: the buyers on each changed tier or contract, their open quotes and draft orders, and the date notice must go out to meet the notice period.Rule
4An AI model drafts the buyer notice from the change list in your template: what changes, from when, and which items. It never sets or changes a price, and the text goes to a person before it is sent.AI model
5A person approves the changes the table marks for approval, such as contract prices, price decreases below the margin floor and short-notice increases, and approves the notice text.Person
6Notices go to each affected buyer on the notice date, logged against the account, and the change waits until its effective date.Rule
7On the effective date, rules write the change where buyers see it: the Shopify price list behind each catalog, the quantity price breaks and rules, and any other wholesale channel or the ERP itself.Rule
8The workflow reads every written price back, compares it with the master, and logs the old price, the new price, who approved it and when. Mismatches go to the price list owner.Rule

6 rule steps · 1 AI model step · 1 person step. A rule follows fixed logic you approve; an AI model handles messy input and its output is checked by rules; a person makes the calls listed below.

Person

What stays with a person

  • Buyer-specific contract prices: new contracts, changes and expiries
  • Any price below the margin floor, and any decrease that would also lower a contract buyer's price
  • Increases with less notice than your terms or contracts promise
  • The wording of every buyer notice before it is sent
  • Open quotes and draft orders priced before the change: honor the old price or requote
Tools

Which tools can run it

  • Shopify's own catalog CSV import and percentage adjustments, for one or two price tiers that change a few times a year
  • Zapier, Make or n8n reading a master sheet, for a few catalogs and simple fixed prices, with a read-back check after each run
  • Custom code on your accounts, for contract prices, volume breaks, effective dates, several currencies and an ERP that must agree

Systems it connects

  • Master price list (Google Sheets, Excel or the ERP)
  • Shopify B2B catalogs, price lists and quantity pricing
  • ERP or accounting system item prices
  • Other wholesale channels and buyer portals
  • Email for buyer notices
  • Slack or email for approvals and exceptions

Build size: Medium

Each write is one API call; the work is agreeing the change types, who approves each one, and how tiers and contracts relate to list price.

Wholesale prices drift for a dull reason: they live in too many places. The price list sits in a spreadsheet or the ERP, someone copies it into Shopify's B2B catalogs, a contract price lives in an email, and the buyer portal or the next PDF price sheet gets updated when someone remembers. Then a buyer orders at last quarter's price, or sees a contract price that expired in March. This recipe keeps one master, publishes each change outward on its effective date, and gives a person only the decisions that need judgment. It is one page of our automation library.

Which price changes go where, and who approves them?

This table is the core of the build, and you can use it today even if every price is still typed in by hand. Each row is one kind of change: where its truth lives, where it is written, when it takes effect and what a person signs off. The Shopify objects are from Shopify's PriceList reference, its catalog pricing guide and its quantity pricing guide (all checked October 19, 2026). Notice periods are examples to replace with your own terms.

Change typeSource of truthWhere it is written (API object or channel)TimingWhat a person approves
List price increaseMaster price list, list columnThe fixed prices in each tier's price list, or the tier's percentage adjustment if the tier is built that way; then the ERP item priceEffective date set by you; notice sent first, for example 30 days aheadThe increase and its date once; the notice text
Buyer-specific contract priceThe contract record: buyer, SKUs, price, start and end datesFixed prices in that buyer's own catalog price list (direct company catalogs are a Plus feature)Contract start date; the expiry is a dated change of its ownEvery new contract, change and expiry
Volume breakMaster, break columns per SKU and tierQuantity price breaks on the tier's price list, up to 10 per product, each above the minimum and matching the incrementSame effective date as the price it belongs toBreaks that take the unit price below the margin floor
Effective-dated change (any type)The effective date on the master rowHeld by the workflow; written on the date. Market catalogs can be switched by a Shopify rollout; direct catalogs cannotNotice date = effective date minus your notice periodAny change entered with less notice than the terms promise
Currency or market priceMaster, one price column per currencyA price list per currency (the price list's currency field) behind each market catalogWith the list change, or on its own date when exchange rates moveRounding rules, and any market price that breaks the floor
Discontinued SKUMaster status column, with the last order dateRemoved from the catalog's publication so buyers stop seeing it; the fixed price is not simply deletedLast order date announced in the notice; removal on that dateSubstitutes offered to buyers, and open orders for the SKU
MAP floorYour MAP policy, per SKUChecked only: no wholesale price is written; suggested retail and any price you show buyers must sit at or above itChecked on every change before approvalAny change that conflicts with the floor (not legal advice)

Two Shopify behaviors decide how you set up the tiers. First, fixed prices override a catalog's overall percentage adjustment, so a list increase moves tiers built as a percentage but leaves fixed contract prices alone. Second, removing a fixed price does not hide a product: the PriceList reference says variants then fall back to the price list's adjustment, which is why a discontinued SKU is removed from the catalog's publication instead.

What should the effective-date and buyer-notice checklist cover?

Every dated change passes the same checks before anything is sent or written. Work through this list for each batch of changes:

  • The master row has a change type, an effective date and a reason
  • The notice date is the effective date minus the notice period in the buyer's terms or contract
  • Every affected buyer is listed: the tiers they buy on, and any contract that overrides the change
  • Contract prices that expire before or on the effective date have a person's decision
  • Open quotes and draft orders priced before the change are listed, with a decision to honor or requote
  • Volume breaks still descend as the quantity rises, and each break matches the minimum and increment
  • No new price is below the cost floor, and nothing you show buyers sits below a MAP floor
  • Prices in each currency are rounded by your rule and checked against the floor in that currency
  • The notice says what changes, from which date, for which items, and who to ask
  • On the effective date, written prices are read back and compared with the master

The order matters. Notice goes out before the write, and the write waits for the date, so a buyer never sees a new price they were not told about. If your terms promise 30 days, a change entered with 20 days to go is held and sent to a person rather than published on time with short notice.

How do Shopify B2B catalogs and price lists fit together?

In Shopify, a catalog decides who sees what, and a price list decides what they pay. The CompanyLocationCatalog object links company locations to an optional publication, which controls which products they see, and a price list, which sets their prices (checked October 19, 2026). A catalog is created with catalogCreate, a price list with priceListCreate, which takes a unique name, a currency for fixed prices and a percentage adjustment relative to your base prices (both checked October 19, 2026).

Plan limits shape the design. Shopify's B2B features by plan page says Basic, Grow and Advanced allow up to 3 active B2B catalogs across all B2B markets, while Plus allows unlimited catalogs and direct company catalogs assigned to a company or location; quantity rules and quantity price breaks are on all four plans (checked October 19, 2026). On the lower plans, buyers share a few tiers. Buyer-specific contract prices, as their own catalogs, need Plus.

Which price a buyer sees follows two rules from the catalog pricing guide. When one location has several catalogs assigned directly and a product has different prices, the store shows the lowest. When a location catalog and a market catalog both apply, the location's price wins, even when it is higher. So a contract price increase can stay invisible if a second direct catalog still carries a lower price for the same item; the workflow checks every catalog on the location before it reports a change as live.

How does the workflow write a price change?

Through the price list, one call per batch. Shopify's quantityPricingByVariantUpdate sets fixed prices, quantity price breaks and quantity rules on one price list in a single call, runs deletes before creates and applies none of the changes if any one fails (checked October 19, 2026). It needs the write_products scope and a shop with B2B turned on. For fixed prices alone, priceListFixedPricesUpdate adds and removes variant prices in one call (checked October 19, 2026).

All-or-nothing writes suit price lists: a buyer never sees half a change. They also mean one bad row blocks the batch, so the workflow validates every row before the call and splits large changes by price list. One warning from the PriceList reference: changing a price list's currency removes all its fixed prices, so a currency change is planned as a new price list, never an edit of the old one.

For dates, Shopify's catalog overview says a rollout can schedule a catalog's status change only for a catalog created for a market, and catalogs assigned directly to a company or location cannot be added to one (checked October 19, 2026). Rollouts schedule changes to your theme, discounts and product catalogs ahead of time (checked October 19, 2026). For a market tier you can prepare the new catalog and let a rollout switch it on; for direct contract catalogs, the workflow writes on the date.

Other places buyers see prices get the same change from the same master: the item price in your ERP, a buyer portal, a PDF price sheet regenerated from the master, and wholesale marketplaces. Each marketplace sets its own price rules, so check its current policy before the first sync.

What stays with a person?

Every decision that changes a commercial promise. The rules compute prices, date notices and write changes; a person approves contract prices, increases with short notice and anything below the margin floor. A person decides what happens to quotes and draft orders priced before a change, because honoring the old price for a large open order is a relationship call. A person reads every notice before it goes out. And the MAP floor is your policy, so questions about it go to your lawyer, not to the workflow.

The people side runs both ways. When buyers email orders at old prices, our B2B order entry recipe catches them: it checks every incoming line against the price list this recipe keeps current. Disputes over price differences then reach our net terms invoice reminders as a pause, not another reminder.

Which tool should run it?

The simplest one that knows your tiers, contracts and dates.

LevelFits whenWhat to watch
Shopify's catalog CSV import and percentage adjustmentsOne or two tiers, few contracts, a few changes a yearThe catalog guide says exports include only fixed prices, and imports need the Fixed Price field filled; keep the master as the copy you edit
Zapier, Make or n8nA master sheet, a few catalogs, simple fixed pricesLog every run and read prices back, or a failed write goes unnoticed until a buyer orders
Custom code on your accountsContract prices, volume breaks, effective dates, several currencies and an ERPCan run on Ecomsellertool Growth OS beside your order and stock flows

If you are choosing between the workflow tools, our Zapier vs Make vs n8n comparison covers how they count work, and our guide to what Shopify Flow automates covers the built-in option. Prices and stock usually travel together: our multichannel inventory sync recipe keeps one stock count the same way this one keeps one price list, and margins per tier are easier to set once you know each SKU's contribution margin.

Who builds wholesale price list sync?

Ecomsellertool builds workflow automation on your own accounts and systems. We have built software on Amazon's seller APIs since 2017, shipped integrations for 20+ marketplaces and 50+ tools for 100+ teams. For price list sync we write your propagation table with you first, then connect the master, the approvals, the notices and the writes. Send a project brief below, or read how our workflow automation service works.

The building blocks are work we have shipped:

  • Price-change rules per marketplace and country. For Ecom Global, a platform built for 100M+ products, 20+ marketplaces and 13+ carriers, we built a pricing formula engine that recalculates sell prices from vendor buy price, duties, shipping, commission, profit and buffer, with price-change rules that run per marketplace and per country.
  • A log of every old and new value. For TRAKTOR we built a rules engine whose log records each rule, the campaign, the previous and new budget values and a timestamp for every update. That is rule-based automation we built, the same audit trail a price change needs.
  • Walmart price updates. For IVCSR we built an Amazon and Walmart system whose Walmart module creates and updates items, prices and inventory.

Get your price list sync built

Send us your price list and how it changes

Describe the workflow you want automated. We reply with a written plan: scope, timeline and a fixed price.

A few sentences is enough: what happens today, who does it and how often.

Starts when you fill in the form

A quick private check that runs in your browser. No tracking, no puzzles.

A person reads every brief. You get a written plan within 2 business days; no obligation.

Frequently asked questions

How do I keep wholesale prices in sync between a spreadsheet and Shopify B2B?

Make the spreadsheet or your ERP the only place prices are edited, and treat each Shopify catalog's price list as an output. Each row needs a SKU, a tier or buyer, a price, a change type and an effective date. A workflow writes due changes to Shopify through its catalog and price list API, reads the prices back and reports any that do not match.

Which Shopify plans include B2B catalogs and volume pricing?

Shopify's B2B plan page lists B2B on Basic, Grow, Advanced and Plus. Basic, Grow and Advanced allow up to 3 active B2B catalogs; Plus allows unlimited catalogs and catalogs assigned directly to a company or location. Quantity rules and quantity price breaks are on all four plans.

Can Shopify schedule a wholesale price change for a future date?

Partly. Shopify's rollouts can schedule a catalog's status change for catalogs created for a market, but catalogs assigned directly to a company or location cannot be added to a rollout. For those, the workflow holds the change and writes the new prices on the effective date itself.

How much notice should wholesale buyers get before a price increase?

Whatever your terms and contracts say, so read them first. How long, and whether open orders keep the old price, is a commercial choice, not a platform rule. Write the notice period down per tier and per contract so the workflow dates every notice the same way. This is not legal advice.

What happens to a buyer's contract price when my list price changes?

Nothing, if the contract price is a fixed price. In a Shopify catalog, fixed prices override the catalog's percentage adjustment, so a list increase moves tier prices built as a percentage but leaves contract prices alone. That is usually right, and it is why contract expiries need their own date and a person's review.

Should an AI model set wholesale prices?

Not in this recipe. Prices come from the master and the rules you approve. The AI model drafts the notice that tells buyers about a change, which a person reads before it goes out. Pricing decisions such as contract terms, discounts and floors stay with your team.

Jaimin Dholakia, founder of Ecomsellertool
Jaimin Dholakia · Founder
Schedule a call

Get this workflow built on your own systems.

Prefer to talk the workflow through first? Schedule a free call with the engineers who would build it. Selling on Amazon? The free 24-hour diagnostic finds the operations gaps in your account: connect it with Login with Amazon, on Amazon’s own consent screen (we only read data; we never change listings, prices, stock or ads), and get a report within 24 hours of connecting, on business days.

Free · 30 minutes · Pick any open slot