Perú
En Perú, Floogos se conecta directo a SUNAT (Superintendencia Nacional de Aduanas y de Administración Tributaria) para emitir Comprobantes de Pago Electrónico (CPE). No hay un proveedor intermedio obligatorio como en otros países: el propio motor arma el XML, lo firma con el certificado del emisor y habla el protocolo SOAP de SUNAT (o del OSE que el cliente elija).
Modelo de integración
Sección titulada «Modelo de integración»- Directo, sin PAC obligatorio: el flujo puede ir contra SUNAT directamente o contra un OSE (Operador de Servicios Electrónicos), según lo que se configure en la credencial.
- Formato UBL 2.1: los comprobantes (factura, boleta, notas) se arman como XML UBL 2.1, el estándar que usa SUNAT.
- Firma digital: el XML se firma dentro de las UBLExtensions con el certificado (.p12) del emisor, antes de enviarlo.
- Empaquetado en ZIP: el XML firmado viaja dentro de un archivo ZIP con nombre normalizado (RUC-tipo-serie-número), como exige SUNAT.
- Envío por SOAP: el ZIP se envía por SOAP a los servicios de SUNAT (sendBill para documentos individuales, sendSummary para resúmenes).
- CDR (Constancia de Recepción): la respuesta de SUNAT trae un ZIP con el CDR, que se descomprime y se interpreta para saber si el comprobante quedó aceptado, observado o rechazado.
- IGV 18%: el Impuesto General a las Ventas se calcula al 18% sobre el valor de venta sin impuesto.
Cuándo queda válido un comprobante
Sección titulada «Cuándo queda válido un comprobante»Un CPE no queda válido por el solo hecho de enviarlo: recién se considera válido cuando el CDR que devuelve SUNAT indica estado aceptado (o aceptado con observaciones). Si SUNAT rechaza el envío, el comprobante no tiene validez tributaria y hay que corregir y reenviar.
El caso especial de las boletas
Sección titulada «El caso especial de las boletas»Las boletas de venta se pueden reportar de dos formas:
- Individual, con el mismo nodo que emite facturas (
SunatEmitirCPE), válido en ambiente de pruebas o para bajo volumen. - Por resumen diario, agrupando todas las boletas de un día en un solo envío (
SunatResumenBoletas). En este caso SUNAT no devuelve el CDR al instante: entrega un ticket que hay que consultar después conSunatConsultarTicketpara obtener el resultado real.
Nodos disponibles
Sección titulada «Nodos disponibles»| Nodo | Descripción |
|---|---|
| SunatEmitirCPE | Emite factura (01) o boleta (03) en UBL 2.1, firma, empaqueta y envía por SOAP; lee el CDR |
| SunatEmitirNota | Emite nota de crédito (07) o débito (08) referenciando el comprobante original |
| SunatResumenBoletas | Envía el resumen diario de boletas (SummaryDocuments) y devuelve un ticket |
| SunatConsultarTicket | Consulta un ticket de resumen o de baja; devuelve el CDR cuando ya fue procesado |
| SunatRepresentación | Genera la representación impresa (HTML/PDF) con el código QR del comprobante |
Flujo típico
Sección titulada «Flujo típico»- SunatEmitirCPE — emite la factura o la nota (
SunatEmitirNota), o bien se acumulan boletas del día para reportarlas juntas. - SunatResumenBoletas — (solo boletas por resumen) se envía una vez al día, de forma programada.
- SunatConsultarTicket — se consulta el ticket del resumen hasta que SUNAT lo termine de procesar y devuelva el CDR.
- SunatRepresentación — se genera el HTML con el QR para entregarle al cliente su comprobante impreso o en PDF.
- La credencial de tipo
sunatguarda el certificado (.p12), su contraseña, el RUC del emisor, el usuario y clave SOL, el modo (directo u OSE) y el entorno (beta o producción). - El motor Floogos valida que el certificado no esté vencido antes de intentar firmar y enviar un comprobante.