Use of the Format function in a SELECT will cause you to lose rows in your results if the value you are formatting is NULL.
FORMAT(IIF(IsNull (O.Tax),0,O.Tax),"Currency") as TAX
Coalesce could also be used in place of IsNull below.
CAST(IsNull(TAX,0)AS money) as TAX