Checkout Field Editor for WooCommerce – VAT, GST & Custom Fields
Add, edit and require WooCommerce checkout fields like VAT or GST numbers and delivery notes, saved to the order, admin screen and emails.
A WooCommerce B2B or wholesale store needs group prices, order rules, approved accounts, VAT handling and invoices. See what WooCommerce does by itself, what needs a plugin, and how to set it up step by step.
A WooCommerce B2B store sells to businesses: group prices, fixed quantities, approved accounts, VAT numbers and payment by invoice instead of card. WooCommerce gives you customer accounts, user roles, tax settings, offline payment methods and manual orders. Group prices, minimum quantities, hidden prices and account approval are not documented as core settings, so they come from a plugin, an extension or custom code.
In short
A wholesale store is a normal store plus rules about who sees what, how much they must buy and how they pay. Write down your answer to each row below. Checked against WooCommerce documentation in October 2026.
| Need | What core WooCommerce documents | What usually needs more |
|---|---|---|
| Separate prices per customer group | Regular and sale prices per product | A pricing plugin or custom code |
| Minimum quantities and case sizes | A Sold individually checkbox only | A quantity-rules plugin or code |
| Approved-customer registration | Customers register at checkout or on My account | An approval step, by plugin or by hand |
| Hidden prices or catalogue | Per product: Catalog visibility, and Public, Password protected or Private | A plugin or code that works per customer group |
| Tax-exempt buyers and VAT numbers | Tax status and class per product, prices shown with or without tax | An extension or code for per-customer exemption, and a VAT number field |
| Invoices | The Order Details email with a payment link | An invoicing plugin or accounting software |
| Payment terms | Bank transfer, check payments, cash on delivery | A process, plus invoicing tools |
People who register at checkout or through sign-up get the Customer role, and a Shop manager runs the store without full Administrator access (roles documentation). To change someone's role, open Users > All Users, select the user and choose a role.
The account settings at WooCommerce > Settings > Accounts & Privacy include Enable guest checkout, Enable log-in during checkout and Account creation (After checkout, During checkout, On "My account" page). To make buyers log in or register, untick guest checkout.
One catch: by default a Shop manager can edit only users whose sole role is Customer. If wholesale buyers get another role, a developer must allow it, as WooCommerce's developer guide describes, or an administrator makes those changes.
At WooCommerce > Settings > Tax you choose whether you enter prices with tax, and whether the shop and the cart and checkout show prices Including tax or Excluding tax. On each product, Tax status is Taxable, Shipping only or None, and Tax class defaults to Standard (setting up taxes, product editor settings). These apply to the store or a product, not a customer. WooCommerce's documentation describes no screen to exempt one customer or role, though its code has a per-session VAT-exempt flag that an extension or developer can use. Your accountant decides how a business sale is taxed.
At WooCommerce > Settings > Payments > Take offline payments you can enable Direct bank transfer, Check payments and Cash on delivery. Orders paid by direct bank transfer are set to On hold until you confirm the deposit. For more on gateways, read WooCommerce payment gateways.
For payment on account, create the order at WooCommerce > Orders > Add order, choose the customer, set the status to Pending payment and save. Then, under Order actions, choose Send order details to customer: the email includes a Pay for this order link. The paying for orders guide adds that each order accepts only one payment and that registered customers see a Pay option under My account. Due dates and credit limits are not part of it.
Three DevMarket items touch this list, described as their pages say. Test on a staging copy.
Hidden prices, approval forms and per-customer tax exemption come from other plugins or code: vet them as in the best WooCommerce plugins guide.
An approval workflow, in general terms: the applicant registers with a company name, VAT number and trade documents; you check them and change the account's role; the wholesale role unlocks prices. Core handles accounts and the role change. Documents, a pending state and notifications come from a plugin, or from a contact form and a spreadsheet. The role must exist first, so add one with a role-management plugin, as the roles page suggests.
This is a judgement call.
| One store with a wholesale role | A separate wholesale site | |
|---|---|---|
| Upkeep | One site to update, secure and back up | Two sites, or a Multisite network |
| Catalogue and stock | Shared, so stock stays in one place | Duplicated or synchronised |
| Prices | Role-based, so mistakes and cache problems can show the wrong price | Separate, so retail and wholesale never mix |
| Look and policy | One theme and one set of policies | Its own domain, theme, payment methods and terms |
Start with one store unless wholesale needs a different brand, currency, tax setup or shipping rules. WordPress Multisite runs several sites in one installation: check each plugin's Multisite support.
A business buyer usually needs an invoice with their company name and VAT number. Whether a sale is taxed, zero-rated or exempt depends on the buyer, the goods and the country, so confirm it with your accountant and the tax authority. This guide is not tax advice. Our guides to WooCommerce tax and VAT setup and VAT and invoices for online stores in Saudi Arabia cover the settings and the basics. In Saudi Arabia, invoices to businesses are generally standard tax invoices, which the ZATCA phase 2 guide treats differently from consumer ones. Ask your invoicing provider what it supports before you promise buyers anything.
Mixed prices in caches. WooCommerce's caching guide says the Cart, My Account and Checkout pages must stay dynamic. Shop and product pages are normally cacheable, which is the risk: a cached page built for one group can be served to another. The guide does not cover role-based prices, so ask your host or cache plugin how it treats logged-in users, then test one product as a guest and as a wholesale customer. WooCommerce stores variable-product price ranges in a transient, and a developer can vary its cache key with the woocommerce_get_variation_prices_hash filter, so ask a pricing plugin's author how it handles that. Our speed guide explains what must not be cached.
Other mistakes: hiding prices with CSS only, which leaves them in the page source; ignoring how a pricing plugin treats users with two roles; and promising net terms before you have an invoicing tool.
Not as a documented setting. You can set regular and sale prices per product, but prices per customer group need a plugin or custom code.
Core has per-product catalogue visibility, not per customer group. Use a plugin or code, and test your cache.
WooCommerce's documentation describes no per-customer exemption screen. Decide the tax treatment with your accountant, then use an extension or a developer.
Manually, yes: use an offline method or a manual order with a payment link, and track due dates in your accounting tool.
Not usually. Consider one if wholesale needs a different brand, tax setup or policies.
Read WooCommerce tax and VAT setup, compare payment gateways and review speeding up your store. You can browse WooCommerce plugins on DevMarket.
The software this guide talks about, ready to look at.
Add, edit and require WooCommerce checkout fields like VAT or GST numbers and delivery notes, saved to the order, admin screen and emails.
Set a custom price per user role for wholesale and B2B customers: lightweight, no bloated membership features, with variable product support.
Set minimum and maximum quantities per product, quantity steps, and minimum or maximum order amounts, with clear messages and checkout blocking.
Fix the WordPress critical error and white screen of death calmly: back up, read the logs, find the cause by elimination, then handle database, 500, memory, maintenance mode, 404 and login errors.
9 min read
Choose a WordPress theme by testing, not by demo. Compare block and classic themes, sources, speed, accessibility, RTL support, WooCommerce, builder lock-in and licence terms on a staging copy.
9 min read
Use this WordPress maintenance checklist to plan weekly, monthly and yearly tasks: updates, backups, users, plugins, security, speed, PHP, domain and SSL, plus Site Health and WooCommerce checks.
9 min read
Every item on DevMarket has a human-reviewed release, an instant licence key and clear update and support terms.