-- =====================================================
-- Script de Creación de Tabla: facturas_sri
-- Fecha: 16 de Enero de 2026
-- Propósito: Crear la tabla faltante para el sistema de facturación electrónica SRI
-- Instrucciones: Ejecutar este script en PhpMyAdmin en la base de datos de producción
-- =====================================================

-- Verificar si la tabla ya existe (opcional, solo para información)
-- Si ejecutas esto primero, te dirá si la tabla existe o no
-- SHOW TABLES LIKE 'facturas_sri';

-- Crear la tabla facturas_sri
CREATE TABLE IF NOT EXISTS `facturas_sri` (
  `idfactura_sri` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID único de la factura en el sistema',
  `idventa` int(11) DEFAULT NULL COMMENT 'Relación con tabla de ventas (si existe)',
  `clave_acceso` varchar(49) NOT NULL COMMENT 'Clave de acceso única generada por el SRI (49 dígitos)',
  `ruc_emisor` varchar(13) NOT NULL COMMENT 'RUC del emisor de la factura',
  `fecha_emision` date NOT NULL COMMENT 'Fecha de emisión de la factura',
  `ambiente` char(1) NOT NULL DEFAULT '1' COMMENT '1=Pruebas, 2=Producción',
  `estado_sri` varchar(20) DEFAULT 'GENERADO' COMMENT 'Estado: GENERADO, FIRMADO, ENVIADO, AUTORIZADO, EN_PROCESO, NO AUTORIZADO, ERROR_ENVIO',
  `mensaje_sri` text DEFAULT NULL COMMENT 'Mensaje de respuesta del SRI',
  `xml_generado` varchar(255) DEFAULT NULL COMMENT 'Ruta del archivo XML generado',
  `xml_firmado` varchar(255) DEFAULT NULL COMMENT 'Ruta del archivo XML firmado',
  `xml_autorizado` varchar(255) DEFAULT NULL COMMENT 'Ruta del archivo XML autorizado por el SRI',
  `fecha_registro` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Fecha y hora de registro en el sistema',
  PRIMARY KEY (`idfactura_sri`),
  UNIQUE KEY `clave_acceso_UNIQUE` (`clave_acceso`),
  KEY `idx_estado_sri` (`estado_sri`),
  KEY `idx_fecha_emision` (`fecha_emision`),
  KEY `idx_ambiente` (`ambiente`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Tabla para almacenar facturas electrónicas enviadas al SRI';

-- Verificar que la tabla fue creada correctamente
SELECT 'Tabla facturas_sri creada exitosamente' AS Resultado;

-- Mostrar la estructura de la tabla creada
DESCRIBE facturas_sri;
