The bridge is the whole idea. Because a B2B cart cannot carry a selling plan, the storefront submits an ordinary one-time line and smuggles the buyer's choice through line-item properties — two named keys pinned in a shared constants module and mirrored in the theme block and the checkout Function. The orders/create webhook reads those properties back, fetches the genuine billing and delivery policies from the referenced selling plan, and synthesises a contract through subscriptionContractAtomicCreate. That mutation produces a real Shopify subscription contract, visible in Admin and manageable by the customer, without a selling plan ever touching the cart. The second consequence is larger than the first: Shopify only schedules renewals for contracts it created itself, so an atomically-created contract is inert. The app therefore owns its own renewal loop — a daily Vercel cron resolves each due contract's billing cycle and issues a billing attempt. Local Postgres mirrors contract state because subscription webhooks omit priced line items, so a separate Admin API fetch syncs lines after every event. Customer self-service runs through an App Proxy rather than the app URL directly, and the customer-account extension shares its handler verbatim with the direct route.

System diagram: the bridge that reconstructs the contract outside checkout, plus the renewal loop the platform will not run.