A manifestação não altera a disponibilidade do XML. Diferente da
NF-e recebida, em que manifestar é
o que libera o XML autorizado, na NFS-e o XML e o DANFSe estão disponíveis
desde a importação. Aqui a manifestação tem função exclusivamente
declaratória.
Manifestações aceitas
O padrão nacional da NFS-e reconhece dois atos do tomador:Caráter definitivo
A primeira manifestação é definitiva. Registrada a Confirmação ou a Rejeição, não é possível manifestar novamente sobre a mesma nota: o padrão não prevê substituição nem desfazimento pelo tomador. O comportamento é mais restritivo que o da NF-e, em que a Ciência pode ser sucedida por uma manifestação definitiva. Na NFS-e não existe etapa reversível, o que torna a conferência prévia da nota parte necessária do fluxo. A manifestação também é recusada em duas situações:- Nota já manifestada, inclusive quando a manifestação registrada foi a confirmação tácita emitida pela administração por decurso de prazo.
- Nota cancelada.
Como manifestar
POST /v1/inbound-service-invoices/{id}/manifest
reasonCode é obrigatório:
POST /v1/inbound-service-invoices/{id}/manifest
Motivos da rejeição
OreasonCode pertence a uma lista fechada do padrão nacional:
Valores fora dessa lista são recusados.
Justificativa
A justificativa é opcional na Rejeição. Quando informada, precisa ter entre 15 e 255 caracteres — o limite inferior é validado tanto quanto o superior. Useother acompanhado de justificativa quando nenhum dos motivos específicos
descrever o caso.
Resposta e efeitos
A resposta é síncrona: a Spedy envia a manifestação ao ambiente nacional e aguarda o retorno. Em caso de recusa, a requisição retorna erro com o motivo e nada é gravado — a nota permanece sem manifestação e a operação pode ser repetida.A rejeição não cancela a nota. Ela permanece
authorized no ambiente nacional,
apenas contestada. O cancelamento é ato do prestador ou da autoridade
tributária, registrado por evento próprio.- o evento consta em
events, comtype: "manifestation"; - o webhook
inbound_invoice.eventé disparado; manifestation, no detalhe da nota, reflete o que foi registrado.
Fluxo recomendado
1
A nota é importada completa
A chegada é sinalizada pelo webhook
inbound_invoice.detected, com
isComplete: true. O XML e o DANFSe já podem ser obtidos para conferência de
prestador, valor, descrição do serviço e data.2
Conferência e decisão
Confirme (
confirmed) quando a operação tiver ocorrido conforme descrita, ou
rejeite (rejected, com reasonCode) quando houver o que contestar. Como não
há reversão, a manifestação deve ocorrer após a conferência.3
A manifestação retorna como evento
No ciclo de distribuição seguinte, o evento registrado retorna e dispara
inbound_invoice.event. A partir daí, manifestation no detalhe da nota
apresenta o status, a data, o motivo e a justificativa.Na ausência de manifestação, a administração pode registrar a confirmação
tácita por decurso de prazo. A nota passa a
manifestation.status: "confirmed" sem ação do tomador e, a partir daí, não admite manifestação.