Saltar al contenido
Krezkadev

Anular un comprobante

Se anula con una nota de crédito por anulación de la operación.

Un comprobante aceptado por SUNAT se anula con una nota de crédito por "anulación de la operación" (motivo 01 del catálogo 09) por el total. La API la emite por ti: copia las líneas del comprobante y la envía a SUNAT.

Terminal
Terminal
curl -X POST https://api.krezka.com/api/v1/invoicing/invoices/inv_3xK8p2Qm/void \
  -H "Authorization: Bearer $KREZKA_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{ "reason": "Error en los datos del cliente" }'

La respuesta es 202 con void_method: "credit_note" y la nota emitida en credit_note (id, full_number, status). La nota sigue su propio ciclo con SUNAT: consúltala con GET /credit_notes/{id}.

Con una clave sk_test_ se valida todo y no se emite la nota. Contra un inv_test_… de prueba responde status: "voided" para que pruebes tu flujo.

Errores frecuentes

error.codeQué significa
invalid_stateEl comprobante no está accepted ni observed. Uno rejected no se anula: para SUNAT nunca existió.
already_voidedYa tiene su nota de crédito de anulación.
parameter_missingFalta reason (SUNAT exige el motivo).

El correlativo no se reutiliza

Un comprobante anulado sigue ocupando su número. El siguiente se emite con el correlativo que sigue.