Ir al contenido

SUNAT Perú — Facturación electrónica (CPE, UBL 2.1)

Los nodos SUNAT conectan tus workflows con la facturación electrónica de Perú (Comprobantes de Pago Electrónicos, CPE). Floogos arma el documento en UBL 2.1 (el estándar internacional), lo firma, lo empaqueta en ZIP y lo envía por SOAP a SUNAT o a tu OSE, leyendo el CDR (Constancia de Recepción).

NodoQué hace
SUNAT: Emitir factura/boleta (sunatEmitirCPE)Emite factura (01) o boleta (03) → CDR
SUNAT: Nota de crédito/débito (sunatEmitirNota)Emite NC (07) o ND (08) referenciando el original
SUNAT: Resumen diario de boletas (sunatResumenBoletas)Reporta las boletas del día → ticket
SUNAT: Consultar ticket (sunatConsultarTicket)Obtiene el CDR de un ticket (resumen/baja)
SUNAT: Representación / QR (sunatRepresentacion)Genera el comprobante imprimible con QR

Los nodos usan una credencial de tipo SUNAT. Creala en Credenciales → Agregar → Perú SUNAT / CPE con:

CampoDescripción
Certificado (.p12)Tu certificado digital, base64.
Contraseña del certificadoLa clave del .p12.
RUC y Razón socialDatos del emisor (RUC de 11 dígitos).
Usuario SOL y Clave SOLEl usuario secundario SOL. El WS usa {RUC}{USUARIO_SOL} como usuario.
ModoDirecto a SUNAT o vía OSE (+ URL del OSE).
AmbienteBeta (homologación) o Producción.
  1. Preparás el CPE como JSON (tipo, serie, número, receptor, ítems con valorUnitario sin IGV).

  2. Emitís con Emitir factura/boleta. Floogos arma el UBL, lo firma, lo comprime y lo envía; SUNAT devuelve el CDR (aceptado/rechazado).

  3. Para boletas al por menor, usás Resumen diario de boletas (una vez al día) y luego Consultar ticket.

  4. Generás la representación impresa con Representación / QR.

Nodo: SUNAT: Emitir factura/boleta. Ejemplo de una factura:

{
"tipo": "01", "serie": "F001", "numero": 1,
"receptor": { "tipoDoc": "6", "numDoc": "20111111112", "razonSocial": "Cliente SAC" },
"items": [
{ "descripcion": "Producto", "cantidad": 2, "valorUnitario": 50, "tipoAfectacion": "10" }
]
}

El valorUnitario va sin IGV; Floogos calcula el IGV (18%). tipoAfectacion: 10 gravado, 20 exonerado, 30 inafecto.

Nota de crédito/débito emite una NC (07) o ND (08) que referencia el documento original (docRef) y lleva el motivo (catálogo 09/10):

{
"tipo": "07", "serie": "FC01", "numero": 1,
"motivo": "01", "motivoDescripcion": "Anulación de la operación",
"docRef": { "tipo": "01", "serie": "F001", "numero": 1 },
"receptor": { "tipoDoc": "6", "numDoc": "20111111112" },
"items": [ { "descripcion": "Producto", "cantidad": 1, "valorUnitario": 100, "tipoAfectacion": "10" } ]
}

Las boletas al consumidor se reportan por resumen diario (asíncrono). Resumen diario de boletas envía el resumen y devuelve un ticket; con Consultar ticket obtenés el CDR cuando SUNAT termina de procesarlo. Ideal para un workflow programado una vez al día.

Representación / QR genera el comprobante imprimible en HTML (exportable a PDF), con el QR de SUNAT (cadena RUC|tipo|serie|numero|IGV|total|fecha|tipoDocReceptor|numDocReceptor|hash).

SituaciónReintentableQué hacer
CDR rechazadoNoEl nodo devuelve el código/descripción de SUNAT. Corregí el CPE.
Certificado vencidoNoRenová el .p12 y actualizá la credencial.
Red / TimeoutSíProblema pasajero; se reintenta automáticamente.