The cost price from get_sale_price returns by default a price using the price_digits precision. The cost should be stored with the highest precision as it will end up as unit price on the invoice. It must be rounded using the precision of each field it will be written on. And the currency conversion should not round it. issue6557 review36381002