How-to / B2B wholesale account onboarding and approval · Updated 2026-09-15
Shopify B2B Company Account Approval: From Wholesale Application to Controlled Ordering
Build a Shopify B2B wholesale account approval workflow from application and company review through buyer permissions, payment terms and downstream procurement controls.
All ShopRadar apps featured in this guide are available in English.
A wholesale account application and an order approval solve two different problems. Account approval answers whether a business should be allowed into your B2B buying environment at all. Order approval answers whether a specific purchase is authorized after that business is already an approved customer. Mixing those stages creates awkward edge cases: unqualified applicants see B2B pricing too early, approved buyers wait for the same manual checks on every order, or a large purchase is treated as safe merely because the company passed onboarding months ago.
Shopify now provides a native company account request workflow built around Shopify Forms. A submission can create the company, company location and customer record for review, while ordering stays disabled by default until the merchant approves it. B2B Procurement OS is available in English and becomes relevant after that gate when the approved account needs multi-level order approvals, per-company credit limits, net terms, repeat ordering, volume quote requests or controlled editing of unfulfilled orders. Its current App Store listing does not advertise wholesale application approval, so this guide keeps onboarding and procurement control in their proper lanes.
Separate company approval from purchase approval before you configure anything
Think of B2B onboarding as two gates. Gate one is commercial eligibility: is this organization a customer you want to sell to on wholesale terms? Gate two is transaction authority: once approved, who may place a particular order and what controls apply to that spend? A merchant can approve a retailer as a wholesale account today and still require manager or finance approval when that retailer later places a much larger project order.
This distinction also prevents the opposite mistake. A company should not have to re-prove its wholesale eligibility every time it reorders ordinary stock. Once the account is approved, routine purchasing can move through the permissions, catalog, payment and procurement rules assigned to the account. Exception orders can then receive extra scrutiny without turning every replenishment into another onboarding ticket.
Write the two decisions down before building forms. Account review should have an owner and qualification criteria. Order approval should have separate thresholds and approvers. ShopRadar's /blog/shopify-b2b-order-approval-workflow guide covers the second gate in depth; this guide is about getting a company through the first gate cleanly and handing it into a controlled buying process.
Build the wholesale application around facts you will actually use
Shopify's current company account request documentation requires the Shopify Forms app. You can create either a popup or inline form, add the Company and customer fields, and place the form on the online store. Company name and email are required for Shopify to create the company record automatically. Additional fields can be stored as form data, customer metafields or company metafields depending on how you want the information to be available later.
Do not turn the application into a twenty-question obstacle course. Ask for information that changes an approval decision or later account setup. A furniture wholesaler might need legal business name, website, selling channel, number of locations, delivery region and the product categories the retailer expects to buy. A distributor with a documented resale-certificate process might also request the evidence its own policy requires. If a field will never be reviewed or used, it is administrative confetti.
Store reusable qualification data where the team reviewing companies can actually see it. Shopify notes that local form fields live in the form submission record, while company or customer metafields can surface with those profiles. Design that choice around the reviewer. If operations will later segment approved accounts by region or channel, a company metafield may be more useful than a one-off local response buried in the submission history.
Know the native boundary: a request creates a new company, not a seat in an existing one
When a prospect submits the company account request, Shopify creates a company, company location and customer record for review. Shopify explicitly says this feature does not add a customer to an existing company. That matters for larger buyers where a second employee may discover the wholesale signup form even though their organization is already approved.
Create a separate operating path for 'I need access to an existing company.' It can be handled by your B2B administrator or another verified process rather than letting the public application form create duplicate company records. The exact identity checks are your business decision, but the routing rule should be clear enough that support staff do not solve every duplicate by creating another company location or customer relationship at random.
Before launch, decide who owns duplicate-company cleanup and what identifiers they will compare, such as company name, domain, billing information or an internal account reference. The goal is not to invent an automated identity system that Shopify does not document. It is to stop a known native boundary from turning into a messy account structure later.
Keep ordering disabled while the application is being reviewed
Shopify's default behavior is useful here: companies created through the request form cannot place B2B orders or access B2B pricing until you approve them. That gives the merchant a real review gate instead of a form that merely collects information after access has already been granted.
The current review path is in Customers > Companies under Ordering not approved. Shopify instructs merchants to open the company, review submitted information, and then either reject the application by deleting the company or approve it through Manage permissions, choosing locations and assigning permissions. The approval flow can optionally notify the company contact that B2B ordering is available.
If your qualification rules are meaningful, preserve human review. Shopify Flow does provide a template that can automatically allow ordering for companies created by account requests, but automation should reflect policy rather than erase it. A store whose only requirement is a valid business email may intentionally auto-approve. A distributor extending negotiated pricing or payment terms should usually review the facts that justify those privileges before opening the gate.
Configure what the approved company is allowed to do, not merely that it is approved
Approval should trigger account configuration, not end it. Decide which company locations may order, which buyer contacts receive ordering permissions, which catalog or commercial setup applies, what addresses belong to the account and which payment terms are appropriate. If a buyer has several branches with different shipping destinations or commercial rules, model those differences deliberately instead of giving one contact unrestricted access to everything because the parent company passed review.
Keep commercial qualification separate from credit qualification. A company can be a legitimate wholesale customer and still not qualify for net terms or a large credit exposure. An early-stage account might be approved to buy while paying at checkout; a later finance review can change its terms when your credit policy supports that decision. Likewise, a tax or resale identifier can be relevant evidence in some workflows without becoming proof that the buyer is creditworthy.
A clean handoff record should answer five questions: who approved the account, which locations are active, which contacts can order, which commercial setup applies and what payment or credit policy applies today. Those facts make later exception handling much easier than an undifferentiated status called 'approved.'
Use B2B Procurement OS after onboarding when the buying process needs procurement controls
B2B Procurement OS is available in English. Its current Shopify App Store listing focuses on the operational life of an approved wholesale account: a self-service buyer portal, multi-level approval workflows with conditional rules based on order amount, per-company credit limits and net terms that block over-limit or overdue orders, saved-list or CSV reordering, volume quote requests, self-service editing of unfulfilled orders and sales-rep assignment with commission tracking from paid orders.
That makes it a natural second layer when Shopify's native account approval is working but the purchasing process is still escaping into email and spreadsheets. Imagine a hotel group that has already been approved as a customer. Routine housekeeping supplies can be reordered from a recurring list, while a larger opening order can move from Purchasing to Manager to CFO and still be checked against the company's credit policy. The onboarding decision does not need to be repeated; the transaction receives the control it actually needs.
Do not market B2B Procurement OS as the account-application engine. The current listing does not document wholesale application forms or merchant approval of new company requests. Use Shopify's documented company account request workflow for that job, then evaluate B2B Procurement OS for the downstream procurement controls it actually advertises. For specific follow-on needs, see /blog/shopify-b2b-net-terms-vs-credit-limits, /blog/shopify-b2b-repeat-order-workflow and /blog/shopify-b2b-quote-workflow.
Example workflow: approving an independent retailer without creating permanent manual work
Suppose a home-goods brand sells D2C and is opening wholesale to independent retailers. A store owner submits an inline company account request with business name, email, website, shop location and requested categories. Shopify creates the company, location and customer record, but ordering and B2B pricing remain unavailable while the application is reviewed.
The wholesale manager checks the information against the brand's actual account policy. If the retailer qualifies, the manager approves ordering for the appropriate location, gives the buyer the necessary permission and assigns the commercial setup. The account begins on pay-at-checkout terms because finance has not approved trade credit yet. Nothing about being accepted as a reseller automatically creates credit entitlement.
Three months later the retailer is ordering regularly. At that point the friction is no longer onboarding. The buyer wants fast repeat orders, a special volume quote for a seasonal launch and a larger order that should not proceed without internal approval. That is where a procurement layer earns its place. B2B Procurement OS can be evaluated for those documented controls without replacing the native account gate that already did its job.
Build an exception route for gated stores and duplicate requests
Shopify documents an important limitation: company account requests cannot be used on a dedicated store whose storefront is gated so that only logged-in B2B customers can access it, because a new prospect cannot reach the form while logged out. If that describes your architecture, do not publish a how-to that assumes the standard request form will magically appear outside the gate. Choose an onboarding path that is reachable by prospects and verify the access model against current Shopify guidance.
Duplicate requests deserve their own route too. If a buyer says 'my company already buys from you,' stop the new-company workflow and verify the existing account relationship instead. Because the native request feature does not add users to an existing company, treating every form submission identically can fragment one customer into several company records.
These exceptions are small on paper and expensive in operations. Put them in the reviewer checklist from day one so the team knows when to approve, when to reject, and when to route the request somewhere else rather than forcing every prospect through the same button.
Pilot the account gate before you invite the whole market
Before promoting the wholesale application, run your own controlled checklist. Submit a test application through the actual form. Confirm that the expected company, location and customer data appears in the places your reviewer uses. Confirm that the new company does not receive B2B ordering or pricing before approval. Then approve it and verify that only the intended locations and contacts receive permissions.
After approval, walk through the downstream scenarios your business actually supports: ordinary ordering, a buyer who needs access to an existing company, a request for net terms, a high-value order requiring internal authorization, and an account that should be stopped by credit policy. The objective is not to make one form solve every scenario. It is to know exactly which system owns each decision.
As verified on September 15, 2026, B2B Procurement OS lists Starter at $79 per month, Growth at $199 and Enterprise at $499, each with a 14-day free trial; the visible listing does not map every advertised capability to a specific tier, so confirm plan entitlement before purchase. B2B Procurement OS is available in English. ShopRadar's promotional CTA uses the authentic b2b-procurement-os Shopify App Store slug with locale=en; that parameter selects the English listing view and does not change the installed app's language settings.
- Use Shopify Forms and company account requests for the new-company application gate.
- Keep B2B ordering disabled until the merchant's qualification decision is complete unless your policy intentionally supports automatic approval.
- Route requests from employees of existing customers away from the new-company workflow.
- Assign locations, buyer permissions and commercial terms after approval instead of treating approval as a blank check.
- Use downstream order approvals and credit controls only when the approved account's purchasing process requires them.
- Treat account approval, buyer approval and merchant order acceptance as separate decisions.
Apps mentioned in this guide
B2B Procurement OS
Available in English
Self-service B2B orders: approvals, credit terms and quotes
Starter $79/mo · Growth $199/mo · Enterprise $499/mo · 14-day trial
Frequently asked
Does Shopify support B2B wholesale account applications?
Yes. Shopify documents company account requests using the Shopify Forms app. A submission can automatically create a company, company location and customer record for merchant review.
Can a company created by the request form order before approval?
By default, no. Shopify says companies created through the company account request form cannot access B2B pricing or place B2B orders until the merchant approves ordering for them.
Can a company account request add a buyer to an existing company?
No. Shopify explicitly says the company account request feature does not add customers to an existing company, so merchants should create a separate process for buyers who need access to an already-approved account.
Does B2B Procurement OS approve new wholesale account applications?
That capability is not documented on its current Shopify App Store listing. Use Shopify's company account request review for account onboarding, and consider B2B Procurement OS after approval for its documented order approvals, credit limits, net terms, reordering, quote and order-editing workflows.
Can Shopify automatically approve every company account request?
Shopify Flow provides a template that can allow ordering for companies created by company account requests. Use it only when automatic approval matches your real qualification policy; otherwise keep a human review step.
Is B2B Procurement OS available in English?
Yes. B2B Procurement OS is available in English. ShopRadar routes its promotional App Store CTA to the authentic b2b-procurement-os slug with locale=en, which selects the English listing view rather than changing installed-app language settings.