Ir al contenido

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.

generar.ts
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);

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.

anexo-26.ts
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:

comprobante.xml
<infoAdicional>
<campoAdicional nombre="Email">cliente@correo.com</campoAdicional>
<campoAdicional nombre="RUC Proveedor">1719369561001</campoAdicional>
</infoAdicional>

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