Where to place event handlers

There are many events generated by ReadSoft Invoices. It can be difficult to know which event you should use to accomplish a specific task.

Generally, data processing should be connected to events that do not occur very often. Specifically, this means using events in as outermost a context as possible, except for the application scope. This avoids repetitive calls to event handlers, reducing total execution time.

If you need to gather information from multiple fields, it can be advantageous to do so before the invoice goes out of scope and after the last field has been processed by ReadSoft Invoices, for example using the InvoiceInterpreted or InvoiceComplete events.

Another general rule is that if an event is specific to a particular object, such as an invoice profile or a job, you should assign a handler to that object rather than to objects on a higher level. For example, if you need to validate a field after it has been interpreted, use event handlers for a field definition or invoice definition, and not for any other objects.

Use Manager to define and set up event handlers using the Application events dialog or the Events dialog for the level on which you want to implement the VBA or DLL.

Related topics

Accessing event handlers

Event reference

Customizing Kofax ReadSoft Invoices