GuíaEjemplosReferencia API
apisunat.netIngresar
  • Factura
  • Boleta
  • Nota de crédito
  • Nota de débito
  • Retención
  • Percepción
  • Liquidación de compra
  • Anulaciones
  • Guía de remisión
  • Descargas
  • Node, PHP y Python

Retención

Comprobante de retención (tipo 20) para agentes de retención del IGV.

bash
curl https://api.apisunat.net/api/v1/issuer/documents \
  -H "X-API-Key: $APISUNAT_KEY" \
  -H "Idempotency-Key: retencion-000041" \
  -H "Content-Type: application/json" \
  -d '{
    "documentType": "20",
    "series": "R001",
    "currency": "PEN",
    "issueDate": "2026-10-27",
    "customer": { "documentType": "6", "documentNumber": "20100066603", "name": "PROVEEDOR S.A.C." },
    "items": [
      { "description": "Retención IGV", "quantity": 1, "unitPrice": 1680 }
    ],
    "retention": { "code": "01", "percentage": 3, "base": 1680, "amount": 50.4 },
    "relatedDocuments": [
      { "documentType": "01", "number": "F001-00000123", "issueDate": "2026-10-20", "amount": 1180, "paidDate": "2026-10-27" },
      { "documentType": "01", "number": "F001-00000124", "issueDate": "2026-10-22", "amount": 1000, "paidAmount": 500 }
    ]
  }'
  • customer es el proveedor al que se le retiene; debe tener RUC.
  • retention.code es el régimen del catálogo 23: 01 retiene el 3 % y 02 el 6 %. percentage debe coincidir.
  • Por cada comprobante del proveedor se calcula la retención sobre lo pagado: paidAmount (por defecto, amount) × tasa.
  • relatedDocuments[].documentType admite 01 factura, 07 y 08 notas, 12 ticket y 20. Las boletas no tienen retención.
  • issueDate del comprobante del proveedor es obligatorio; paidDate es la fecha del pago (por defecto, la de la retención).
  • La retención se emite en soles. En el documento resultante, total es el importe retenido.
  • Una retención no admite detracción, percepción ni pago a crédito.

Revertir una retención

Una retención aceptada se revierte con POST /voids, igual que una anulación. Para los comprobantes 20 y 40 la API envía un resumen de reversiones: la anulación sale con type: "RR" e identificador RR-AAAAMMDD-00001, y se sigue igual que una baja.

Nota de débito< PreviousPercepciónNext >

Powered by heyo

On this page

Revertir una retención