Configuring vendor invoice workflow to route the Vendor invoices to the approver when the “Match Variance” is identified

Hi DAXers,

This post is for those who might be waiting to see the posts on finance related functionalities. Starting with this, You can expect few interesting posts which helps enhancing our DAX skills in AX2012.

The main focus of this post is to use the Vendor Invoice workflow and using the “Review Vendor Invoice matching task” efficiently to Auto approve the Vendor Invoices when there is “no match variance” identified.

Few of you might be aware that two workflows have been newly introduced in AX2012 which enables the approving mechanism for Purchase invoices. Those are

->Vendor Invoice workflow
->Vendor Invoice Line workflow

These workflows will also work like any other workflows in AX. Precisely, vendor Invoice workflow is to enable the workflow for a “Purchase Invoice Header” whereas the “Invoice Line workflow” is to enable the approving process for individual lines in the invoices.

Once after configuring Vendor invoice workflow, a workflow bar appears when we click Invoice button on the PO header, it enables the user to submit the Vendor Invoice. A vendor invoice can be posted only if the status of the respective invoice is approved.

Common requirement from most of the clients with respect to “Invoice matching” and “Invoice approvals” is as below.

Scenario: when there is Invoice matching errors exist then the particular invoice requires approval from specific user and then it can be posted.

Here in this post, I am not covering the whole concept of Invoice matching and how does it work. But, I hope my below example will guide the newbies in understanding how does the invoice matching works. Besides that, I mainly focus on using the “Review Vendor Invoice matching task” in “Vendor Invoice workflows”

Suppose my Invoice validation setup under AP>Setup>Parameters> Invoice validations tab is as below.

Invoice validations settings

Invoice validations settings

With the above setting, User will see a “Match variance error” in the “Vendor Invoice” form with the below example.

Ex: Purchase order net amount value – 100 USD
While invoicing, user inputs the net amount for the invoice as 120 USD
As the “Invoice total tolerance percentage” is set to 10%, system shows Invoice matching error as the “120 USD” given by user is above the tolerance amount which is 110 USD max as per the 10 percent tolerance.

So, considering the above case, assume that the client requested to “configure the workflow to get the approval from a specific user when “Match Variance” exists and it should be automatically approved when there are no matching errors identified”

Configure Vendor Invoice workflow as below, using the key task “Review Vendor Invoice matching”
Image: Vendor invoice workflow

Vendor Invoice workflow with Invoice matching

Vendor Invoice workflow with Invoice matching

After moving it between the Start and end tasks, right click on the task to set the properties. In the properties window, set the automatic actions condition as below.

Review Invoice matching Task

Review Invoice matching Task

With this setup, once if the user submits the Vendor Invoice to workflow, it automatically “Invoice matching review” activity will be automatically completed when there is no “Matching errors” identified. Vendor Invoice waits for the User approval only when the “Matching errors” are identified.

Note: The field “Last match variance” will be used to identify whether there is any “Matching variance” is identified. Keeping this in mind we can configure any other complex workflows with respect to Invoice matching.

Hope you like this post. Keep visiting the blog for further posts on interesting functionalities.


17 thoughts on “Configuring vendor invoice workflow to route the Vendor invoices to the approver when the “Match Variance” is identified

  1. Hi.

    Thanks for the very descriptive process above.

    I have accomplished the above with ease. I am adding my own twist and would like to Auto post the invoice using the Automated task. However, I get the following error:

    Workflow Stopped error: The state of the source document or source document line could not be updated.

    Any help in resolving this would be much appreciated.

    Kind Regards

    • Hey Aaron, appreciate your learning zeal. Regarding the error, I guess the PO might haven’t been confirmed. Just check that out and let me know if it still persists. I will recheck and get back to you. Stay tuned as more to come.

  2. Hi Sunny

    Thanks for the reply. Yes, we made sure the PO is confirmed.

    I asked my developer to debug. It seems the Automated task is calling a vendinvoice payment authorization task in the background, and that it doesn’t find anything. Guessing that is why the source document cannot be updated. I am not sure why? My workflow is very simple as you did in the above blog. Still working on trying to resolve this…


    • Hi Aaron,

      The same has worked fine for me. I dont think that it is problem with workflow configuration or automated task. Can you try disabling that workflow and creating a new PO for same supplier with same item and post the invoice. I guess you will get the same error when you manually try to post the Vend invoice. share me the screen shot of the error, it helps. You can reach me through my mail

      • Hi Sunny

        Apologies for my late response.

        In response to my your email below. I have attached a document with the workflow and error for you to review. I have followed the blog directions to the letter. Your assistance is greatly appreciated.

        Kind Regards

      • Hello Sunny,
        we are also facing same ERROR: the state of the source document or source document line could not be updated
        It is occurring almost of all PO invoice approvals,

        I have to restart the Submission process then this will work

        your prompt response and help will be highly appreciated.


      • Hi Faiqa, I’m sorry I never faced such error directly. However, I remember seeing the error in some forums. Please search, you may get some information there.

  3. Hi Sunny,
    Thats great thanks. I have a suggestion if you could do a blog like this that would be fab.

    Have you tried to use an organisational hierarchy in a workflow? For example i’ve set up 3 users and assigned jobs, positions etc. and i assigned Spending limits to them through the policies in Org Admin (Trainee – upto $1000, Team Leader – More than $1000 but less than $5000, and Manager more than $5000 and upto $10,000). I was trying to replicate that if a requisition created by a trainee of $6000 it would bypass the second approver and go straight to the 3rd approver and stop there. This was only a demo, but i’m trying to replicate this with 5 levels of hierarchy. If you could help out with that, it would be fantastic!



  4. Hi Sunny ,

    Good Explanation .

    a) Can you explain the difference of
    – > Vendor Invoice workflow
    ->Vendor Invoice Line workflow

    b)For a document /journal do we need to configure the both or any one option.?

    c) Generally which option need to use ?

    Your assistance is greatly appreciated.

    • I assume it is “Lally” who is active user in :). Good to see you here.
      a)Vendor invoice workflow:
      If you have 4 lines in your Purchase invoice, aprover can approve or reject all of them at once.

      Vendor Invoice line workflow:
      approver can approve or reject the individual line. suppose, among the 4 lines, approver wanted approve 2 lines and wanted to reject the other two, that can be possible if you use the line workflow.
      b)You can use either one.
      c)it depends on your requirement. As said in (a) choosing the line workflow will enable the approvers to reject partial lines in the assigned lines. But, it takes time for the approvers to select the individual line and approve each one of them. I can say it is tedious task which takes more time.

      Please let me know if you need more clarification. Keep visiting.

      • Hi Sunny ,

        Thanks for the reply , I am regularly visit your blog for the new topics .

        Expecting few more topics from your end .

  5. Hi Sunny, Thanks for this. I haven’t tested this as yet but does the user or queue assigned at the review stage the person who approves the discrepancy? I would also like to add the automatic post Invoice task so that when the discrepancy is accepted the invoice will be posted automatically.. Is this possible?


    • Hi Anisha, You are right, at the review stage you can have a person to either review/approve the discrepancy. About “Automatic Post Invoice task”, it works as you said.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s