Purchase Order-Currency Type=NULL when created through process "create PO from requisition"


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




Michael Powacht
May 7, 2019, 1:33 AM

Please let me know if this patch is ready for testing.

Heng Sin Low
May 7, 2019, 9:33 AM

, please verify, thanks.

Michael Powacht
May 8, 2019, 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 8, 2019, 2:27 AM

, already push to 6.2

Michael Powacht
May 8, 2019, 2:58 AM

Thanks Heng Sin!


Heng Sin Low


Michael Powacht



Tested By



Fix versions

Affects versions