🇵🇪PerúGuía Técnica

Cómo funciona la facturación electrónica en Perú para ISVs: SUNAT, OSE y UBL 2.1

Guía técnica para ISVs: cómo opera el modelo de validación de facturación electrónica en Perú, el rol del OSE, el flujo UBL 2.1 y qué debe implementar un PSE para operar en producción.

Ing. Carlos Méndez
Arquitecto de Software · Integraciones Fiscales LATAM
6 min lectura24 de agosto de 2026
Cómo funciona la facturación electrónica en Perú para ISVs: SUNAT, OSE y UBL 2.1

Cuando un ISV latinoamericano decide expandir su plataforma de facturación a Perú, lo primero que encuentra es un modelo de validación que no existe de la misma forma en Colombia, Panamá ni República Dominicana: el OSE. Sin entender el rol del Operador de Servicios Electrónicos y cómo se articula con SUNAT, el diseño de la integración parte de supuestos incorrectos que se corrigen en producción, no en el sandbox.

Esta guía explica la arquitectura del sistema de facturación electrónica en Perú desde la perspectiva de un ISV: qué es un OSE, qué rol cumple un PSE, cómo funciona la validación vía UBL 2.1 con extensiones SUNAT, qué es el CDR y cuándo se usa el canal directo de SUNAT como fallback.

El modelo peruano: tres actores, un flujo

A diferencia del modelo colombiano donde el Proveedor Tecnológico se conecta directamente con la DIAN, en Perú el flujo estándar pasa por tres actores: el emisor electrónico, el PSE (Proveedor de Servicios Electrónicos) que actúa como la plataforma del ISV, y el OSE (Operador de Servicios Electrónicos), que es el validador acreditado por SUNAT. El OSE recibe el documento XML del PSE, valida que cumpla con las reglas técnicas y fiscales, y devuelve el CDR (Constancia de Recepción).

Flujo de validación estándar vía OSE

El flujo completo es: (1) El emisor genera el XML del comprobante en formato UBL 2.1 con extensiones SUNAT. (2) El PSE firma el XML con XAdES-BES usando el certificado digital del emisor. (3) El PSE envía el XML firmado al OSE. (4) El OSE valida la estructura, firma y contenido fiscal. (5) El OSE devuelve el CDR, que es a su vez un XML firmado por el OSE con el estado del comprobante. (6) El PSE almacena el CDR y lo entrega al emisor. Los estados del CDR son: 0 (Aceptado), Observado (aceptado con advertencias) o Rechazado.

Qué es un OSE y por qué importa para el ISV

El OSE es una empresa privada acreditada por SUNAT para operar como validador de comprobantes electrónicos. A diferencia de SUNAT, el OSE ofrece mayor disponibilidad de servicio y SLAs privados. Los emisores con más de 150 comprobantes mensuales pueden —y en algunos regímenes deben— usar un OSE. Para el ISV, esto significa que la elección del OSE afecta directamente la disponibilidad de su servicio de facturación: si el OSE tiene una caída, los documentos deben redirigirse al canal directo de SUNAT.

Canal de contingencia: SUNAT directo

Cuando el OSE no está disponible, el PSE debe enviar los comprobantes directamente al web service de SUNAT usando el mismo formato XML. El endpoint de producción de SUNAT para el método sendBill es https://e-factura.sunat.gob.pe/ol-ti-itcpfegem/billService. El ISV debe implementar esta lógica de fallback en su plataforma para garantizar continuidad operativa.

UBL 2.1 con extensiones SUNAT

Perú usa el estándar UBL 2.1 como base, pero con extensiones propietarias de SUNAT definidas en el espacio de nombres ext:UBLExtensions. Estas extensiones incluyen la firma digital XAdES-BES, el elemento SignatoryParty y los campos adicionales de información fiscal peruana. Un XML que cumpla UBL 2.1 genérico sin las extensiones SUNAT será rechazado por el OSE aunque sea técnicamente válido en el estándar base.

Tipos de comprobante y códigos

Los cuatro tipos de comprobante que todo PSE debe soportar son: Factura (código 01) para transacciones con RUC, Boleta de Venta (código 03) para consumidores finales sin RUC, Nota de Crédito (código 07) para reversar o ajustar a la baja cualquier comprobante anterior, y Nota de Débito (código 08) para ajustes al alza. La Factura y la Boleta se envían al OSE para validación inmediata; las Notas referencian al comprobante original mediante su número de serie.

La firma digital XAdES-BES

SUNAT exige que el XML del comprobante esté firmado digitalmente con el perfil XAdES-BES. El certificado digital debe ser emitido por una entidad certificadora acreditada por INDECOPI. La firma debe incluirse dentro del bloque ext:UBLExtensions del XML, en el elemento ds:Signature siguiendo la especificación XMLDSig. El PSE es responsable de gestionar el certificado de cada emisor o de ofrecer un modelo en el que el emisor delega la firma al PSE mediante poder notarial.

Qué debe implementar el ISV para operar en Perú

El checklist mínimo de implementación para un ISV que quiere operar como PSE en Perú incluye: generación de XML UBL 2.1 con extensiones SUNAT por tipo de comprobante, implementación de firma XAdES-BES, integración con al menos un OSE para validación principal, lógica de fallback hacia SUNAT directo, almacenamiento y entrega del CDR al emisor, y manejo de los estados Aceptado, Observado y Rechazado con las acciones correctivas correspondientes.

Artículos relacionados de este cluster

Para profundizar en aspectos específicos de la implementación: Qué es un OSE y cómo evaluarlo técnicamente, checklist técnico para integrar con SUNAT vía API, UBL 2.1 en Perú: factura, boleta y nota de crédito y errores comunes al integrar con el webservice de SUNAT.

Preguntas frecuentes

¿Cuál es la diferencia entre un OSE y un PSE en el sistema peruano?

El PSE (Proveedor de Servicios Electrónicos) es la plataforma de software que el emisor usa para generar y enviar comprobantes: es el ISV o su proveedor de facturación. El OSE (Operador de Servicios Electrónicos) es el validador acreditado por SUNAT que recibe el XML del PSE, verifica su validez fiscal y técnica, y devuelve el CDR con el resultado. Un mismo actor puede cumplir ambos roles si obtiene la acreditación de OSE ante SUNAT, pero en la mayoría de casos son entidades distintas.

¿Cómo puedo verificar si el CDR devuelto por el OSE es válido?

El CDR es un archivo XML firmado digitalmente por el OSE. Para verificarlo, el PSE debe validar la firma del CDR usando el certificado del OSE, parsear el campo ResponseCode para extraer el estado (0 = Aceptado) y revisar el campo Description para obtener el detalle en caso de rechazo u observación. Almacenar el CDR junto al comprobante es obligatorio para efectos de fiscalización por SUNAT.

¿Qué diferencia hay entre la Factura (01) y la Boleta de Venta (03) en términos técnicos?

La Factura (01) requiere el RUC del receptor y otorga crédito fiscal de IGV para el comprador. La Boleta de Venta (03) es para consumidores finales sin RUC: puede emitirse con DNI, pasaporte u otros documentos de identidad, no genera crédito fiscal. Técnicamente ambos usan el mismo esquema UBL 2.1 con extensiones SUNAT, pero el bloque del receptor tiene campos diferentes y el campo TipoDocumento cambia. Las Boletas tienen además la posibilidad de emitirse en resumen diario (SummaryDocuments) para reducir el número de llamadas al OSE.

¿Es posible operar en Perú sin OSE, enviando directo a SUNAT?

Sí, el canal directo de SUNAT (web service SOAP en e-factura.sunat.gob.pe) es una opción válida y es el canal de contingencia obligatorio cuando el OSE no está disponible. Sin embargo, la disponibilidad del servicio de SUNAT es menor que la de los OSEs privados y no ofrece SLAs contractuales. Para un ISV que factura a nombre de múltiples emisores, usar un OSE como canal principal y SUNAT como fallback es la arquitectura más robusta.