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

Anulaciones

Comunicación de baja para facturas y notas, resumen diario para boletas.

POST /voids anula documentos ya aceptados por SUNAT. La API elige el mecanismo:

DocumentosMecanismoTipo
Facturas y notasComunicación de baja, una por documentoRA
BoletasResumen diario con todas las boletas de la peticiónRC

Las notas de crédito o débito de boletas (series B) también se anulan por resumen diario. No se mezclan en una misma petición con facturas o notas de facturas (VOID_MIXED_DOCUMENTS).

SUNAT permite anular hasta 7 días después de la fecha de emisión; pasado ese plazo emite una nota de crédito. Las boletas de un resumen deben tener el mismo RUC, fecha de emisión y moneda (VOID_SUMMARY_MISMATCH).

Anular una factura

bash
curl https://api.apisunat.net/api/v1/issuer/voids \
  -H "X-API-Key: $APISUNAT_KEY" \
  -H "Idempotency-Key: baja-factura-000125" \
  -H "Content-Type: application/json" \
  -d '{
    "documents": [
      { "documentId": "3f8c1d2e-6b1a-4c55-9d0e-2a7b3c4d5e6f", "reason": "Error en el monto" }
    ]
  }'

Responde 202 con las anulaciones creadas:

json
{
  "data": [
    {
      "id": "6e4afc3e-e1c4-4329-8b15-c75ce9ff4aea",
      "type": "RA",
      "identifier": "RA-20261027-00006",
      "status": "processing",
      "environment": "produccion",
      "issuerRuc": "20123456789",
      "sunat": { "ticket": "202622336445669", "responseCode": null, "description": null, "errorCode": null, "errorMessage": null, "attempts": 1 },
      "documents": [{ "id": "3f8c1d2e-6b1a-4c55-9d0e-2a7b3c4d5e6f", "status": "void_pending" }],
      "links": { "self": "/api/v1/issuer/voids/6e4afc3e-e1c4-4329-8b15-c75ce9ff4aea" },
      "createdAt": "2026-10-27T18:20:00.000Z",
      "updatedAt": "2026-10-27T18:20:01.000Z"
    }
  ]
}

Anular boletas

El cuerpo es el mismo, con los id de las boletas (entre 1 y 100). La respuesta trae una sola anulación de tipo RC que agrupa todas.

Seguimiento

SUNAT procesa las bajas y resúmenes de forma asíncrona:

  1. Mientras tanto, cada documento anulado queda en void_pending.
  2. Cuando SUNAT acepta, pasa a voided y se envía el webhook document.voided.
  3. Si SUNAT rechaza la baja, el documento vuelve a su estado anterior.

Consulta una anulación con GET /voids/{id}.

Cada documento anulado consume una operación del plan. reason admite hasta 500 caracteres.

Liquidación de compra< PreviousGuía de remisiónNext >

Powered by heyo

On this page

Anular una facturaAnular boletasSeguimiento