ERP - eDocs NFS-e Emissão - Como funciona o fluxo padrão de emissão de uma NFS-e para Prefeituras que utilizam leiaute baseado no padrão ABRASF
Dúvida
Como funciona o fluxo padrão de emissão de uma NFS-e para Prefeituras que utilizam leiaute baseado no padrão ABRASF?
Solução
O fluxo padrão de comunicação com uma Prefeitura que utiliza WebService baseado no Padrão ABRASF (seja 1.0 ou 2.0) é o descrito abaixo:
1. O eDocs identifica os documentos que estão prontos para serem enviados para a Prefeitura (são os registros com status de 'Validada' na tela NFS-e / Emissões / aba Emissões
2. O eDocs faz a chamada do método EnviarLoteRpsEnvio do WebService da Prefeitura. Essa chamada é efetuada conforme intervalo de execução definido no parâmetro 'Envio lotes' da tela Configurações / Gerais /aba Avançado / sub-aba Intervalo de Execução.
Na tela de Log XML, caso ele esteja ativado, é registrado um Log com 'Tipo conteúdo' com nome 'Envio de lote de documentos'.
Exemplo do cabeçalho desse XML enviado:
<EnviarLoteRpsEnvio
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
xmlns="http://www.abrasf.org.br/nfse.xsd">
<LoteRps Id="ID000000000000000000000000000" versao="1.00">
<NumeroLote>0000000</NumeroLote>
<Cnpj>000000000</Cnpj>
<InscricaoMunicipal>00000000</InscricaoMunicipal>
<QuantidadeRps>1</QuantidadeRps> -- Aqui é onde é definido a quantidade de RPS dentro de cada lote
<ListaRps>
<Rps>
3. A Prefeitura recebe esse lote e retorna o protocolo de processamento do lote em um XML no padrão EnviarLoteRpsResposta.
Na tela de Log XML, caso ele esteja ativado, é registrado um Log com 'Tipo conteúdo' com nome 'Retorno do envio de lote de documentos'
Exemplo do XML de Resposta:
<?xml version='1.0' encoding='UTF-8'?>
<EnviarLoteRpsResposta
xmlns="http://www.abrasf.org.br/nfse.xsd">
<NumeroLote>00000000</NumeroLote>
<DataRecebimento>AAAA-MM-DDTHH:MM:SS</DataRecebimento>
<Protocolo>XXXXXXXXXXXXX</Protocolo>
</EnviarLoteRpsResposta>
Havendo essa resposta da Prefeitura, o eDocs alterará o status do documento de Validada para Enviada.
4. O eDocs faz a chamada do método ConsultarSituacaoLoteRpsEnvio do WebService da Prefeitura. Essa chamada é efetuada conforme intervalo de execução definido no parâmetro 'Retorno lotes' da tela Configurações / Gerais /aba Avançado / sub-aba Intervalo de Execução.
Na tela de Log XML, caso ele esteja ativado, é registrado um Log com 'Tipo conteúdo' com nome 'Envio de consulta de lote'
Exemplo do XML de de Envio da Consulta:
<?xml version="1.0" encoding="utf-8"?>
<ConsultarSituacaoLoteRpsEnvio
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
xmlns="http://www.abrasf.org.br/nfse.xsd">
<Prestador>
<Cnpj>00000000000000</Cnpj>
<InscricaoMunicipal>0000000000000</InscricaoMunicipal>
</Prestador>
<Protocolo>XXXXXXXXXXXXX</Protocolo> --Aqui o eDocs irá preencher com o mesmo Protocolo que a Prefeitura retorno no processo de envio
</ConsultarSituacaoLoteRpsEnvio>
5. A Prefeitura retornará a consulta do lote em um XML no padrão ConsultarSituacaoLoteRpsResposta
Na tela de Log XML, caso ele esteja ativado, é registrado um Log com 'Tipo conteúdo' com nome 'Retorno do envio de consulta de lote'
Exemplo do XML de de Envio da Consulta:
<?xml version='1.0' encoding='UTF-8'?>
<ConsultarSituacaoLoteRpsResposta
xmlns="http://www.abrasf.org.br/nfse.xsd">
<NumeroLote>00000000000</NumeroLote>
<Situacao>0</Situacao>
</ConsultarSituacaoLoteRpsResposta>
Importante
A situação retornada pela Prefeitura determinará se o Lote foi processado ou não. A situação poderá ser retornada com uma das informações abaixo:
5.1. Se a Prefeitura retornar a situação 1-Não Recebido, o eDocs rejeitará o Documento ou enviará o lote do RPS novamente;
5.2. Se a Prefeitura retornar a situação 2-Não Processado, o eDocs fará uma nova consulta do Lote e manterá o documento com status de Enviada;
5.3. Se a Prefeitura retornar a situação 3-Processado com Erro, o eDocs fará a consulta do Lote em si, para saber as críticas do processamento do lote.
O eDocs faz a chamada do método ConsultarLoteRpsEnvio do WebService da Prefeitura. Essa chamada é efetuada conforme intervalo de execução definido no parâmetro 'Retorno lotes' da tela Configurações / Gerais /aba Avançado / sub-aba Intervalo de Execução.
Na tela de Log XML, caso ele esteja ativado, é registrado um Log com 'Tipo conteúdo' com nome 'Envio de consulta de lote'
Exemplo do XML de de Envio da Consulta:
<ConsultarLoteRpsEnvio
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
xmlns="http://www.abrasf.org.br/nfse.xsd">
<Prestador>
<Cnpj>00000000000</Cnpj>
<InscricaoMunicipal>0000000000</InscricaoMunicipal>
</Prestador>
<Protocolo>XXXXXXXXXXXXX</Protocolo>
</ConsultarLoteRpsEnvio>
5.3.1. A Prefeitura retornará a consulta do lote em um XML no padrão ConsultarLoteRpsResposta
Na tela de Log XML, caso ele esteja ativado, é registrado um Log com 'Tipo conteúdo' com nome 'Retorno de envio de consulta de lote'
Exemplo do XML de de Envio da Consulta:
<ConsultarLoteRpsResposta
xmlns="http://www.abrasf.org.br/nfse.xsd">
<ListaMensagemRetornoLote>
<MensagemRetorno>
<IdentificacaoRps>
<Numero>0000</Numero>
<Serie>00</Serie>
<Tipo>00</Tipo>
</IdentificacaoRps>
<Codigo>XXXXXX</Codigo>
<Mensagem>Mensagem de rejeição</Mensagem>
</MensagemRetorno>
</ListaMensagemRetornoLote>
</ConsultarLoteRpsResposta>
5.4. Se a Prefeitura retornar a situação 3-Processado com Sucesso, o eDocs alterará o status do Documento para Gerada e fará uma consulta para cada RPS presente no Lote, buscando a informações da NFS-e autorizada a partir desse RPS.
O eDocs faz a chamada do método ConsultarNfseRpsEnvio do WebService da Prefeitura. Essa chamada é efetuada conforme intervalo de execução definido no parâmetro 'Retorno lotes' da tela Configurações / Gerais /aba Avançado / sub-aba Intervalo de Execução.
Na tela de Log XML, caso ele esteja ativado, é registrado um Log com 'Tipo conteúdo' com nome 'Envio da consulta de documento'
Exemplo do XML de de Envio da Consulta:
<ConsultarNfseRpsEnvio
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
xmlns="http://www.abrasf.org.br/nfse.xsd">
<IdentificacaoRps>
<Numero>0000</Numero>
<Serie>00</Serie>
<Tipo>0</Tipo>
</IdentificacaoRps>
<Prestador>
<Cnpj>00000000000</Cnpj>
<InscricaoMunicipal>0000000000</InscricaoMunicipal>
</Prestador>
</ConsultarNfseRpsEnvio>
5.4.1. A Prefeitura retornará a consulta do lote em um XML no padrão ConsultarNfseRpsResposta
Na tela de Log XML, caso ele esteja ativado, é registrado um Log com 'Tipo conteúdo' com nome 'Retorno da consulta de documento
Exemplo do cabeçalho desse XML retornado
<ConsultarNfseRpsResposta
xmlns="http://www.abrasf.org.br/nfse.xsd">
<CompNfse
xmlns="http://www.abrasf.org.br/nfse.xsd">
<Nfse
xmlns="http://www.abrasf.org.br/nfse.xsd" versao="1.00">
<InfNfse Id="nfse">
<Numero>20000000000</Numero>
<CodigoVerificacao>00000000</CodigoVerificacao>
<DataEmissao>AAAA-MM-DDTHH:MM:SS</DataEmissao>
<IdentificacaoRps>
<Numero>000</Numero>
<Serie>00</Serie>
<Tipo>0</Tipo>
</IdentificacaoRps>
Ao final desse processamento do retorno da Prefeitura o eDocs altera o status do RPS para Emitida e define também o número da NFS-e emitida na Prefeitura através deste RPS.
Observação
Algumas Prefeituras indicam utilizar métodos alternativos ao método EnviarLoteRpsEnvio como, por exemplo, EnviarLoteRpsEnvioSincrono e GerarNfse. Por padrão, o eDocs segue o mesmo fluxo de envio e de Retorno de RPS, fazendo Consulta de Lote e Consulta de Documento.