SIFENDE
Guías

Cancelar un Documento

Cómo cancelar una Factura Electrónica o Nota de Crédito ya aprobada enviando el evento de cancelación a SIFEN.

Si emitiste un DE con datos incorrectos y querés invalidarlo legalmente, tenés que cancelarlo enviando un evento a SIFEN.

Cuándo cancelar

Cancelá un documento cuando:

  • El documento está en estado APROBADO
  • Detectaste un error en datos del receptor, items o montos
  • El receptor aún no lo declaró ante la SET para deducir IVA
  • Estás dentro del plazo legal (48 horas según normativa SIFEN)

La cancelación es irreversible. Una vez que SIFEN procesa el evento, el documento queda en estado CANCELADO permanentemente y no se puede revertir.

Cuándo NO podés cancelar

Estado del DEAcción correcta
RECHAZADONo requiere cancelación, ya es legalmente nulo. Emití uno nuevo
CANCELADOYa está cancelado
PENDIENTEEsperá a que SIFEN procese el lote antes de decidir
Receptor ya lo declaróSolo podés emitir una Nota de Crédito para anularlo

Cómo cancelar

Identificá el CDC del documento a cancelar (44 dígitos).

Enviá el evento de cancelación con un motivo descriptivo (5-500 caracteres):

curl -X POST "https://api.sifende.com.py/api/v1/documento-electronico/01800123451001001000000122026042710000000006/cancelar" \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "motivo": "Error en datos del receptor"
  }'
CampoTipoReq.Restricción
motivostring5-500 caracteres

Sifende reenvía el evento a SIFEN. El documento pasa a estado CANCELADO.

Verificá el estado consultando GET /api/v1/documento-electronico/status/:cdc.

Ejemplo en TypeScript

async function cancelarDocumento(cdc: string, motivo: string) {
  const response = await fetch(
    `https://api.sifende.com.py/api/v1/documento-electronico/${cdc}/cancelar`,
    {
      method: "POST",
      headers: {
        "Authorization": `Bearer ${process.env.SIFENDE_API_KEY}`,
        "Content-Type": "application/json",
      },
      body: JSON.stringify({ motivo }),
    }
  );

  if (!response.ok) {
    const error = await response.json();
    throw new Error(`Cancelación fallida: ${error.detail}`);
  }

  console.log("Documento cancelado correctamente");
}

await cancelarDocumento(
  "01800123451001001000000122026042710000000006",
  "Error en RUC del receptor"
);

Después de cancelar

  • El número de documento no se libera: queda registrado como cancelado en SIFEN
  • Si necesitás facturar nuevamente, emití un nuevo DE con el siguiente número de la secuencia
  • El KuDE original queda invalidado y no debe entregarse al cliente

La cancelación NO consume un nuevo número de timbrado. Solo afecta al documento existente.

Errores comunes

ErrorCausaSolución
409 evento-cancelacion-errorDocumento no está en APROBADOVerificá el estado con GET /status/:cdc
404 documento-electronico-not-foundCDC no existeVerificá los 44 dígitos del CDC
400 evento-cancelacion-errorPlazo de cancelación vencidoEmití una Nota de Crédito en su lugar

Próximos pasos

On this page