InvoiceRules plugin: Overview

Note The plugin is not installed by default, so it must either be consciously selected when Kofax ReadSoft Invoices is installed, or it can be enabled after installation by adding plugin sections for each module in Eilocal.ini.

InvoiceRules is an optional plugin that uses rules to perform different actions depending on current conditions.

For example, one rule can set an invoice field with a value from a user-defined variable when an invoice is interpreted using a job with a specific name, or another can update a text file with an invoice field value after the invoice is transferred.

InvoiceRules consists of the following main concepts:

  • Conditions define the cases when a rule is applied.

  • Actions are performed when all conditions are met.

  • Dynamic values are used in actions to obtain a runtime value (for example, the current value of a specific field).

  • Events define occasions in the invoice flow when a rule is applied.

  • An invoice rule is a list of the defined conditions, actions, and events.

Using Notepad or another text editor, open Eilocal.ini and add a plugin section for each module (Manager, Scan, Interpret, Verify, and Transfer) in the following way:

Eilocal.ini Example:

;***********************
;*      Manager        *
;***********************
[Plugins::eimngr]
Plugin1=Common
Plugin2=Manager
Plugin3=DBMaintenance
Plugin4=ERPImport
Plugin5=AutoValue
Plugin6=InvoiceSelection
Plugin7=ReadSoft.InvoiceRules

[eimngr::ReadSoft.InvoiceRules]
Name=ReadSoft.InvoiceRules
Type=COM
SupportIDispatch=TRUE
Classname=ReadSoft.InvoiceRules.Connect

;******************
;*      Scan      *
;******************
[Plugins::eiscan]
Plugin1=Common
Plugin2=ReadSoft.InvoiceRules

[eiscan::ReadSoft.InvoiceRules]
Name=ReadSoft.InvoiceRules
Type=COM
SupportIDispatch=TRUE
Classname=ReadSoft.InvoiceRules.Connect

;******************
;*   Interpret    *
;******************
[Plugins::eiitrp]
Plugin1=Common
Plugin2=ReadSoft.InvoiceRules

[eiitrp::ReadSoft.InvoiceRules]
Name=ReadSoft.InvoiceRules
Type=COM
SupportIDispatch=TRUE
Classname=ReadSoft.InvoiceRules.Connect

;************************
;*      Verify          *
;************************
[Plugins::eiveri]
Plugin1=Common
Plugin2=ReadSoft.InvoiceRules

[eiveri::ReadSoft.InvoiceRules]
Name=ReadSoft.InvoiceRules
Type=COM
SupportIDispatch=TRUE
Classname=ReadSoft.InvoiceRules.Connect

;************************
;*      Transfer        *
;************************
[Plugins::eitran]
Plugin1=Common
Plugin2=ReadSoft.InvoiceRules

[eitran::ReadSoft.InvoiceRules]
Name=ReadSoft.InvoiceRules
Type=COM
SupportIDispatch=TRUE
Classname=ReadSoft.InvoiceRules.Connect