Extended registration and custom fields

Introduction #

B2BKing introduces a powerful extended registration feature, through which you can configure multiple registration options (roles) as well as custom registration fields.

The registration functionality is very flexible and it supports:

  • Business registration with multiple business types
  • Both B2B and B2C registration
  • Separate registration pages via shortcodes
  • 10+ types of custom fields: text, number, date, dropdown, checkboxes, file uploads, etc.
  • Different required fields for different registrations roles
  • VAT number support and validation through the European VIES system
  • Custom checkout billing fields, and adding fields on invoices
Registration Functionality Preview

How it Works #

To make this possible, the plugin adds the following panels to the B2BKing admin backend:

  • Registration Roles
  • Registration Fields
Registration Roles and Fields in the Admin Backend

Registration Roles are the registration options that customers can apply for.

Registration Roles Dropdown

You can configure any number of roles. There are 2 default roles (individual and B2B customer), which can be modified, removed, or added to.

Registration Roles Example: Individual, Wholesaler, Factory

Each registration role can be associated with different fields. For example, that means a user applying for the "Factory" role might be required to upload a factory certificate document, whereas a user applying for the "Wholesaler" role might not.

Registration Fields are the actual fields associated with each registration option. There are default fields such as "Company Name", "Company Address", "VAT Number", but you can also configure your own custom fields.

Registration Fields Example

Fields can be connected to WooCommerce billing fields. For example that means that if a customer enters their company name during registration, it will be pre-filled during checkout so they do not need to enter it again.

Registration on the My Account page #

The simplest way to configure registration is to switch on the "Enable Dropdown & Fields" setting in B2BKing -> Settings -> Registration:

Enabling and disabling the registration roles dropdown

This will add the User Type dropdown to WooCommerce registration pages such as the "My Account" page.

"User Type" dropdown.

Note: In order to see the "Register" option on My Account pages (and not just login), you must enable the setting in WooCommerce -> Settings -> Accounts -> "Allow customers to create an account on the "My account" page".

Completely Separate B2B and B2C Registration / Shortcodes #

If rather than use a dropdown, you would prefer to completely separate the two types of registration, read the following article: Completely Separate B2B and B2C registration

About Registration Roles #

When configuring registration roles, you will see the following panel:

Registration roles in the admin backend

Here you can drag & drop roles to re-order them in the "user type" dropdown, as well as create, or edit each role.

When editing a role, you will see the following panel:

There are 3 available options:

  • Approval required - controls whether users who apply for this role are automatically or manually approved.
  • Automatic approval to group - controls what customer group users who apply for this role will be assigned to.
  • Non-Selectable - this is an option that should only be enabled for the first, "please select a role" option in the dropdown.

Each registration role has its own attached fields that are visible when selecting the role in the dropdown.

About Registration Fields #

When configuring registration fields, you will see the following panel:

Registration fields in the admin backend

Here you can edit, add, or remove fields, as well as drag & drop fields to re-order them.

You can configure a field in more detail by clicking on it, which will open the field configuration panel:

Individual registration field panel

When setting up an individual registration field you can configure:

  • Whether the field is required
  • Sort order (order in which the fields appear)
  • Registration role (for which the field is visible)
  • Whether the field is editable after registration
  • Field Type (Text, Textarea, Number, Telephone, Select, Email, File Upload, Date)
  • Field Label
  • Placeholder

You can also select how these fields are connected to billing through Billing Options

Billing options for the VAT Field.

In billing options you can select whether a field is also available in the billing section at checkout. Some fields are special such as the VAT field. For the VAT field you can choose which countries can see the field and enable or disable automatic VAT VIES validation.

Through billing options you can also create custom fields and have these fields appear in checkout and in the user's my account.

You can also choose a connection to a field like "Town" and then what the user inputs in the "Town" field will directly appear in the user's "Town/County" section in billing options.


You can create a "Parent Company Name" field, available to "All Registration Roles".

Custom "Parent Company Name" registration field
The field can also be made available and required in checkout / billing

Roles and Groups #

Registration roles and customers groups are different. Roles are the public options in the dropdown, whereas groups are private structures that are used to organise customers.

Customers do not know which group you placed them in, and each group can have its own rules, prices, discounts, available payment or shipping methods, etc.

Automatic and Manual Approval #

When customers register, they can be approved manually, with the shop manager reviewing their application and data / documents uploaded, and then placing them in a customer group if approved.

Alternatively, certain roles can be approved automatically, in which case customers are placed in the group configured for automatic approval.


Customers that apply for the "Construction Supplier" role are automatically approved and added to the "Suppliers" customer group.

Automatic approval to customer group

Alternatively, if using manual approval, the shop manager will have the option to approve or reject each application:

Manually approving or rejecting the user

The registration details provided can be complex and include elements such as "Company License" or "Date of incorporation" as seen in the next image:

Complex data including Company License in registration (based on custom registration fields)

Account Requires Approval Messaging #

If an account requires approval, the user will not be able to login until approved, and will see the following messages or errors:

Thank you for registering. Your account requires approval. Please wait
Your account is still waiting for approval. Until approved, you cannot login.

Username, Password, and Recommended Registration Settings #

In the registration form, there are 2 fields which can be controlled through WooCommerce settings:

  • Username
  • Password

The 2 settings which control these fields are found in WooCommerce -> Settings -> Accounts & Privacy:

Enable or disable these checkboxes to add or remove username and password from registration

Enable or disable the first checkbox to show or hide the username field.

Disable the second checkbox to allow customers to choose their own password during registration.

Recommendation: If you use manual approval on your shop, it is best to enable the password field, so that customers choose their own password during registration. This makes the registration flow simpler and easier to follow for B2B customers.

Email notifications #

B2BKing also introduces 3 email notifications that you can enable or disable in the WooCommerce Email Settings panel:

  • New customer - sent to the shop manager when a new customer registers
  • New customer requires approval - sent to the shop manager when a new customer that needs approval registers
  • Your account has been approved - sent to the customer when their account has been approved
B2BKing Registration Email Notifications

B2BKing also lets the customer know their account needs approval, by adding this information to the WooCommerce welcome email.

Note: If you or your customers are not receiving approval emails, you should know this is a common issue with email deliverability that is usually resolved by installing a SMTP plugin such as WP Mail SMTP.

Powered by BetterDocs