> For the complete documentation index, see [llms.txt](https://support.storefront.co.za/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://support.storefront.co.za/features/stores/frontend-user-roles.md).

# Frontend User Roles

Frontend User Roles let the merchant control what different kinds of signed-in customers can see and do on their store. One store can serve the public, retail customers, trade accounts and internal branch staff, and each group can be shown a different version of the same catalogue.

A role controls three things: which price list a customer sees, which features they may use, and whether they can sign in at all.

{% hint style="info" %}
In the back office these are found under the store you are working on, on the menu item called **Users**.
{% endhint %}

### Why Use Frontend User Roles?

* Show trade pricing to business accounts while retail customers see the standard price.
* Hide pricing entirely from visitors who have not signed in.
* Let some customers request a quote instead of placing an order.
* Give branch or head office staff a wider view of stock than customers get.
* Open up features such as wishlists, gift registries or invoices to selected groups only.

### Role Types

Each role is based on one of the following types, which is set when the role is created and cannot be changed afterwards:

* **Public** - visitors who have not signed in.
* **B2C** - individual retail customers.
* **B2B** - business or trade accounts.
* **Supplier** - supplier accounts.
* **Branch** - branch staff.
* **Head Office** - head office staff.

### Setting Up a Role

The role screen is divided into tabs.

#### Basics

* **Display Name** - the name used for the role in the back office, such as Business Customer.
* **Description** - an optional note explaining what the role is for.
* **Sort Order** - controls where the role appears in lists.
* **Key** - the underlying role type. This is shown for reference and cannot be edited.

A role can also be marked as active or inactive, and one role can be set as the default. The default role is the one new registrations are given automatically. Customers in an inactive role cannot sign in.

#### Pricelist

Set the **Default Price List** for the role. Every customer in the role sees this price list unless an individual feature overrides it.

#### Features

This tab lists everything the role can be allowed to do, grouped by area:

* **Pricing** - see product pricing, promotional prices and bulk pricing tiers.
* **Product Data** - view full descriptions, technical documentation, internal product notes and product status flags.
* **Availability** - see stock availability.
* **Search and Navigation** - use product search and the filter panel.
* **Ordering** - add to cart, place orders, request quotes, view order history and reorder.
* **Account** - manage addresses and profile details, access invoices and statements, view enquiry history, the wallet, wishlists, coupons, gift vouchers and gift registries.
* **Admin** - view stock and information across all branches.

Individual pricing features can be given their own promotional price list, which overrides the role's default price list for that feature only.

#### Custom Features

Where the standard list does not cover a requirement, the merchant can add a custom feature with its own key and display name. This is typically used alongside a bespoke storefront build.

### How to Set Up a Frontend User Role

1. Click on the store you would like to configure
2. Click on Users
3. Click on the role you would like to edit, or create a new one
4. Complete the Basics tab
5. Choose the default price list on the Pricelist tab
6. Switch on the features the role should have on the Features tab
7. Save your changes

{% hint style="info" %}
Changes to a role apply to every customer assigned to it. It is worth reviewing a role's features before making it the default for new registrations.
{% endhint %}

### Assigning a Role to a Customer

Setting a role up does not on its own apply it to anyone. A customer gets a role in one of three ways:

* **Automatically on registration** - whichever role is marked as the default is given to new sign-ups.
* **On an individual consumer** - open the consumer under [Customers > Consumers](/features/customers/consumers.md) and use the Role panel. When creating a consumer, the same choice appears as Account Role.
* **On a company** - open the company under [Customers > Companies](/features/customers/companies.md) and use the Role panel, so everyone buying on that company's behalf is treated the same way.

A customer with nothing assigned shows as **No role active**, and you can return them to that state by choosing No Role.
