Wholesale registration with approval on Shopify
Hiding a wholesale catalog is the easy half; the hard half is deciding who gets in and doing it without a shared inbox.
Prime Lock gives you an application form, a vetting queue and one-click approval that opens every lock at once.
The problem
Most wholesale programmes start as an email address on a contact page. A prospective stockist writes in, someone asks for a VAT number, someone else asks for a business licence, three emails later a customer record gets created by hand and tagged (maybe) and the buyer waits two days for a password. Multiply that by twenty applications a month and it is a part-time job with no audit trail.
The next attempt is a Shopify contact form or a form app. It collects text, and that is genuinely all: no VAT validation, no file upload you can trust, no way to turn a submission into a tagged customer, and no state. Someone still copies fields into the customer admin by hand, and nobody can answer “did we already reject this company?”
The third attempt is to bend Shopify's own registration form. This is where merchants lose a week, so it gets its own section below.
How Prime Lock does it
The whole flow is four steps, and only the third one involves a human.
- 1
Step 1: Guest hits a lock → Apply for wholesale access
Any locked product, collection or page can show an “Apply for access” button next to the login button. The applicant does not have to hunt for a form.
- 2
Step 2: The application form → Prime Lock form block, added via app proxy
Your fields, your validation, your file uploads. It renders on your storefront under your theme's styles, not on a third-party domain.
- 3
Step 3: Review → Customer created and tagged pending-approval
The customer record exists immediately, extra fields are written as metafields, and every lock stays closed. The applicant can log in and see exactly what a guest sees.
- 4
Step 4: Approve → One click applies the wholesale tag
Approval swaps `pending-approval` for `wholesale`, which opens every lock keyed to that tag at once, and sends a welcome email linking straight to the unlocked catalog.
- 5
Who can unlock → Customers with tags → wholesale
The tag is the single source of truth. Nothing in your theme or your locks needs to know how the tag was earned.
- 6
Storefront behavior → Replace price with "Approved accounts only"
Keep the message honest for the pending applicant: they are logged in and still locked, and the copy should say why.
The form fields
Every field is optional to enable. These are the built-ins; you can add your own text, select, number or checkbox fields on top.
- Company name (required) · Free
- Phone (optional) · Free
- EU VAT number (required) · Pro · validated live against VIES as the applicant types
- Business licence upload (optional) · Pro · PDF or image, stored against the customer record
- Custom fields: any number, written to customer metafields you can use in Flow, exports or your ERP
The approval queue
Every submission lands in one list, newest first: applicant, company, submitted date, and a checks column that shows what the system could verify on its own: VAT valid, VAT invalid, no tax ID supplied, licence attached. Approve and Reject are the only two buttons, and both are one click.
Rejection is not silent: the applicant gets an email you can edit, and the record stays in the queue as rejected so nobody re-litigates the same company in three months.
Auto-approval rules (Pro)
Reviewing every application by hand stops scaling around the point it starts working. Pro lets you approve automatically when the VAT number validates against VIES, or when the applicant's email domain matches an allowlist you maintain, useful when you already know the twenty retail groups you sell to.
Anything that does not match a rule waits for review. Auto-approval never rejects; it only shortens the queue.
Why we don't touch Shopify's login form
New customer accounts are hosted by Shopify. The sign-in and registration screens are rendered by Shopify on Shopify's own domain, and apps cannot modify them; there is no theme file, no injection point, and no supported API to add a field. Any app that claims to customise that form is either using classic accounts or overlaying something on a page it does not control.
Classic customer accounts are barely better. The register form accepts a note field and nothing more: no validation, no file uploads, no approval state, no way to reject. You end up with a free-text blob attached to a customer who is already fully registered.
So Prime Lock adds its own form block through an app proxy instead, served under your domain and your theme. Because enforcement is tag-based and the tag lives on the customer record, the flow behaves identically whether your store runs classic or new customer accounts, and it keeps working the day Shopify changes the account screens again.
What the customer sees
Guest, pending applicant, approved buyer. The middle state is the one most apps get wrong: logged in is not the same as approved.
Bulk Cotton Tee · 24 pack
Aspedan Supply · SKU BCT-24
Approved accounts only
The product page is still indexable by Google, only the price is withheld.
Apply for wholesale access
Trade application
Rendered on your storefront through the app proxy, under your theme's styles.
Company name
EU VAT number
Valid · checked live against VIES
Phone
Tell us about your business
Thanks! We review applications within one business day. You will get an email as soon as your account is approved.
Why enforcement matters here
A pending applicant has a real, working Shopify account. If your locks only check “is this visitor logged in”, they are already inside; and if the lock only hides the price in the theme, a cart permalink from an approved buyer completes checkout at trade pricing for anyone who receives it.
Prime Lock keys the lock to the `wholesale` tag rather than to a session, and the checkout Function re-checks the tag on the order itself. A pending account, a rejected account, or a guest with a permalink all hit the same wall: the cart resolves, the order does not. Approval is the only thing that changes the outcome, which is exactly what a vetted programme means.
Related
Blog
Designing a wholesale registration and approval flow
What to ask for, what to verify, and what to automate.
ReadBlog
Customer tags vs. Shopify B2B companies
When Shopify Plus's B2B model is the right answer, and when tags are enough.
ReadDocs
Registration and approval
Fields, VIES validation, auto-approval rules and the welcome email.
ReadOpen your wholesale programme without opening your inbox.
Application form, VAT validation and a one-click approval queue. Early access starts on the free plan.
No newsletter. One email when Prime Lock is live.