> For the complete documentation index, see [llms.txt](https://developer.emporix.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.emporix.io/frontend-guides/commerce-examples/user-management-approvals.md).

# User Management and Approvals

Manage company users and follow role-based order and quote approval flows in the B2B Commerce Frontend.

The B2B Commerce Frontend combines company user management with role-based purchasing approvals. A customer with the **Admin** role can create users and assign them to the **Admin**, **Buyer**, or **Requester** group. The assigned group and the company purchasing limit determine whether a customer can complete a purchase or must request approval.

{% hint style="info" %}
To create users and assign roles in the storefront, see [User Management](/frontend-guides/customer-account/dashboard-overview/user-management.md). For approval configuration in the Management Dashboard, see [Companies](/user-guides/management-dashboard/customer-management/companies.md) and [Groups](/user-guides/management-dashboard/customer-management/customer-groups.md).
{% endhint %}

## How roles affect approvals

| Role          | Purchasing and approval behavior                                                                                                                                        |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Admin**     | Can complete purchases and approve requests that exceed the company purchasing limit.                                                                                   |
| **Buyer**     | Can complete purchases within the company purchasing limit and approve Requester purchases within that limit. Purchases above the limit require approval from an Admin. |
| **Requester** | Must request approval for every purchase. A Buyer or Admin can approve requests within the company purchasing limit; an Admin must approve requests above the limit.    |

If the company has a dedicated approval group, its members replace the standard Buyer and Admin approvers. Only members of that approval group appear when a customer selects an approver.

## Requesting approval for an order

A Buyer whose order exceeds the company purchasing limit, or a Requester placing any order, sends an approval request during checkout.

{% stepper %}
{% step %}

#### Complete the checkout details

Add products to the cart and provide the delivery and payment details at checkout.
{% endstep %}

{% step %}

#### Start the approval request

Accept the terms and conditions, then select **Inquire for Approval** instead of placing the order.

<figure><img src="https://4011296124-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOgeoK7nW6gEh0q1ceUZP%2Fuploads%2Fgit-blob-21812cb7a61ec429b73dde748fe5ede09b7ddc05%2Fapproval_request.png?alt=media" alt="Checkout page with the Inquire for Approval action"><figcaption><p>Requesting approval during checkout</p></figcaption></figure>
{% endstep %}

{% step %}

#### Choose an approver

Select an eligible approver, add an optional comment, and select **Submit request**.
{% endstep %}

{% step %}

#### Track the request

The approver receives an email notification. The requester can track the request under **Order Management** → **Approvals**.
{% endstep %}
{% endstepper %}

## Quote approvals

Approvals also apply to quotes. When quote approval is enabled, a customer who does not have permission to accept an **Open** quote can send it to an eligible company approver. The requester and approver can track the request under **Order Management** → **Approvals**.

Quote approval is disabled by default. Enable **Enable quote approval process** (`approval.enableQuoteApprovalProcess`) under **Settings** → **System Preferences** in the Management Dashboard. For configuration details, see [System Preferences – Approvals](/user-guides/management-dashboard/settings/system-preferences.md#approvals).

{% hint style="info" %}
For the complete process, see the [quote approval flow](/frontend-guides/commerce-examples/quote-process.md#quote-approval-process) in the Quotes guide.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://developer.emporix.io/frontend-guides/commerce-examples/user-management-approvals.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
