You may have noticed that the intended purchase currency and price on the allocated pallets sometimes update when you enter/modify these values on the produce order line; and sometimes they don't. While this may seem random, there is logic behind it. 


Here's how this works:


A user allocates a pallet from a produce order line that has an intended purchase currency and price, or they modify the intended purchase currency and price on a produce order line that has allocated pallet(s).


The allocated pallet is then subjected to a few tests to see if 

a) the intended purchase currency may be updated

b) the intended purchase price may be update




The pallet is on no produce bill and the vendor may be paid in any currency


If the pallet is not on ANY produce bill yet AND if the vendor of the pallet is not limited to a specific currency, then both the intended purchase currency and price on the pallet will update with the information entered on the order line - even if the allocated pallet already had values in these fields


The pallet is NOT on any produce bill, but the vendor may only be paid in a specific currency

If the vendor is limited to a specific currency and the intended purchase currency entered on the order line is different, then the system keeps the intended purchase currency of the allocated pallet and updates the pallet's intended purchase price with a converted value.


Example:

Vendor may only be paid in LCY

Order line intended purchase currency is USD and the price is 10.00

The exchange rate for USD is 18.

The result: the allocated pallet will be updated with intended purchase currency "blank" (i.e. LCY) and intended purchase price of 180 (USD 10.00 x exch. rate of 18)



The vendor may be paid in any currency, but the pallet is already on one or more produce bill


If the pallet is found on any kind of produce bill, then the intended purchase currency can of course not update. But what if it's only found on a forecast bill that was generated very early on? Since we don't want a 'temporary' bill like a forecast bill to prevent the update of currency and price, the system will first remove the allocated pallet from the forecast bill if the user modifies the intended purchase currency and price on the order line. 


Then the system proceeds to check if the pallet is on any other produce bills. Both the purpose and status of any other produce bills the pallet is found on matters:


  • If the pallet is on an advance bill only, the currency cannot update, but the system will update the intended price with a converted price


  • If the pallet is on an invoice produce bill / cost produce bill, then the intended purchase currency can of course not update, but if the status of the invoice and/or cost produce bill is still OPEN, then the price may still update - in which case the system will update the intended purchase price of the allocated pallet with a converted price. If the status is NOT OPEN, then the intended purchase price will NOT update on the pallet.




Illustrative matrix


 

Produce Order Line: Intended Purchase Currency & Price modified to:USD10



Pallet Line:Current Intended Purchase Currency & Price
100



USD/ZAR exchange rate
18













Vendor Currency LimitedVendor CurrencyPallet on Advance Produce BillPallet on Invoice Produce Bill Invoice Produce Bill StatusPallet on Cost Produce BillCost Produce Bill StatusResulting Intended Purchase Currency on palletResulting Intended Purchase Price on palletNotes
NOANY CURRENCY




USD10Currency and price updates
YESLCY





180Updates with converted price

NOANY CURRENCYYES




180Updates with converted price

NOANY CURRENCY
YESOPEN


180Updates with converted price
NOANY CURRENCY
YESNOT OPEN


100Invoice bill not open. Neither currency or price may update

NOANY CURRENCY


YESOPEN
180Updates with converted price
NOANY CURRENCY


YESNOT OPEN
100Cost bill not open. Neither currency nor price may update

NOANY CURRENCY
YESNOT OPENYESOPEN
100Cost bill open, but invoice bill is not. Neither currency nor price may update