La facturación electrónica en el Perú bajo el Sistema de Emisión Electrónica (SEE) desde los sistemas del contribuyente exige un estricto cumplimiento técnico y normativo. En 2026, las empresas buscan librarse de las costosas tarifas recurrentes por documento impuestas por intermediarios PSE u OSE tradicionales, optando por integraciones directas con los servidores de SUNAT mediante librerías de alto rendimiento como Greenter PHP o microservicios especializados.
1. El Estándar UBL 2.1 y la Estructura XML
La Superintendencia Nacional de Aduanas y de Administración Tributaria (SUNAT) utiliza el estándar internacional Universal Business Language (UBL) versión 2.1. Cada comprobante electrónico (Factura 01, Boleta 03, Nota de Crédito 07, Nota de Débito 08) es un documento XML que contiene:
- Encabezado de Comprobante: Serie alfanumérica de 4 caracteres (F001 para facturas, B001 para boletas), número correlativo autoincremental de hasta 8 dígitos, fecha y hora de emisión (ISO 8601).
- Datos de Emisor y Receptor: RUC (11 dígitos, tipo de documento 6) o DNI (8 dígitos, tipo de documento 1), razón social y dirección fiscal con código de ubigeo INEI de 6 dígitos.
- Desglose Tributario: Discriminación de operaciones gravadas con 18% IGV (código de tributo 1000 - VAT), operaciones inafectas, exoneradas o gratuitas, e impuesto a las bolsas plásticas (ICBPER).
- Condiciones de Pago (RS 193-2020): Declaración obligatoria de forma de pago "Contado" o "Crédito". Si es crédito, se deben desglosar el monto neto pendiente y cada una de las cuotas con sus fechas exactas de vencimiento.
Requisito Crítico: Firma Digital XAdES
El XML generado debe ser firmado digitalmente utilizando un Certificado Digital Tributario vigente (formato PFX/P12) emitido por una entidad de certificación acreditada ante INDECOPI. La firma produce el nodo <ds:Signature> y el valor de resumen criptográfico (DigestValue SHA-256), elemento esencial que valida la autoría y garantiza que el comprobante no ha sido alterado.
2. Protocolo de Comunicación SOAP y Web Services
Para enviar comprobantes individuales, el XML firmado se comprime en formato ZIP con la nomenclatura {RUC}-{TIPO}-{SERIE}-{CORRELATIVO}.zip y se transmite en base64 mediante una petición SOAP (servicio sendBill) autenticada con las credenciales SOL de la empresa (RUC + Usuario SOL + Clave SOL):
- Entorno Beta / Pruebas:
https://e-beta.sunat.gob.pe/ol-ti-itcpfegem-beta/billService?wsdl - Entorno Oficial Producción:
https://e-factura.sunat.gob.pe/ol-ti-itcpfegem/billService?wsdl
3. Parseo y Almacenamiento del CDR (Constancia de Recepción)
Como respuesta al sendBill, SUNAT retorna de forma síncrona un archivo ZIP que contiene el documento XML de respuesta (ApplicationResponse UBL 2.1). Nuestro motor de facturación descomprime automáticamente este archivo y extrae:
- ResponseCode 0: Comprobante ACEPTADO por SUNAT.
- Notas de Observación: Advertencias sobre datos secundarios que no invalidan el comprobante pero deben ser corregidas en el futuro.
- Códigos de Excepción (Error 1000 a 4000): Comprobante RECHAZADO por inconsistencias tributarias, RUC inactivo o montos incorrectos.
El CDR original debe ser resguardado digitalmente en la base de datos por un periodo legal de 5 años conforme al Código Tributario peruano.
4. Integración Directa con Greenter PHP en IL InnovaTech
En IL InnovaTech implementamos módulos nativos sobre PHP 8.3 y PostgreSQL utilizando Greenter SEE. Esta arquitectura elimina la latencia de servicios de terceros y permite emitir facturas en menos de 800 milisegundos, generando simultáneamente la representación impresa en PDF con código QR bidimensional y enviándola por correo electrónico al cliente final.
¿Necesitas conectar tu sistema o ecommerce directamente con SUNAT?
Desarrollamos e integramos APIs de Facturación Electrónica UBL 2.1 a medida, con soporte para certificados digitales, contingencia offline y reportes contables automáticos.