Fluxo - Envio Assíncrono de Substituição de NFS-e
A substituição de NFS-e é o processo utilizado para corrigir uma nota fiscal de serviço já emitida, sem necessidade de cancelamento. Nesse fluxo, uma nova NFS-e é gerada com as informações corrigidas,
O fluxo demonstrado a seguir trata da emissão de uma substituição de NFS-e utilizando os mesmos endpoints da emissão padrão, com a inclusão do campo nfseSubstituida
no corpo do JSON.
Endpoints Essenciais 💡
Envio Completo do documento: /api/nfse/enviocompleto_async
Consultar RPS na Prefeitura: /api/nfse/consultarenviorps
Endpoints Opcionais 🥈
Consultar NFS-e por Id Documento: /api/nfse/{id}
Etapas e seus endpoints
1) Operação de Substituição de NFS-e
Antes de iniciamos a emissão da nota, é necessário estar com um token de acesso válido, pois este será utilizado no cabeçalho da chamada do Envio Assíncrono da NFS-e.
A sua missão é montar o JSON com os dados da operação (Serviço, Número/Série do RPS, etc.), e incluir:
"nfseSubstituida": "123456"
Assim que a requisição for recebida, o InvoiSys executará as validações padrão, assinará o XML e enviará para a Prefeitura como uma nota de substituição.

⚠️ Se o município não suportar o modelo de substituição via webservice, a requisição poderá ser rejeitada.
2) Retorno da Chamada
Todo envio de substituição segue o fluxo assíncrono normal. Após o envio, será retornado um id
de controle:

{
"id": "4600",
"excecao": null
}
Use esse id
para consultar o status do documento posteriormente.
3) Consulta do RPS na Prefeitura
Com o id
da nota em mãos, utilize a API de consulta para verificar o status do documento na Prefeitura. A substituição, se aceita, resultará na emissão de uma nova NFS-e com status Autorizado
, e a nota referenciada será automaticamente invalidada.

Entre os cenários previstos, a substituição pode:
a) Ser autorizada normalmente. b) Ser rejeitada (por dados inconsistentes ou regras municipais). c) Ficar aguardando processamento.

a) Autorização da NFS-e
Para identificarmos que foi um sucesso, devemos checar as informações abaixo de nosso retorno:
status
: RetornoAutorizado
;sucesso
: Retornotrue
.
A seguir temos um exemplo de um retorno após a autorização de um documento:
{
"numeroNFSe": 68,
"sucesso": true,
"autenticidade": null,
"linkImpressao": "https://itapira.sigiss.com.br/nfe_ver.php?id=1840098&id_cadastro=156909&hash=YMI9VDS9&nfe=68",
"xml": null,
"excecao": null,
"status": "Autorizado"
}
Impressão da NFS-e
Se a nota estiver autorizada, então podemos realizar a impressão do DANFE. Nós deixamos disponivel na tag linkImpressao
um link de acesso criado pela Prefeitura que possuirá este recibo.
Minha nota foi autorizada, mas estava com uma informação errada! 😓
Neste caso, a opção é realizar o cancelamento do documento, e realizar a emissão de uma nota NFS-e.
b) Rejeição da NFS-e
Alguns imprevistos ocorrem. Para identificarmos se o documento apresentou uma rejeição, devemos checar se a
sucesso
: Retornofalse
.status
: RetornoErro
.

Realmente houve um erro? Então podemos checar a seguintes informações retornada para você:
excecoes
: Retorno da rejeição, informado pela Prefeitura;solucao
: Caso a Prefeitura disponibilize, informando como corrigir a rejeição.
No exemplo a seguir vemos uma nota que foi rejeitada por estar com um código de serviço inválido:
{
"id": 1220,
"numeroNFSe": 0,
"numeroRPS": 6,
"serieRPS": "6",
"status": "Erro",
"sucesso": false,
"linkImpressao": null,
"codigoVerificacao": null,
"excecoes": [
"E15 Código do Serviço não encontrado, favor informar apenas números."
],
"solucao": null
}
Corrigido? Então vamos voltar para primeira etapa do envio. Se desta vez tudo estiver certo, a Prefeitura irá autorizar esta NFS-e.
c) Aguardando Processamento
Uma Prefeitura pode demorar um tempo até que um RPS seja processado. Quando isto ocorre, nós te mostraremos as seguintes informações:
sucesso
: Retornofalse
;status
: RetornoAguardando consulta lote
.
{
"id": 1220,
"numeroNFSe": 0,
"numeroRPS": 6,
"serieRPS": "6",
"status": "Aguardando consulta lote",
"sucesso": false,
"linkImpressao": null,
"codigoVerificacao": null,
"excecoes": null,
"solucao": null
}
Neste cenário, você deverá esperar um momento antes de realizar uma nova tentativa de consulta do RPS.
Terminamos esta etapa 😁. Para seguir, basta selecionar a card abaixo.
Last updated
Was this helpful?