TF Fiscal
Documentação

DC-e

Cancelar DC-e

Solicita o cancelamento de um DC-e autorizado (até 24 horas após a autorização); assíncrono, resultado via webhook.

DELETE/openapi/v2/empresas/{empresaId}/dc-e/{dceId}

Requer os cabeçalhos de assinatura token, timestamp e sign, veja Autenticação.

A aceitação devolve HTTP 200 sem corpo, o documento passa a CancelamentoPendente e a plataforma registra o evento 110111 (nSeqEvento=1) na SEFAZ de forma assíncrona. O resultado chega pelo webhook dce.canceled (Cancelada) ou dce.cancel_rejected (CancelamentoNegado), e também pode ser acompanhado pela consulta. O corpo é opcional: { "motivo": "..." } com 15-255 caracteres após sanitização; quando omitido, usa-se o texto fixo Cancelamento solicitado pelo emitente por erro de preenchimento.. O DC-e oficial só tem cancelamento: não há carta de correção nem inutilização de numeração.

Parâmetros

Parâmetros de caminho

  • empresaIdstringobrigatório

    Identificador devolvido por Registrar empresa.

    Exemplo: 1934811222334455
  • dceIdstringobrigatório

    O id enviado na emissão.

    Exemplo: DCe-000012333

Corpo da requisição

  • motivostringopcional

    Motivo do cancelamento, 15-255 caracteres após sanitização (10019043 se ficar abaixo de 15). Quando omitido, usa-se Cancelamento solicitado pelo emitente por erro de preenchimento..

    Exemplo: Cancelamento solicitado pelo emitente por erro de preenchimento.

Respostas

200

Cancelamento aceito; sem corpo de resposta. O documento passa a CancelamentoPendente; o veredito da SEFAZ chega pelo webhook.

Sem corpo de resposta

Erros

CódigoHTTP
DCe0001404

dceId não encontrado, não pertence à empresa, ou o documento ainda não foi materializado (ainda Pendente, sem chave). Cancele documentos Pendente só depois da autorização.

10003000404

empresaId não encontrado.

10019040400

O status não permite cancelamento: o documento deve estar Autorizada (documentos já cancelados também devolvem este código).

10019041400

Janela de 24 horas após a autorização excedida (Manual DC-e). O documento só pode ser mantido.

10019042400

Cancelamento já aceito para este documento (em andamento). Só um cancelamento é aceito por documento.

10019043400

motivo inválido: menos de 15 caracteres após sanitização.

Assinatura do DELETE com corpo

Um DELETE sem corpo assina com a string vazia como body; um DELETE com corpo (cancelamento com motivo) assina o JSON bruto com CR/LF removidos, exatamente como os endpoints JSON. Se enviar { "motivo": ... }, inclua esse mesmo texto na assinatura. Veja Autenticação.

Restrições e resultado

  • O documento deve estar Autorizada (10019040), dentro de 24 horas após a autorização (10019041), contadas a partir do momento da autorização.
  • Só um cancelamento é aceito por documento: chamadas adicionais durante o cancelamento / após o cancelamento devolvem 10019042 / 10019040.
  • motivo com menos de 15 caracteres após sanitização devolve 10019043; um documento ainda não materializado (ainda Pendente, sem chave) devolve 404 DCe0001.
  • Resultado: dce.canceled com dceStatus=Cancelada (dceDataAutorizacao é o momento do registro do cancelamento e dceNumeroProtocolo o protocolo do evento; o DACE é re-renderizado com a marca d'água CANCELADA), ou dce.cancel_rejected com dceStatus=CancelamentoNegado (o documento permanece Autorizada, a consulta traz o motivo em motivoStatus, e um DELETE corrigido pode ser enviado de novo). Cargas dos eventos em DC-e.