How to build a custom wholesale signup form
Process Wholesale lets you build your own wholesale signup form on the Custom Signup Form page: add, order, require and remove fields, add file uploads, and add a consent checkbox for your terms. The same form is shown by the Wholesale Custom Signup theme block (for legacy customer accounts, or guests on new customer accounts) and the Wholesale custom signup Form customer account extension (for new customer accounts). The custom form needs the Enterprise or Professional plan.
At a glance
- Plan: Enterprise or Professional. The page says "Custom signup is available on the Enterprise plan only."; Professional also has access.
- Where: Process Wholesale > Custom Signup Form
- Shown by: Wholesale Custom Signup theme block and Wholesale custom signup Form customer account extension
- Account types: Both. Shopify admin labels them Customer accounts (new customer accounts) and Legacy (legacy customer accounts) under Settings > Customer accounts.
- Answers appear in: Process Wholesale > Customers > View details, and the Shopify customer note
Before you start#
- Check your account type in Shopify admin under Settings > Customer accounts. It decides where you add the form after building it. See which form to use.
- On plans other than Enterprise or Professional, the page shows "Custom signup is available on the Enterprise plan only." with Upgrade to Enterprise. Use the standard form instead.
Steps to build the custom signup form#
- In Process Wholesale, select Custom Signup Form. A new form starts with the default fields.
- To add a field, select Add new field. The button at the top adds the field first; the one at the bottom adds it last.
- For each field:
- Type the label in the Display Name box (help text "Visible to customer").
- Choose the Field Type.
- Optionally type a Placeholder.
- Check Required ? to make it required.
- Drag a field by its handle to change the order.
- To remove a field, select the X on its card. Locked fields cannot be removed.
- Optionally set up the consent checkbox under Add Security & Compliance fields (optional).
- Select Save in the save bar. The toast "Form updated" confirms the save.
- Reopen Custom Signup Form and check that every field you marked Required ? still has the box checked. If a new field shows as not required, check Required ? again and select Save.
- Add the form to your store (see "Add the custom form to your store").
The Note banner at the top of the page has a Watch tutorial link to a video of these steps.
Custom signup form field types#
| Field type | What the applicant enters | Notes |
|---|---|---|
| Text | One line of text | |
| An email address | An extra email, for example accounts payable. It is saved in the customer note, not as the account email. On a theme form, a logged-in customer sees their account email in this field and cannot change it. | |
| Number | A number | |
| Long text | Several lines of text | Shown as a multi-line box on theme forms and as a single-line field in customer accounts |
| Address | Country, address, apartment, city, state and zip code | One per form. Saved as one line. In customer accounts the applicant can pick a saved address. |
| File Upload | One file | See how file uploads work |
Locked fields show their own types, which you cannot change: First name, Last name, Signup Email (the account email) and Password.
Default fields of the custom signup form#
| Display Name | Field Type | Required by default | Can be removed |
|---|---|---|---|
| First Name | First name | Yes (Mandatory Field) | No, only the label can change |
| Last Name | Last name | Yes (Mandatory Field) | No, only the label can change |
| Business Name | Text | Yes | Yes |
| Business Address | Address | No | Yes |
| Phone Number | Text | No | Yes |
| Tax ID | Text | Yes | Yes |
| Website | Text | No | Yes |
| Additional Info | Text | No | Yes |
| Email Address | Signup Email | Yes (Mandatory Field) | No, only the label can change |
| Password | Password | Yes | Kept on the form; only the label can change |
The Password row is marked Legacy Field. It is used only on legacy customer accounts. On a store with new customer accounts, the row is hidden on the page, and the password is never asked in customer accounts or with the new customer flow.
Each field also shows ID: with a short code. The ID is used for translating the field text and is not visible to customers. Field labels are not translated automatically.
How to add a consent checkbox (terms and conditions)#
Under Add Security & Compliance fields (optional) ("These fields are always displayed at the bottom of the form"):
- Type the consent text, for example "I have read and agree to the terms and conditions".
- Optionally type a link to your terms in Link to Terms and Conditions. It must start with
http. - Check Enabled ?.
- Select Save.
On the form, the applicant sees a required checkbox with your text and, when a link is set, an icon that opens the link in a new tab. Submit stays disabled until the box is checked.
Add the custom form to your store#
Legacy customer accounts (theme block).
- In Shopify admin, go to Online Store > Themes > Customize.
- Open the page for your signup form (or a collection, product or home page template).
- Select Add block and choose Wholesale Custom Signup.
- Set the block settings: Use new customer flow, Registration form heading, Text to show to logout customers above login button, Text to show for pending approval B2B customers, Pending approval message color, Text to show for already logged in B2B customers, Browse products link for logged in accounts, and the Design settings. They work like the standard block settings; this block has no field settings, because the fields come from Custom Signup Form.
- Select Save.
The Wholesale Custom Signup block appears in the theme editor only on Enterprise or Professional.
New customer accounts (customer account extension). In Shopify's checkout and accounts editor, add Wholesale custom signup Form, and turn on Use Custom Registeration Form in the Wholesaler Information block so its button opens the custom form. Full steps are in how to add the signup form to new customer accounts. To take guest applications on new customer accounts, also add the Wholesale Custom Signup theme block with Use new customer flow set to Yes.
What your customers see#
On a theme page, the custom form shows your heading, your fields in your order with an asterisk on required ones, the consent checkbox if enabled, the built-in captcha and Submit. The Password field appears only on legacy customer accounts for visitors who are not logged in. Logged-in customers see their name and email filled in and locked. Pending and wholesale customers see the same messages as on the standard form.
In customer accounts, the custom form shows the same fields without the password, plus the consent checkbox if enabled.
Where the answers appear#
Each answer is saved in the Shopify customer note as a line that starts with the field's Display Name, followed by the answer, for example "Resale certificate number" and "12345". You can read the note:
- In Process Wholesale under Customers, with View details on the customer (Signup notes). File links open in a new tab.
- In Shopify admin on the customer's page, in the note.
The New Wholesale Application email lists the applicant's email and name. For applications from a theme form, it does not include the custom field answers, so open View details to review them.
How saving the custom signup form works#
Saving checks the form and shows errors in a banner titled "Please correct the following errors to save your changes" (toast "Please correct the form errors to save your changes"):
| Message | Cause |
|---|---|
| "Add at least one field to the signup form" | The form has no fields |
| "Missing or invalid fields provided" | The field list is empty or invalid |
| "The signup form needs exactly one email field" | There is not exactly one Signup Email field |
| "The signup form supports one address field" | More than one Address field |
| "The signup form supports one first name field" / "The signup form supports one last name field" | A name field is duplicated |
| "Consent is enabled, but no consent text is provided" | Enabled ? is checked without consent text |
| "Invalid agreement Link Provided" | The consent link does not start with http |
| "We couldn't save your signup form. Try again in a moment." | The save failed; try again |
If the Password field is missing when you save, Process Wholesale adds it back and reloads the list.
Example. You add a File Upload field "Resale certificate" and a Text field "Resale certificate number", check Required ? on both, move them under Tax ID, and select Save. You reopen Custom Signup Form: both new fields show Required ? unchecked, so you check it on both again and select Save. After that save, reopening the page shows both boxes checked, and the form is ready. An applicant on your wholesale page now sees the two fields after Tax ID and cannot submit without them.
Limits and things to know#
- Enterprise or Professional only. The page, the theme block and the customer account custom form all need one of these plans.
- Save once before using the block. The Wholesale Custom Signup block shows no fields until the form has been saved at least once. Select Save on Custom Signup Form (make any change to enable the save bar).
- Check Required after adding a field. A field added and marked Required ? shows as not required after its first save. The same happens to the default Business Name and Tax ID fields the first time you save the form. Reopen the page, check Required ? again, and save again; if you save again without checking it, the storefront form also treats the field as optional.
- Dashboard card. The Signup form card on the Process Wholesale Dashboard reads ON when the Wholesale Custom Signup block or the Wholesale Signup Form block is on a page template of your published theme, or when a wholesale signup form is added in new customer accounts. A block on a collection, product or home page template reads OFF.
- Placeholders are not shown on the storefront form or in customer accounts.
- One address, one signup email, one first name, one last name.
- Labels are not translated automatically. The text you type is shown in every storefront language.
- Answers are text in the customer note. They are not separate Shopify customer fields.
Troubleshooting#
| Symptom | Likely cause | Fix |
|---|---|---|
| The Wholesale Custom Signup block shows no fields | The form was never saved | Open Custom Signup Form, make a change and select Save |
| The block is missing in the theme editor | The store is not on Enterprise or Professional | Upgrade under Plan |
| A required field can be left empty | Required ? did not save on the new field | Reopen the page, check Required ? and select Save |
| Fields appear in an old order in customer accounts | The order changed after the form was loaded | Select Save on Custom Signup Form again |
| The placeholder text does not appear | Placeholders are not shown on the forms | Put the hint in the Display Name instead |
Frequently asked questions#
Does the custom signup form work with new customer accounts?#
Yes. The same fields are used by the Wholesale Custom Signup theme block and the Wholesale custom signup Form customer account extension. You edit them in one place, Custom Signup Form.
Which field types can the custom signup form use?#
Text, Email, Number, Long text, Address and File Upload, plus the locked First name, Last name, Signup Email and Password fields.
Where do I see the answers from the custom signup form?#
In Process Wholesale under Customers > View details (Signup notes), and in the customer note in Shopify admin. Each answer is labeled with the field's Display Name.
How do I add a terms and conditions checkbox to the signup form?#
Under Add Security & Compliance fields (optional), type the consent text, optionally a link starting with http, check Enabled ? and select Save. Applicants must tick the box before Submit is enabled.
Can I remove the Password field?#
No. Process Wholesale keeps one Password field on the custom form and adds it back if it is missing. It is only shown on legacy customer accounts, to visitors who are not logged in.