Dynamics AX 2012 R3: Stopped Workflow Error

When working with different types of workflows in Microsoft Dynamics AX 2012, you may encounter a stopped workflow record with an error message detailing that AX ‘failed to create a session’.

AX 2012 R3 Stopped workflow error

The error message can be generated because the workflow is unable to assign the record to a user for review or approval.

To resolve this type of issue, the first step is to identify which user record is causing the issue. Because no user ID is mentioned in the error message, you can identify the user by first finding the step where the workflow stopped. In the Workflow history form, click the Tracking details tab (screenshot above) to identify the step in the Workflow activities pane which has the Workflow stopped error message.

Next, navigate to the workflow and open the workflow editor to determine if the workflow step is assigned to a user, user group, security role or hierarchy. If the step is assigned to a user, you can easily identify the user which is causing the issue. If the step is assigned to a user group, navigate to the ‘User group’ form [System administration>Common>Users>User groups] and click the Users tab for the user group to identify which users are assigned to the group. One or more of these users could be the cause of the issue. If the step is assigned to a security role, navigate to the ‘Assign users to roles’ form [System administration>Setup>Security>Assign users to roles] and select the role to identify which users are assigned to that security role. Again, it could be more than one user causing the issue. Lastly, if the assignment type is a hierarchy such as the managerial hierarchy, navigate to the Positions list page [Human resources>Common>Organization>Positions>Positions], filter on the worker who submitted the record to the workflow then pinpoint the position/worker the hierarchy would assign the record to based on the ‘Reports to’ field.

Once you have identified the user(s) the step is assigned to, verify that each user record is enabled, the user is assigned to the appropriate security roles and that the user record is associated with a worker record.

In the case I investigated recently, the approval step where the workflow stopped was assigned to a user group. One user in the group had been disabled in AX but the user was not removed from the user group. The workflow was attempting to assign the record to each user in the group. Because one user was not enabled, the workflow could not assign it to all users in the group which caused the workflow to stop at an approval step. Once the user was removed from the user group, the workflow was resumed and the record moved forward in the workflow as expected.

This post was written by Robin Ellsworth, AX Application Consultant at Tridea Partners. Tridea is a leading Microsoft Dynamics provider.

Dynamics AX 2012: Understanding the Swings in the Running Average Cost Calculation

Everyone using Dynamics AX for inventory should be familiar with the concepts of physical inventory and financial inventory, as well as physical costs and financial costs. When receiving an item against a purchase order or when reporting an item as finished on a production order, the physical quantity is incremented using a physical cost that is understood to be based on incomplete information. Only when invoice matching has been performed against the purchase order can we be assured of having all the necessary information (price revisions, taxes, handling fees, etc.) to replace the original “placeholder” physical cost with the “true” financial cost. In the case of production orders, we need to wait until the production order is “ended” (when no more transactions can be recorded against it) to finally assign the financial cost.

In a similar fashion, when consuming an inventory item (for example on a sales order packing slip or a production order picking ticket), AX assigns a temporary physical cost that will ultimately be replaced with a financial cost that is based on the inventory valuation method selected for the item (FIFO, weighted average, etc.). The physical cost gets replaced by the financial cost only when the transaction is finalized (the ending of the production order or the invoicing of the sales order). Regardless of the inventory valuation method assigned to an item, the physical cost assigned when consuming inventory is always computed using a simple running average. Assuming that the “include physical” checkbox is selected on the Item Model Group, the running average is computed using the following formula: Running Cost Average = (physical amount + financial amount) / (physical quantity + financial quantity).

Many clients are surprised to find that the running average cost of any item can vary significantly from the actual cost of an item, often by much greater amounts than the wildest swings in purchase prices. The explanation is simple, as illustrated by the below example:

  1. Purchase 10 widgets @ $10 each for a total of $100
    • $10 cost is derived from the purchase order and is a physical cost
    • Running Cost Average = (physical amount + financial amount) / (physical quantity + financial quantity).
    • Running average calculation = ($100 + $0) / (10 + 0) = $10
  2. Issue 5 widgets to production pick ticket @ $10 each
    • Use running average calculation from above step as a starting point: ($100 + $0) / (10 + 0) = $10
      • Subtract $50 from physical amount and 5 from physical quantity
    • New running average calculation = ($50 + $0) / (5 + 0) = $10
  3. Obtain invoice for widgets – including fees, cost is now $11 each for a total of $110
    • Use running average calculation from above step as a starting point: ($50 + $0) / (5 + 0) = $10
      • Subtract $100 from the physical amount and 10 from the physical quantity; the quantity initially received is no longer a physical quantity, as it has now been invoiced.
      • Add $110 to financial amount and 10 to financial quantity (per the invoice)
    • New running average calculation = (-$50 + 110) / (-5 + 10) = $12
  4. The system has calculated a running average cost of $12, even though the only purchase price was for $11.

The reason for this is that we understated the value of the 5 widgets issued to production prior to obtaining the invoice that informed us of the true $11 cost per widget. We brought the 10 widgets in at $110, and issued out 5 of them at $50, so we now have to spread the remaining $60 over the 5 that are still in stock. So the undervaluation of the quantity issued to the production order is offset by the overvaluation of the quantity still in inventory. AX will eventually rectify this only when the production order that consumed that quantity of 5 has been “ended” and the correct financial cost of $11 can be assigned to the quantity consumed. This is because AX does not make adjustments to physical cost transactions, but rather leaves the initial physical cost amount intact until it can be replaced by a financial cost amount.

So, once the production order is ended, the new running average calculation will yield a result of $11, using the following logic:

    • Use running average calculation from above step as a starting point: (-$50 + 110) / (-5 + 10) = $12
      • Add back the -$50 physical amount and physical quantity of -5 (the quantity initially issued as a physical transaction is now issued as a financial transaction)
      • Subtract $55 from the financial amount and 5 from the financial quantity (the picklist transaction is now a financial transaction)
      • New running average calculation = ($0 + $55) / (0 + 5) = $11

It is important to point out that AX will ultimately always assign the correct financial cost to each transaction. We just have to recognize that until we can feed the system with all of the necessary data to produce true financial costs, our financials will necessarily reflect these “estimated” costs.

This article was written by Matthew Boese, Partner at Tridea Partners, a Gold Certified Microsoft Dynamics Partner.





Security in Dynamics AX 2012

Properly restricting security in Dynamics AX 2012 often requires using the “override permissions” function that is available when defining a security role.

Dynamics AX





This is because it is possible to assign a user to security privileges that only grant “Inquiry” access to certain forms in AX, yet the user will the ability to actually update the tables related to those forms. (Example: the user can update the vendor master table, even though he/she only been granted “inquiry” access to the vendor master form in AX). This occurs because AX grants access to the “Demand buttons” (Create, Edit, Delete) based on table level access, not access to the forms.

Using vendor maintenance as an example, there are some duties unrelated to vendor maintenance (example: invoice processing) that grant a user “full control” of the vendor master table. Those duties may not necessarily offer the means to navigate to the vendor master in order to make any updates to it.  However, if that same user is given a security privilege that allows him / her to inquire upon the vendor master table, then he/she now has the means to both access the vendor table and update it. In such scenarios, it is necessary to use “override permissions” to restrict table access and thus ensure that users assigned to that security role have “view only” access.

This article was written by Matthew Boese, Partner at Tridea Partners, a Gold Certified Microsoft Dynamics Partner.

Dynamics AX: Verify W-9 Received from 1099 Vendors

Microsoft Dynamics AX 2012 R3 has many features that will make your life easier! If you work in the accounts payable department processing invoices, you may want to verify that a 1099 vendor has provided their W-9 form before any invoices are posted for that vendor. AX 2012 R3 has a helpful feature which will automatically generate an infolog to alert you that a W-9 has not yet been received from a 1099 reportable vendor when an invoice is being created.

To enable the ‘Check for W-9 form’ functionality in AX 2012 R3, follow these steps:

On the Accounts payable parameters form, enable the ‘Check for W-9 form’ checkbox on the Invoice tab.

By selecting this checkbox, any newly created vendor record will automatically have the ‘Check for W-9’ checkbox enabled by default. The AP clerk who maintains vendors then has the option to deselect the field for each vendor if the infolog warning is not necessary for a particular vendor.

1099 Vendors

On the vendor record, the ‘Check for W-9’ checkbox will default as selected on the Tax 1099 tab. If the vendor has provided a W-9 form, click the ‘W-9 received’ checkbox to record it. You can attach the W-9 document to the vendor record using the Document handling functionality by clicking the ‘Attachments’ button on the Action pane.

Vendor 1099

For our example, we have not yet received a W-9 from our 1099 vendor and want an infolog generated to warn the AP clerk. We will leave the ‘W-9 received’ checkbox cleared and the ‘Check for W-9’ checkbox enabled.

Vendor 1099

Now when the AP clerk creates an invoice for a purchase order or a non-purchase order invoice journal for our 1099 vendor, an infolog is generated which warning the user that a W-9 form has not yet been received for that vendor. The AP clerk can still post the invoice or place the invoice on hold until the W-9 is received from the vendor.

1099 Vendor

For more information – check out our Webinar on 1099 Report Processing

This post was written by Robin Ellsworth, AX Application Consultant at Tridea Partners. Tridea is a leading Microsoft Dynamics provider.


Microsoft Dynamics AX – “Fixed Asset Statement”

The “Fixed Asset Statement” report in Dynamics AX  is actually a roll-forward report. It’s a good report, but in my opinion it has one limitation in that there is no way to run it with asset detail.  With that said, it’s very easy to setup and run and is still a valuable report.

The report is setup by defining the rows. There are 2 types of rows:

  • A “Header” row which is a free text field that appears on the report.
  • A “Total” row is a range of assets that will be totaled on the report with a free text description. These will be your asset groups, computers, machinery and equipment, etc.

Something to seriously consider when setting up your fixed assets is using a unique number sequence for each fixed asset group. I think most AX implantations are done this way anyway, but without it you will not be able to define your asset groups into a row.  If this is not clear why this is important, it will become apparent as we setup the report.

Defining the rows

Navigate to Fixed assets> Setup> Fixed asset statement rows

  1. To enter a new row, click “New” and enter a description in the “Row name” column and then select the “Row type” by clicking on the drop down. Continue this process until your report rows have all been entered.

Fixed Asset Statement

2. For the “Row types” you entered as “Total”, you will now need to define the assets to be totaled in those rows.

  • Click on the row to define and click “Totals”.
  • A new window will open with columns that define the “From“ and “To” range of assets. Use the drop down arrows to select the asset numbers to be included in the range. To add multiple ranges, click the “New” button. This is why a number sequence by asset group is important!

AX Fixed Asset Statement


Checking the report content

Although this report cannot be run by asset, there are a couple of built-in reports that are helpful to ensure that the report rows you’ve defined are complete.

Navigate to Fixed assets> Reports> Base data> Fixed assets in fixed asset statement rows

This report will provide a listing of all assets included in the selected row of the fixed asset statement report.

  1. At the reports parameters screen, click the drop down menu on the “Fixed asset statement row” line and select the row to include in the report.

AX Fixed Asset Statement

Here’s a sample of the “Fixed assets in fixed asset statement rows” report.

AX Fixed Asset Statement

Navigate to Fixed assets> Reports> Base data> Fixed asset statement rows

This report will provide a summary listing of the rows included in the report. It will also provide a list of assets not covered in the report.

  1. At the reports parameters screen, click the check box “Show fixed assets not included” and then click “Ok” to run.

AX Fixed Asset Statement

Here’s a sample of the “Fixed asset statement rows” report.

 AX Fixed Asset Statement

Run the Fixed Asset Statement

Navigate to Fixed Assets>Reports>External>Fixed asset statement

  1. At the parameters screen enter the fiscal period start date (must be the first day of a fiscal period) and the end date. The end date can be any date in the fiscal period i.e. the end of a quarter.
    • Under the “Value models” section, you can filter for specific value model or posting layer if desired.

AX Fixed Asset Statement

Here’s a sample of the “Fixed asset statement” report. (This is a landscape report so I’m going to post it in 2 screen shots.)

AX Fixed Asset Statement

AX Fixed Asset Statement

This post was written by Matthew Caffrey, AX Application Consultant at Tridea Partners. Tridea is a leading Microsoft Dynamics provider. www.trideapartners.com