Edge cases, single-brand boutique luthier vs full-range music retailer?
The page above assumes a mid-market full-range music retailer. Two edge cases worth calling out:
Single-brand boutique luthier (e.g. you build custom electric guitars at $4k, $15k, ship 80-200 per year). Different shape entirely:
- No authorized-dealer portal needed, you ARE the brand.
- Used market doesn’t matter (no aftermarket inventory).
- Affirm + Klarna still matter; Synchrony 0% APR matters more (your average AOV is the financing sweet spot).
- You need a configurator heavily: wood / pickups / hardware / finish / inlay. 100-500 valid combinations, build-to-order, 12-20 week lead time. Magento configurable + custom options handles this well, often paired with PandaDoc/DocuSign for a build-spec sign-off before manufacturing kicks off.
- Schools tax-exempt rarely matters at $4k+ AOV.
- Recommended scope: Audit + Build with the configurator scope substituted in for the brand portal. Same $499 / $4,999 / Custom price-card.
Full-range music retailer at scale ($20M+ GMV, 20k+ SKUs, 5+ brand portals, multi-region), the Custom Enterprise tier. Different shape:
- Adobe Commerce (paid) probably makes sense at this scale for native B2B + multi-source inventory + Live Search + Akeneo PIM integration.
- Multi-brand portal (Fender + Gibson + Martin + Taylor + PRS + Gretsch + Yamaha + Roland) needs full EDI integration per brand, not just one. ~6-12 months of work.
- Lessons LMS becomes its own product (TrueFire / Fender Play tie-in not enough; you build your own lesson + community layer).
- Used market becomes a separate division with its own admin team, auction layer (think Skinner Auctions but for instruments), and Reverb-syndication strategy.
- Multi-region voltage SKUs + CITES compliance + per-country financing partners.
- Recommended scope: enterprise engagement, $50k, $250k+ project scope, 6-18 month timeline, ongoing retainer in the $5k, $20k/mo range.
Either way: same person, same hourly rate, same playbook. The scope changes; the delivery model doesn’t.