> ## Documentation Index
> Fetch the complete documentation index at: https://docs.salesbricks.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Approval Workflows

> Review non-standard deals before an order can be shared with your customer or closed

export const BetaFeatureBanner = () => <>
    <Warning>
      <h3 style={{
  marginTop: 0
}}>This feature is in beta</h3>

      <p>We're actively improving it, so some functionality may change before general release. To join the beta or send feedback, ping us in your dedicated Slack channel or email <a href="mailto:support@salesbricks.com">support@salesbricks.com</a>.</p>
    </Warning>
  </>;

## Overview

**Approval workflows** let you set guardrails on your deals. You define the terms your team can offer on its own, and any order that goes beyond them is held for review by a Sales Manager or Admin before it can be shared with your customer, signed, or closed.

Orders that stay within your rules are **approved automatically**, so your team only reviews the deals that need it.

## Requirements

Approval workflows must be enabled on your Salesbricks seller org, and require [role-based access control (RBAC)](/settings/team/rbac).

<Note>
  If you don't see **Approvals** in Settings, approval workflows aren't enabled for your account yet. Reach out to us in your dedicated Slack channel.
</Note>

What each role can do:

| Role | Approval rules | Approve or reject orders |
| - | - | - |
| Admin | Full access, including turning approval workflows on or off | Yes |
| Sales Manager | Create, edit, enable, disable, and delete rules | Yes |
| Sales Representative, Customer Success Manager, View Only | View only | No |
| Finance | No access | No |

Any one approver can approve an order. Approvals apply across your whole org, there are no per-rule approvers or multi-step approval chains.

## How approval rules work

Every time an order is saved, Salesbricks checks it against your active rules:

* **If the order passes every rule**, it's approved automatically.
* **If it breaks any rule**, it needs approval. One broken rule is enough, and every broken rule is listed for the approver.

Reps see broken rules live in the order builder while they build the deal, so they know before they submit whether an order will need review.

<Note>
  Automatic approvals are enabled separately. If they aren't on for your account, every new order needs approval. Reach out to us in your dedicated Slack channel to turn them on.
</Note>

### Rule types

| Rule | What it checks |
| - | - |
| **Discount threshold** | The largest discount a rep can offer without approval. |
| **Payment terms** | The longest payment terms (net days) a rep can offer without approval. |
| **Contract length** | The shortest contract length a rep can offer without approval. |
| **Custom MSA** | Whether the order uses a custom (redlined) MSA. Custom MSAs on deals at or above the threshold you set are approved automatically. Until you set a threshold, every custom MSA needs approval. |
| **Custom commercial terms** | Whether the order includes custom commercial terms. Works the same way as **Custom MSA**. |

### Scaling a rule with deal size

The **Discount threshold**, **Payment terms**, and **Contract length** rules are set as a curve: you set the limit at a few deal sizes, and Salesbricks draws a smooth curve through those points to find the limit for each order.

For example, a discount threshold rule could use these points:

| Deal size | Maximum discount without approval |
| - | - |
| \$0 | 10% |
| \$50,000 | 18% |
| \$75,000 and above | 25% |

<Frame>
  <img src="https://mintcdn.com/salesbricks/OeBMrF0BspX6Nf-v/orders/images/approval-workflows/edit-curve.png?fit=max&auto=format&n=OeBMrF0BspX6Nf-v&q=85&s=21198b1899188f6f596d5ea77ade615b" alt="Editing the curve on a discount threshold rule" width="2568" height="1628" data-path="orders/images/approval-workflows/edit-curve.png" />
</Frame>

### What each rule measures

| Value | How Salesbricks calculates it |
| - | - |
| **Deal size** | The order's estimated grand total (TCV). On a [multi-phase order](/orders/order-phases), this is the total across all phases. |
| **Discount** | The discount on the order as a whole. |
| **Contract length** | The full contract period. On a multi-phase order, this is the total across all phases. |
| **Payment terms** | The longest payment terms on the order. On a multi-phase order, the phase with the most net days is compared with the limit for the order's total deal size. |

<Info>
  Each rule has a currency, chosen from your company's supported currencies, and only checks orders in that currency. A USD rule doesn't check an order in EUR, so set up rules for each currency you sell in.
</Info>

## Setting up approval rules

<Steps>
  <Step title="Turn on approval workflows">
    In Salesbricks, go to **Settings -> Approvals** and click **Manage approvals**. Turn on **Require approval before orders are shared**.

    Only Admins can see **Manage approvals** and this toggle.

    Until you add a rule, the order builder shows *"Approvals are on, but no rules are set up yet. Orders won't be checked until you add one."*

    <Frame>
      <img src="https://mintcdn.com/salesbricks/OeBMrF0BspX6Nf-v/orders/images/approval-workflows/manage-approvals.png?fit=max&auto=format&n=OeBMrF0BspX6Nf-v&q=85&s=03bfb89bc8415ebbd174ed0a873f5876" alt="Manage approvals page with the Require approval before orders are shared toggle" width="2578" height="1648" data-path="orders/images/approval-workflows/manage-approvals.png" />
    </Frame>
  </Step>

  <Step title="Add a rule with BrIQ">
    Click **Add rule** to open the [BrIQ](/agents/briq) sidebar, and describe the rule in plain language. For example: *"Require approval for discounts above 10% on small deals, rising to 18% at \$50k and 25% at \$75k and above."*

    BrIQ saves the rule as an inactive draft, so it doesn't apply to your orders yet.
  </Step>

  <Step title="Review the rule">
    Click **Edit** on the rule's card to open it in the editor, and choose the rule's currency.

    For **Discount threshold**, **Payment terms**, and **Contract length**, click **Edit curve** to adjust the points, then **Done editing**. For **Custom MSA** and **Custom commercial terms**, click **Edit threshold**.
  </Step>

  <Step title="Turn on the rule">
    Switch the rule to **Active** and click **Save rule**. Every new rule starts out inactive, and the switch only takes effect when you save.

    You can also turn a rule on or off from its card's menu with **Enable rule** or **Disable rule**, or delete a rule you no longer need.
  </Step>
</Steps>

<Info>
  Changing or deleting a rule doesn't affect open orders right away. Each open order is checked against your current rules the next time it's saved.
</Info>

### Orders built by an approver

When an Admin or Sales Manager builds or edits an order they own or co-own and it breaks a rule, they see a callout such as *"1 rule falls outside policy. As an approver, you can approve it and proceed."* Clicking **Create and approve** (or **Update and approve**) saves and approves the order in one step.

## Approval statuses

Approval status is tracked separately from the [order stage](/orders/order-stages). An order stays **Open** while it moves through approval. Use the **Approval status** column and filter on the Orders page to track it. (In the filter, **Pending review** is listed as **Pending**.)

| Status | Meaning |
| - | - |
| **Draft** | The order was saved with **Save as draft** and hasn't been submitted for review. Sharing is disabled. |
| **Pending review** | The order is waiting for an approver. Sharing is disabled. |
| **Approved** | The order passed every rule, or an approver approved it. It can be shared and closed. Orders that [skip approval](#orders-that-skip-approval) and orders created before approval workflows were turned on also show as **Approved**. |
| **Rejected** | An approver rejected the order. The rep must revise it and submit it again. Sharing is disabled. |

### Editing an approved order

Every save checks the order against all of your active rules again and replaces its existing approval. Approved exceptions aren't remembered: if an approved order is outside your discount, payment terms, or contract length rules, any edit, even an unrelated one, sends it back for review.

An approved custom MSA or commercial terms document isn't flagged again unless the document changes.

Saving an approved order with **Save as draft** moves it back to **Draft**.

### Orders that skip approval

* **Auto-renewals** are approved automatically.
* **Trial orders** don't go through approval.

Upgrades, recasts, and manual renewals go through approval like any new order.

## Notifications

**In-app banners:** approvers see a banner listing the orders that need their review, and reps see a banner listing their rejected orders.

**Email:** Salesbricks sends these emails automatically:

| Email | Sent to |
| - | - |
| Review required | Every Admin and Sales Manager, except the order's owner and co-owners |
| Re-review required | The same people, when an order an approver has already reviewed needs review again |
| Order approved | The order's owner and co-owners, when an approver approves the order. No email is sent for automatic approvals. |
| Order rejected | The order's owner and co-owners |

## Best practices

* Start with a discount threshold rule. It covers the most common reason deals need sign-off.
* Use deal-size curves rather than one flat limit, so larger deals can earn deeper discounts without waiting on review.
* Ask approvers to add clear notes when they reject an order, so reps can fix it on the first try.
* Make sure everyone who should approve deals has the Admin or Sales Manager role.


## Related topics

- [Overview](/integrations/stripe/overview.md)
- [Countersigning](/orders/countersigning.md)
- [Getting Started](/quickstart-guide/getting-started.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.