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

# Approval workflows

> Configure approval rules, review steps, notifications, and delegations for quotes, invoices, and credit notes.

Approval workflows let you require internal review before a quote can be sent to a customer or a draft invoice or credit note can be finalized. You define which actions need approval, the conditions that trigger a review, and who must approve each step.

<Info>
  Approval workflows are available on demand. Contact the team via the in-app chat to enable them on your account.
</Info>

For the approval process and options specific to each document, see:

<CardGroup cols={2}>
  <Card title="Quote approvals" href="/docs/quotes/approval">
    Review quotes before sending them to customers, including approval by the quote owner's manager.
  </Card>

  <Card title="Invoice approvals" href="/docs/invoices/approval">
    Review draft invoices and credit notes before finalization.
  </Card>
</CardGroup>

## Configure approval workflows

1. Go to **Settings** > **Approvals**.
2. Open the **Workflows** tab.
3. Click **Create workflow**.
4. Under **Applicable flows**, select the actions that should trigger the workflow.
5. Configure the workflow rules and approval steps.
6. Save the workflow.

Access to workflow settings depends on your role's [settings permissions](/docs/account/users-permissions#settings-permissions). Managing workflows is separate from permission to approve individual requests.

### Applicable flows

Select one or more flows for each workflow:

| Flow | Action that requires review |
| - | - |
| **Quote for new subscription** | Finalize a quote for a new subscription |
| **Quote for subscription update** | Finalize a quote to change an existing subscription |
| **Quote for one-off invoice** | Finalize a quote for a one-off invoice |
| **Invoice finalization** | Submit a draft invoice for finalization |
| **Credit note finalization** | Submit a draft credit note for finalization |

See [Quote approvals](/docs/quotes/approval) and [Invoice and credit note approvals](/docs/invoices/approval) for details on when each flow applies.

### Rules

Rules determine when an action requires approval. Combine conditions with **AND** when all conditions must match, or **OR** when any condition can match.

| Conditions | Applicable flows |
| - | - |
| Total amount, discount amount or percentage, products, coupons, billing interval, customer country, payment method, customer invoicing entity, customer tax ID, non-default payment terms, and creator role | All flows |
| Subscription template, billing period, free trial, and contract auto-renew | Subscription quote flows |
| Subscription [custom properties](/docs/properties/overview) | Subscription quote flows |
| Contract clauses, modified contract clauses, terms and conditions, and quote attachment | Quote flows |

When you select more than one applicable flow, Hyperline only offers conditions supported by every selected flow. Changing the applicable flows removes any condition that is no longer compatible.

<Card title="Example 💡">
  Require approval when the total amount exceeds \$50,000 **OR** the discount is greater than 20%. Either condition triggers a review. Use **AND** instead if you only want a review when both conditions match.
</Card>

#### Discounts for specific products

Discount amount and percentage conditions can apply to the whole document or to selected products. Configure the scope directly on the discount condition:

1. Add a **Discount amount** or **Discount percent** condition and set its comparison and threshold.
2. Under **Calculate discount for**, select a scope:
   * **Whole document**: Compare the discount across the whole document.
   * **Specific products**: Compare the combined discount for the selected products.
3. For **Specific products**, select one or more products in **Products**.

When you select multiple products, Hyperline evaluates their combined discount against the threshold, rather than checking each product separately. Discounts on other products do not contribute to this condition. If none of the selected products is present, the condition does not match.

A separate **Products** condition only checks whether a product is present. Combining it with a whole-document discount condition does not restrict the discount calculation to that product.

<Card title="Example 💡">
  Require approval when the **Discount amount** is greater than €500, with **Calculate discount for** set to **Specific products** and **Products** set to Platform subscription.

  A quote has a €200 discount on Platform subscription and a €1,000 discount on Support. This condition does not require approval: the discount on Platform subscription is below €500, even though the total document discount is €1,200.
</Card>

### Approval steps

A workflow can contain one or more steps. Hyperline processes them in order, and a request must complete every step before it is fully approved.

For each step, configure:

| Setting | Purpose |
| - | - |
| **Step name** | Give the step a descriptive name, such as Finance review. |
| **Approvers** | Select individual team members or roles. For quote flows, you can also select [**Manager of quote owner**](/docs/quotes/approval#manager-of-quote-owner). |
| **All approvers** | Every selected approver must approve before the request moves to the next step. |
| **Any approver** | One selected approver can complete the step. |

<Card title="Example 💡">
  A large deal requires three steps: a sales manager reviews the commercial terms, a finance team member reviews the billing details, and the CFO or CEO gives final approval. Set each step to **Any approver** if one decision from that step's approvers is enough.
</Card>

### Workflow priority

You can create multiple workflows. When an action matches more than one, Hyperline applies only the workflow with the highest priority (lowest number).

To adjust priority, drag and drop workflows in **Settings** > **Approvals** > **Workflows**.

## Notifications

When an approval request is created, Hyperline automatically notifies the relevant approvers:

* **Email notifications**: Approvers receive an email when their approval is needed
* **Delegated approver notifications**: If an approver has an active delegation, the new approver also receives the approval request email when **Email notifications** is enabled on the workflow. See [How delegated approvals work](#how-delegated-approvals-work)
* **Slack notifications** (optional): You can connect a Slack channel to each approval workflow. When approval is needed at any step, Hyperline sends a notification to the configured channel. The notification includes details about the quote, invoice, or credit note, the requester, the workflow step, and the approvers

Configure Slack notifications in the workflow settings by selecting the channel where notifications should be sent. Learn more about [Slack integration](/integrations/slack).

Hyperline can also deliver approval request notifications through each team member's personal notification channels. Team members can manage these from **Profile** > **Notifications**, including Slack DMs when Slack is connected. Slack DMs include request details and actions to **Approve**, **Reject**, or **Open in Hyperline**. Learn more about [profile notifications](/docs/account/users-permissions#manage-profile-notifications).

If you receive a Slack approval request, you can approve or reject directly from Slack. If another approver has already acted, the Slack message updates to show the current approval state.

## Approval delegations

Approval delegations let an approver temporarily give another active team member the ability to approve or reject requests on their behalf. Use them when an approver is out of office or when another team member needs to cover approvals for a defined period.

A delegated decision counts as a decision from the original approver, while Hyperline also records which user actually approved or rejected the request. The approval history shows it as "‹new approver› on behalf of ‹original approver›".

<Card title="Example 💡">
  A finance manager is away for one week and delegates approvals to another
  finance team member. During that week, the delegated approver receives
  approval requests, can approve or reject them, and their decisions count as
  the finance manager's decisions in the workflow.
</Card>

### Create an approval delegation

You can delegate your own approvals from your profile. This does not require any permission:

1. Click **Profile** in the sidebar.
2. In the **Approval delegation** section, click **Create delegation**.
3. Select the **New approver**. You cannot delegate approvals to yourself.
4. Select the **Period**.
5. Add a **Reason**, if needed.
6. Click **Create delegation**.

While your delegation is active or scheduled, the section shows it, with a **Revoke** button, instead of **Create delegation**.

To create a delegation for another approver, you need the **Manage approvals settings** permission:

1. Go to **Settings** > **Approvals**.
2. Open the **Delegations** tab.
3. Click **Create delegation**.
4. Select the **Original approver** and the **New approver**.
5. Select the **Period**.
6. Add a **Reason**, if needed.
7. Click **Create delegation**.

Keep these rules in mind:

* A delegation always has a start date and an end date, and the end date must be in the future
* Delegations for the same original approver cannot overlap
* The original approver and the new approver must be two different active team members

### How delegated approvals work

Hyperline checks delegations when someone approves or rejects, not when the request is created. A delegation therefore covers requests that were already pending when it started, as well as new ones. The original approver can still approve or reject their requests during the delegation.

When the new approver approves or rejects a request:

* The workflow treats the decision as coming from the original approver
* Hyperline records who acted on behalf of the approver
* The same **All approvers** and **Any approver** step rules still apply

Hyperline does not notify the new approver when a delegation is created, so let them know. During the delegation:

* Quotes they can approve through the delegation appear in the **Need your approval** tab of their quotes list
* New approval requests are also emailed to them when **Email notifications** is enabled on the workflow
* Slack notifications only go to the original approver

### Manage delegation periods

Delegations are time-bound. A delegation only applies between its start and end dates. To end it early, revoke it:

* From your profile: click **Revoke** on your delegation, then **Revoke delegation**
* From **Settings** > **Approvals** > **Delegations**: open the delegation's menu, click **Revoke**, then **Revoke delegation**. This requires the **Manage approvals settings** permission.

On your profile, a delegation shows as `Active` or `Scheduled`. The **Delegations** tab lists active and scheduled delegations.

Keep these rules in mind:

* Ended and revoked delegations no longer grant approval rights
* A delegation stops working once the original approver's access is revoked. Delegations cover absences, not departures: see [When an approver leaves](#when-an-approver-leaves)
* Past delegated decisions remain in the approval history after a delegation ends or is revoked

## When an approver leaves

There is no admin override for approvals: only the approvers configured on a step, or their active delegates, can approve or reject it. Plan the handover before you revoke a departing member's access.

### Before revoking access

Reassign everything that routes approvals to the departing member:

* **Direct reports**: give each member who reports to them a new manager. See [Set a member's manager](/docs/account/users-permissions#set-a-members-manager).
* **Open quotes they own**: change the quote owner, as described in [Manager of quote owner](/docs/quotes/approval#manager-of-quote-owner).
* **Approval workflows**: replace them in every step that names them.

Alternatively, [merge them into a successor](/docs/account/users-permissions#merge-members). Merging transfers their owned quotes, direct reports, places in approval workflows, approval delegations, and pending approvals in one action.

### After access is revoked

Once a member's access is revoked:

* Their direct reports no longer have a manager. **Manager of quote owner** steps on those members' quotes are skipped when the step has no other approvers, including on quotes already pending approval.
* Their delegations stop working.
* Quotes they still own that are waiting on a **Manager of quote owner** step stay blocked until you change the quote owner.

<Warning>
  When a skipped step was the last one requiring a decision, Hyperline approves the quote without review.
</Warning>

If a named approver has already left:

1. Replace them in each workflow step that names them.
2. On each quote waiting on them, click **Edit quote**, then **Finalize quote**.

Editing a workflow does not move requests already pending: they stay on the workflow version they started with. Finalizing the quote again starts a new request on the updated workflow.

## Next steps

* [Submit and review quotes](/docs/quotes/approval).
* [Submit and review invoices and credit notes](/docs/invoices/approval).


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