Purchase Order-Currency Type=NULL when created through process "create PO from requisition"
Description
When creating a Purchase Order directly, field CURRENCY TYPE is correctly defaulted to "SPOT" (c_conversiontype_id=114). However, when creating a Purchase Order using process "Create PO from requisition", field CURRENCY TYPE remains NULL. Consequently, when performing Invoice (Vendor)=>Create Lines From...field CURRENCY TYPE remains NULL as well. Currency type NULL in the vendor invoice will cause problems, for example, when a matched invoice is created and if you use multiple accounting schemes or if a fixed asset addition is created resulting in an error message similar to "Missing Currency Type.....".
The issue can become more tedious depending on how a user logs into iDempiere due to WTF-Display logic for c_invoice-c_conversiontype_id (@C_Currency_ID@!@$C_Currency_ID@): If a user logs in under a specific organization, he/she may not even see the currency type field because $C_Currency_ID is the same as the document @C_Currency_ID. A user logging in with organization=* on the other hand will see that the currency type field is null and could manually change it. Either way, a far better solution would be if the system automatically populates the currency type field when converting a PR to a PO.
I have simulated this the missing Currency Type scenario in https://demo.globalqss.com Requisition: 900000 PO: 800010 Invoice (Vendor): 10000017
Environment
None
Attachments
1
Activity
Show:
Michael Powacht May 8, 2019 at 2:58 AM
Thanks Heng Sin!
Heng Sin Low May 8, 2019 at 2:27 AM
, already push to 6.2
Michael Powacht May 8, 2019 at 2:15 AM
Thanks Heng Sin, tested in my development environment and works as expected. Please deploy in public repo i6.2.
Heng Sin Low May 7, 2019 at 9:33 AM
, please verify, thanks.
Michael Powacht May 7, 2019 at 1:33 AM
Please let me know if this patch is ready for testing.
When creating a Purchase Order directly, field CURRENCY TYPE is correctly defaulted to "SPOT" (c_conversiontype_id=114).
However, when creating a Purchase Order using process "Create PO from requisition", field CURRENCY TYPE remains NULL. Consequently, when performing Invoice (Vendor)=>Create Lines From...field CURRENCY TYPE remains NULL as well. Currency type NULL in the vendor invoice will cause problems, for example, when a matched invoice is created and if you use multiple accounting schemes or if a fixed asset addition is created resulting in an error message similar to "Missing Currency Type.....".
The issue can become more tedious depending on how a user logs into iDempiere due to WTF-Display logic for c_invoice-c_conversiontype_id (@C_Currency_ID@!@$C_Currency_ID@): If a user logs in under a specific organization, he/she may not even see the currency type field because $C_Currency_ID is the same as the document @C_Currency_ID. A user logging in with organization=* on the other hand will see that the currency type field is null and could manually change it. Either way, a far better solution would be if the system automatically populates the currency type field when converting a PR to a PO.
I have simulated this the missing Currency Type scenario in https://demo.globalqss.com
Requisition: 900000
PO: 800010
Invoice (Vendor): 10000017