I have this client who operates in very specific conditions: majority of their vendors are foreign companies which invoice them in a foreign currency (USD) and almost invariably ask for at least 50% prepayment.
NAV can handle prepayments and foreign currencies like a charm—the issue lies elsewhere: the fluctuations of currency exchange rate can easily cause real and tangible losses.
Even though prepayment invoice is fully closed by a prepayment applied against it, the actual costs of goods is not calculated from prepayment invoice, but from the actual invoice. And if there was difference between currency exchange rate at prepayment and invoicing dates, the inventory value reflects the actual invoiced value (instead of the prepaid value), there is currency exchange gain/loss which is fictitious, but taxable.
Thankfully, there are ways to avoid this.