Shopify B2B Trade Portal and Catalog Operations
Codex build and operations thread that proved Shopify's native market-scoped B2B catalog model on the current plan, implemented a gated headless trade portal and interactive wholesale PDP over the existing retail catalog, propagated company-location buyer identity through cart and checkout, corrected route-level access control, created the first CDX-prefixed live print product, and migrated every exact Posters-category product to Prints without changing other merchandising fields.
Highlights
- Established that one Shopify product can serve retail and wholesale buyers when native B2B catalogs provide contextual price, availability, minimum quantity, increment, maximum quantity, and volume breaks.
- Created a live B2B test company, customer, market-scoped catalog, price list, company location, quantity rule, and price breaks after direct company-location catalog assignment proved unavailable on the current entitlement.
- Implemented Customer Account company-location lookup, Storefront buyer context, B2B cart buyer identity, a gated trade dashboard, and an interactive wholesale PDP with variant, gallery, rule, tier, subtotal, and cart behavior.
- Hardened the complete /trade route family at the proxy, page, and server-action layers after browser review showed that guest and non-B2B access was still too permissive.
- Created the active Reaching for the Moon print product with CDX1001 SKUs, fourteen standard variants, source artwork, three generated mockups, catalog metadata, and collection placement.
- Migrated 29 exact native Shopify category matches from Posters to Prints, verified zero remaining exact Posters matches, and left product type, titles, handles, vendor, tags, variants, pricing, media, collections, and metafields unchanged.
- Kept the B2B staging and lab work in review with explicit links and decisions for the production trade-PDP direction, real-buyer testing, and route-scoped versus global buyer identity.
Source conversation
Request access for the complete source transcript. Access is reviewed and not automatic.
Created artifacts
Native Shopify B2B entitlement proof, customer and market setup, buyer-context architecture, and implementation evidence.
Gated trade portal, wholesale PDP variants, interaction design, access-control hardening, and staging review work.
First Codex-prefixed live Shopify print product with source artwork, generated mockups, fourteen variants, metadata, and collection placement.
Exact-category migration of 29 live products with pre-apply and post-apply evidence.
Actions and follow-ups
Actions Taken
- Created and verified a live B2B company, contact, location, market, catalog, price list, test product rule, and tiered prices.
- Added Customer Account company-location lookup and contextual Storefront queries.
- Added B2B cart buyer identity and trade-aware cart behavior.
- Built /trade and /trade/products/[handle], then replaced dummy interaction states with contextual catalog rows, selectable variants, clickable images, calculated subtotals, and working add-to-cart behavior.
- Added proxy, route, and server-action guards for the full trade route family.
- Created CDX1001 with fourteen variants, four media assets, descriptive metadata, and collection placement.
- Queried the exact Posters taxonomy category, migrated all 29 matches to Prints, and verified zero remaining matches.
- Pushed meaningful checkpoints and kept the staging review packet current.
Actions Outstanding
- Complete operator review of the wholesale lab hub, PDP directions, wholesale landing and application surfaces, and the real gated trade portal.
- Test /trade with the approved live B2B customer and verify the final checkout context.
- Decide the production trade-PDP direction and whether B2B buyer identity remains route-scoped or becomes global for authenticated B2B buyers.
- Review wholesale application fields, notification recipient, and manual approval policy before production closeout.
Source extracts
can we use conditional rendering to set up custom b2b pages and stuff?
I'm really trying to avoid a duplicate catalogue.
the entire trade/ route should be gated.
you have my permission to do the live query
Decisions
- Avoid a duplicate wholesale catalog when the wholesale unit is the same item; use the existing Shopify product with native B2B catalog context and a separate trade PDP template.
- Create a separate wholesale product only when the commercial unit has distinct packaging, inventory, fulfillment, barcode, assortment, or buyer-facing identity.
- Use a B2B Market-scoped catalog on the current Shopify plan because direct company-location catalog assignment is not entitled.
- Treat Customer Account access token plus companyLocationId as authority for product context and cart buyer identity; conditional rendering alone is not access control.
- Fail closed across every /trade route and trade cart action for guests or signed-in customers without verified B2B company-location context.
- Use CDX1001 as the starting prefix for products added through Codex and record live catalog mutations in project evidence and the master catalog changelog.
- Use exact native taxonomy category IDs as the mutation boundary and do not expand a category correction into product-type or merchandising cleanup without separate approval.