Magento for salon supplies: who can buy, what they see, how it ships
Building Magento for salon supplies means building a store that some visitors are not allowed to fully use. Stylists, barbers and estheticians need their license checked before they see trade prices. Professional-only brands do not want their products bought in bulk and resold on marketplaces. And one hair color line can run to dozens of shades, plus developers that count as hazardous goods once they ship. Here is what I set up for each of those.
- License number and state checked before an account sees trade prices
- Prices and add to cart hidden from guests and unverified accounts
- Order caps on professional-only brands to limit diversion
Where a salon supply store differs from a beauty shop
A consumer beauty store wants everyone to see every price. A salon supplier usually wants the opposite, and that one difference touches registration, pricing, search and checkout.
-
Licensed Accounts need checking
Most state boards publish a public license lookup, but few offer an API a store can rely on. In practice the stylist enters a license number and state, and someone on your team checks it. Magento Open Source has no approval step for new accounts, so the store needs one before trade prices can be shown safely.
-
Hidden Trade prices are not for everyone
A pro price that guests can see gets copied by price comparison sites and seen by salon clients. Showing different prices to different customer groups is native Magento. Hiding the price and the add to cart button from guests is not part of Open Source, so it needs a small module or an extension, and the price has to stay out of the page source and the API too.
-
Pro only Brands watch where stock goes
Professional hair care brands often sell only through authorized distributors and work hard to stop diversion, where stock bought at trade price turns up on marketplaces or in discount stores. A supplier that cannot show how it limits large orders can expect questions from the brand. Magento can cap the quantity per order out of the box, which is where I start.
-
Shades One color line, many SKUs
A permanent color line has a shade for every level and tone, each its own SKU, plus developers in several volumes and back bar sizes next to retail sizes. Colorists search by shade number, not by product name. With clean shade data the catalog is easy to use. Without it, they phone the rep instead.
What I configure, and what I write code for
Magento Open Source covers part of this through customer groups, swatches and tax classes. The license gate and price hiding are custom, and I keep that code small so upgrades stay easy.
-
License check and account approval
The registration form asks for license type (cosmetology, barbering, esthetics, nails), license number, state and expiry date. New accounts land in a pending customer group, and your team gets an email with a link to the state board lookup. Once approved, the account moves to the professional group. Because the expiry date is stored, the store can ask for an updated license before it lapses instead of after.
-
Prices hidden until approval
Guests and pending accounts see the product, photos and description, with a “log in for pro pricing” prompt where the price and add to cart button would be. Professional accounts see their group price, set with tier prices or catalog price rules. On Adobe Commerce, shared catalogs and category permissions cover much of this. On Open Source I add a small module and check that the price is also missing from the page source, the GraphQL API and the cached page guests receive.
-
Professional-only brands
Some brands should be visible to approved salons only, and some only in the states you are authorized for. I mark those products with a restriction attribute, hide them from the wrong groups, and check the shipping address against your authorized states at checkout. Magento’s Maximum Qty Allowed in Shopping Cart setting, set per product under Advanced Inventory, caps how much fits in one order. Limits per account per month need a small module.
-
Shades, developers and back bar sizes
I set up a color line as a configurable product with shade as a visual swatch, so the colorist picks from something that looks like the shade chart. Shade numbers go into the search index, so typing “7N” works. Developer volumes and back bar or retail sizes are separate options. A starter color kit can be a bundle product, which keeps stock correct for every shade inside it.
-
Aerosols and developers in shipping
Hairspray and other aerosols, and the stronger peroxide developers, are regulated as hazardous materials in transport. They usually ship by ground in limited quantity packaging, and some carrier services will not take them by air at all. These products get a hazmat attribute, a small shipping module removes air services when one is in the cart, and the packing slip warns the warehouse. Your carrier and your shipping advisor set the exact rules.
-
Resale certificates and sales tax
Salons that resell retail products to their clients can usually buy those without sales tax by giving a resale certificate. The customer uploads it through a small form on their account page, your team checks it, and the account moves to a customer group whose tax class charges no sales tax. I store the expiry date and send a reminder before it runs out. Which states accept which forms is a question for your accountant.
Your quote
Get a fixed quote for your project
Send your store URL and describe what you want to change. We can review the requirements and agree a written scope, quote and timeline before work starts.
- Free first call
- Written scope, price and timeline
- You approve every change
Five steps from audit to a license-verified storefront
Audit → plan → build → deploy → stabilise. Tuned for B2B professional supply: brand-portal contracts are audited, license verify is mocked on staging before go-live, and quarterly renewal sweeps keep the catalog clean.
-
01
Audit
License verification process review (which states have board APIs, which need manual), brand portal contract status (Wella Pro / L’Oréal Pro / Olaplex Pro authorized-dealer terms), current trade-pricing visibility rules, tax-exempt cert workflow gaps, state chemistry restriction matrix audit, subscription program review. 1 week.
Baseline + gaps -
02
Plan
License verify API pick (per-state board API + manual queue thresholds), brand-portal access rules (territory + quantity caps for Olaplex Pro, customer-tier gates for Wella / L’Oréal), state chemistry restriction matrix, tax-exempt cert per-state matrix (CA / NY / FL / TX first), subscription provider pick (ReCharge vs Bold), customer-group + price-scope architecture. Written spec + Gantt.
Locked scope -
03
Build
Catalog (brand-restricted categories) + license verify module (board APIs + manual queue + 90-day renewal sweep) + customer-group trade pricing + state chemistry matrix + tax-exempt cert upload + subscription integration + Hyvä storefront. Built in 6-12 weeks depending on state coverage + brand-portal count. Smoke test on staging with mock cosmetology board lookup before go-live.
Build + UAT -
04
Deploy
Blue-green deploy with license verify smoke test (mock state board API on staging mirrors prod), brand-portal access UAT, tax-exempt cert path UAT, chemistry-block checkout UAT. Pre-warm Hyvä cache. War room for the first 48 hours. Fallback plan if board APIs degrade (manual queue handles overflow).
Live + verified -
05
Stabilise
Quarterly cosmetology license renewal sweep, monthly trade-price reconciliation against brand contract changes (Wella / L’Oréal / Olaplex update MSRP and authorized-dealer pricing 2-4x a year), per-state DOR rule check for tax exemption changes, state chemistry rule check. Optional ongoing retainer ($1.5k to $5k/mo).
Optimised + iterating
Free extensions that fit a salon supplies store
Open source under MIT. Hyvä and Luma, Magento 2.4.4 to 2.4.9.
-
Lets buyers attach files to an order, such as a PO or artwork.Order File Attachments for Magento 2
Free -
Downloadable files on the product page: manuals, data sheets, certificates.Product Attachments for Magento 2
Free -
Low stock warnings and back in stock emails.Low Stock & Back-in-Stock Alerts for Magento 2
Free -
Extra options on a product, such as size, engraving or a custom text.Custom Product Options for Magento 2 (Hyva + Luma)
Free
What clients say after working with me
Public reviews on Upwork. Same person, same rate card, same playbook for every B2B build.
Magento work and feedback View Upwork profile
-
Sports footwear and hockey shop, Netherlands -
Photo printing supplies wholesaler, Netherlands -
Educational toys and books shop
-
Kishan has done an excellent job in a timely manner. He is very knowledgeable, has a very positive attitude, easy to communicate.
Z. K.Magento 2 client -
He is technically strong, approaches problems thoughtfully, and focuses on stable, long-term solutions.
E. H.Magento 2 client -
Kishan was a pleasure to work with! He is highly skilled, professional, and delivered outstanding results on time.
M.Magento 2 client
- Working with salon suppliers in
- United States
- United Kingdom
- Canada
- Australia
- Ireland
- New Zealand
- South Africa
- India
Twelve questions B2B salon-supply owners actually ask
Book a free 30-min salon-supply Magento consultation
Tell me your brand portfolio (Wella Pro, L’Oréal Pro, Olaplex Pro?), state coverage, and current license-verify process. I’ll send a written platform-fit recommendation within 24 hours and include a 30-min calendar link if a call would help. No upsell.
Message me on WhatsApp
No form to fill. Send me a quick message. I reply during 10 AM to 7 PM IST, Monday to Saturday.
Helpful to mention
- Current platform
- Store URL
- Annual GMV (USD)
- Primary product category
- Compliance focus
- Main pain / why you’re looking at Magento
These are already in the message for you. Just add your answers.
Message me on WhatsAppOr save my number: +91 84012 70422