AvgPrice, you may want take from OITW for accurracy. You should join OITW on both the ItemCode and warehouse code fields:
FROM INV1
INNER JOIN OITW ON INV1.ItemCode = OITW.ItemCode AND INV1.WhsCode = OITW.WhsCode
About the currency, in your query as is, the @CURRENCY parameter is actually limiting the result set to documents that were created in the given currency.
That means that assuming that all or most documents in your system were added with AUD, and you were to choose NZD, you would not get any results, or at least not nearly all results you should.
Before I can say anything useful about the VAT thing, can you tell me the premise of this query ? What is it supposed to tell us ?
Regards,
Johan