¿Qué es SUNAT?
La Superintendencia Nacional de Aduanas y de Administración Tributaria (SUNAT) es el organismo técnico especializado del Perú encargado de la administración de tributos internos y de los derechos arancelarios. Desde 2014, SUNAT implementó el Sistema de Emisión Electrónica (SEE) que obliga a las empresas a emitir comprobantes de pago electrónicos en formato XML firmados digitalmente.Facturación Electrónica en Perú
El sistema de facturación electrónica peruano requiere:- Generación de XML: Los comprobantes se generan en formato XML siguiendo el estándar UBL 2.1
- Firma digital: Cada documento debe estar firmado con un certificado digital
- Envío a SUNAT: Los comprobantes se envían a SUNAT vía web services (SOAP o REST)
- Constancia de Recepción (CDR): SUNAT responde con un archivo CDR que confirma la aceptación
Tipos de Comprobantes Soportados
Este sistema integra los siguientes documentos electrónicos:| Tipo | Código SUNAT | Descripción |
|---|---|---|
| Factura | 01 | Comprobante para ventas B2B |
| Boleta | 03 | Comprobante para ventas B2C |
| Nota de Crédito | 07 | Anulación o corrección de facturas/boletas |
| Nota de Débito | 08 | Aumentos en el monto de facturas |
| Guía de Remisión | 09 | Documento de traslado de mercancías |
Flujos de Envío
SUNAT maneja diferentes flujos según el tipo de documento:Facturas, Notas de Crédito y Débito (Sincrónico)
- Generar XML firmado
- Enviar vía SOAP
- Recibir CDR inmediatamente
- Guardar respuesta
Boletas (Asincrónico)
- Generar XML firmado
- Enviar en Resumen Diario (batch)
- Recibir ticket
- Consultar ticket para obtener CDR
Guías de Remisión Electrónica - GRE (REST)
- Generar XML firmado
- Autenticación OAuth2 con SUNAT
- Enviar vía API REST (GRE)
- Recibir ticket
- Consultar ticket para obtener CDR
Enfoque de Integración
Este sistema utiliza una arquitectura centralizada mediante el servicioSunatService:
Responsabilidades del Servicio
- Configuración: Gestiona endpoints beta/producción y credenciales SOL
- Generación XML: Construye objetos Greenter y genera XML UBL
- Firma digital: Aplica certificados digitales a los documentos
- Envío: Comunica con SUNAT vía SOAP (facturas) o REST (guías)
- Procesamiento CDR: Recibe y almacena respuestas de SUNAT
- Gestión de tickets: Maneja flujos asincrónicos para boletas y guías
Métodos Principales
| Método | Descripción |
|---|---|
generarXml() | Genera XML firmado para facturas/boletas |
enviarComprobante() | Envía factura/boleta a SUNAT |
generarNotaCreditoXml() | Genera XML para notas de crédito |
enviarNotaCredito() | Envía nota de crédito |
generarGuiaRemisionXml() | Genera XML para guías |
enviarGuiaRemision() | Envía guía vía API GRE |
consultarTicketGuia() | Consulta estado de guía |
resumenDiario() | Envía boletas en lote |
comunicacionBaja() | Anula documentos |
consultarTicket() | Verifica estado de tickets |
Uso de la Librería Greenter
Greenter es la librería PHP líder para facturación electrónica en Perú, desarrollada por la comunidad.Instalación
Características
- UBL 2.1 completo: Implementa todos los tipos de documentos SUNAT
- Firma digital: Integración con certificados X.509
- Validación: Verifica estructura XML antes del envío
- Web Services: Cliente SOAP y REST para SUNAT
- Actualizado: Soporta GRE 2022 (nueva API de guías)
Ejemplo de Uso
Estructura de Archivos
Los documentos generados se almacenan enstorage/app/sunat/:
Nomenclatura de Archivos
Formato XML:{RUC}-{TipoDoc}-{Serie}-{Numero}.xml
Ejemplo: 20612706702-01-F001-00000123.xml
- RUC: 20612706702
- Tipo: 01 (Factura)
- Serie: F001
- Número: 00000123
R-{RUC}-{TipoDoc}-{Serie}-{Numero}.zip
El archivo ZIP contiene el XML de respuesta de SUNAT.
Próximos Pasos
Configuración
Configurar credenciales SOL y endpoints
Certificados
Gestionar certificados digitales