Getting started with Approvals for InvenTree

This plugin requires an instance with InvenTree 0.13.0 or higher and plugin support.

Adds a general-purpose approval system to InvenTree. It allows users to request approval for certain actions, and for other users to approve or reject those requests. It is designed to be flexible and extensible and can be used to implement a wide range of approval workflows.

The current testing and development focus is on the ability to request approval for orders (especially purchase orders), the plugin by default blocks unapproved POs from being placed.

Install

Setup the InvenHost plugin repository setup instructions and install the package via InvenTree’s plugin screen with the name inventree-approval.

General information about InvenHost

The InvenHost project aims to provide a set of plugins and services that enhance InvenTree for commercial and enterprise use cases.

Read more about InvenHost at the main project documentation

Overview

Rough flow for a purchase order with approvals
Figure 1. Rough flow for a purchase order with approvals

Function

The plugin adds the Approval model to your instance.
Approvals can be accessed via the Approvals menu item in the navbar or directly via panels on the detail pages of supported models, currently only PurchaseOrder.

Starting an approval

Once you try to place a purchase order, the plugin will check if the order requires approval (using Approval Rules). If so, it will automatically start an approval request and assign it to the responsible user/group of the order. Once you submit the request, the order will be blocked from being placed until approved.

Reacting to an approval request

Once an approval request is created, the responsible user/group will receive a notification via configured channels.
They can then react to the request by approving or rejecting it via the UI. A link to the approval request is also included in the notification.
After each change of the approval request, the responsible user/group will receive a notification with the current status of the request and the applicable rules (see Approval Rules) will be evaluated.

Reminders

Reminders can be sent to the responsible user/group for each open approval. The interval can be set in the plugin settings (using REMINDER setting).

Rules

Approval rules are used to control the behaviour of approvals through the lifecycle.
Most settings for them are exposed in the global plugin settings. The rules are evaluated in order, the first rule that matches the current context is used. If no rule matches, the default is executed.

Rules can currently only be configured via plugins, not via the UI/API. All rules are applied by default