...
Dentro deste contexto vamos colocar em pratica no XML
Image Modified
3.1.2. Variações e Atualizações
Antes da versão 4.00, a Chave de Acesso era estruturada de maneira diferente e o campo 'Forma de emissão da NF-e' não fazia parte dela. Com a atualização, também se tornou possível incluir CPFs na chave em lugar de CNPJs, permitindo a emissão por pessoas físicas. Além disso, a NF-e emitida por pessoas físicas deve ser assinada com um certificado digital do tipo "e-CPF".
...
Rejeições que levam ao consumo indevido:
05.
...
PROCESSO DE EMISSÃO DA NOTA FISCAL ELETRÔNICA (NF-E)
Este fluxo descreve as etapas envolvidas na emissão de uma Nota Fiscal Eletrônica (NF-e), desde a criação do documento XML até a sua autorização pelo SEFAZ e posterior retorno de status ao ERP emissor. Envolve dois principais stakeholders: o Emissor (geralmente conectado a um ERP) e o Integrador, responsável pela interação com o SEFAZ.
...
5.1. Fluxo de Atividades
draw.io Diagram |
---|
border | true |
---|
| |
---|
diagramName | Diagrama_Fluxo_NFe |
---|
simpleViewer | false |
---|
width | |
---|
links | auto |
---|
tbstyle | top |
---|
lbox | true |
---|
diagramWidth | 17611711 |
---|
revision | 5 |
---|
|
...
Expandir |
---|
title | Clique para visualizar em detalhes cada etapa do fluxo |
---|
|
Emite Nota Fiscal Eletrônica (NF-e)
|
...
- Emissor do documento gera o XML da NF-e com base nos dados de venda ou serviço prestado.
|
...
...
- Emissor envia o documento XML gerado para o Integrador para prosseguir com o processo de emissão.
|
...
- Disponibiliza XML ao Integrador
- O Emissor disponibiliza o XML para ser processado pelo Integrador
Valida XML contra o Schema XSD da NF-e
|
...
...
...
Caso de Sucesso:
- Se a validação for bem-sucedida, o processo continua.
...
Assinatura do Documento
- O Integrador assina digitalmente o XML da NF-e.
...
Montagem de Lote
- O Integrador monta um lote, que pode conter entre 1 e 50 XMLs de NF-e.
...
Comunicação com SEFAZ
- O Integrador abre uma conexão com o SEFAZ e envia o lote de NF-e.
...
Recebimento de Protocolo Intermediário
- O SEFAZ responde de forma assíncrona, fornecendo um protocolo intermediário ao Integrador.
...
Consulta de Status no SEFAZ
O Integrador espera alguns segundos e faz uma nova consulta de status no SEFAZ, utilizando o protocolo recebido.
Caso de Mensagem 103:
- Se o SEFAZ retorna com a mensagem 103 (lote ainda não processado), o Integrador espera mais alguns segundos e faz uma nova consulta.
Caso de Lote Processado:
- Se o SEFAZ indica que o lote já foi processado, o status dos documentos contidos no lote é retornado ao Integrador.
...
Retorno ao ERP
- O Integrador processa as respostas recebidas e retorna o status dos documentos para o ERP emissor.
...
Guarda do Documento
- O Integrador armazena os documentos processados pelo prazo determinado em lei.
- Retorna mensagem de "Falha de Schema XML"
- Integrador retorna para o Emissor que houve uma falha ao validar o documento enviado
- Usuário irá corrigir a situação?
- Caso SIM:
- O usuário realiza os ajustes necessários no sistema Emissor do documento e reenvia para reprocessamento
- Caso NÃO:
- Indica que o usuário irá desistir da emissão desse documento
- IMPORTANTE: Neste cenário o usuário decide desistir da emissão deste documento, e como esta numeração não foi registrada no SEFAZ, será possível realizar a emissão de um novo documento utilizando a mesma numeração ou solicitar a inutilização desta faixa.
Caso de Sucesso: - Se a validação for bem-sucedida, o processo continua.
Assinatura do Documento com o Certificado Digital - O Integrador assina digitalmente o XML da NF-e.
Montagem de Lote para transmissão ao SEFAZ - O Integrador monta um lote, que pode conter entre 1 e 50 XMLs de NF-e.
Comunicação com SEFAZ - O Integrador abre uma conexão com o SEFAZ e envia o lote de NF-e.
- Houve Timeout?
- Caso SIM:
- Indica que houve algum problema por parte de retorno do SEFAZ na entrega do lote e o Integrador irá tentar resolver essa pendência
- Dispara a consulta de chave do documento
- Documento Conhecido?
- Caso NÃO:
- Indica que o SEFAZ não reconhece esse documento, o que libera para o Integrador enviar novo lote para processamento desse documento.
- Caso SIM:
- Indica que na interação anteriormente realizada pelo o SEFAZ recebeu o documento e processou.
- Nesse caso, ao realizar essa consulta já retorna o status do documento e o Integrador irá disparar a gravação do status do documento
- Caso NÃO:
- O fluxo segue normalmente conforme o esperado.
Retorna número do recibo provisório do Lote - O SEFAZ responde de forma assíncrona, fornecendo um protocolo intermediário do processamento do lote ao Integrador.
- Salva temporariamente o recibo provisório do Lote
- O Integrador guarda o recibo provisório de processamento o lote
- Aguarda Tempo definido pelo SEFAZ para consulta de processamento
- O integrador irá aguardar o tempo definido pelo SEFAZ para realizar a consulta do status de processamento do Lote
Consulta de Status no SEFAZ O Integrador espera alguns segundos e faz uma consulta de status no SEFAZ, utilizando o protocolo recebido. Caso retorno for um Status Intermediário (103, 104, 105, 106, 107, 108 ou 109): - Se o SEFAZ retorna com a mensagem com um status intermediário (cStat = 103, 104, 105, 106, 107, 108 ou 109), o Integrador espera mais alguns segundos e faz uma nova consulta.
Caso retorno for de Lote Processado (100, 101, 102, 132, 135, 150 ou >200): - Se o SEFAZ indica que o lote já foi processado, o status dos documentos contidos no lote é retornado ao Integrador.
- Grava o status do documento
- O Integrador salva o retorno do status do documento
- Realiza a custódia do documento
- O Integrador irá custodiar o XML com o retorno do processamento do documento, mesmo que o status for de rejeição
- O Integrador armazena os documentos processados pelo prazo determinado em lei.
Disponibiliza o status de retorno ao Emissor - Após o Integrador processar as respostas recebidas irá retornas o status dos documentos para o Emissor.
Atualiza status do documento - O Emissor busca o retorno de processamento do documento e atualiza o status para o usuário final.
- Fim do processo
|
Observações
O presente fluxo deve ser repetido para cada lote de NF-e que precisa ser processado, respeitando todas as etapas e cenários descritos acima.
06. WEB SERVICES (NF-e)
Neste tópico serão descritos os principais Web Services utilizados na NF-e. Todo o texto que será descrito nesse item foi extraído do Manual de Orientações do Contribuinte da NF-e.
6.1. Web Service – NfeAutorizacao
Função: serviço destinado à recepção de mensagens de lote de NF-e.
Processo: assíncrono/síncrono.
Método: nfeAutorizacaoLote
Image Added
6.1.1. Leiaute Mensagem de Entrada
Entrada: Estrutura XML com as notas fiscais enviadas.
Schema XML: enviNFe_v4.00.xsd
Image Added
O tamanho médio da NF-e é de aproximadamente 10 KB (dependendo da quantidade de itens), necessitando de um dimensionamento correto da rede interna e do canal de Internet das empresas e da SEFAZ.
Para minimizar a necessidade de uma maior infraestrutura de rede, a mensagem de envio de Lote de NF-e poderá ser compactada, a critério da empresa (estima-se que a compactação da mensagem de Lote irá reduzir aproximadamente em 70% o tamanho desta mensagem), por meio das seguintes especificações:
- Nome do Web Service: “nfeAutorizacao”, conforme descrito neste item;
- Nome do Método: NfeAutorizacaoLoteZip;
O novo método tem unicamente o parâmetro “nfeDadosMsgZip”, contendo a mensagem “enviNFe” compactada no padrão GZip, onde o resultado da compactação é convertido para Base64.
A aplicação da SEFAZ irá descompactar a mensagem recebida, seguindo o procedimento normal do tratamento do Lote descompactado. Em caso de falha no processo de descompactação será retornado o erro “416 – Rejeição: Falha na descompactação da área de dados”.
6.1.2. Leiaute Mensagem de Retorno
Retorno: Estrutura XML com a mensagem do resultado da transmissão.
Schema XML: retEnviNFe_v4.00.xsd
Image Added
6.1.3. Descrição do Processamento do Lote de NF-e
No caso do processamento assíncrono, o processamento do Lote de NF-e recepcionado é realizado pelo Servidor de Processamento de NF-e, que consome as mensagens armazenadas na fila de entrada e faz a validação de forma e das regras de negócios e armazena o resultado do processamento na fila de saída.
6.1.4. Geração da Resposta com o Recibo
6.1.4.1. Erro no Lote
Caso ocorra algum problema de validação no Lote de NF-e, o aplicativo deverá retornar uma mensagem com as seguintes informações:
- a identificação do ambiente;
- a versão do aplicativo;
- o código e a respectiva mensagem de erro, segundo a estrutura da Tabela 4-7.
6.1.4.2. Processamento Assíncrono
No caso de processamento assíncrono do Lote de NF-e, não existindo qualquer problema nas validações acima referidas, o aplicativo poderá gerar um número de recibo e gravar a mensagem, juntamente com o número do recibo e o CNPJ do transmissor. O número do recibo gerado pelo Portal da Secretaria de Fazenda Estadual será a chave de consulta do serviço de consulta ao resultado do processamento do lote.
Após a gravação da mensagem na fila de entrada será retornada uma mensagem de confirmação de recebimento para o transmissor, com as seguintes informações:
- a identificação do ambiente;
- a versão do aplicativo;
- o código 103 e o literal “Lote recebido com Sucesso”;
- o código da UF que atendeu a solicitação;
- o Número do Recibo de Lote de que trata o item 4.3.4, com data, hora local de recebimento da mensagem;
- Tempo Médio de Resposta do serviço de processamento dos lotes nos últimos 5 minutos.
6.1.4.3. Processamento Síncrono
No caso de processamento síncrono do Lote de NF-e, as validações da NF-e serão feitas na sequência, sem a geração de um Número de Recibo.
6.1.5. Regras de Validação
Serão aplicadas as regras de validação genéricas conforme os grupos citados na Tabela 5-3, detalhados na Seção 4.1 do documento Anexo I – Leiaute e Regras de Validação da NF-e e da NFCe.
Image Added
As regras de validação específicas deste WS estão descritas na Seção 4.1 do documento Anexo I – Leiaute e Regras de Validação da NF-e e da NFC-e.
6.1.6. Final do Processamento do Lote
- Rejeição – a NF-e será descartada, não sendo armazenada no Banco de Dados podendo ser corrigida e novamente transmitida;
- Autorização de uso – a NF-e será armazenada no Banco de Dados;
- Denegação de uso – a NF-e será armazenada no Banco de Dados com esse status nos casos de irregularidade fiscal do emitente.
A validação da NF-e poderá resultar em (NT 2017.001):
- Rejeição sem avisos – a NF-e será descartada, não sendo armazenada no Banco de Dados podendo ser corrigida e novamente transmitida;
- Rejeição com avisos – a NF-e será descartada, não sendo armazenada no Banco de Dados podendo ser corrigida e novamente transmitida a solucionar a origem do(s) avisos;
- Autorização de uso sem avisos – a NF-e será armazenada no Banco de Dados;
- Autorização de uso com avisos – a NF-e será armazenada no Banco de Dados, e não poderá ser corrigida e novamente transmitida para solucionar a origem do(s) avisos;
- Denegação de uso – caso o emitente ou o destinatário estejam situação irregular de acordo com o Cadastro Centralizado de Contribuintes (CCC), a NF-e será armazenada no Banco de Dados com esse status, independente dos demais resultados de aplicação de regras de validação.
Para cada NF-e autorizada ou denegada será atribuído o Número de Protocolo da Secretaria de Fazenda, seguindo o disposto no item 4.3.5.
O resultado do processamento do lote será disponibilizado na fila de saída e conterá o resultado da validação de cada NF-e contida no lote.
O resultado do processamento do lote deve ficar disponível na fila de saída por um período mínimo de 24 horas.
6.2. Web Service – NfeRetAutorizacao
Função: serviço destinado a retornar o resultado do processamento do lote de NF-e. A mensagem de retorno poderá ser utilizada pela SEFAZ para enviar mensagens de interesse da SEFAZ para o emissor.
Processo: assíncrono.
Método: nfeRetAutorizacao
Image Added
Observações
O presente fluxo deve ser repetido para cada lote de NF-e que precisa ser processado, respeitando todas as etapas e cenários descritos acima.