Accounts & Users · Module 3.17 Module 3.17

User Roles & Permissions

Create unlimited custom WordPress roles for your B2B tiers. Every pricing rule, catalog restriction, payment rule, and inventory rule targets roles — setting these up first makes everything else click into place.

Set this up first. Roles are the single most important building block. Before you create a single discount rule, inventory rule, or catalog restriction — create your customer tier roles (e.g. Wholesale Bronze, Silver, Gold, Distributor). Every other module will ask you to pick a role as the target.

Unlimited Custom Roles

Create as many B2B roles as your business needs — Bronze, Silver, Gold, Platinum, Distributor, Reseller, Staff, Pending Approval. No limits.

Built on WordPress Roles

B2B roles are real WordPress roles with configurable capabilities. Assign them via the B2B Commerce Kit section on any user's edit screen.

Pending Approval Role

A dedicated "Pending Approval" role is perfect for new registrations — users can log in but can't see prices or check out until you manually promote them.

Role-Based Capabilities

Control what each role can do: view prices, check out, request quotes, use bulk orders, access sub-accounts. Fine-grained permissions per role.

Role Assignment on Registration

Combined with Custom B2B Registration, new registrants are automatically assigned a role (e.g. Pending Approval) upon sign-up.

Works Across All Modules

Every single module — Discount Rules, Hide Price, Payment Rules, Inventory Rules, Private Catalogs, PO Approval — uses roles as the primary targeting mechanism.

Setup

Typical Role Structure

Role NameWho gets itWhat they can do
Pending ApprovalAll new B2B registrantsLog in, browse products — prices hidden, no checkout
Wholesale BronzeNewly approved, small accountsSee prices, check out, 5% discount
Wholesale SilverEstablished accounts, moderate volumeSee prices, check out, 10% discount, Invoice payment
Wholesale GoldHigh-volume accountsAll above + 15% discount, free shipping, Net 30 credit
DistributorRegional distribution partnersPrivate catalog access, contract pricing, sub-accounts

User Roles are WordPress-level access controls set per user. They represent a tier or type (e.g. Wholesale Bronze). User Lists are manually curated groups that can cut across roles — e.g. "VIP Accounts" containing some Silver and some Gold customers. Use Roles for your standard pricing tiers; use Lists for one-off targeted campaigns or bespoke groups.

Each user has one primary B2B Commerce Kit role. WordPress natively supports multiple roles per user but for B2B pricing clarity it's best to keep each customer in a single tier role. If you need special targeting for a subset of users within a tier, use a User List for the exceptions rather than a second role.

Yes, with a small hook. Use woob2b_points_awarded to check a customer's lifetime points total after each award — when they hit a milestone (e.g. 1,000 points), call wp_update_user(['ID' => $user_id, 'role' => 'wholesale_gold']) to auto-promote them. See the Hooks reference for a full code example.