Voucher Approval: Go is the access point*
Workflows > Usecase > Voucher Approval > Go is the access point
Use case: Go is the primary point of access for vouchers (usually EHF or pdf e-mail receival). The external system need to integrate with the voucher approval workflow
Given that Go is the access point of new vouchers, integrating with the voucher approval workflow can be beneficial for many different situations (not just the "approval" per se). Some examples of relevance:
Limitations*
The workflow currently support supplier vouchers (incoming invoices or incoming credit notes), but will be expanded to other voucher type as we release new voucher types in the journal entry vouchers service. It is important that you contact and discuss your intended workflow with the api team, as the team need to set the correct privileges for your integration.
3-way matching:
External system place a purchase order
Supplier invoice is received in Go, and goods are received with a receipt
The client need to match the supplier invoice with the purchase order and the inventory receipt in order to approve, post and make a payment to the supplier.
External approval systems:
External systems may have an approval workflow functionality dedicated for certain industries and user groups, and/or support advanced approval routines beyond the functionality provided in Go. The client need to have the primary approval workflow in the external system.
Supplement data:
The external system may possess data and information relevant for the voucher, that is not available in Go (references, descriptions, special vat cases etc.).
Incorporating the integration in the approval settings
If the third party integration have the access privelige VoucherApproval, the integration can be set as a "user" in the approval settings of the client (via the user interface).
The most common setup is to have the integration set as the one and only approver, optionally with a controller as the final step. However, the client may have some approval steps in Go before or after the integration is involved - the client can use the setup they see fit for their routines.
The general workflow steps will in any case be as follows:
A voucher is at some point sent to the integration for approval
The integration poll the endpoint GET /VoucherApproval, and get informed that a new voucher is sent to the integration, retreiving the identifier and the voucher type in the process*
The integration retrieve the voucher details using the journal entry voucher endpoint that correspond with the voucher type sent to approval
The integration retrieve the page images and/or EHF xml using the journal entry voucher endpoints
The integration update the voucher if needed, using the journal entry vouchers PATCH endpoints corresponding with the voucher type
When ready, the integration either approves or rejects the voucher and provide a mandatory comment that should reflect the events occured in the integrated system.
*Important note: The endpoint include a filtering option to request only new approval events, and this might be usefull when polling for new vouchers for approval. You should, however, include an unfiltered request once a while, in order to crossreference that your integration still is the current approver of the vouchers. Users in Go have on option of returning the voucher to Go (meaning you no longer have the voucher for approval), and the approval settings also support a mechanism for automatically returning a vocher after x number of days. If you integration is no longer the approver, you will no longer have access to perform any of the steps in point 3-6 above