← Volver a Entidades de Facturación

FacturaIva

Entidad para gestión de IVA por factura y tipo de impuesto

📊 Descripción General

La entidad FacturaIva representa el desglose de IVA por factura y tipo de impuesto en el sistema RestMaster. Esta entidad permite controlar los diferentes tipos de IVA aplicados en una factura, incluyendo subtotales, descuentos, bases imponibles e importes de IVA.

🎯 Propósito de la Entidad

  • Control de IVA: Gestión por tipo de impuesto
  • Desglose Fiscal: Separación por porcentajes de IVA
  • Cálculo de Bases: Bases imponibles por tipo
  • Control de Descuentos: Descuentos aplicados por IVA
  • Prepago: Gestión de facturas prepago

📋 Propiedades de la Entidad

TipoDocumento

string (1)
Tipo de documento (clave primaria)

Serie

string (10)
Serie del documento (clave primaria)

Factura

double
Número de factura (clave primaria)

Iva

double
Porcentaje de IVA (clave primaria)

Fecha

DateTime
Fecha de la factura

Subtotal

double?
Subtotal sin IVA para este tipo

Descuento

double?
Porcentaje de descuento aplicado

ImporteDescuento

double?
Importe del descuento aplicado

SubtotalPrepagoIva

double?
Subtotal prepago con IVA

SubtotalPrepago

double?
Subtotal prepago sin IVA

Base

double?
Base imponible para este tipo de IVA

ImporteIva

double?
Importe de IVA calculado

Total

double?
Total con IVA para este tipo

Cierre

double?
Cierre asociado a la factura

🔗 Relaciones con Otras Entidades

📦 Entidades de Facturación

  • Factura: Factura principal relacionada
  • FacturaLinea: Líneas que contribuyen al IVA
  • FacturaPrepago: Facturas prepago relacionadas

🎯 Funcionalidades Relacionadas

  • Control de IVA: Gestión por tipo de impuesto
  • Desglose Fiscal: Separación por porcentajes
  • Cálculo de Bases: Bases imponibles
  • Control de Descuentos: Descuentos por IVA

💡 Ejemplo de Uso

// Crear registro de IVA general (21%) var facturaIvaGeneral = new FacturaIva { TipoDocumento = "F", Serie = "A", Factura = 1001, Iva = 21.0, Fecha = DateTime.Now, Subtotal = 100.00, Descuento = 0.0, ImporteDescuento = 0.0, SubtotalPrepagoIva = 0.0, SubtotalPrepago = 0.0, Base = 100.00, ImporteIva = 21.00, Total = 121.00, Cierre = 1 }; // Crear registro de IVA reducido (10%) var facturaIvaReducido = new FacturaIva { TipoDocumento = "F", Serie = "A", Factura = 1001, Iva = 10.0, Fecha = DateTime.Now, Subtotal = 50.00, Descuento = 5.0, ImporteDescuento = 2.50, SubtotalPrepagoIva = 0.0, SubtotalPrepago = 0.0, Base = 47.50, ImporteIva = 4.75, Total = 52.25, Cierre = 1 }; // Consultar IVA por factura var ivaFactura = context.FacturaIvas .Where(fi => fi.TipoDocumento == "F" && fi.Serie == "A" && fi.Factura == 1001) .OrderBy(fi => fi.Iva) .ToList(); // Consultar IVA por fecha var ivaPorFecha = context.FacturaIvas .Where(fi => fi.Fecha == DateTime.Today) .GroupBy(fi => fi.Iva) .Select(g => new { Iva = g.Key, Base = g.Sum(x => x.Base ?? 0), ImporteIva = g.Sum(x => x.ImporteIva ?? 0), Total = g.Sum(x => x.Total ?? 0) }) .OrderBy(x => x.Iva) .ToList(); // Consultar facturas con descuentos var facturasConDescuento = context.FacturaIvas .Where(fi => fi.Descuento > 0 && fi.Fecha >= DateTime.Today.AddDays(-7)) .ToList(); // Calcular total de IVA por factura var totalIvaFactura = context.FacturaIvas .Where(fi => fi.TipoDocumento == "F" && fi.Serie == "A" && fi.Factura == 1001) .Sum(fi => fi.ImporteIva ?? 0);

🔧 Configuración de Base de Datos

🗄️ Configuración de Tabla

  • Tabla: FACTURA_IVA
  • Clave Primaria: TIPO_DOCUMENTO + SERIE + FACTURA + IVA
  • Índices: I_FACTURA_IVA_FECHA
  • Esquema: StoreData

🔑 Restricciones

  • TipoDocumento: Clave primaria, máximo 1 carácter
  • Serie: Clave primaria, máximo 10 caracteres
  • Factura: Clave primaria, número de factura
  • Iva: Clave primaria, porcentaje de IVA
  • Fecha: Fecha de la factura

🔗 Integración con Otros Componentes

📚 Componentes Relacionados

  • Back.API: Controladores de facturación
  • Back.Application: Servicios de IVA
  • Back.Domain: DTOs de IVA
  • Common.Domain.Master: Entidades maestro de IVA
  • Common.Constants: Validaciones de IVA

🎯 Casos de Uso

  • Control de IVA: Gestión por tipo de impuesto
  • Desglose Fiscal: Separación por porcentajes
  • Cálculo de Bases: Bases imponibles por tipo
  • Control de Descuentos: Descuentos por IVA
  • Prepago: Gestión de facturas prepago
  • Reportes Fiscales: Informes de IVA
  • Cumplimiento Legal: Registros para Hacienda