Descripción General
El endpoint de Recálculo de Impuestos proporciona la funcionalidad para recalcular automáticamente todos los impuestos de una factura basándose en sus líneas y configuraciones de IVA. Este endpoint es esencial para mantener la consistencia de los datos fiscales después de modificaciones en las líneas de factura o cambios en los tipos de IVA.
🎯 Propósito del Recálculo
- Consistencia fiscal: Asegura que los impuestos coincidan con las líneas de factura
- Automatización: Elimina la necesidad de cálculos manuales de impuestos
- Precisión: Garantiza cálculos exactos de IVA según normativa vigente
- Integridad: Mantiene la integridad referencial de los datos fiscales
- Auditoría: Proporciona trazabilidad de cambios en impuestos
- Cumplimiento: Asegura adherencia a normativas fiscales
Endpoint Detallado
POST
/WorkingData/InvoiceTax/{tipoDocumento}/{serie}/{factura}/recalculate
Recalcula todos los impuestos de una factura específica. Este endpoint procesa todas las líneas de la factura y actualiza automáticamente los impuestos según los tipos de IVA aplicables.
Parámetros de ruta:
- tipoDocumento (string, requerido): Tipo de documento (ej: "FACTURA", "TICKET")
- serie (string, requerido): Serie del documento
- factura (double, requerido): Número de factura a recalcular
Parámetros de consulta:
- initialCatalog (string, requerido): Nombre de la base de datos
- userID (string, opcional): ID de usuario de la base de datos
- password (string, opcional): Contraseña de la base de datos
200 OK
Impuestos recalculados exitosamente
{
"isSuccess": true,
"error": null,
"data": true
}
400 Bad Request
Error en el recálculo
{
"isSuccess": false,
"error": "Error al recalcular impuestos: Factura no encontrada",
"data": false
}
📊 Cálculos Realizados
Fórmulas de cálculo aplicadas:
- Base Imponible por IVA: Σ(Importe Neto de líneas con mismo IVA)
- Importe IVA: Base Imponible × (Porcentaje IVA / 100)
- Total IVA: Σ(Importe IVA de todos los tipos)
- Total Factura: Subtotal + Total IVA
- Tipos de IVA únicos: Número de tipos de IVA diferentes
📝 Ejemplo de Recálculo
Antes del recálculo:
- Línea 1: 50.00€ (IVA 21%) → Base: 50.00€, IVA: 10.50€
- Línea 2: 30.00€ (IVA 10%) → Base: 30.00€, IVA: 3.00€
- Total IVA: 13.50€
Después de modificar Línea 1 (cantidad = 2):
- Línea 1: 100.00€ (IVA 21%) → Base: 100.00€, IVA: 21.00€
- Línea 2: 30.00€ (IVA 10%) → Base: 30.00€, IVA: 3.00€
- Total IVA: 24.00€
Servicio Utilizado
IInvoiceTaxService - Servicio para el recálculo de impuestos
- RecalculateInvoiceTaxes(): Recalcula todos los impuestos de una factura
🔧 Funcionalidades del Servicio
- Validación de factura: Verifica que la factura existe y es editable
- Procesamiento de líneas: Lee y procesa todas las líneas activas
- Agrupación por IVA: Agrupa líneas por tipo de IVA
- Cálculos automáticos: Aplica fórmulas de cálculo estándar
- Actualización de impuestos: Modifica los impuestos en la factura
- Manejo de transacciones: Gestiona la transacción de base de datos
- Validación de resultados: Verifica la consistencia final
- Cumplimiento normativo: Valida adherencia a leyes fiscales