Documentation

Registration Fields & Account Approval

Registration fields, account types, approving new accounts, emails and a registration page.

Registration Fields & Account Approval for WooCommerceFrom $89 / year · 14-day money-back guaranteeView plugin →

Registration Fields & Account Approval adds your own fields to WooCommerce’s registration form, lets customers choose an account type such as Retail or Trade, and holds new accounts of some types until you approve them.

Requirements

  • WordPress 6.8 or newer
  • WooCommerce 10.0 or newer
  • PHP 7.4 or newer
  • Works with classic and block themes and WooCommerce’s own registration form. EU VAT numbers are checked with the European Commission’s VIES service.

Installation

  1. Download registration-fields-approval.zip from My account > Downloads.
  2. In WordPress, go to Plugins > Add New Plugin > Upload Plugin, choose the zip file and click Install Now.
  3. Click Activate. The registration form starts with first name, last name and company fields. Settings are under WooCommerce > Settings > Registration, and new accounts under WooCommerce > Registrations.

Customers need a registration form to sign up. Allow account creation on the My account page under WooCommerce > Settings > Accounts & Privacy, or add the Registration form block to a page.

Quick start: trade accounts you approve

  1. Go to Registration > Account types and approval and click Add account type twice: Retail customer with the Customer role, and Trade account with your wholesale role and Approve before use ticked.
  2. Go to Registration > Form fields and add the fields trade customers fill in, such as company name, VAT number and a business document. Set Show for account types to Trade account.
  3. Register a test account on My account as a trade customer. You get a “New account to review” email.
  4. Open WooCommerce > Registrations, check the answers and click Approve account.

Fields

Fields appear on the registration form in the order of the list. Add a field, or click a ready-made one such as EU VAT number, Phone number, Website, Business document, “How did you hear about us?” or Accept the terms.

Registration form fields, with ready-made fields at the bottom.
Registration form fields, with ready-made fields at the bottom.
ChoiceOptions
TypeText, text area, email, phone, number, date, dropdown, choice buttons, checkboxes, a single checkbox, country, file upload, EU VAT number or heading.
FormRequired or optional, full or half width, a placeholder and help text, and the account types it shows for.
Save toThe account only, or the customer’s name or billing details, so the answer fills in checkout and appears on orders.
Customers can change itShow the field in My Account > Account details.
An open field: a company name saved to the billing company.
An open field: a company name saved to the billing company.

File upload fields accept PDF, JPG and PNG files of up to 5 MB. Files are stored in a private folder with a random name, and only shop managers and the customer can open them. EU VAT numbers are checked with VIES as the customer registers, and the result is shown on the review screen.

Account types

With two or more account types, customers choose one when they register. Each type gives its own user role, so it works with role prices and catalog rules, and can wait for your approval. Roles that can open wp-admin are never offered.

Account types with their roles.
Account types with their roles.
The account type choice on the registration form.
The account type choice on the registration form.

Approval

Accounts of a type that needs approval wait under WooCommerce > Registrations, and you get an email for each one. Open an account to see the answers, documents and VIES result. Approve it with a role, or decline it with a reason; the customer is emailed either way.

WooCommerce > Registrations.
WooCommerce > Registrations.
Reviewing a trade account.
Reviewing a trade account.

While waiting decides what customers can do before approval: not log in at all, or log in and shop as Customer, getting the type’s role once approved. The approval status also shows in the Users list, with a “Waiting for approval” view, and on user profiles.

The approval status in the Users list.
The approval status in the Users list.

Emails

Four emails, under WooCommerce > Settings > Emails: New account to review (to you), Registration received, Account approved (with a link to choose a password when WooCommerce generated it) and Account declined.

The New account to review email.
The New account to review email.

A registration page of its own

Add the Registration form block to any page, for all account types or one of them, such as an “Apply for a trade account” page. It uses WooCommerce’s own registration, so its settings and other plugins’ fields apply too. In a classic theme use the shortcode [rfap_registration type="trade"].

An "Apply for a trade account" page with the Registration form block.
An “Apply for a trade account” page with the Registration form block.

Settings

SettingWhat it does
Choice labelShown above the account types on the registration form.
While waitingCustomers can’t log in until the account is approved, or they can shop as Customer and get the type’s role on approval.
Remove dataDeletes the fields, settings, registration answers and uploaded documents when the plugin is deleted.

EU VAT numbers are sent to VIES (ec.europa.eu) only when the form has a VAT number field and a customer enters a number. Mention this in your privacy policy.

For developers

HookUse
rfap_fields, rfap_account_typesThe fields and account types of the form.
rfap_form_field_argsThe arguments of each field on the form.
rfap_validation_errorsValidate the answers.
rfap_field_presetsThe ready-made fields.
rfap_registration_saved, rfap_account_pending, rfap_account_approved, rfap_account_declinedRun at each step.
rfap_admin_capabilityThe capability needed to review accounts.

Copy the files in public/templates/ to yourtheme/registration-fields-approval/ to change the form.

Frequently asked questions

What happens to accounts created at checkout?

They are approved straight away as the first account type, so customers can finish their order.

Does it work with Role Based Pricing & Wholesale Prices?

Yes. Give a Trade account type the Wholesale customer role, and approved trade customers see their role prices.

Changelog

1.4.2 · September 7, 2026

Maintenance

  • Fixed a settings notice remaining visible after the configuration had been saved.
  • Improved validation of saved settings during plugin updates.

1.4.0 · September 1, 2026

Compatibility update

  • Updated compatibility checks for current WooCommerce releases.
  • Improved translated notices and settings labels.

1.3.3 · February 21, 2026

Maintenance

  • Fixed spaces in an EU VAT number causing an otherwise valid number to be rejected.

1.3.0 · February 10, 2026

Feature update

  • Added VAT number validation through VIES.
  • Improved the notice shown when the validation service is temporarily unavailable.

1.2.1 · September 9, 2025

Maintenance

  • Fixed the approval email being sent twice when the request was saved again.

1.2.0 · August 24, 2025

Feature update

  • Added approval and rejection email templates.
  • Added a registration status column to the WordPress Users screen.
  • Compatibility: updated integration checks for WooCommerce 10.x.

1.1.3 · March 14, 2025

Hotfix

  • Fixed a hidden required field preventing registration for a different account type.

1.1.0 · March 5, 2025

Feature update

  • Added account types with different roles and approval requirements.
  • Added conditional visibility for fields belonging to a selected account type.

1.0.1 · September 19, 2024

Hotfix

  • Fixed required fields not showing a useful validation message on an empty registration form.

1.0.0 · September 8, 2024

Initial release

  • Initial release.
  • Add custom registration fields and review new trade account requests.