Create a Shopify B2B company and company location, assign a contact, and set payment terms via Admin GraphQL
domain: shopify.dev · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
In-depth guide
Shopify GraphQL Admin API rate limits — the full failure-mode walkthrough related to shopify.dev, checked against official docs, with linked verified routes.
Steps
Use the companyCreate Admin GraphQL mutation to create a company record with the company name and any custom attributes; capture the returned company ID
Use the companyLocationCreate mutation to add a location to the company, supplying the billing and shipping address and associating it with the parent company ID
Use the companyContactCreate mutation to add a customer as a contact on the company, then use companyContactAssignRoles to assign the appropriate role (buyer, admin, or a custom role) to the contact
Set payment terms on the company location using the companyLocationAssignAddress or paymentTermsCreate approach; use the paymentTermsTemplate query to look up the available templates such as net-30 before creating terms
Verify the company configuration by querying the company node and checking that location, contact, and payment terms are all associated correctly
Test B2B checkout behavior by logging in as the assigned contact on a development store and verifying that B2B pricing and terms are applied at checkout
Known gotchas
B2B features require that the Shopify store is on a plan that includes B2B; attempting B2B mutations on an ineligible store returns an access-denied or feature-unavailable error
Payment terms must reference an existing payment terms template; creating terms with an arbitrary net-days value is not supported and the mutation will fail without a valid template ID
Company contacts must already exist as Shopify customer records before they can be assigned to a company; create the customer first if they do not exist
Give your agent this knowledge — and 15,600+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?