Ir al contenido

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).

  • 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-numero), 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.

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.

Las boletas de venta se pueden reportar de dos formas:

  1. Individual, con el mismo nodo que emite facturas (SunatEmitirCPE), válido en ambiente de pruebas o para bajo volumen.
  2. 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 con SunatConsultarTicket para obtener el resultado real.
NodoDescripción
SunatEmitirCPEEmite factura (01) o boleta (03) en UBL 2.1, firma, empaqueta y envía por SOAP; lee el CDR
SunatEmitirNotaEmite nota de crédito (07) o débito (08) referenciando el comprobante original
SunatResumenBoletasEnvía el resumen diario de boletas (SummaryDocuments) y devuelve un ticket
SunatConsultarTicketConsulta un ticket de resumen o de baja; devuelve el CDR cuando ya fue procesado
SunatRepresentacionGenera la representación impresa (HTML/PDF) con el código QR del comprobante
  1. SunatEmitirCPE — emite la factura o la nota (SunatEmitirNota), o bien se acumulan boletas del día para reportarlas juntas.
  2. SunatResumenBoletas — (solo boletas por resumen) se envía una vez al día, de forma programada.
  3. SunatConsultarTicket — se consulta el ticket del resumen hasta que SUNAT lo termine de procesar y devuelva el CDR.
  4. SunatRepresentacion — se genera el HTML con el QR para entregarle al cliente su comprobante impreso o en PDF.
  • La credencial de tipo sunat guarda 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.