Problems iterating through invoices using the COM API

When trying to iterate through invoices using the COM API, the invoice definition locks in the InvoiceDefinitionApproved event, as it is supposed to, but it never unlocks.

Solution

When using late binding, the default method for an object cannot be found unless it is:

  • Explicitly invoked
  • Empty parenthesis before actual parameters

Example

Invoices(3) works correctly in early binding mode, but not in late binding. Instead, use one of the following:

Invoices.Item(3)

Invoices()(3)