El XML de una factura electrónica es el documento tributario oficial en Ecuador. El RIDE* (PDF) es solo su representación visual; lo que el SRI recibe, valida y almacena es el XML. Esta guía te explica la estructura del XML campo a campo, con un ejemplo real comentado, para que entiendas exactamente qué contiene tu factura electrónica.
¿Qué es el XML de una factura electrónica?
XML (eXtensible Markup Language) es un formato de texto estructurado que organiza la información en etiquetas jerárquicas. El SRI define el esquema exacto que debe seguir cada tipo de comprobante electrónico mediante un archivo XSD (XML Schema Definition). El software facturador genera el XML siguiendo ese esquema, lo firma digitalmente y lo envía al SRI para autorización.
Una vez autorizado, el XML lleva dos componentes:
- El comprobante — datos del emisor, receptor, productos, impuestos y totales.
- La firma electrónica — bloque XAdES-BES que garantiza la integridad y autenticidad del documento.
Estructura principal del XML de factura
El XML de una factura electrónica del SRI tiene la siguiente estructura de primer nivel:
<?xml version="1.0" encoding="UTF-8"?>
<factura id="comprobante" version="1.0.0">
<infoTributaria>...</infoTributaria>
<infoFactura>...</infoFactura>
<detalles>...</detalles>
<infoAdicional>...</infoAdicional>
</factura>
A esto se le agrega el bloque <Signature> de la firma electrónica al momento de firmar el documento.
Bloque infoTributaria — datos del emisor
Contiene la identificación del emisor y la clave de acceso del comprobante:
<infoTributaria>
<ambiente>2</ambiente>
<tipoEmision>1</tipoEmision>
<razonSocial>EMPRESA EJEMPLO S.A.</razonSocial>
<nombreComercial>EMPRESA EJEMPLO</nombreComercial>
<ruc>1792345678001</ruc>
<claveAcceso>1704202601179234567800110010010000000011234567890</claveAcceso>
<codDoc>01</codDoc>
<estab>001</estab>
<ptoEmi>001</ptoEmi>
<secuencial>000000001</secuencial>
<dirMatriz>Av. 6 de Diciembre N36-109, Quito</dirMatriz>
</infoTributaria>
| Campo | Valor ejemplo | Descripción |
|---|---|---|
| ambiente | 2 | 1 = pruebas, 2 = producción |
| tipoEmision | 1 | 1 = normal, 2 = contingencia |
| ruc | 1792345678001 | RUC del emisor (13 dígitos) |
| claveAcceso | 49 dígitos | Identificador único del comprobante |
| codDoc | 01 | 01 = factura, 04 = nota de crédito, 06 = guía de remisión, 07 = retención |
| estab | 001 | Código del establecimiento (3 dígitos) |
| ptoEmi | 001 | Punto de emisión (3 dígitos) |
| secuencial | 000000001 | Número secuencial (9 dígitos) |
La clave de acceso de 49 dígitos explicada
La clave de acceso es el identificador único de cada comprobante. Se construye concatenando:
| Posición | Longitud | Descripción | Ejemplo |
|---|---|---|---|
| 1–8 | 8 | Fecha de emisión (ddmmaaaa) | 17042026 |
| 9–10 | 2 | Tipo de comprobante | 01 (factura) |
| 11–23 | 13 | RUC del emisor | 1792345678001 |
| 24 | 1 | Ambiente (1=pruebas, 2=producción) | 2 |
| 25–27 | 3 | Número de establecimiento | 001 |
| 28–30 | 3 | Punto de emisión | 001 |
| 31–39 | 9 | Número secuencial | 000000001 |
| 40–48 | 9 | Código numérico (generado por el sistema) | 123456789 |
| 49 | 1 | Dígito verificador (módulo 11) | 0 |
Bloque infoFactura — datos de la transacción
Contiene la fecha, datos del comprador, totales e impuestos:
<infoFactura>
<fechaEmision>17/04/2026</fechaEmision>
<dirEstablecimiento>Av. 6 de Diciembre N36-109, Quito</dirEstablecimiento>
<tipoIdentificacionComprador>04</tipoIdentificacionComprador>
<razonSocialComprador>JUAN PÉREZ GARCÍA</razonSocialComprador>
<identificacionComprador>1712345678001</identificacionComprador>
<totalSinImpuestos>100.00</totalSinImpuestos>
<totalDescuento>0.00</totalDescuento>
<totalConImpuestos>
<totalImpuesto>
<codigo>2</codigo>
<codigoPorcentaje>4</codigoPorcentaje>
<baseImponible>100.00</baseImponible>
<valor>15.00</valor>
</totalImpuesto>
</totalConImpuestos>
<propina>0.00</propina>
<importeTotal>115.00</importeTotal>
<moneda>DOLAR</moneda>
<pagos>
<pago>
<formaPago>01</formaPago>
<total>115.00</total>
</pago>
</pagos>
</infoFactura>
Códigos de tipo de identificación del comprador
| Código | Tipo |
|---|---|
| 04 | RUC |
| 05 | Cédula de identidad |
| 06 | Pasaporte |
| 07 | Consumidor final (9999999999999) |
| 08 | Identificación del exterior |
Códigos de IVA (campo codigoPorcentaje)
| Código | Tarifa IVA |
|---|---|
| 0 | 0% |
| 2 | 5% |
| 4 | 15% |
| 6 | No objeto de IVA |
| 7 | Exento de IVA |
Bloque detalles — los productos o servicios
Cada ítem de la factura es un elemento <detalle> dentro de <detalles>:
<detalles>
<detalle>
<codigoPrincipal>SERV001</codigoPrincipal>
<descripcion>Servicio de consultoría contable</descripcion>
<cantidad>1.000000</cantidad>
<precioUnitario>100.000000</precioUnitario>
<descuento>0.00</descuento>
<precioTotalSinImpuesto>100.00</precioTotalSinImpuesto>
<impuestos>
<impuesto>
<codigo>2</codigo>
<codigoPorcentaje>4</codigoPorcentaje>
<tarifa>15.00</tarifa>
<baseImponible>100.00</baseImponible>
<valor>15.00</valor>
</impuesto>
</impuestos>
</detalle>
</detalles>
Bloque infoAdicional — información complementaria
El bloque <infoAdicional> permite agregar campos adicionales que no están en la estructura estándar pero que el emisor necesita incluir:
<infoAdicional>
<campoAdicional nombre="Dirección del comprador">Av. Amazonas 234, Quito</campoAdicional>
<campoAdicional nombre="Teléfono">0991234567</campoAdicional>
<campoAdicional nombre="Correo electrónico">[email protected]</campoAdicional>
</infoAdicional>
Este bloque es opcional pero muy útil para incluir el correo del cliente (que el SRI puede usar para notificaciones) y datos adicionales que aparecerán en el RIDE*.
La firma electrónica en el XML
El bloque <Signature> se añade al final del XML y contiene la firma digital XAdES-BES. No necesitas entender su contenido técnico —el software lo genera automáticamente con tu certificado .p12— pero es importante saber que:
- Sin firma válida, el SRI rechaza el comprobante.
- Si la firma electrónica está vencida, el XML no puede ser firmado correctamente.
- El SRI valida la firma al recibir el XML y rechaza cualquier comprobante con firma inválida o expirada.
¿Cómo verificar un XML de factura electrónica?
Puedes verificar que un XML fue correctamente autorizado por el SRI de dos formas:
- Portal del SRI — ingresa a sri.gob.ec → Servicios en Línea → Consulta de Comprobantes Autorizados → ingresa la clave de acceso de 49 dígitos. El portal muestra el estado del comprobante y permite descargar el XML autorizado.
- Código QR / código de barras del RIDE — escanea el código de barras del PDF con cualquier lector QR desde el celular. Redirige automáticamente a la consulta en el portal del SRI.
¿Necesito generar el XML manualmente?
No. El software facturador genera el XML automáticamente siguiendo el esquema XSD del SRI. Tú solo ingresas los datos en la interfaz (cliente, productos, precios, forma de pago) y el sistema construye el XML correctamente, lo firma y lo envía sin que necesites saber nada de programación ni de la estructura del archivo.
Entender el formato XML es útil si eres desarrollador integrando un sistema propio con el SRI, o si necesitas interpretar un XML recibido de un proveedor. Para facturar con Naranjilla, el manejo del XML es completamente transparente.
Preguntas frecuentes
¿El XML es lo mismo que el RIDE?
No. El XML es el documento oficial y legalmente válido. El RIDE (PDF) es la representación visual imprimible del XML. Ambos se generan a partir de la misma información, pero solo el XML lleva la firma electrónica y es el que el SRI archiva. Ante cualquier discrepancia, el XML prevalece sobre el RIDE.
¿Puedo abrir el XML con Excel o Word?
El XML es un archivo de texto. Puedes abrirlo con cualquier editor de texto (Bloc de notas, VS Code, Notepad++) o con un navegador web. Para visualizarlo de forma ordenada, los navegadores modernos formatean automáticamente el XML con sangría y colores cuando lo abres directamente. Para interpretarlo contablemente, lo correcto es importarlo en tu sistema contable.
¿Cuánto tiempo guarda el SRI los XML de facturas?
El SRI guarda los comprobantes autorizados indefinidamente en sus servidores. Siempre puedes recuperar el XML de cualquier factura emitida usando la clave de acceso en el portal de consulta. No depende de que tu software esté activo o de que hayas guardado el archivo localmente.
Conclusión
El XML de una factura electrónica es la columna vertebral del sistema de comprobantes del SRI en Ecuador. Aunque su generación es completamente automática con software como Naranjilla, entender su estructura te ayuda a diagnosticar errores, verificar comprobantes recibidos y comunicarte con clientes o proveedores sobre sus facturas. El SRI es quien valida y guarda el XML; el RIDE* es solo la cara visible del documento.
Emite facturas electrónicas con Naranjilla sin preocuparte por el XML* RIDE = Representación Impresa del Documento Electrónico (PDF del comprobante).