Quickstart
What this app is
Unified Commercial Suite is an embedded Shopify app for B2B and wholesale. Merchants manage companies, contacts, locations, price lists, order limits, payment terms, quotes, corporate approvals, and sales-rep sessions from Shopify admin. Buyers get signed storefront pricing, a wholesale registration form, quick orders, and draft orders. The app also ships three Shopify extensions:- b2b-storefront — a theme app extension with two app embed blocks: b2b-pricing (B2B pricing and login) and b2b-quote (request a quote).
- b2b-checkout-pricing — a Function that applies assigned B2B price-list rules to storefront carts and checkout.
- b2b-order-limits — a Function that blocks B2B carts violating a company’s quantity or value limits.
Access scopes
The app requests:write_app_proxy is required by Shopify’s app-proxy configuration. The app deliberately does not request read_themes; theme onboarding deep links target the published theme without triggering re-consent.
Webhooks
The app registersapp/uninstalled and app_subscriptions/update subscriptions plus the three mandatory privacy-compliance topics (customers/data_request, customers/redact, shop/redact). All are received at the single endpoint /webhooks, which accepts POST only. Automatic customer tag sync (customers/create and customers/update) is implemented but unregistered pending Protected Customer Data approval.
Public integration points
- Signed app proxy at
/apps/b2b-toolkitserves storefront pricing, quote requests, and the wholesale registration form. Shopify signs each forwarded request. - Merchant API at
/api/merchant/*(Premium) with hashed bearer keys and signed outbound webhooks. - Admin APIs at
/api/*for companies, price lists, checkout, and import/export. - App proxy pricing and quotes at
/proxy/pricingand/proxy/quotes.
Notes for contributors
- The runtime is Cloudflare Workers with React Router 7; sessions and B2B data live in Cloudflare D1.
- The production schema path is the ordered D1 migration chain.
read_products,write_products,read_discounts,write_discounts,read_validations, andwrite_validationssupport the checkout pricing and order-limit Functions.