Ir al contenido

Invalidar un DTE

El evento de invalidación deja sin efecto un DTE que ya tiene sello. sudte arma el evento (esquema MH versión 3), lo firma, lo transmite y guarda su sello.

POST /v1/documents/{id}/void
Authorization: Bearer sk_live_...
Idempotency-Key: anular-factura-2026-00831
Content-Type: application/json
Campo Descripción
reason_type Motivo según CAT-024: 1 error en la información, 2 rescindir la operación, 3 otro.
reason Explicación (hasta 250 caracteres).
replacement_document_id Documento que reemplaza al invalidado. Obligatorio salvo en el motivo 2 (rescisión total).
responsible Persona que realiza el evento: name, document_type (CAT-022) y document_number.
requester Persona que solicita la invalidación (por ejemplo, el cliente), con los mismos campos.
Ejemplo: error en el nombre del receptor
{
"reason_type": "1",
"reason": "Nombre del receptor digitado con error",
"replacement_document_id": "doc_01JA3B8D4F6G2H9J1K3L5M7N9P",
"responsible": { "name": "María Pérez", "document_type": "13", "document_number": "045678901" },
"requester": { "name": "Distribuidora Ejemplo, S.A. de C.V.", "document_type": "36", "document_number": "06141501261013" }
}

La respuesta 200 trae el documento con status: "voided", voided_at y el objeto void con el sello del evento. También se envía el webhook document.voided.

  1. Confirma que el documento está en processed. Solo se invalidan documentos con sello; si no, la API responde estado-invalido.
  2. Si el motivo no es la rescisión total de la operación, emite primero el documento de reemplazo (con nuevo código de generación y número de control) y espera su sello.
  3. Si vas a invalidar un crédito fiscal que tiene notas de crédito o débito, invalida primero las notas.
  4. Envía el POST /void con el replacement_document_id.
  5. Entrega el evento al receptor: la Normativa exige entregarle la invalidación junto con su representación gráfica. Usa POST /v1/documents/{id}/send para reenviarle los archivos por correo.

La Normativa 2.0 fija plazos distintos en su cuadro de invalidación y en su anexo de validaciones. sudte aplica el más estricto, que es el que valida el MH:

Documento Plazo desde el sello
Crédito fiscal, nota de crédito, nota de débito, comprobante de retención 1 día
Nota de remisión, comprobante de donación 4 días calendario
Comprobante de liquidación, documento contable de liquidación 10 primeros días hábiles del mes siguiente
Factura, factura de exportación, factura de sujeto excluido 3 meses
Factura o factura de exportación de medicamentos perecederos 2 años

Si el MH no responde, la API devuelve no-disponible: el evento firmado queda guardado y puedes reintentar con la misma Idempotency-Key.