Vendor Prepayments and Revenue Recognition For Fixed Price projects in Dynamics 365 For Operations

Vendor Prepayments and Revenue Recognition For Fixed Price projects in Dynamics 365 For Operations

Hello, Good to be back here on the blog !!! Jumping straight into topic here today about a new addition of a feature for vendor prepayments in relation with fixed price project revenue recognition !!

Issuing large amounts of prepayments to vendors is often a common business requirement for large scale, long term fixed price projects, which involves a lot of sub-contracted work. Vendors often request prepayments for the subcontracting services they are contracted to deliver for these projects. These prepayments can sometimes be just a flat amount based on mutual decisions, or it can sometimes be a percentage of the total cost of the subcontracting service. There can be several months of gap between when the prepayments are issued and when the vendors actually delivers the services.

For such projects, customers usually recognize revenue on a percentage completion basis and need the ability to include these vendor prepayments in the project percentage completion calculation of the project for revenue recognition/revenue estimates calculations.

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 % completion of the project.

For this demonstration, I have setup a fixed price project and the associated contract already. This project is setup to recognize revenue on a % completion basis.

Contract Setup

Project Setup

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

PR Submitted

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

PR Approved

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.

Prepay Invoice


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. We all know how it works from here 🙂

That’s it for today !!

Sandeep Chaudhury **

Prepaid Purchase Orders Management in Microsoft Dynamics AX 2012 – [Vendor Prepayments]

Vendors asking prepayment for their orders could be a very common scenario as part of their business policies. When this scenario arises, your business/finance team should be able to create a purchase order and create and track a prepayment against this.


In Microsoft Dynamics AX 2009, it was not possible to make a prepayment related to a purchase order and these were always two separate manual processes. There was no transaction link between the prepayment for a purchase order and the actual purchase order.

AX 2012 brings in this small yet very useful functionality. In today’s I will explain about this functionality of AX 2012 and how can be used by an organization.

We will analyze an example where an organization orders 500 items from a vendor and vendor asks for a prepayment as this is a business policy for them. The purchase order prepayment process will basically flow through the below high level steps.

  1. Purchasing agent creates the purchase order and submits a request to AP coordinator to process prepayment.
  2. AP Coordinator/Manager sets up and processes the required prepayment.
  3. Settle the payment against the final invoice.

Purchasing agent creates the purchase order and submits a request to AP coordinator to process prepayment:

  • Create a new purchase order under Accounts Payable module for vendor 3107, Alpine Electronics. Let us make a note of their balance before we proceed with a prepaid PO processing for them.


  • Create purchase order header and PO line for item(1001) for 600 quantity.


  • Click the Purchase tab and click Prepay > Prepayment button.
  • Enter a suitable description for the prepayment for purchase order and enter the prepayment value. In our case, let us assume that vendor has requested 10% prepayment.
  • Enter 10% and verify that the prepayment remaining value which will be 10% of the total PO value. Note that you can also specify a fixed prepayment amount if vendors requests so.


Prepayments can be removed after it has been setup on a PO by clicking the Remove prepayment button. if business later cancels the prepayment.


*Note: The prepayment category ID is the procurement category against which the prepayment will be tracked

  • Now, Confirm the purchase order after saving the prepayment details.


Posting the Prepayment Invoice:

  • To do this, click the Invoice tab in the purchase order form and click Prepayment invoice button.


  • Now enter invoice number and click Post > post button to post the prepayment invoice.


  • Note the newly created vendor transaction and also take a note of the affected vendor balance. Recording of the prepayment invoice increases the vendor balance. In this scenario it is $4100.25(Vendor balance before prepayment invoice) + $87,720(Prepayment invoice amount).



AP Coordinator/Manager processes the required prepayment:

  • It’s now AP Manager’s task to make the payment for the prepayment which was requested for the purchase order.
  • Navigate to AP > Journals > create a new payment journal.
  • Click payment journal line and click Functions > Settlement button and select the prepayment invoice.


  • Print the check for vendor and post the payment. Make a note of the vendor transactions and the affected vendor balance also after this step. Vendor balance decreases after the payment has been made.

Settle the payment against the final invoice:

  • When the goods arrive and you receive the final invoice from vendor, settle the prepayment with it.
  • Navigate to Purchase order screen > Invoice tab and generate an invoice.
  • Click Apply prepayment button.


  • You will notice the prepayment record appearing here in this form. The “Select prepayments to apply” grid displays all the prepayments which could exist for the PO.
  • Also notice the invoice amount is $877200 and available application amount is $87,720 which is 10% of the invoice which was paid as a prepayment to the vendor.


  • Finally Select the prepayment and click Apply prepayment button. You will see that the “’Total amount of the prepayment that will be applied to the invoice will be 87720.$.
  • Make a note that one line gets added in the vendor invoice line.


  • Now, Post the purchase order invoice by clicking Post.
  • With the PO invoice posted, let us now analyze the financial voucher and the impact on vendor balance.



End to end linking of all related transactions and their tracking in an ERP system helps finance and accounting team in a great deal during transaction reconciliations. This also ensures reduction in accounting team’s efforts and time needed to spend in the ERP system.

Microsoft Dynamics AX 2012 ensures this.

Pretty straight forward and neat. Smile

Microsoft Dynamics AX-Powerfully Simple

Do not hesitate to contact me in case you need any clarifications regarding this.

Till next time!