Actualmente cuando creo una orden desde el service layer, aunque yo mismo envíe el valor del impuesto, cuando la entidad se guarda en la base de sap el impuesto se calcula por sap e ignora lo que yo envío existe alguna manera de priorizar la toma del valor que yo envío ante lo que calcula sap?
En SAP Business One, cuando se crean documentos a través del Service Layer, el sistema generalmente recalcula ciertos valores como los impuestos, incluso si se envían explícitamente en la solicitud. Para asegurar que los valores de impuestos sean precisos y reflejen exactamente lo que se envía, puedes utilizar las propiedades específicas para forzar el uso de los valores proporcionados.
Aquí hay algunas sugerencias para abordar este problema:
1. Usar VatGroup en lugar de TaxCode
En lugar de enviar el TaxCode directamente, asegúrate de que la configuración del grupo de impuestos (VatGroup) y otros detalles estén correctamente configurados para forzar el cálculo preciso. Sin embargo, dado que ya estás enviando TaxCode, es probable que este no sea el problema.
2. Verificar la Configuración de Decimales
Asegúrate de que la configuración de decimales en SAP Business One esté alineada con los valores que estás enviando. SAP B1 puede redondear los valores según la configuración del sistema.
3. Forzar el Uso de Valores Enviados
Desafortunadamente, SAP B1 generalmente recalcula los impuestos basado en las reglas del sistema. Sin embargo, puedes intentar usar la propiedad IncludeVat en el DocumentLines para tratar de controlar el comportamiento del cálculo del impuesto:
Asegúrate de que la configuración de la tasa de impuesto y el cálculo del IVA en SAP B1 esté correctamente configurada y que permita la precisión que necesitas. Esto incluye la configuración de redondeo y los decimales permitidos para los valores de impuestos.
5. Contactar a Soporte
Si el problema persiste, podría ser necesario contactar al soporte de SAP o a un consultor de SAP Business One para revisar las configuraciones específicas de tu sistema y asegurarse de que no haya configuraciones adicionales que estén forzando el redondeo.
Resumen
Es probable que SAP Business One esté aplicando su lógica de redondeo estándar en el cálculo de impuestos. Utilizar la propiedad IncludeVat en el DocumentLines y revisar las configuraciones de decimales y redondeo en tu sistema puede ayudar a controlar mejor cómo se manejan los valores de impuestos. Si estas soluciones no resuelven el problema, la intervención de un consultor de SAP B1 podría ser necesaria para ajustar las configuraciones del sistema a tus necesidades específicas.
En este caso verifico que le estás enviado el parametro de LineTotal y el VatSum, este valor es cálculado en automático. En este caso solo tendrías que enviarle la cantidad y el precio unitario y el mismo te hará el calculo correspondiente. Otro tema importante es a cuantos decimales está tu base de datos?, ya que veo que está a dos decimales entonces lo que hace SAP es aproximar los valores respetando los decimales definidos.