TF Fiscal
Documentação

NFS-e

Cancelar NFS-e

Cancelamento assíncrono: dentro da janela registra o evento de cancelamento, fora dela abre um pedido de análise fiscal.

POST/openapi/v2/empresas/{empresaId}/nfse/{nfseId}/cancelar
Requer os cabeçalhos de assinatura token, timestamp e sign, veja Autenticação.

Cancela um documento Autorizada. A chamada é assíncrona: o HTTP 200 devolve apenas o recibo de aceitação, e o resultado chega pelos webhooks nfse.canceled / nfse.cancel_requested / nfse.cancel_denied ou pela consulta. A plataforma escolhe sozinha entre registrar o evento de cancelamento e abrir um pedido de análise fiscal, conforme a janela do município. O corpo é opcional.

Parâmetros de caminho

empresaId*
stringIdentificador da empresa
nfseId*
stringId do documento

* Campo obrigatório

Corpo da requisição

codigoMotivo
stringCódigo do motivo
motivo
stringJustificativa

* Campo obrigatório

200
Recibo de aceitação. Acompanhe o resultado pelo webhook ou pela consulta.
nfseTaskId
intId da tarefa na plataforma
status
intStatus da tarefa
reused
boolTarefa reaproveitada
createTime
stringMomento da aceitação

O corpo é o mesmo nos dois casos; quem escolhe o caminho é a plataforma, pela janela de cancelamento do município contada a partir da autorização. Só um documento Autorizada pode ser cancelado.

Dentro da janela: evento de cancelamento

A plataforma registra o evento oficial 101101. Sucesso: o documento passa a Cancelada e chega nfse.canceled; a consulta mostra um evento Cancelamento. Recusa síncrona da autoridade: o documento continua Autorizada e chega nfse.cancel_denied.

json
{
"codigoMotivo": "1",
"motivo": "Erro no valor informado pelo cliente"
}
codigoMotivo
stringCódigo do motivo
motivo
stringJustificativa

* Campo obrigatório

Fora da janela: pedido de análise fiscal

A plataforma abre sozinha o pedido de análise 101103. O documento passa a EmProcessoDeCancelamento e chega nfse.cancel_requested; a consulta mostra um evento PedidoAnalise. O município decide: deferido, o documento vira Cancelada com evento AnaliseDeferida e chega nfse.canceled; indeferido, volta a Autorizada com evento AnaliseIndeferida e chega nfse.cancel_denied. Não contabilize o documento como cancelado ao enviar o pedido.

json
{
"codigoMotivo": "2",
"motivo": "Servico nao prestado ao tomador"
}
codigoMotivo
stringCódigo do motivo
motivo
stringJustificativa

* Campo obrigatório

Canal de São Paulo

O sistema municipal de São Paulo não tem janela nem pedido de análise: o cancelamento é registrado direto no sistema municipal e o resultado é Cancelada com nfse.canceled, ou recusa com nfse.cancel_denied.