InvoiceRules plugin: Overview
InvoiceRules is an optional plugin that uses rules to perform different actions depending on current conditions.
For example, one rule can set a document field with a value from a user-defined variable when a document is interpreted using a job with a specific name, or another can update a text file with a document field value after the document 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 document flow when a rule is applied.
- A document 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