Chat on WhatsApp
Industry · Hair extensions + wigs

Magento for hair extension + wig brands: color matrix, B2B salon, medical wig done right

Hair is uniquely brutal to commerce platforms. Color matching across 10+ shades × highlights × balayage × ombre is the #1 returnable factor. B2B salon trade needs cosmetology license verification before trade pricing exposes. Medical wigs are FSA/HSA eligible with Letters of Medical Necessity. Subscription auto-ship for clip-ins and tape-ins runs 3–5x LTV. Magento + Hyvä handles all of it — I’ve shipped 7+ years of B2B beauty and DTC builds across the EU, US, UK, and India.

  • Color-matching matrix that handles 600+ variants per product family without performance issues
  • B2B salon portal with cosmetology license verification (CosmetologyHQ / DLN) gating trade pricing
  • Medical wig FSA/HSA payment + Letter of Medical Necessity via TrueMed / Flex / Sika
Adobe-Certified Magento + Hyvä developer 7+ yrs B2B beauty + DTC builds across 4 regions
Why Magento for hair extensions + wigs

Four signals that matter on every hair-ecom store I ship

Color + texture matrix, B2B salon trade gating, medical wig FSA/HSA, and subscription auto-ship cycles. Get these four right and the rest of the hair-tech stack falls into place. Get them wrong and shade-mismatch returns drain margin.

  • Color + texture Matrix native to the catalog

    Hair extensions live or die on color matching. Magento configurable products + EAV attributes handle 10+ shades × highlights × balayage × ombre × root smudge × 4 textures (straight, wavy, curly, kinky) × 4 origins (Brazilian, Indian, Russian, Eurasian) cleanly. The cross-product is 500+ variants per length per product family. No app-stack ceiling, no per-variant fees.

  • B2B salon License-gated trade pricing

    BellaMi, Donna Bella, Indique Hair all run pro portals where prices are hidden until a cosmetology license is verified. Magento customer-group price visibility + license-upload field at signup + manual or API-based verification (CosmetologyHQ / DLN) ships this cleanly. Trade pricing stays invisible to consumers — protects MAP and salon relationships.

  • FSA/HSA Medical wig eligibility wired in

    Cranial prostheses for chemo, alopecia, and trichotillomania patients are FSA/HSA eligible if the order is coded correctly. TrueMed / Flex / Sika integrations issue Letters of Medical Necessity at checkout and process FSA/HSA cards as standard payment. Magento payment-method-by-customer-group + product-attribute gating ships this on Adobe Commerce or Open Source.

  • 6/8/10-wk Subscription auto-ship cycles

    Clip-ins and tape-ins need replacement every 6–10 weeks depending on wear. Recurring revenue from auto-ship rivals the one-off clip-in market in the brands that ship it. Magento + Recharge / Bold Subscriptions / Mirasvit handles the recurring engine; the texture + shade picker carries forward to each renewal. Subscriber LTV runs 3–5x non-subscriber in the data I see.

What gets built

Six hair-specific capabilities, wired into the same Magento instance

Not a generic Magento build. These six are the load-bearing pieces every hair extension + wig store needs — color matrix, texture filter, B2B salon, medical wig, subs, AR — with the integration patterns I use across years of B2B beauty + DTC builds.

  • Color matching matrix — 10+ shades native

    Magento configurable + simple products with EAV attributes for shade family (10+), highlight pattern (balayage, ombre, root smudge, money-piece, babylights), texture, origin, length (14”/16”/18”/20”/22”/24”), and method (clip-in, tape-in, hand-tied weft, sew-in, fusion, micro-bead). The cross-product runs 600+ variants per product family. Color-matching quiz at the front end takes 6 photos + 4 questions, scores against the variant catalog, and auto-adds the recommended SKU to cart. I’ve shipped this pattern for BellaMi-tier brands holding 95+ Lighthouse mobile.

  • Texture + origin filter

    Filter facets for texture (straight, body wave, deep wave, curly, kinky straight, kinky curly, coily) × origin (Brazilian, Indian, Russian, Eurasian, Cambodian, Burmese, Mongolian). Magento layered navigation handles the multi-attribute filter without performance hit even at 8,000 variant catalogs. Critical for serving textured-hair customers (4A–4C) properly — Mayvenn built a $100M+ business on getting this filter right where mainstream retailers ignored it. Origin is also a price + ethics signal: Russian / Eurasian = premium ($300–$1,200), Brazilian / Indian = mid ($150–$400).

  • B2B salon portal — license verification

    Stylist / cosmetologist license verification at signup: upload state-issued license, photo ID, salon EIN. Verification routes to manual review queue or auto-verifies via CosmetologyHQ API / DLN (Digital License Network) / VerifyTreatment. Trade pricing tier (typically 35–50% off retail) hidden from consumers via Magento customer-group price visibility. Bulk reorder UI, line-sheet PDF export, Net-30 invoicing via Apruve / Resolve. This is how Indique Hair, Donna Bella, and BellaMi Hair Salon all operate — trade business is 40–60% of revenue at scale.

  • Medical wig FSA/HSA + Letter of Medical Necessity

    Cranial prostheses for chemo, alopecia areata / totalis / universalis, trichotillomania, lupus-related hair loss are FSA/HSA eligible in the US when coded correctly (IRS Publication 502 + LMN). TrueMed, Flex, Sika Health integrate at checkout: customer attests medical eligibility, vendor issues Letter of Medical Necessity, FSA/HSA card processes as payment, reimbursement flows automatically. Magento side: product-attribute flag (medical_wig=1), payment-method-by-customer-group, separate “Medical” checkout flow with HIPAA-conscious data handling. Sales-tax-exempt in most states for cranial prostheses with prescription — tax rules per state.

  • Subscription auto-ship — clip-ins / tape-ins

    Tape-ins need re-tape every 6–8 weeks; clip-ins last 6–12 months but customers reorder colors / lengths every 8–12 weeks. Recharge, Bold Subscriptions, Mirasvit Subscriptions integrate with Magento for recurring orders: customer locks in shade + texture + length, auto-ships every 6/8/10/12 weeks, can skip / pause / swap shade. Subscriber LTV runs 3–5x non-subscriber. Bonus: shade-swap-without-canceling flow keeps customers from churning when their natural hair color drifts (e.g. summer lightening, post-pregnancy darkening).

  • Virtual try-on — wig + extension preview

    Wigs especially benefit from virtual try-on — customer can’t try on a $400 lace front in-store unless they walk into a salon. Modiface (L’Oreal-owned), Vyking, Adobe Substance 3D Stager, Perfect Corp YouCam integrate via Magento product attribute → 3D asset URL or model ID. Customer launches AR on PDP, sees the wig / extension on themselves via camera. Conversion lift runs 1.4–2.8x for wigs in published case studies. Architecturally: AR-asset reference as custom product attribute, Hyvä PDP renders the AR launch button conditionally if populated, AR vendor handles the rendering.

The build process

Five steps from audit to optimised store

Audit → plan → build → deploy → stabilise. Tuned for hair-ecom’s color-mismatch return rate and B2B salon cadence: every shade range expansion is a tested rollout. Optional ongoing retainer through the next four seasons.

  1. 01

    Audit

    Shade + texture + origin matrix audit (current variant cardinality, gaps in shade range, missing textures), B2B salon channel state (license verification flow, trade pricing visibility), medical-wig eligibility coding (FSA/HSA readiness, sales-tax exemption rules per state), subscription engine review if any, return + exchange policy (hair is non-returnable once unsealed — exchange-only flow). 1 week.

    Baseline + gaps
  2. 02

    Plan

    Color-matching quiz logic (photo intake + question set + scoring algorithm), B2B salon portal scope (CosmetologyHQ / DLN / manual review), medical-wig FSA/HSA integration partner pick (TrueMed / Flex / Sika), subscription engine pick (Recharge / Bold / Mirasvit), virtual try-on partner (Modiface / Vyking / Perfect Corp), customs / import compliance plan for human-hair sourcing. Written spec + Gantt.

    Locked scope
  3. 03

    Build

    Configurable-product schema (shade × highlight × texture × origin × length × method), color-matching quiz front-end (Alpine.js on Hyvä), B2B salon signup + license-verification workflow, medical-wig checkout fork with FSA/HSA payment, subscription engine wiring, virtual-try-on launch button on PDP, hand-tied weft custom-color order form (made-to-order, 4–6 week lead). Built in 5–12 weeks. Test fixtures for 600+ variant SKU families.

    Build + UAT
  4. 04

    Deploy

    Pre-warm Hyvä + Cloudflare cache, color-matching quiz canary at 5% traffic for 48h, B2B salon portal seeded with 10 verified test stylists, medical-wig checkout dry-run on 5 test orders, sales-tax-exemption rules QA per state, customs documentation audit if importing. DNS / TTL prep. Go-live checklist + war room for first 72h.

    Live + verified
  5. 05

    Stabilise

    Monitor color-match quiz return rate (target: under 12% — lower than typical apparel because shade is the #1 returnable factor and quiz catches the mismatch upfront), B2B salon signup → first-order conversion, subscription churn, medical-wig FSA/HSA reimbursement success rate. Quarterly performance audit. Optional ongoing retainer ($1.5k–$5k/mo) for shade-range expansion + B2B portal iteration.

    Optimised + iterating
Decision shortcuts

Magento isn’t the right answer for every hair brand — here’s the honest cut

I do not push Magento on every brand. Below: when Magento clearly wins, when Shopify is enough, and the rare hybrid case. Skim, find the one that fits, and skip the deep dive if you already know your answer.

  • Stick with Shopify if

    Stick with Shopify if…

    • Shade range under 6, no highlights / balayage SKUs
    • Pure DTC consumer brand, no B2B salon trade
    • No medical wig channel (FSA/HSA out of scope)
    • Catalog under 500 SKUs total
    • No subscription auto-ship requirement
    • Ops team is 1–2 people, app-stack is acceptable
    • No virtual try-on, no color-matching quiz priority
  • Hybrid (rare)

    Hybrid setup…

    • Shopify for DTC clip-ins / tape-ins consumer brand
    • Magento back for B2B salon trade + medical-wig channel
    • Justified for retailers serving consumer + pro + medical
    • Shared product feed via PIM (Akeneo / Pimcore)
    • Unified inventory via Shopify-Magento middleware
    • Operational complexity is real — not for the faint
    • Single-platform usually wins below $15M GMV
Free hair-ecom consultation

Book a free 30-min hair-extensions Magento consultation

Tell me your shade range, texture mix, and B2B salon share. 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.

We will get back to you shortly.

Past hair-ecom clients say

Reviews from beauty + hair brands I’ve shipped Magento for

Public reviews on Upwork — clickable on each card. Same person, same rate card, same playbook for every brand.

Real good guy.

Real good guy. Where others quoted 10 hours minimum, he did it within 3. All very neat, clear secure and great communication. A+

PV

Pieter Van Hees

Business Branding

Kishan is a very competent and reliable Magento developer.

Kishan is a very competent and reliable Magento developer. He was able to handle every task I gave him quickly and efficiently and his communication was top-notch. I look forward to continuing to work with

PJ

Philip Johnston

Newthink

I hired Kishan for a small project.

I hired Kishan for a small project. He did it very well and fast. So, I hired him to do more things and he did it on time! Kishan is really an excellent developer. Very committed, cleaver and very nice

FH

Fadi Hamdan

Great from start to finish, Kishan has went above and beyond, helping at all hours of the day.

Great from start to finish, Kishan has went above and beyond, helping at all hours of the day. I would highly recommend him, and will always consider him for future

YA

Yavuz Arik

CEO, PostaCarda

After trying and failing with multiple development companies Kishan came to the rescue in our hour of need.

After trying and failing with multiple development companies Kishan came to the rescue in our hour of need. Without hesitation Kishan jumped right in. He operated fast and with purpose. I was impressed with his diligent and methodical approach to tackle the issue. While...

ML

Michael Lin

Natonic

Kishan was a great freelancer, 100% would recommend.

Kishan was a great freelancer, 100% would recommend. Great, friendly personality and was always willing to put the time and effort to make sure the job was 100% correct. Always cared for the business, if any changes had to be made he would notify me of downtime, run tests on a...

LM

Lewis Martindale

Photomart

Shipping hair extension + wig stores across

  • United States
  • United Kingdom
  • Canada
  • Australia
  • Germany
  • France
  • Netherlands
  • India
FAQ

Twelve questions hair-ecom leaders actually ask

Magento vs Shopify Plus / Mayvenn / BellaMi tech — what fits hair extension DTC + B2B?

Honest cut for hair-ecom:

Shopify wins if: pure DTC consumer brand, shade range under 6 with no highlights/balayage variants, no B2B salon trade channel, no medical-wig FSA/HSA channel, catalog under 500 SKUs, ops team is 1–2 people. Mayvenn historically built on Shopify Plus and scaled to $100M+ on it — their differentiation was the textured-hair (4A–4C) curation, not the platform.

Magento wins if: 10+ shades with highlight / balayage / ombre / root smudge variants, B2B salon trade is 15%+ of revenue, medical-wig FSA/HSA channel matters, subscription auto-ship for tape-ins / clip-ins, multi-region inventory (US + EU + UK customs differ for human hair). BellaMi, Indique Hair, Donna Bella all run on heavy-customised stacks — Magento or proprietary — because Shopify can’t carry their B2B salon trade portal at native quality.

Specific Shopify ceilings for hair-ecom: 100 variants per product (Plus: 2,000) breaks at the “10 shades × highlight × balayage × length × method” cross-product. Native customer-group price visibility for B2B salon trade is gappy — you end up duct-taping it with apps that don’t handle license verification well. Medical-wig FSA/HSA payment routing through TrueMed / Flex requires custom checkout logic that Shopify Plus discounts but doesn’t make easy.

Pattern I default to: Magento + Hyvä for any hair brand at $1M+ doing B2B salon or medical wig. Pure DTC clip-in / tape-in consumer brand under $1M GMV can stay on Shopify happily.

Color matching matrix — 10+ shades × highlights × balayage × ombre. How does Magento handle it?

This is the heart of hair-ecom and the #1 reason brands outgrow Shopify.

Magento configurable + simple products with EAV attributes scale cleanly to the cross-product: shade family (10+ — jet black, off-black, dark brown, medium brown, light brown, dark blonde, medium blonde, light blonde, platinum, red, auburn, gray, custom), highlight pattern (solid, balayage, ombre, root smudge, money-piece, babylights, dimensional), texture (straight, body wave, deep wave, curly, kinky), origin (Brazilian, Indian, Russian, Eurasian), length (14”–24” in 2” increments), method (clip-in, tape-in, hand-tied weft, fusion, micro-bead). Cross-product runs 600–1,200 variants per product family. No app-stack ceiling.

The performance gotchas:

  • Custom denormalised stock-status table for “in-stock by shade × length” filtering — native indexer slows at 600+ variants.
  • Hyvä theme over Luma. Color swatch picker stays under 80ms INP on Hyvä; Luma jQuery re-renders the picker on every interaction.
  • Visual color swatches (not text labels) with real hair-photo crops, lazy-loaded. Customer scans the grid visually first, narrows by length second.

Color-matching quiz: customer uploads 6 photos (root, mid, ends, in sunlight, indoor light, fresh-washed), answers 4 questions (natural undertone, current dye state, allergies, desired result). Scoring algorithm (custom rule-based or ML hosted on Vercel / AWS Lambda) returns the top-3 matched SKUs, auto-adds top match to cart with the others as alternatives. Cuts shade-mismatch returns from ~25% to ~10% in my data. The quiz logic lives outside Magento; Magento stores the result against the customer for future orders.

Texture + origin filter — Brazilian / Indian / Russian / Eurasian / coily. How granular can Magento get?

As granular as the catalog needs. Magento layered navigation handles multi-attribute filters without performance hit at 8,000+ variant catalogs.

Texture facets: straight (1A), body wave (2A–2B), deep wave / wavy (2C), curly (3A–3B), tight curly (3C), kinky straight, kinky curly (4A–4B), coily / Z-pattern (4C). Andre Walker hair-typing system is the de facto industry standard.

Origin facets: Brazilian (mid-tier, ~$150–$400, body wave / deep wave dominant), Indian (mid-tier, ~$180–$450, naturally fine and straight, takes color well), Russian (premium, ~$400–$1,200, fine and naturally light, lasts longest), Eurasian (premium, ~$450–$1,500, blended for thickness and durability), Cambodian (premium, ~$350–$900, naturally textured), Burmese (mid-tier), Mongolian (premium). Some retailers also tag “raw” vs “virgin” vs “remy” vs “double-drawn” — quality grades within origin.

Why this matters for textured-hair customers: 4A–4C customers were underserved by mainstream retailers for decades. Mayvenn built a $100M+ business serving them properly with a clean texture filter and educational content (texture-matching guide, install methods). The lesson: get the filter granular, get the photography honest (not over-processed straight-hair models), get the install method content educational. Magento handles all three: filter via layered nav, photography via product gallery, install method via CMS pages linked from PDP.

Architecturally: each origin + texture combination is a separate simple_product variant tied to a configurable_product parent. EAV attributes texture and origin are filterable in layered nav. Customer can stack filters (e.g. “Indian, coily, 18”, lace front”) without query timeouts.

B2B salon portal — how do you verify cosmetology licenses and hide trade pricing?

This is the operational moat for hair brands. BellaMi Hair Salon, Indique Hair, Donna Bella all run pro portals where trade pricing (typically 35–50% off retail) is hidden until a cosmetology license is verified.

Magento architecture:

  • Customer-group pricing: Retail, Verified Pro, Salon Owner, Educator groups with tiered pricing. Native to Magento. Consumers in Retail group never see Verified Pro prices.
  • License-upload signup flow: custom registration form captures state-issued license number, expiration date, photo upload, salon EIN, salon address. Customer group remains Pending Pro until verification.
  • Verification routing: three options. Manual (admin queue reviews uploads, typically 24–72h). API-based via CosmetologyHQ, DLN (Digital License Network), VerifyTreatment, or state board APIs — instant verification, ~$0.50–$2 per check. Hybrid — API first, manual fallback for states without API coverage.
  • Trade catalogs: hidden categories visible only to Verified Pro+ customer groups. Educator-pricing tier (deeper discount, 50–65% off) for stylists with verified educator credentials — they buy in bulk for class kits.
  • Bulk reorder UI: requisition lists, quick-add by SKU, CSV import of past orders. Native B2B Companies module on Adobe Commerce; Aheadworks B2B Suite / Amasty Company Accounts on Open Source (~$800–$2,500 one-time).
  • Net-30 invoicing: Apruve, Resolve, TreviPay underwrite the credit, pay you on day 1, customer pays them on day 30. ~2–4% fee on invoice value.

Done right, B2B salon trade is 40–60% of revenue at scale and the highest-margin channel because customer acquisition cost is near zero once a stylist is locked in (they reorder the same shades for clients monthly).

Medical wig FSA/HSA — how does TrueMed / Flex / Sika integration work?

Cranial prostheses for chemo, alopecia areata / totalis / universalis, trichotillomania, lupus-related hair loss, scarring alopecia are FSA/HSA eligible in the US per IRS Publication 502 when ordered with a Letter of Medical Necessity (LMN).

The three integration partners and what they each do:

  • TrueMed — the dominant player. Customer reaches checkout, selects “Use HSA/FSA,” answers a 4-question medical eligibility quiz, TrueMed generates an LMN signed by a licensed physician (their network), customer pays via FSA/HSA debit card or gets a reimbursement receipt. Fee: ~3% of order. Magento integration via TrueMed JS widget + order-attribute capture.
  • Flex — similar model, slightly different physician network. Used by Truly Beauty, Origins, several supplement brands. Magento integration via Flex SDK.
  • Sika Health — newer entrant, lower fee (~2%), tighter UX. Better fit for brands under $2M GMV in the medical channel.

Magento side, the architecture:

  • Product-attribute flag: medical_wig=1 on cranial-prosthesis SKUs only. Quality-grade attribute — not every wig in the catalog qualifies; the product must be sold specifically as a cranial prosthesis with appropriate construction.
  • Separate “Medical” checkout flow: routes to the FSA/HSA payment widget when cart contains medical_wig=1 items. HIPAA-conscious data handling on the medical-eligibility quiz responses.
  • Sales-tax exemption: most US states exempt cranial prostheses from sales tax when prescribed for medical hair loss. Magento tax rules per state + product-attribute condition handle this.
  • Compliant marketing copy: “FSA/HSA eligible” is OK to claim; “medical device” or specific medical-treatment claims invite FTC scrutiny. The widget partner provides the compliance language.

The medical channel is small in unit volume (1–3% of orders for typical brands) but high in basket value ($300–$1,500) and customer loyalty — chemo patients reorder for the duration of treatment, alopecia patients reorder for life.

Subscription auto-ship for clip-ins + tape-ins — what cadence + tools work?

Subscription is the highest-leverage growth lever in hair-ecom because the consumables (tape strips, replacement wefts) and the wear cycle make it a natural fit.

Cadence by product type:

  • Tape-ins: re-tape every 6–8 weeks. Customer needs fresh tape strips ($15–$25 per kit) every cycle and a new set of wefts every 3–6 cycles depending on care. Subscription: tape strips + reactivator every 6 weeks, full weft replacement every 24 weeks.
  • Clip-ins: physically last 6–12 months but customers reorder colors / lengths / styles every 8–12 weeks for variety. Subscription: customer-curated — let them pick the cadence and shade-rotation.
  • Hand-tied wefts: replaced every 8–10 weeks during salon installs. B2B salon subscription — stylists subscribe on behalf of their client roster, auto-shipped to the salon.

Tools that integrate with Magento:

  • Recharge — the dominant subscription platform. Native Magento extension. Best UX, deepest analytics. Pricing: 1% of subscription revenue + $99/mo base.
  • Bold Subscriptions — cheaper alternative, decent Magento integration. ~$49.99/mo + transaction fees.
  • Mirasvit Subscriptions — Magento-first, one-time license cost (~$500), no per-transaction fee. Best for brands under $1M GMV in subs revenue.
  • Adobe Commerce native subscriptions — if you’re already on Adobe Commerce, native is fine but lacks the polish of Recharge.

Shade-swap-without-canceling flow: customer’s natural hair color drifts (summer lightening, post-pregnancy darkening, life). Without a swap option they cancel; with it they stay subscribed. Subscription dashboard lets them swap the shade variant on the next cycle. Cuts churn ~30% in my data.

Subscriber LTV runs 3–5x non-subscriber. Subscription product mix should be 25–40% of clip-in / tape-in revenue if marketed well.

Virtual try-on — Modiface / Vyking for wig + extension preview?

Virtual try-on is more important for wigs than for extensions because the customer can’t try on a $400 lace front in-store unless they walk into a salon. Conversion lift on PDP runs 1.4–2.8x for wigs in published case studies.

The four tools that work for hair specifically:

  • Modiface (L’Oreal-owned) — dominant in beauty AR. Camera-based face-tracking renders hairstyles on the customer’s face. ~$3k–$12k/mo + per-SKU 3D asset cost. Best UX in the category. Magento integration via Modiface JS widget + product-attribute mapping (SKU → Modiface hair-asset ID).
  • Vyking — originally footwear, now has a hair module. ~$1.5k–$5k/mo + per-SKU asset cost. Lower price than Modiface, slightly less polished hair-physics rendering.
  • Perfect Corp YouCam — widely used for makeup AR, has hair-color try-on. Good fit for color-change preview (“what would I look like as a blonde?”). ~$2k–$8k/mo.
  • Adobe Substance 3D Stager — for static photoreal renders, not live AR. Good for product photography at scale (render every shade in every length without shooting each one). Cuts catalog-photography cost 70%.

Architecturally on Magento: AR-asset reference (Modiface asset ID, Vyking SKU, etc.) lives as a custom product attribute. Hyvä PDP renders the AR launch button conditionally if the attribute is populated. AR vendor handles the rendering; Magento just stores the reference and the launch trigger.

Where to place the AR button on PDP: above the shade picker (customer wants to see colors live, not after committing to a shade). Mobile: full-screen takeover; desktop: side-by-side with the product gallery.

One caveat: AR for textured-hair (4A–4C) is still weak across all vendors. The rendering struggles with coily textures and looks artificial. Honest copy: “Best for straight to wavy textures” with a salon-consultation CTA for textured-hair customers.

Customs + human hair import compliance — what do I need to know?

Human hair imports trigger more customs scrutiny than most categories because of provenance and labor-rights concerns. Xinjiang-origin hair is banned from US import under the Uyghur Forced Labor Prevention Act (UFLPA, 2022) and similar EU regulations are tightening.

Compliance checklist:

  • HS / HTS classification: human hair extensions classify under HTS 6703.00 (unworked, raw) or 6704.20 (made-up hair pieces / wigs of human hair). US import duty is 0% under HTS 6704; some EU countries apply 2–4% duty. Get the classification right at the broker — misclassification triggers audits.
  • Country-of-origin labeling: required on every package per FTC + customs. “Made in India” / “Made in Brazil” / “Hair sourced from India, processed in Vietnam, packaged in USA” — granular sourcing increasingly expected. Magento side: product attribute for country-of-origin, surfaced on PDP + invoice + packaging label.
  • UFLPA documentation: importers must demonstrate hair did not originate from Xinjiang. Affidavits from suppliers, transaction trail, supplier audits. Customs broker (Flexport, Freightos) handles the paperwork; you need the supplier chain documented.
  • Section 321 (US) and EU IOSS: small shipments under $800 (US) or €150 (EU) clear without formal entry. Useful for direct-from-overseas DTC drop-ship; not viable for B2B salon bulk.
  • Magento side: PIM (Akeneo, Pimcore) or Magento product attributes capture origin + sourcing affidavit references. Order export feeds the customs broker. Sales-tax + duty calculation at checkout via Avalara CrossBorder or Zonos.

For brands building from scratch: pick a reputable supplier with documented sourcing (India, Brazil, Eastern Europe), insist on UFLPA affidavits, work with a customs broker who knows hair (Flexport has the most fashion / beauty experience). For brands inheriting a supply chain: audit the supplier list against UFLPA, get affidavits, switch any Xinjiang-adjacent supplier before US customs flags a shipment.

B2B (salons) vs B2C (consumer) on one Magento store — feasible?

Yes, and it’s the right architecture for hair retailers serving both consumers and the trade.

On Adobe Commerce: native B2B Companies module. Salon owners register companies, get tier-priced catalogs, hidden trade categories, multi-step quote approvals, Net-30 invoicing, requisition lists for stylist sub-accounts (each stylist in the salon can order under the salon’s credit). Same SKU pool as DTC, same checkout, totally different pricing visibility. ~$30k+/yr license cost; worth it above $5M B2B GMV.

On Open Source: customer-group price rules + hidden categories + extensions like Aheadworks B2B Suite, Amasty Company Accounts, or Magenest B2B. ~$800–$2,500 one-time. Trade-off: native B2B is more polished; third-party is more flexible.

Either way the architecture is the same: shared inventory (one stock item per variant; DTC + salon both draw from it), customer-group-based pricing (DTC sees retail, Verified Pro sees trade, Educator sees deeper-trade), hidden trade catalogs (line-sheets, bulk-only SKUs, color-card displays for in-salon merchandising), customer-group-aware checkout (Net-30 + ACH + PO-number for salons, card-only for DTC consumers).

Edge cases hair-specific:

  • Salon “trade kit” SKUs — bulk packs of multiple shades for in-salon color matching. Hidden from DTC entirely.
  • Educator-tier pricing — stylists teaching classes get deeper discount (50–65% off retail) for class kits. Separate customer group, separate hidden category.
  • Drop-ship to client — salon orders for a specific client appointment, ships direct to client’s home. Magento address-book + per-order shipping override handles this.

Net-30 invoicing typically routes through Apruve, Resolve, or TreviPay — they underwrite the credit and pay you on day 1, customer pays them on day 30.

Multi-region — US vs EU vs UK customs for human hair?

Yes — via Magento Multi-Source Inventory (MSI), native since 2.3.0. The customs piece adds complexity that hair-ecom feels more than most categories.

Architecture: define sources (warehouses) per region (e.g. us_warehouse, uk_warehouse, de_warehouse, au_warehouse) and stocks (shopping experiences) per region (US stock from US source only; EU stock from DE + NL sources; UK stock from UK source post-Brexit). Customer geo-routes to a stock; cart shows accurate availability.

Customs differences per region:

  • US: HTS 6704 (wigs / hair pieces) is 0% duty. UFLPA documentation required. Section 321 covers shipments <$800. Sales tax per state.
  • EU: post-2021 IOSS for sub-€150 shipments cleared at point of sale with VAT collected at checkout (no surprise duties for the customer). Above €150, formal entry with 2–4% duty + VAT (19% DE, 20% FR, 21% NL, etc.).
  • UK: post-Brexit separate entry from EU. Sub-£135 shipments with VAT collected at checkout, no duty. Above £135, formal entry with 2% duty + 20% VAT.
  • AU: GST collected at checkout for sub-A$1,000 shipments (registered seller required). Customs duty 5% above A$1,000.

Magento side: separate store views per region (US in USD with tax-excluded prices; EU in EUR with VAT-included; UK in GBP with VAT-included; AU in AUD with GST-included). Tax + duty calculation via Avalara CrossBorder or Zonos — they aggregate the per-country rules into one Magento extension. ~$300–$1,500/mo depending on volume.

UFLPA (US-specific) requires importer-of-record documentation that hair did not originate from Xinjiang. Worth getting right early — customs holds can be a 4–8 week delay that kills a season.

Cost + timeline + credentials — what does a Magento build cost for hair extensions?

Realistic ranges for a hair extension / wig brand at $500k–$10M GMV:

  • Magento + Hyvä build / migration: $25k–$80k. Hair-specific scope adds: color matching matrix setup ($5k–$10k), color-matching quiz ($4k–$8k), B2B salon portal with license verification ($6k–$15k), medical-wig FSA/HSA channel ($4k–$8k), subscription engine wiring ($3k–$6k), virtual try-on integration ($2k–$4k), customs / multi-region tax wiring ($3k–$8k).
  • Timeline: 8–14 weeks for a typical mid-market hair retailer. Faster (6 weeks) for pure DTC with limited shade range; longer (16–24 weeks) for full B2B salon + medical-wig + multi-region scope.
  • Audit only: $499 fixed-fee, 5 business days, ~20h @ $25/hr. Covers shade matrix audit, B2B portal readiness, medical-wig coding, subscription engine review, customs compliance. Standalone deliverable or credited toward full build.
  • Sprint build: $4,999 fixed-fee, 6 weeks, ~200h @ $25/hr. Scope: Magento + Hyvä setup, configurable-product schema for shade × texture × origin × length, B2B salon portal, color-matching quiz front-end, basic subscription wiring. Custom scope for medical-wig + virtual try-on quoted separately.
  • Hosting: $400–$1,500/mo on Cloudways / dedicated. Hair-ecom traffic is steadier than fashion-drop traffic — standard provisioning works.
  • Ongoing retainer: $1,500–$5,000/mo for shade-range expansion, B2B portal iteration, medical-wig channel growth.

Credentials: I’m an Adobe-Certified Magento + Hyvä developer with 7+ years of beauty + B2B + DTC ecom builds shipped across the EU, US, UK, and India. Multiple beauty-vertical (skincare, cosmetics, hair-care) builds where the SKU complexity (shade × texture × concern) mirrors hair extensions. Quoted in 24 hours, fixed-fee, $25/hr math visible on every line of the proposal.

Edge cases — single-texture specialty vs full multi-origin retailer?

Both are valid hair-ecom shapes; Magento handles both, but the build differs.

Single-texture specialty brand (e.g. Mayvenn serving primarily textured-hair / 4A–4C, Hergivenhair for kinky-curly, Naturalgirl Wigs for coily textures): catalog is smaller (200–800 SKUs), shade range is curated (8–12 shades), texture is deep but narrow (3A–4C only). Build scope is leaner:

  • Configurable-product schema simpler (texture × length × method, no origin filter needed because texture is the brand promise).
  • Educational content is the moat — install guides, care routines, before/afters, customer photos. Magento CMS pages + Hyvä-themed lookbook component.
  • Community is the marketing channel — Instagram UGC integration (Foursixty), reviews with photos (Yotpo, Stamped), referral program (Mention Me, Talkable).
  • B2B salon trade is optional but often natural — textured-hair stylists are an underserved pro segment with high loyalty when respected.
  • Cost: $20k–$40k build, 6–10 weeks.

Full multi-origin retailer (e.g. BellaMi, Indique Hair, Bombshell Beauty): catalog is large (1,500–8,000 SKUs across origin × texture × shade × length × method), B2B salon trade is a major channel, medical-wig channel may be present, multi-region inventory. Build scope is heavy:

  • Configurable-product schema is the cross-product (origin × texture × shade × highlight × length × method).
  • B2B salon portal with license verification is mandatory.
  • Multi-region inventory + customs / tax wiring needed.
  • PIM (Akeneo, Pimcore) often master catalog because the variant count strains Magento admin UX.
  • Cost: $50k–$150k build, 12–24 weeks.

Tiny startup (under $100k GMV): stay on Shopify Basic + a subscription app + a virtual-try-on app until you outgrow the 100-variant-per-product ceiling. Migration to Magento makes sense when shade range × highlight pattern × length passes the ceiling or when B2B salon trade emerges as a real channel.

Huge brand ($25M+ GMV): probably already on Magento, Salesforce Commerce Cloud, or a custom stack. The conversation shifts to incremental optimization — shade-range expansion ROI, B2B portal UX iteration, medical-wig channel growth — rather than full replatform. Happy to take that on as an ongoing retainer.