Order Workflow

Introduction

The "Order-Workflow" extension for the "CHILIConnector for Magento 2.x" supports simple order approval workflows. Workflows can be started for various reasons, e.g. based on customers of different customergroups or customer roles, based on different payment methods, based on a given order amount etc.

If a workflow is active, the order needs to be approved by the approver first, before a further processing of it is possible. The people involved are notified by email when a workflow is started or the status is updated later. In addition, the people involved can view the processing status at any time in the workflow list in their user account.

Module

extension-name: enobis/module-order-workflow
  • Latest stable version

    version: 1.6.2
  • Install & Update

    First you need to add our private repo to your composer.json of your magento installation:

    composer config repositories.enobis-your-reponame composer https://satis.enobis.de/customers/your-reponame/

    Important: All repos are secured by an ip-protection or an user-authentication. Access Credentials are provided by us!

    To install the CHILIconnector-extension use composer via ssh:

    composer require enobis/extension-name

    To update the CHILIconnector-extension use composer via ssh:

    composer update enobis/extension-name

    Afterwards you have to complete your Magento2.x installation by

    php bin/magento setup:upgrade
    php bin/magento setup:di:compile
    php bin/magento setup:static-content:deploy
    php bin/magento cache:clean
    php bin/magento indexer:reindex
  • Changelog

    • v1.8.10 - support for customer-role module
    • 1.6.3 - support for "customer-account-group-links"-extension
    • 1.6.1 - 1.6.2 - small fixes
    • 1.6.0 - improved selection of supervisor via separate grid (replacement of dropdown-component for faster loading experience in the customer backend)
    • 1.5.0 - possibility to define a statusfilter for "My requested Orders" list
    • 1.4.0 - reminder functionality for supervisor in backend and frontend
    • 1.3.0 - add default supervisor system configuration
    • 1.2.1 - 1.2.6 - several compatibility- and bugfixes
    • 1.2.0 - compatibility with Magento 2.4.x
    • 1.1.0 - 1.1.23 several bugfixes, compatibility with budget-extension, possibility to see order details for external supervisor (email-workflow) etc.
    • 1.0.0 - inital release
  • Roadmap

    • Support for multiple workflow supervisor
  • Prerequisites

    Our extensions are not available via the magento-marketplace or packagist.org! The extensions are only available via a (private) repository!

    In order to get access, a valid license-agreement is required!

    If you have no access to our repositories, please contact us!

  • Addons

    The following modules are available as addons:
    • "enobis/module-customerrole": Enables to start order workflow based on a certain customer-role, independently from the standard customer groups.
  • Support

    If you need help using one of our extensions, please get in touch with us by sending us an email to support@enobis.de.

Features-Overview

Simple approval workflow functionalites

Simple workflow functionalities with two different modes. If a order workflow is started, the order will be set to a status "requested" (or any other status). This prevents the order from further processing. After the order is approved, it's status will be changed to "approved" (or any other status). If the order is rejected by the approver, the order will be canceled. The involved people are called "requestor" (end user) and "approver" / "supervisor".

If a workflow will be started or not can be configured in the workflow settings, which depend on the workflow mode.

Different workflow modes

One step workflow:

The name "one step workflow" indicates that the approval workflow is a simple approval workflow with just two steps:

  • 1. step: request - the order will the set to status "requested" (or any other status you define)
  • 2. step: decision - the order will be "approved or disapproved" by the supervisor. The order will be canceled and goes to the status "canceled".

The involved people will be notified about new request or status updates by the system (if activated). Otherwise the requestor and supervisor can check their workflow-list in the customer account if new requests or updates are available.

In this mode both user (requestor and supervisor) need to be customers  entities (with login credentials) in Magento system.

Email workflow:

The "email workflow" is the second workflow option. It has also the steps of "requesting" and "approving" or "disapproving" an order. But the user requests his order to an email of his choice. That means, the approver doesn't need to be an existing customer entity of the Magento system - the supervisor can also be just an external email-address.

The supervisor will be notified about new requests by email. Links inside the email leads to separted (external) order information forms, which shows all necessary information to approve or disapprove the order request.

Fully integrated into the storefront of Magento

Requested orders can be managed in the order workflow list - both by the requestor and the supervisor/ supers.

Email notification of involved user

The involved persons are informed about requests and status changes by email. Supervisor emails have links to order views for reviewing the order.

Comment feature

The requestor and supervisor are able to give a comment to their request or decision.

Workflow activation configuration on different scopes

The activation of the workflows can be configured in relation to different "activation parameters". The following parameters are supported:

  • payment method: The workflow will be activated, if the requestor selects a  corresponding payment method.
  • customer group: The workflow will be activated, if the requestor is member of a corresponding customer group.
  • Release limit: The workflow is activated, if the requestors release limit is reached by the total amount of the shopping cart.

It's possible to mix the parameters!

Important: The workflow is only activated, regardless of the mode, as soon as a supervisor could be determined for the user.

Supervisor determination

  • "one step workflow" - the supervisor must be an existing customer entitiy of the Magento system. It is possible to define either a default supervisor in the system configuration or a customer related supervisor. The customer supervisor has a higher priority than the system wide supervisor.
  • "email workflow" - the enduser must enter a valid supervisor email in the checkout. the supervisor determination of the one step workflow is disabled! 

Important: It's possible to define valid email endings for possible supervisors in the "email workflow" mode.

Features in Detail

Workflow Activation in Checkout

If an order workflow will be activated due to the activation configuration, the "workflow order comment"-field incl. the "order workflow.-activation"-message.

 

Bestpractices & Faq

  • Bestpractice "supervisor determination" of one step workflow

    If an order worflow should always be activated, configure the default supervisor in the system configuration first. That ensures, that always a orderflow will be started if necessary. If you only want to start an order workflow for certain users, please ensure that the default supervisor configuration setting is configured to "NONE" and the supervisors are linked at the customer entities.

  • FAQ "What does an external supervisor see in the email workflow mode?"

    The supervisor request notification email contains links to a special view of the order. This view ensures that the supervisor can access all necessary order information incl. the possibility to approve or reject the order. The supervisor does not need to be logged in to the magento system. Please note: The link to the order information has only a limited lifetime!

  • FAQ "Can i restrict valid email domains for the email workflow?"

    The "email workflow"-mode supports the validation of email domains. The workflow will be started only if an email of a valid domain is entered.

Configuration-Parameter

Please note: These documentation referes to the latest module version only!

  • Stores->Configuration->Enobis->Order-Workflow->General

    OptionTypeDescriptionScope
    EnabledYes, No (Default)Enable the order workflow functionality

    System->Website

    Active Workflow (mode)Dropdown

    Selection of workflow modes:

    • One step workflow
    • email workflow
    System->Website
    General Enabled ByMultiple Select

    Multiple select of possible workflow activation reasons:

    • payment
    • customer group

    Hint: A mix (and-condition) of both is also possible!

    System->Website

    Multiple SelectMultiple select of payment methods which should start a order workflowSystem->Website
    Multiple SelectMultiple select of customer groups which should start a order workflow

    System->Website

    Standard supervisorDropdownList with all possible customers, which acts as the default supervisor, if there is no individual supervisor selection at customer level.

    System->Website

    Status after OrderDropdownList of order status after the order is requested. Should be something like "requested at supervisor". Please do not use the status "canceled" and "processing". Leave empty to allow status change through payment methods.

    System->Website

    Statusfilter for supervisor "My releaseable Orders" listMultiple SelectFilters the superviosr list of my releasable orders in the customer account. Leave empty to disable filter functionality.

    System->Website

    Statusfilter for customer "My requested Orders" listMultiple SelectFilters the customer list of my requested orders in the customer account. Leave empty to disable filter functionality.

    System->Website

    Impersonation Supervisor Order Workflow EnabledYes, No (Default)

    Special Feature: Documentation is coming soon!

    Important: Impersonation-Extension needed!

    System->Website

  • Stores->Configuration->Enobis->Order-Workflow->General - Order Release Email

    OptionTypeDescriptionScope
    EnabledYes, No (Default)

    Sends a notification email the customer and supervisor.

    System->Website

    Order Release Email SenderDropdown

    List of possible Email Sender. Sets the "from"-address of the workflow-emails

    System->Storeview

    Order Release Email Supervisor Info TemplateDropdown

    Email-Template: for supervisor-approval-notification.

    System->Storeview

    Order Release Supervisor Direct Release Link EnabledYes, No (Default)

    When enabled, provided release link can be used without login. Gives the possiblity to approve an order without login.

    System->Website
    Order Release Supervisor Direct Release Link Expiration Period (days)Stringdays how long the approval/release link is valid

    System->Website

    Order Release Email Customer TemplateDropdownList of templates for the customer notification emails

    System->Storeview

  • Stores->Configuration->Enobis->Order-Workflow->One Step Workflow (Deprecated - will be merged into the "General"-Tab)

    OptionTypeDescriptionScope
    Approved StatusDropdownList of order status after the order is approved. Should be something like "approved by supervisor". Please do not use the status "canceled" since this reserved for "disapproved" orders.

    System->Website

  • Stores->Configuration->Enobis->Order-Workflow->Email Workflow

    The Email-Workflow will be initiated, if the customer enters an email address of his supervisor. If the customer has an assigned user in the backend, the assigned user will be ignored.

    OptionTypeDescriptionScope
    Activate Email WorkflowDropdown

    How the user can enter an email for the supervisor

    • no (disables the input of a supervisor email - so the default behaviour the supervisor determination is used)
    • required (user must enter a supervisor email)
    • optional (user can enter a supervisor email)

    System->Website

    Email EndingMultiple Text

    Emails with endings are validated as Supervisor Emails.

    E.g. @gmail.com or @enobis.de

    System->Storeview

  • Stores->Configuration->Enobis->Order-Workflow->Reminder->Backend

    OptionTypeDescriptionScope
    EnabledYes, No (Default)Enables the possibility to send a reminder (manually) to the supervisor from the order view in the backend

    System->Storeview

    Reminder Supervisor Email SenderDropdownList of possible Email Sender. Sets the "from"-address of the workflow-emails

    System->Storeview

    Reminder Supervisor Email TemplateDropdownEmail-Template: for supervisor-reminder-notification.

    System->Storeview

    Reminder Supervisor Email Copy ToStringComma-separated list of email-addresses

    System->Storeview

    Dropdown

    BCC: Sends email as BCC

    Separate Email: Sends email as separate Email

    System->Storeview

  • Stores->Configuration->Enobis->Order-Workflow->Reminder->Frontend

    OptionTypeDescriptionScope
    EnabledYes, No (Default)Enables the possibility to send a reminder (manually) to the supervisor from the order view in the backend

    System->Storeview

    Reminder Supervisor Email SenderDropdownList of possible Email Sender. Sets the "from"-address of the workflow-emails

    System->Storeview

    Reminder Supervisor Email TemplateDropdownEmail-Template: for supervisor-reminder-notification.

    System->Storeview

    Reminder Supervisor Email Copy ToStringComma-separated list of email-addresses

    System->Storeview

    Dropdown

    BCC: Sends email as BCC

    Separate Email: Sends email as separate Email

    System->Storeview