Un usuario nos comentaba que necesitaba generar un comprobante con 4 decimales y su duda era si la biblioteca lo soportaba y como se podía hacer esto.
Como todos saben, por default, todos los comprobantes generados con EDL siempre salen con 2 decimales, pero esto es algo totalmente opcional y se puede configurar para que cada campo de tipo real pueda tener los decimales deseados, claro siguiendo los lineamientos que da el SAT:
- SubTotal: Puede tener hasta 6 decimales
- Descuento: Puede tener hasta 6 decimales
- Total: Puede tener hasta 6 decimales
- Cantidad: No tiene restricción en el número de decimales.
- Valor unitario: Puede tener hasta 6 decimales
- Importe: Puede tener hasta 6 decimales
- Total de impuestos retenidos: Puede tener hasta 6 decimales
- Total de impuestos trasladados: Puede tener hasta 6 decimales
En la librería todos los campos anteriormente mencionados permiten entre 0 y 6 decimales, esto incluye a la cantidad que como podemos es permitido que contenga más de 6 decimales.
Para indicar cuantos decimales se desea manejar es muy sencillo, solo deben asignar a la propiedad Decimales la cantidad requerida
electronicDocument.Data.Total.Decimales = 5;
Si asignas un valor mayor a seis o menor a cero, no será tomado en cuenta y se asignara un dos.
La pregunta más común en este caso, es ¿Que sucede si el valor del atributo contiene más o menos decimales? y para esto podemos ver un ejemplo:
electronicDocument.Data.Total.Decimales = 5;
electronicDocument.Data.Total.Value = 5.251; (5.25100)
electronicDocument.Data.Total.Decimales = 2;
electronicDocument.Data.Total.Value = 5.251; (5.25)
Creemos que con esto queda resuelta la duda, espero les sea de utilidad.
Hasta la próxima