cuando surge un error como el que sigue "Error: El total a pagar ( 0) es mayor al total del comprobante ( 1210). "
Para entender por qué se genera el error, es fundamental seguir la ruta que el script realiza para identificar el IVA y luego cómo procesa cada ítem.
1. Posición del IVA en el Esquema
El script busca el IVA en dos momentos clave:
Identificación del código: Al inicio, se define el código de impuesto a buscar como
"010".Búsqueda en el Esquema Operativo: Dentro de la función
agregarItemsIVA, el script intenta obtener la configuración del impuesto directamente desde el esquema vinculado a la transacción.Obtención del Coeficiente: Utiliza la función
GetPosicionImpuestoPorCodigopasando el esquema y el código"010". Si lo encuentra, extrae el coeficiente definido en el esquema.
2. Secuencia de Procesamiento de Ítems
Una vez que el script tiene el contexto del esquema, sigue esta secuencia lógica para calcular los totales:
Iteración de Ítems: Recorre cada uno de los
ItemsTransaccionde la factura.Identificación del Tipo de ítem: Determina si el ítem es un producto o un servicio para informar el tipo de servicio a la ARCA (ARCA es el nuevo nombre de la AFIP mencionado en el script).
Cruce de Impuestos por Ítem: Por cada ítem, recorre sus
ImpuestosItemTransaccionbuscando que el código coincida con el del IVA ("010").Cálculo del Coeficiente del Ítem: Llama a la función
GetCoeficienteIVA. Esta función busca la posición arancelaria en la referencia (el producto) y determina si es Gravado (tasas del 10.5%, 21%, etc.), No Gravado (código 1) o Exento (código 8888).Acumulación de Totales: * Suma el IVA del ítem al acumulador
tTotalIVA.Si es exento, lo suma a
aExcento.Si el adaptador es
COMFEV1, los importes netos y de IVA se envían al objetooCOMFEpara el cálculo final.
Validación Final de Suma: Al finalizar el bucle de ítems, el script suma el Neto, el IVA acumulado, las Percepciones y lo Exento para obtener
aSuma. Luego compara este valor contraoTransaccion.total.importe.
El error en tu imagen ocurre en el paso 6: como la secuencia no encontró impuestos con código "010" en los ítems (o el coeficiente del esquema devolvió 0), la variable aSuma nunca incrementó, quedando en 0, mientras que el total del comprobante es 1210.
¿Le ha sido útil este artículo?
¡Qué bien!
Gracias por sus comentarios
¡Sentimos mucho no haber sido de ayuda!
Gracias por sus comentarios
Sus comentarios se han enviado
Agradecemos su esfuerzo e intentaremos corregir el artículo