Generador XML
Generación precisa de comprobantes electrónicos tipo factura en XML según el Anexo 3 – Formatos SRI, lista para firmar, validar y autorizar en producción.
Uso básico
Sección titulada «Uso básico»import { generateXmlInvoice } from "osodreamer-sri-xml-signer";import * as fs from "fs";
const response = await generateXmlInvoice({ infoTributaria: { ambiente: "1", razonSocial: "Mi Empresa", nombreComercial: "Comercial XYZ", ruc: "1234567890001", estab: "001", ptoEmi: "001", secuencial: "000000123", dirMatriz: "Av. Principal 123" } // ver estructura del modelo...});
const { generatedXml } = response;fs.writeFileSync("./comprobante.xml", generatedXml);Anexo 26 — RUC del proveedor
Sección titulada «Anexo 26 — RUC del proveedor»Los contribuyentes que emiten con un sistema de facturación de un tercero están
obligados a incluir el RUC de ese proveedor dentro de infoAdicional. Solo pasa
rucProveedor en la raíz del comprobante y la librería agrega el campoAdicional con el
nombre exacto que exige el SRI.
import { generateXmlInvoice } from "osodreamer-sri-xml-signer";
const response = await generateXmlInvoice({ infoTributaria: { /* ... */ }, infoFactura: { /* ... */ }, detalles: { /* ... */ },
infoAdicional: { campoAdicional: [{ nombre: "Email", value: "cliente@correo.com" }] },
rucProveedor: "1719369561001"});Resultado en el XML generado:
<infoAdicional> <campoAdicional nombre="Email">cliente@correo.com</campoAdicional> <campoAdicional nombre="RUC Proveedor">1719369561001</campoAdicional></infoAdicional>Compatibilidad y alcance
Sección titulada «Compatibilidad y alcance»Este generador crea exclusivamente facturas electrónicas conforme al ANEXO 3 - VERSIÓN 1.1.0 del SRI.
Soporte adicional (opcional):
| Anexo | Para qué sirve |
|---|---|
| ANEXO 21 | Agentes de retención |
| ANEXO 22 | Contribuyentes RIMPE |
| ANEXO 26 | RUC del proveedor del sistema de facturación |
Ver estructura del modeloEl contrato de datos completo que espera generateXmlInvoice(...).
