I will explain the pay when paid functionality available in Microsoft dynamics AX 2009 PSA module in this post. As the name implies , payment to vendors is made only when payment is received from customers and this process is automated in PSA.
This functionality of PSA gains more attention in the AEC and advertising industry as huge amount of money is paid to sub contractors / vendors with very low contract margin. The implementation of the this functionality not only ensures a positive cash flow in the organization but also verifies that the customers/clients are also satisfied with the performance of the vendors.
In order to ensure that the pay when paid works as intended, make sure the below setups.
- Ensure the PSA parameters are setup properly. This includes the flags for pay when paid section.
- Ensure that the pay when paid check boxes are marked properly in vendor group and vendor level.
- Ensure the flags for pay when paid are setup correctly in Project contract and project.
- The flags at the PO header and line level will inherit from vendor master.
- Check the PwP flag at the AP voucher record.
How the Pay when paid works – Information flow in pay when paid functionality:
The pay when paid works using the logic depicted below.
- PwP looks at the threshold amount or percentage which are setup in the PSA parameters. If the amount is set up , system subtracts this value from the total customer invoice amount and the calculated difference is compared to the customer payments till date.If the total payments till date is greater than the difference , the customer invoice is said to be “Fully” paid.
- If the threshold percentage is set up , then percent value is subtracted from 100 and the difference is multiplied with the total customer invoice. If customer payments till date exceeds this value, then customer invoice is assumed to be fully paid.
- The addition of two new fields, “Customer payment status” and “Customer invoice number” in vendor transactions form forms a relationship between the Vendor invoice and the Customer payment.
- When a new AP voucher is initiated for the vendor payment/invoice, the value for the customer payment status will be Blank and customer invoice number will be null in the related vendor transaction record.
- Once the customer/client invoice is processed, the invoice number for this will be updated for the related vendor transaction.
- Once a full payment is received from customer , the customer transaction will be updated as settled and system will cause the “Customer payment status” field to be set to Paid and if a partial payment is received , it is updated to Partial.
- When the vendor payment is initiated by using payment proposal option , then only those vendor transactions are filtered where customer payment status is Paid.
- When the vendor payment is initiated through manual settlement (Functions > Settlement option), then only those vendor open transaction which pass the PwP criteria are listed to be chosen for payment.
Let us understand the example below to get a better idea on the pay when paid functionality of PSA.
Let’s say your company sells speakers and you enter into an agreement with your customer to provide 200 speakers for them . As you dont have the manufacturing facility for the speakers, you engage a vendor/sub contractor to manufacture those for you. Let us assume that the price that the customer agreed on for each speaker is $100.
Your customer also makes an agreement like they will approve the quality of the speakers before the they pay you . Therefore, your organization can have an option of not paying the third-party vendor until you have been paid by the customer.
Now you can set up the project with a PWP threshold percentage of 100%. This means that you will withhold all payments to the vendor until you receive full payment for the customer invoice.
When vendor sends the speakers , say they charge $60 for each speaker, so along with the goods they will send an invoice of amount 200*60 = $12000. But you will not pay now them as you have the PWP setup.
When you send the speakers to the customer, you will send the customer an invoice of 200*100 = $20000. The customer will inspect all the speakers and then if approves the quality of the product , they will pay the amount for your invoice.
After you receive the full payment from the customer, you will pay $12,000 to the vendor for the full amount of their vendor invoice. This will ensure satisfactory service from the third party vendors.
Hope this post will help understanding the base concept of PwP and troubleshooting issues if any. Will be glad to answer more on this.
Thanks, Keep DAXING 🙂
5 thoughts on “The “Pay when paid” functionality in Microsoft dynamics AX 2009 PSA”
Great explanation sandeep, even though i don’t have this doubt earlier but now i had beautiful explanation from you.
I am T&L consultant where i will get this kind of informative blogs.
Thanks in advance
Thanks for your words. I will try to improve further the contents my blog.
what is major difference between dat and def file. what will be impact when i import def file or dat file.
thanks in advance.
Sorry about a delayed response on this. I got very much occupied with my work.
The .dat and the .def files in AX work together. When you export data out of dynamics AX, system will create both .dat and .def files. The .dat file will contain the actual data values where as the .def file will contain the table/form column headers.
You cannot imort .dat file without the .def file present. When you go to the Database import/export option in Administration module, and then browse for the data files, system will accept a .dat file and it will expect that the .def file is present. With out this it will not allow to import the data and will give error message “File cannot be opened”.
Please let me know if you need more information on this.
I am working as AX functional consultant and am loking for a change can you please send me some interview based Q&A PDFs or sites which would be helpful for me..
Thanks in advance