Hola SysEdw:
No veo correcto tú planteamiento. El problema no es que sean decimales o enteros. Sino que las unidades se rigen por otro valor en la venta, y ahí deberías de utilizar un elemento para convertir.
Además, si de un tubo se venden 4 metros sobre 5, no es 0.4 sino el 80% de 5, 0.8.
Al final la herramienta, tendrá que permitir vender en una unidad de conversión, pero el stock estará almacenado en la que ya tengas.
¿Porque en la 1ª salida que vendes 12 el stock está correcto? Si has vendido 12, que son 2 tubos y 2 metros. Si son metros, entonces vendes metros, y cuando vendes 4 son 4 y cuando vendes un tubo, tu stock tiene que descontar un 5 no un tubo.