Project Accounting in Construction Business – Dynamics AX 2012

Here I am illustrating project module to track the costs of constructions in progress and transfer those costs later on to a fixed asset once the construction is finished.

Before you are able to track the costs of your construction in progress you have to ensure that an investment project group is setup that accumulates all costs on balance sheet accounts as illustrated in the next screen-print.

Once your investment project group is setup, you need to create an Investment project
… that you use for recording all construction costs. In my case, I recorded hour, expense and item costs that add up to a total of 17300 EUR as shown in the next screenshot.

Once your construction project is finished and provided that all costs have been recorded on your project, you can transfer those costs to a fixed asset by using the estimate function.

The first step required in the estimate form is creating an estimate that accumulates all costs recorded. This can be done by selecting the “set cost to complete zero” cost to complete method.

After the estimate is created you can identify the total costs accumulated in the WIP tab of the estimate form. Example:

The next steps required are (a) specifying the fixed asset to which you want to transfer all costs and (b) posting the estimate.

Please note that posting the estimate does not create any ledger transaction and does not transfer any costs to the fixed asset selected. To do the actual transfer of the costs to the fixed asset, you need to eliminate the posted estimate by using the corresponding functionality.

After the elimination is done, you can identify the costs on the fixed asset selected before.

Case 1:
In the example used, the construction started and finished within a single month. If you are working on long-term construction projects and want to update your “construction in progress” fixed asset in the fixed asset module you need to:

  1. Post the additional costs that arise in the following months as usual,
  2. Reverse the elimination recorded previously,
  3. Create and post and additional estimate,
  4. Eliminate the estimate.

Those steps need to be repeated every month as long as your project runs.

An alternative to reversing and repeating eliminations recorded before, you can separate your investment project into subprojects that are eliminated successively as the construction progresses.

Case 2:
If you are eliminating your construction projects on a regular basis, those costs are included in your fixed asset module and thus in your fixed asset statement.

If, on the other hand, you are not eliminating your project construction costs on a regular basis, all costs are accumulated in WIP (balance sheet) accounts only and are not included in the standard Dynamics AX fixed asset statement. In order to get your fixed asset statement right, you thus need to include the WIP accounts in your fixed asset statement which requires that you either use the Management Reporter for your fixed asset statement (see the previous post) or that implement a system adjustment.

Case 3:
If you are transferring all construction costs initially to a “in construction” fixed asset, you can move all costs from this “in construction” fixed asset to an ordinary fixed asset by using the standard AX fixed asset reclassification functionality. Example:




Compilation Activity – Dynamics AX for Operations

During development activity for a project, we found a hectic approach of compiling elements that belong to a specific name. For eg, given a environment and we are developing a customized solution and we are labeling the objects with prefix as “TEST”. We need to compile the objects that belongs to a prefix “TEST”or lets say, we need to compile all classes starting with “TEST” or tables or forms. We can also used this tool when we need to compile objects in which naming convention is used in between. Lets suppose, we need to compile all objects in which “sys” word is used. This tool can help us with the compilation of all above scenarios. Below are some of the screen shots that refer the tool.
Step 1:
While opening the tool, user will select the Object Category which he wants to compile. User is also having the option to compile all classes as well. He can also compile selected objects that are having some predefined prefix or can also compile objects that have some words in between their names.
 Step 2:
While clicking on “Next” button, user can view the number of classes that are going to be compiled.
 Step 3:
After clicking on “Clicked” button, classes mentioned in the display will be compiled and a standard log for the same will be displayed.
Above scenario will work for Forms and Tables as well.

Techniques Before Using Price Discount Journal In AX 2012

In this episode; we are not going to discuss the actual price/discount journal functionality, there are quite a few important things to be aware of before you even start setting up price and discount type journals. These are pretty important to be mindful of, as most people forget to set them up beforehand and then have a hellish time troubleshooting why the journals or the price engine itself does not act the way they expect it to.

Enabling dimensions for price setup

All inventory dimensions contain these two fields:


They indicate whether this particular dimension should be included as a factor in the price search for the item which has this dimension group assigned to it. Or in plain English, whether you should be able to set up a specific price for this particular dimension. For example, if you enable ‘For sales prices’ for batch number, that means you will have the ability to create and post a price journal for a particular batch and when the price search engine runs, it will first look for specific price for this batch and only if it does not find any, will it then look for a generic price without a specified batch number.

You need to make these decisions on product, storage and tracking dimension groups. The good news here is that these are the only fields you are able to change any time on a storage dimension group, even if you have assigned it to an item and transacted on the item already. These setups do not affect historic data.

Setting up the decimals on units properly

One thing what AX users/consultants quite often forget is that the decimal place setup on the unit of measure will have an impact on the price journal lines as well. If you need to set up prices/discounts for a partial unit of a product (half a roll, quarter case, etc), you will not be able to do it if the unit of measure is set up with a 0 decimal precision.

The decimal setup of course has a huge implication on a lot of other areas regarding the unit of measures, but this blog post is focused on the price/discount journals.


Activating price/discount combinations

In both modules (Sales and Marketing and Procurement and Sourcing) there is a Setup Price/Discount / Activate Price/Discount menu item. It is very important to make sure that all account – item combinations you would like to use are enabled. If one of them is not, you are going to get a message when trying to create the journal line about illegal combination. Well, now you know what to do if that message keeps popping up!


AR/AP parameter setting

Another often forgotten thing is to set the price/discount and charge related parameters. The Prices tab of both the AP and AR parameters has the settings for charges and discounts.

This blog post will not go into the details of all of these fields, but as far as discount journal postings are concerned, it is really important to make sure to specify what happens when multiple discounts are found for the same order line.





The Dynamics 365 Cohesive Operations Plan…What’s New…

From Past July 1st, Microsoft re-vamped their Dynamics 365 plans and added some new Dynamics 365 products. Here’s a quick overview of what the Unified Operations Plan for Dynamics 365 is all about.

What is a Dynamics 365 Plan?

A Dynamics 365 Plan is a bundle of Dynamics 365 software modules, offered at a discount. In the case of the Unified Operations Plan, you get three modules:

  • Dynamics 365 for Finance and Operations, Enterprise Edition
  • Dynamics 365 for Retail
  • Dynamics 365 for Talent

Wasn’t there already a Dynamics 365 for Operations?

When Dynamics 365 was Launched – there was “Dynamics 365 for Operations”. This product has now  been split into the three modules. Before July 1, purchasing “Dynamics 365 for Operations” got you all three – Finance & Operations, Retail, and Talent.

Why Bother Splitting Them Up?

Before the Dynamics 365 Unified Operations Plan was available, these three modules were together known as “Dynamics AX“. Then Microsoft re-branded Dynamics AX to “Dynamics 365 for Operations”. Later, on July 1, Microsoft split the modules apart and created the Unified Operations Plan. Overall, separating these products makes them easier for Microsoft to develop, market, and sell. Microsoft can now:

Sell the Modules Separately

You can use just Dynamics 365 for Retail or just Dynamics 365 for Talent if you desire. Microsoft is trying to make it easier to purchase what you need, and leave out what you don’t need. There is also a “complete” plan for Dynamics 365, Enterprise Edition that includes all of the Dynamics 365 Modules.

Microsoft is also responding to competitors in the marketplace. You might have heard of Workday, a growing software company in the HCM space. A dedicated “Talent” module addresses this competitor and can be promoted independently.

Develop the Modules Separately

Way back in the day, Dynamics for Retail was initially separated from Dynamics AX. In a nutshell: it’s been sold separately, sold together, and now it’s sold separately once again. Why not just leave them separated? These new development tracks mean that Dynamics 365 for Retail and Dynamics 365 for Talent can retain their own codebases, their own roadmaps, and more without sacrificing integration capabilities.

For instance, separating the development of Dynamics 365 for Talent leaves the architects of this solution free to explore integrations with LinkedIn following Microsoft’s acquisition of the social media platform. Now, they won’t be caught up in release schedules that include the rest of the Unified Operations modules.


The functionality within the Dynamics 365 Integrated Operations Plan has been thrown about under different names for a while now, but it feels like we’ve settled on a new evenness. The future is sound for Microsoft’s most powerful ERP software solution.

——————–  The End ——————

How Dynamics 365 Supports Auditing Practice.

The Auditing feature in Dynamics 365 keeps track of all changes made on records types (entity) and data in the application over a particular period of time. Information gathered from audits is stored in logs and can be used for either analysis or reporting. However, auditing is disabled by default and needs to be enabled.

Levels of Auditing

There are three levels at which auditing can be configured:

  • Global (organization) level is the highest level
  • Entity level
  • Field level

For field auditing to be done, auditing must be enabled at the field, entity, and organization levels. For entity auditing to take place, auditing must be enabled at the entity and organization levels.

How to Enable Auditing?

To configure auditing, you must have either the system administrator or the system customizer role.

  1. Go to Settings>System>Administration >System Settings.
  2. Click on Auditing.
  3. Under Audit Settings, tick the Start Auditing checkbox.
  4. You can also choose to monitor user access. Just tick Audit user access checkbox.
  5. Click OK.Carrying Out Audits in Dynamics 365

To enable auditing of Dynamics 365 entities:

Log in to the Microsoft Dynamics CRM with an account that has the system administrator role.

  1. Go to Settings>System>Auditing.
  2. On the Audit page, click Global Audit Settings.
  3. In the System Settings window, in the Auditing tab:
    1. In the Audit Settings section:
      1. Tick Start Auditing.
    2. In the Enable Auditing in the following areas:
      1. Tick all the Entities.
    3. Click OK.

Carrying Out Audits in Dynamics 365

Auditing and Security Roles

It is important to know that auditing in Dynamics 365, just as in its predecessor CRM, works hand in hand with security roles. It is the responsibility of the system administrator or customizer to assign necessary roles to users. They give users the necessary access to either view audit history and audit summary or delete old audits.

How To Enable Auditing For Security Roles?

To enabled auditing for the security roles entity:

  1. Navigate to Settings>Customizations>Customize the System.
  2. Expand Entities from the left pane.
  3. Click on Security Roles entity (please wait for few seconds for it to load).
  4. Tick Auditing checkbox.
  5. Click Save, then Publish.
    Carrying Out Audits in Dynamics 365

How to View Auditing Log Details?

System administrators can see activities for the entities that are enabled for audit logging. To view the audit logs:

  1. Go to Settings > System >Auditing.
  2. Choose Audit Summary View.
  3. Under Audit Summary View, you will see the list of audit entries.
    • Click Enable/Disable Filters to turn on filtering. This allows filtering based on a specific event. You can choose an Event to view specific details about the activity, such as field changes that were made during an update to a record and who is responsible for the update.

Carrying Out Audits in Dynamics 365

How To Delete Old Audit Logs?

It is advisable to delete audit logs stored over a period of time. This practice helps to free up space and improves the performance of Dynamics 365. Audit logs are divided into blocks; a block contains approximately three months of logs.

Note: You can only delete the oldest block and you cannot delete the block currently in use.

  1. Log in to Microsoft Dynamics 365 as a user who has permission to manage auditing.
  2. Navigate to Settings > Auditing > Audit Log Management.
  3. Select the logs you want to be deleted.
  4. Select Delete Logs.

Carrying Out Audits in Dynamics 365

—————————- The End ——————————

Invoice Movement From One Vendor to Another in Dynamics AX 2012.

In our routine course of business operations; there are numerous transactions which are wrongly posted.  So what should you do to move invoice from one vendor to another?

The first step is to gather all the information on the incorrect invoice.  You will need the incorrect vendor number, the correct vendor number, invoice number, document date (invoice date) and amount.  To begin the process of moving the invoice:

  1. Go to General Ledger–> Journals–> General journal

  1. Create a new GL journal. Fill in a meaningful description and go to Lines.

  1. In the Date column, fill in the posting date. Ideally this would be the same posting date that the invoice was originally posted, but if that period is closed, choose the 1st date of the month that is open.  For the Document Date, fill in the invoice date.  I have modified my screen to pull this date to the grid, so on your screen it may be at the bottom.  In account type, change this to Vendor.  In Account fill in the vendor account number for the INCORRECT vendor.

  1. At the top, go to Functions–> Settlement

  1. Find the invoice that you are fixing, and put a check in the Mark column. Then select Close.

  1. This will bring the amount over to the Debit column of the invoice you are fixing. In the Description field, fill in the vendor name, or some other meaningful description.  In the offset account field, put in a clearing account.  This clearing account will be offset so the net effect on the GL will be zero.

  1. Go to the Invoice tab. In the Invoice field and in the Document field, fill in the invoice number.  Once complete, go back to the Overview tab.

  1. Back on the Overview tab, arrow down to create a new line. Fill in the Date and Document date exactly the same as the line above.  Change the Account Type to Vendor and in Account fill in the correct vendor account number.  In Description, fill in the vendor name.  In the Credit column, fill in the invoice amount.  In the Offset account, fill in exactly as the line above with the clearing account.

  1. Go to the Invoice tab. In the Invoice field and in the Document field, fill in the invoice number.  Once complete, go back to the Overview tab.

  1. Once everything is filled in, go to the top and select Post. You should get an Infolog that the journals are posted.


——————————————— The End —————————————-

Revenue Recognition and Vendor Prepayments in Dynamics 365 For Operations:

In this post, we will evaluate one of the new features of Dynamics 365 For Operations (Referred as D365 – Operations from here on), which allows to consider these vendor prepayments automatically when running the monthly revenue recognition/estimates for fixed price projects for calculating the percentage completion of the project.

We need to setup a fixed price project and the associated contract already. This project is setup to recognize revenue on a % completion basis.




The PM has created and submitted the purchase requisition for approval, so that the services can be procured from Rebar Supply Co. Ltd. See screenshot below.


The purchase requisition gets approved by the selected manager and the Purchase order is automatically crated. See screenshot below.


The Project procurement team/Project manager then sets up the prepayment details on the project purchase order that was automatically created upon approval of the requisition.


Finance and Accounting team now processes the prepayment invoice to initiate the prepayment to the vendor.




Now that the finance team has processed the vendor prepayment for the subcontracting work, let us now go ahead and see what happens when they run the monthly revenue recognition process for this project.

Notice that system was able to consider the vendor prepayment cost for the project and was able to determine the percentage completion based on the total project budget/forecast defined. See screenshot below


When this revenue recognition entry is posted, the revenue amount (based on Percentage complete and the total contract value) will be posted to general ledger..

—————–The End—————–