You have a handful of trade customers. You want them to log in and see their own prices — not a discount code they have to remember, and not a separate wholesale store you have to keep in step with the retail one.
On Shopify that is harder than it sounds, and the reason is worth understanding before you pick a solution.
Why "customers with this tag pay this price" is not built in
It seems like it should be a setting. It is not, and there are two separate reasons:
- Automatic discounts cannot read customer tags. A discount created through Shopify's Admin API has no customer targeting at all. Tag-based conditions exist only for discounts backed by a Shopify Function, which is developer work plus a theme extension — not something you configure.
- Native B2B targets companies, not tags. Shopify's own B2B is genuinely good, but it works by assigning a catalog to a company location. Your trade customers have to exist as companies with locations, and your staff have to maintain that structure.
Native B2B is now available on every Shopify plan. What stays behind the Plus paywall is scale: unlimited catalogs and assigning a catalog straight to a company location. On other plans you get up to three catalogs, through Markets.
The two honest options
| Approach | What it needs | Best when |
|---|---|---|
| Native B2B catalogs | Companies and company locations set up in Shopify. Plus for unlimited catalogs and direct assignment. | You have real trade accounts with multiple buyers, purchase orders, and payment terms. SheetSync edits these prices directly. |
| Tag-based pricing via an app | A customer tag. Works on any plan. | You have a wholesale price list and a list of customers who should see it. No company structure to maintain. |
For most smaller merchants the second is the right answer, and the app we point people at is BSS B2B Solution.
Where SheetSync fits
BSS applies the pricing. It is not where you want to build the pricing — typing several hundred wholesale prices into any app's interface is miserable, and there is nothing to check your work.
SheetSync gives you the price list as a Google Sheet: every variant, its current retail price, and an empty column for the wholesale price. You fill in the column with formulas, a paste from your supplier's file, or whatever you already use. Then SheetSync generates the import file BSS expects.
One thing worth knowing up front
This is the only part of SheetSync that does not write to Shopify. Every other tab pushes your edits into the store. B2B pricing produces a file you upload to BSS — so pressing Push to Shopify anywhere else will never touch your wholesale prices.
How it works, start to finish
1. Install BSS B2B Solution
Install BSS B2B Solution from the Shopify App Store.
Use the code BSSAFP484 when you sign up.
2. Tag your trade customers
In the Shopify admin, tag the customers who should get wholesale pricing — wholesale, or whatever suits your store. The tag is the whole mechanism: tagged customers see the price, everyone else sees retail.
3. Create the price list in SheetSync
Open the B2B Pricing tab in SheetSync and create the spreadsheet. You get one row per variant, with its product name, variant name, SKU and current retail price, plus three Tag / Wholesale Price pairs.
Put the tag from step 2 and a price on the rows you sell at trade rates. Leave a row blank to exclude it — blank means "no wholesale rule", not "free".
The pairs are what make this flexible: price the same variant at 80 for wholesale and 70 for distributor, and SheetSync produces two BSS rules from that one row. You are not limited to a single wholesale tier.
4. Generate and import
Press Generate BSS Import File. SheetSync validates every priced row first and tells you what it found:
- A cell that is not a number is rejected. It is never read as zero — a typo cannot quietly turn into a free product.
- A price of zero, or one at or above the retail price, is kept but flagged, so an accidental markup does not reach your customers unnoticed.
- Currency symbols and thousands separators are fine.
£1,250.00reads as 1250.00.
Fix anything it reports, generate again, then download the generated tab as CSV and import it in BSS.
Changing prices later
Refresh from Shopify to pick up new variants and current retail prices — your wholesale column and settings are kept. Edit, generate, re-import. BSS replaces the rule rather than stacking a second one on top, as long as the rule name stays the same.
If you use native B2B instead
SheetSync manages native catalog pricing too, and that one does write straight into Shopify. Open the B2B Pricing tab and it lists the catalogs your store already has. Create the spreadsheet and you get a row per variant with a price column for every catalog, plus three volume-tier pairs each — buy 10, pay this; buy 50, pay that.
Pushing writes those prices into the catalogs’ price lists, and only what changed is sent. A blank price cell clears that catalog’s price for the variant, so the location falls back to whatever the price list’s own adjustment produces.
This needs a catalog assigned to a company location, which means you have set up Companies in Shopify. If you have not, the tag-based route above is almost certainly what you want.
Disclosure
BSS B2B Solution is a separate app from a separate company, with its own pricing. The code above is a referral code, and we may earn a commission if you subscribe through it. We recommend it because it is the approach we would use ourselves on a non-Plus store — not because of the commission, and the SheetSync side works identically whether you use the code or not.
Build the price list where it is easy to build
SheetSync gives you every variant and its retail price in a Google Sheet, checks your wholesale column, and generates the import file. Seven-day free trial, no credit card.
Try SheetSync free