The full solution is defined in an email saved against problem 180207
ACA also mentioned that we should be able to specify on a quote by quote basis whether the prices are inclusive or exclusive. This would be quite easy to implement as long as the internal objects use the following process:
- Load VAT code, rate and inclusive flag from product
- load the price depending on the above inclusive flag etc.
- change the vat code based on the quote, this will then recalculate the prices from either inclusive or exclusive price already calculated in step 2 above.