Skip to main content

How To Configure Transaction Recovery

Introduction

The Transaction Recovery functionality allows a copy of an in-progress transaction to be stored in the local database each time the transaction is updated (e.g. when an item is added to it). In the event of a power cut or a POS restart, this function allows the current transaction to be recovered and either completed, stored, or voided.

There are numerous configuration options offered to control the behaviour of this function detailed in the User Roles section below. For example, it is possible to restrict the user to only be able to resume transactions that they originally created. Alternatively, it is possible to allow the user to resume transactions that were created by any user.

Enactor will store both Retail and Cash Management transactions. Transactions are written locally to the POS database in the storedrecoverytransactions table.

Recovered Cash Management transactions are automatically voided when the user signs in

Overview

This guide will cover the configuration for the following: (List down the key elements of the document)

  • POS Terminals – Enables the function at the POS (or mobile POS)

  • User Roles – Controls the behaviour of the Transaction Recovery function depending on the privileges assigned to users.

Prior Training / Experience

You should be familiar with the following:

  • Estate Manager Configuration

  • Data Broadcasting

Configuration Steps

There are two key configuration elements to enable and control the behaviour of Transaction Recovery.

Firstly, it must be enabled via the POS Terminal (or POS Terminal Template). Once enabled, privileges can be assigned to User Roles to control how the function behaves. The User Role configuration can also be used to define different behaviours for different User types – for example, a sales assistant may not have permission to void a recovered transaction, but a manager does.

POS Terminal Template Configuration

This section describes configuring Automatic Transaction Recovery in the POS Terminal Template. The configuration steps detailed are equally applicable to a POS Terminal and could alternatively be defined there.

The POS Terminal Template maintenance application can be accessed through:

Configuration-> Organisation -> POS Terminal Templates

To edit the configuration of a POS Terminal Template, select the Edit icon (pencil) next to it.

Select the General > Transactions sub-tab

Tick the Automatic Transaction Recovery checkbox (and optionally set it to Fixed so this value applies to all POS Terminals that use this template), then select the Save icon to save the record. This completes the POS Terminal Template Configuration.

User Roles 

The User Roles maintenance application allows a set of privileges to be assigned to a User Role, of which one or more can be assigned to a User.

This configuration makes the assumption that the Enactor POS Jar has been deployed via the Jar Deployer application so the Enactor POS privileges are available.

The User Role maintenance application can be accessed through:

Configuration -> HR -> User Roles

Authorisation to run the Transaction Recovery functionality is controlled with privileges maintained in User Roles.

Select the appropriate Role to edit, in this example, the SALES_ASSISTANT Role is being edited.

The privileges available to control the behaviour of transaction recovery are detailed in the following table. The Application Package for all privileges is Enactor POS.

ProcessFunction IDDescription
Handle Recovery Transactionsenactor.pos.AuthorisesSkipRecoveryTransactionsAuthorises the user to skip the transaction recovery screen at sign-on.
Handle Recovery Transactionsenactor.pos.AutoRecoverSingleTransactionWhen a single recovery transaction is stored, it is automatically recovered at sign-on.
Handle Recovery Transactionsenactor.pos.ResumeRecoveryTransactionAllowedAllows the user to resume a recovery transaction that they created.
Handle Recovery Transactionsenactor.pos.ResumeRecoveryTransactionForDifferentUserAllowedAllows the user to resume a recovery transaction that any user created.
Handle Recovery Transactionsenactor.pos.SkipRecoveryTransactionsAllowedAllows the user to skip any recovery transactions.
Handle Recovery Transactionsenactor.pos.StoreRecoveryTransactionAllowedAllows the user to store a recovery transaction that they created.
Handle Recovery Transactionsenactor.pos.StoreRecoveryTransactionForDifferentUserAllowedAllows the user to store a recovery transaction that any user created.
Handle Recovery Transactionsenactor.pos.VoidRecoveryTransactionAllowedAllows the user to void a recovery transaction that they created.
Handle Recovery Transactionsenactor.pos.VoidRecoveryTransactionForDifferentUserAllowedAllows the user to void a recovery transaction that any user created.
Recover And Resume Transactionenactor.pos.AuthorisesResumeRecoveryTransactionAuthorises the user to resume a recovery transaction that they created.
Recover And Resume Transactionenactor.pos.AuthorisesResumeRecoveryTransactionForDifferentUserAuthorises the user to resume a recovery transaction that any user created.
Recover And Store Transactionenactor.pos.AuthorisesStoreRecoveryTransactionAuthorises the user to store a recovery transaction that they created.
Recover And Store Transactionenactor.pos.AuthorisesStoreRecoveryTransactionForDifferentUserAuthorises the user to store a recovery transaction that any user created.
Recover And Void Transactionenactor.pos.AuthorisesVoidRecoveryTransactionAuthorises the user to void a recovery transaction that they created.
Recover And Void Transactionenactor.pos.AuthorisesVoidRecoveryTransactionForDifferentUserAuthorises the user to void a recovery transaction that any user created.

Broadcasting

To deliver the configuration changes to the POS, broadcast the following entities:

  • POS Terminals

  • POS Terminal Templates

  • Roles

POS Functionality

Transaction Recovery Functionality

The POS operator begins a transaction and adds some items. As each item is added, the transaction is updated in the storedrecoverytransactions table in the local database.

For some reason, the Enactor POS application is closed (this could be due to a reboot of the POS device, or a power cut). When the POS application is next launched, the operator is prompted to recover the in-progress transaction after they sign on:

In the scenario shown above, the POS operator doesn’t have the privilege to auto-recover a single transaction, but does have the privileges to Resume, Store, Void and Skip the recovery transaction. Selecting the Resume function allows the transaction to be continued from where it left off.

When the transaction is completed, it is automatically purged from the storedrecoverytransactions table in the local database.