← Volver a TipoIvaController

💰 Gestión de Tipos de IVA

Endpoints para la gestión CRUD completa de tipos de IVA y tasas impositivas

Descripción General

Los endpoints de Gestión de Tipos de IVA proporcionan las operaciones fundamentales para administrar los tipos de IVA y tasas impositivas del sistema RestMaster. Estos endpoints manejan la configuración de diferentes tasas de impuestos aplicables a los productos y servicios del restaurante, incluyendo la integración con sistemas contables externos como Sage.

🎯 Características de los Tipos de IVA

  • Identificación única: Cada tipo de IVA tiene un ID único en el sistema
  • Configuración de tasas: Porcentajes de IVA aplicables a productos
  • Integración contable: Enlaces con sistemas externos como Sage
  • Cálculo automático: Aplicación automática en facturación
  • Validación fiscal: Cumplimiento de normativas impositivas
  • Auditoría de cambios: Seguimiento de modificaciones

Endpoints Disponibles

GET /Master/TipoIva/GetTiposIva

Obtiene todos los tipos de IVA disponibles en el sistema. Este endpoint devuelve una lista completa de todos los tipos de IVA registrados en la base de datos.
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
Lista de tipos de IVA devuelta exitosamente
[ { "tipoIvaId": "IVA21", "iva": 21.0, "enlaceSage": "S21" }, { "tipoIvaId": "IVA10", "iva": 10.0, "enlaceSage": "S10" }, { "tipoIvaId": "IVA4", "iva": 4.0, "enlaceSage": "S04" }, { "tipoIvaId": "IVA0", "iva": 0.0, "enlaceSage": "S00" } ]
500 Internal Server Error
Error interno del servidor

GET /Master/TipoIva/GetTipoIva/{tipoIva}

Obtiene un tipo de IVA específico por su ID. Este endpoint permite recuperar la información detallada de un tipo de IVA en particular.
Parámetros de ruta:
  • tipoIva (string, requerido): ID único del tipo de IVA
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
Tipo de IVA encontrado y devuelto
{ "tipoIvaId": "IVA21", "iva": 21.0, "enlaceSage": "S21" }
404 Not Found
Tipo de IVA no encontrado
500 Internal Server Error
Error interno del servidor

POST /Master/TipoIva/AddTipoIva

Crea un nuevo tipo de IVA en el sistema. Este endpoint permite agregar una nueva tasa de impuesto al sistema de facturación del restaurante.
Body (JSON):
{ "tipoIvaId": "IVA5", "iva": 5.0, "enlaceSage": "S05" }
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
201 Created
Tipo de IVA creado exitosamente
{ "tipoIvaId": "IVA5", "iva": 5.0, "enlaceSage": "S05" }
500 Internal Server Error
Error interno del servidor

PUT /Master/TipoIva/UpdateTipoIva/{tipoIva}

Actualiza un tipo de IVA existente en el sistema. Este endpoint permite modificar la información de un tipo de IVA ya registrado.
Parámetros de ruta:
  • tipoIva (string, requerido): ID del tipo de IVA a actualizar
Body (JSON):
{ "tipoIvaId": "IVA21", "iva": 22.0, "enlaceSage": "S22" }
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
Tipo de IVA actualizado exitosamente
404 Not Found
Tipo de IVA no encontrado
500 Internal Server Error
Error interno del servidor

DELETE /Master/TipoIva/DeleteTipoIva/{tipoIva}

Elimina un tipo de IVA del sistema. Este endpoint permite remover una tasa de impuesto del sistema de facturación del restaurante.
Parámetros de ruta:
  • tipoIva (string, requerido): ID del tipo de IVA a eliminar
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
Tipo de IVA eliminado exitosamente
{ "message": "Tipo de IVA deleted successfully", "tipoIvaEntity": { "tipoIvaId": "IVA5", "iva": 5.0, "enlaceSage": "S05" } }
404 Not Found
Tipo de IVA no encontrado
500 Internal Server Error
Error interno del servidor

Modelo de Datos - TipoIva

Propiedades del modelo TipoIva:
  • TipoIvaId (string): Identificador único del tipo de IVA (clave primaria)
  • Iva (double?): Porcentaje de IVA aplicable
  • EnlaceSage (string): Código de enlace para integración con Sage

📋 Características del Modelo

  • Clave primaria: TipoIvaId es la clave primaria de la tabla TIPO_IVA
  • Longitud máxima: 15 caracteres para el ID de tipo de IVA
  • Tipo de datos: String no Unicode para optimización
  • Porcentaje de IVA: Tipo double nullable para flexibilidad
  • Integración Sage: Campo EnlaceSage para sincronización contable
  • Restricciones: No permite valores nulos en la clave
  • Índice: Clave primaria con índice I_TIPO_IVA

Servicio Utilizado

ITipoIvaService - Servicio principal para la gestión de tipos de IVA
  • GetTiposIva(): Obtiene todos los tipos de IVA
  • GetTipoIva(): Obtiene un tipo de IVA por ID
  • AddTipoIva(): Crea un nuevo tipo de IVA
  • UpdateTipoIva(): Actualiza un tipo de IVA existente
  • DeleteTipoIva(): Elimina un tipo de IVA

Casos de Uso

🎯 Escenarios Comunes

  • Configuración inicial: Crear tipos de IVA estándar (21%, 10%, 4%, 0%)
  • Actualización de tasas: Modificar porcentajes de IVA por cambios legislativos
  • Integración contable: Configurar enlaces con sistemas como Sage
  • Eliminación de tipos obsoletos: Remover tipos de IVA no utilizados
  • Consulta de configuración: Verificar tipos de IVA disponibles
  • Validación fiscal: Asegurar cumplimiento de normativas

⚠️ Consideraciones Importantes

  • Impacto en facturación: Los cambios pueden afectar facturas existentes
  • Validación de porcentajes: Los valores deben estar entre 0 y 100
  • Integridad referencial: Verificar que no haya productos usando el tipo a eliminar
  • Auditoría fiscal: Mantener registro de cambios por motivos legales
  • Sincronización contable: Asegurar consistencia con sistemas externos
  • Backup antes de cambios: Realizar respaldo antes de modificaciones

💰 Tipos de IVA Estándar

🎯 Configuración Recomendada

  • IVA21: 21% - IVA General (productos y servicios estándar)
  • IVA10: 10% - IVA Reducido (alimentos, transporte, etc.)
  • IVA4: 4% - IVA Superreducido (productos de primera necesidad)
  • IVA0: 0% - IVA Cero (exportaciones, servicios internacionales)
  • Exento: null - Productos exentos de IVA

🔗 Códigos de Enlace Sage

  • S21: Enlace para IVA General 21%
  • S10: Enlace para IVA Reducido 10%
  • S04: Enlace para IVA Superreducido 4%
  • S00: Enlace para IVA Cero 0%
  • EX: Enlace para productos exentos