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 💡

Endpoints Opcionais 🥈

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 diferença principal em relação à emissão normal está na presença do campo nfseSubstituida, que deve conter o número da NFS-e anterior a ser substituída.

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.

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: Retorno Autorizado;

  • sucesso: Retorno true.

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: Retorno false.

  • status: Retorno Erro.

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: Retorno false;

  • status: Retorno Aguardando 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.

É necessário implementar essa rotina de consulta do documento, atentando-se aos seguintes detalhes:

Terminamos esta etapa 😁. Para seguir, basta selecionar a card abaixo.

Last updated

Was this helpful?