deleting caches and running full CIL fixed it.
also rounding is taken care in Tables\VendInvoiceInfoLine \ invoiceNetUnitPrice(method) (x++ code)
invoicenetunitprice = round(invoicenetunitprice, 0.001);
nothing worked. so re-installed all AX components.
ok, first you need to check the index in your staging table, maybe is a duplicate index issue, if you are inserting a new record that has the same combination in your index that you already has, and try to see the check box here:
Business Applications communities