...
A Nota Fiscal Eletrônica (NF-e) é uma iniciativa do governo brasileiro que visa substituir a tradicional nota fiscal impressa por uma versão digital, com o objetivo de modernizar e simplificar os processos fiscais. A NF-e faz parte do Projeto Sistema Público de Escrituração Digital (SPED), um grande esforço do governo para digitalizar a maneira como as empresas lidam com suas obrigações fiscais e contábeis.modelo 55 foi instituída pelo o Ajuste SINIEF 07/2005, pelos Estados, Distrito Federal e União, juntamente com a legislação complementar contida no Ato COTEPE 72/05, de 22/12/2005. Ambas as legislações sofrem modificações e atualizações. Desta forma o documento fiscal eletrônico está sempre em evolução para atender as necessidades de retratar adequações técnicas ou adequações de normas legais que retratam as operações comerciais.
Conforme estabelecido na Cláusula Primeira do Ajuste Sinief 07/2005 em seu:
A NF-e é um documento digital que registra a transferência de bens ou a prestação de serviços entre duas partes, ajudando a formalizar e regular as transações comerciais. Cada NF-e emitida recebe A NF-e é um documento digital que registra a transferência de bens ou a prestação de serviços entre duas partes, ajudando a formalizar e regular as transações comerciais. Cada NF-e emitida recebe um registro único no formato de um arquivo digital, que é assinado digitalmente para garantir a autenticidade e integridade das informações.
...
Por fim, o DANFE também pode ser apresentado na versão DANFE NFC-e, no caso de operações de venda ao consumidor final (NFC-e), e o DAMDF-e no caso de transporte de carga (MDF-e).
A representação gráfica da NFe, dentro da parte do Manual De Orientação do Contribuinte Anexo III, estabelece alguns critérios para a impressão, dentre elas um leiaute de impressão padrão, contendo informações obrigatórias, contudo é possível realizar a customização da impressão. Tomando como regra que no Danfe impresso não possa haver informações divergentes das constantes no XML, ou seja, não se pode imprimir outras informações sem que estas estejam gravadas no XML.
...
O Dígito Verificador é uma medida adicional de segurança que confirma a integridade da Chave de Acesso. Ele é calculado usando o algoritmo de módulo 11, considerando todos os outros componentes da chave.
Dentro deste contexto vamos colocar em pratica no XML
...
O fornecimento do CSRT ocorre através de uma página web específica da Secretaria da Fazenda da Unidade Federada do emitente. É possível solicitar, consultar ou revogar o CSRT através desta página. Uma empresa pode ter no máximo cinco CSRT válidos por UF.
O hashCSRT é gerado a partir da concatenação do CSRT com a chave de acesso da NF-e/NFC-e, usando o algoritmo SHA-1. O processo é detalhado em quatro passos:
Para um exemplo prático, considere que a chave de acesso da NF-e é 41180678393592000146558900000006041028190697
e o CSRT é G8063VRTNDMO886SFNK5LDUDEI24XJ22YIPO
. Seguindo os quatro passos acima, o hashCSRT resultante seria aWv6LeEM4X6u4+qBI2OYZ8grigw=
.
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
<infRespTec>
<CNPJ>99999999999999</CNPJ>
<xContato>NOME DO RESPONSÁVEL TÉCNICO</xContato>
<email>email do responsável técnico</email>
<fone>99999999999</fone>
</infRespTec> |
A figura do Responsável Técnico e o uso de CSRT e hashCSRT adicionam uma camada adicional de segurança e controle no processo de emissão de NF-e e NFC-e. Isso ajuda as administrações tributárias a identificar e atuar em casos de uso indevido do ambiente de autorização, além de viabilizar o contato direto com os responsáveis técnicos quando necessário. É uma prática recomendada para todas as empresas envolvidas na emissão de documentos fiscais eletrônicos.
A solicitação de serviço poderá ser atendida na mesma conexão ou ser armazenada em filas de processamento nos serviços mais críticos para um melhor aproveitamento dos recursos de comunicação e de processamento das Secretarias de Fazenda Estaduais, ou seja, os serviços podem ser síncronos ou assíncronos em função da forma de processamento da solicitação de serviços:
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
<infRespTec>
<CNPJ>99999999999999</CNPJ>
<xContato>NOME DO RESPONSÁVEL TÉCNICO</xContato>
<email>email do responsável técnico</email>
<fone>99999999999</fone>
</infRespTec> |
Estados que exigem a informação do Responsável Técnico no XML, visto que a regra é facultativa por UF.
A solicitação de serviço poderá ser atendida na mesma conexão ou ser armazenada em filas de processamento nos serviços mais críticos para um melhor aproveitamento dos recursos de comunicação e de processamento das Secretarias de Fazenda Estaduais, ou seja, os serviços podem ser síncronos ou assíncronos em função da forma de processamento da solicitação de serviços:
...
As solicitações de serviços de implementação síncrona são processadas imediatamente e o resultado do processamento é obtido em uma única conexão, conforme o fluxo exposto na Figura 4-2.
Etapas do processo:
As solicitações de serviços de implementação assíncrona são processadas de forma distribuída por vários processos e o resultado do processamento somente é obtido em uma segunda conexão.
A Figura 4-3 apresenta o fluxo simplificado de funcionamento de um serviço de implementação assíncrona.
Etapas do processo:
As filas de mensagens de solicitação de serviços são necessárias para a implementação do processamento assíncrono das solicitações de serviços.
As mensagens de solicitações de serviços no processamento assíncrono são armazenadas em uma fila de entrada.
Para ilustrar como as filas armazenam as informações, observe o diagrama exposto na Figura 4-4.
A estrutura de um item é composta pela área de controle (identificador) e pela área de detalhe. As seguintes informações são adotadas como atributos de controle:
Para processar as mensagens de solicitações de serviços, a aplicação da NF-e irá retirar a mensagem da fila de entrada de acordo com a ordem de chegada, devendo armazenar o resultado do processamento da solicitação de serviço em uma fila de saída.
A fila de saída terá a mesma estrutura da fila de entrada, sendo a única diferença o conteúdo do detalhe da mensagem, que contém o resultado do processamento da solicitação de serviço em formato XML.
O tempo médio de resposta que mede a performance do serviço de processamento dos lotes é calculado com base no tempo decorrido entre o momento de recebimento da mensagem e o momento de armazenamento do resultado do processamento da solicitação de serviço na fila de saída.
Nota: O termo fila é utilizado apenas para designar um repositório de recibos emitidos. A implementação da fila poderá ser feita através de Banco de Dados ou qualquer outra forma, sendo transparente ao contribuinte que realizará a consulta do processamento efetuado (processos assíncronos).
O número do Recibo do Lote deve ser gerado pelo Portal da Secretaria de Fazenda Estadual, com a seguinte regra de formação, que também pode ser vista na Tabela 4-7:
O número do protocolo (nProt) é gerado pelo Portal da Secretaria da Fazenda Estadual ou da Secretaria da Receita Federal do Brasil para identificar univocamente as transações realizadas de autorização de uso, denegação de uso, cancelamento de NF-e e inutilização de numeração de NF-e.
A regra de formação do número do protocolo pode ser vista na Tabela 4-8.
A geração do número de protocolo é única, e é utilizada por todos os Web Services que precisam atribuir um número de protocolo para o resultado do processamento.
O tempo médio de resposta é um indicador que mede a performance do serviço de processamento dos lotes dos últimos 5 minutos.
O tempo médio de processamento de uma NF-e é obtido pela divisão do tempo decorrido entre o recebimento da mensagem e o momento de armazenamento da mensagem de processamento do lote pela quantidade de NF-e existentes no lote.
O tempo médio de resposta é a média dos tempos médios de processamento de uma NF-e dos últimos 5 minutos.
Caso o tempo médio de resposta fique abaixo de 1 (um) segundo, o tempo será informado como 1 segundo. Arredondar as frações de segundos para cima.
As Secretarias de Fazenda Estaduais mantêm dois ambientes para recepção de NF-e. O ambiente de homologação é específico para a realização de testes e integração das aplicações do contribuinte durante a fase de implementação e adequação do sistema de emissão de NF-e do contribuinte, e nos casos em que este sistema sofre alterações após entrar em regime de operação normal.
A autorização de uso de NF-e no ambiente de produção, nos termos das cláusulas quarta e quinta do Ajuste SINIEF 07/05, de 30 de setembro de 2005, tem o efeito de permitir que o arquivo da NF-e seja utilizado como documento fiscal.
A utilização pelo contribuinte de qualquer um dos dois ambientes fica condicionada a prévia autorização da Secretaria de Fazenda, Finanças ou Tributação de sua UF, através do respectivo processo de credenciamento.
O acesso a cada um dos ambientes será concedido mediante prévia requisição do contribuinte ou de ofício, caso seja de interesse da Administração Tributária.
A relação dos Web Services em operação está disponível no Portal Nacional:
http://hom.nfe.fazenda.gov.br/portal/webServices.aspx?tipoConteudo=Wak0FwB7dKs=
https://www.nfe.fazenda.gov.br/portal/webServices.aspx?tipoConteudo=Wak0FwB7dKs=
A documentação do WSDL pode ser obtida na internet acessando o endereço do Web Service desejado.
O ambiente de homologação deve ser usado para que as empresas possam efetuar os testes necessários nas suas aplicações, antes de passar a consumir os serviços no ambiente de produção.
Em relação à massa de dados para que os testes possam ser efetuados, lembramos que podem ser geradas NF-e no ambiente de homologação à critério da empresa (NF-e sem valor fiscal).
As NF-e no ambiente de homologação podem ser geradas por aplicativo da própria empresa, ou usando o Programa Emissor Público, com a mesma finalidade.
Os testes no ambiente de produção, quando liberado este ambiente, por falha da aplicação da empresa podem disparar os mecanismos de controle de uso indevido5, impedindo, por exemplo, uma nova Consulta a Relação de Documentos Destinados para documentos que já foram consultados anteriormente.
O atual cenário evidencia um padrão de comportamento inadequado por parte de alguns contribuintes na utilização dos serviços web autorizados pelas Unidades Federativas (UFs). Este uso impróprio tem o potencial de desestabilizar os sistemas, sobrecarregar os recursos de rede e processamento, e, em alguns casos, ser interpretado como tentativas de ataque aos sistemas.
Para garantir a integridade e a disponibilidade dos serviços, a Secretaria da Fazenda (SEFAZ) poderá, a seu critério, aplicar regras para mitigar o consumo indevido. Violações às regras estarão sujeitas às penalidades previstas na legislação de cada UF.
Entre os exemplos mais recorrentes de uso indevido, destacam-se:
Ciclos Infinitos: Alguns aplicativos entram em estados de 'loop', fazendo requisições incessantes e desnecessárias, o que resulta em sobrecarga do sistema.
Requisições Repetidas: Envio constante de pedidos já processados ou rejeitados anteriormente.
Consulta Excessiva: Tentativas sucessivas de acessar informações já disponíveis ou irrelevantes, o que consome recursos desnecessariamente.
Para tratar essas situações, o sistema pode retornar um erro denominado "656–Rejeição: Consumo Indevido".
...
As solicitações de serviços de implementação síncrona são processadas imediatamente e o resultado do processamento é obtido em uma única conexão, conforme o fluxo exposto na Figura 4-2.
Etapas do processo:
As solicitações de serviços de implementação assíncrona são processadas de forma distribuída por vários processos e o resultado do processamento somente é obtido em uma segunda conexão.
A Figura 4-3 apresenta o fluxo simplificado de funcionamento de um serviço de implementação assíncrona.
Etapas do processo:
As filas de mensagens de solicitação de serviços são necessárias para a implementação do processamento assíncrono das solicitações de serviços.
As mensagens de solicitações de serviços no processamento assíncrono são armazenadas em uma fila de entrada.
Para ilustrar como as filas armazenam as informações, observe o diagrama exposto na Figura 4-4.
A estrutura de um item é composta pela área de controle (identificador) e pela área de detalhe. As seguintes informações são adotadas como atributos de controle:
Para processar as mensagens de solicitações de serviços, a aplicação da NF-e irá retirar a mensagem da fila de entrada de acordo com a ordem de chegada, devendo armazenar o resultado do processamento da solicitação de serviço em uma fila de saída.
A fila de saída terá a mesma estrutura da fila de entrada, sendo a única diferença o conteúdo do detalhe da mensagem, que contém o resultado do processamento da solicitação de serviço em formato XML.
O tempo médio de resposta que mede a performance do serviço de processamento dos lotes é calculado com base no tempo decorrido entre o momento de recebimento da mensagem e o momento de armazenamento do resultado do processamento da solicitação de serviço na fila de saída.
Nota: O termo fila é utilizado apenas para designar um repositório de recibos emitidos. A implementação da fila poderá ser feita através de Banco de Dados ou qualquer outra forma, sendo transparente ao contribuinte que realizará a consulta do processamento efetuado (processos assíncronos).
O número do Recibo do Lote deve ser gerado pelo Portal da Secretaria de Fazenda Estadual, com a seguinte regra de formação, que também pode ser vista na Tabela 4-7:
O número do protocolo (nProt) é gerado pelo Portal da Secretaria da Fazenda Estadual ou da Secretaria da Receita Federal do Brasil para identificar univocamente as transações realizadas de autorização de uso, denegação de uso, cancelamento de NF-e e inutilização de numeração de NF-e.
A regra de formação do número do protocolo pode ser vista na Tabela 4-8.
A geração do número de protocolo é única, e é utilizada por todos os Web Services que precisam atribuir um número de protocolo para o resultado do processamento.
O tempo médio de resposta é um indicador que mede a performance do serviço de processamento dos lotes dos últimos 5 minutos.
O tempo médio de processamento de uma NF-e é obtido pela divisão do tempo decorrido entre o recebimento da mensagem e o momento de armazenamento da mensagem de processamento do lote pela quantidade de NF-e existentes no lote.
O tempo médio de resposta é a média dos tempos médios de processamento de uma NF-e dos últimos 5 minutos.
Caso o tempo médio de resposta fique abaixo de 1 (um) segundo, o tempo será informado como 1 segundo. Arredondar as frações de segundos para cima.
As Secretarias de Fazenda Estaduais mantêm dois ambientes para recepção de NF-e. O ambiente de homologação é específico para a realização de testes e integração das aplicações do contribuinte durante a fase de implementação e adequação do sistema de emissão de NF-e do contribuinte, e nos casos em que este sistema sofre alterações após entrar em regime de operação normal.
A autorização de uso de NF-e no ambiente de produção, nos termos das cláusulas quarta e quinta do Ajuste SINIEF 07/05, de 30 de setembro de 2005, tem o efeito de permitir que o arquivo da NF-e seja utilizado como documento fiscal.
A utilização pelo contribuinte de qualquer um dos dois ambientes fica condicionada a prévia autorização da Secretaria de Fazenda, Finanças ou Tributação de sua UF, através do respectivo processo de credenciamento.
O acesso a cada um dos ambientes será concedido mediante prévia requisição do contribuinte ou de ofício, caso seja de interesse da Administração Tributária.
A relação dos Web Services em operação está disponível no Portal Nacional:
http://hom.nfe.fazenda.gov.br/portal/webServices.aspx?tipoConteudo=Wak0FwB7dKs=
https://www.nfe.fazenda.gov.br/portal/webServices.aspx?tipoConteudo=Wak0FwB7dKs=
A documentação do WSDL pode ser obtida na internet acessando o endereço do Web Service desejado.
O ambiente de homologação deve ser usado para que as empresas possam efetuar os testes necessários nas suas aplicações, antes de passar a consumir os serviços no ambiente de produção.
Em relação à massa de dados para que os testes possam ser efetuados, lembramos que podem ser geradas NF-e no ambiente de homologação à critério da empresa (NF-e sem valor fiscal).
As NF-e no ambiente de homologação podem ser geradas por aplicativo da própria empresa, ou usando o Programa Emissor Público, com a mesma finalidade.
Os testes no ambiente de produção, quando liberado este ambiente, por falha da aplicação da empresa podem disparar os mecanismos de controle de uso indevido5, impedindo, por exemplo, uma nova Consulta a Relação de Documentos Destinados para documentos que já foram consultados anteriormente.
O atual cenário evidencia um padrão de comportamento inadequado por parte de alguns contribuintes na utilização dos serviços web autorizados pelas Unidades Federativas (UFs). Este uso impróprio tem o potencial de desestabilizar os sistemas, sobrecarregar os recursos de rede e processamento, e, em alguns casos, ser interpretado como tentativas de ataque aos sistemas.
Para garantir a integridade e a disponibilidade dos serviços, a Secretaria da Fazenda (SEFAZ) poderá, a seu critério, aplicar regras para mitigar o consumo indevido. Violações às regras estarão sujeitas às penalidades previstas na legislação de cada UF.
Entre os exemplos mais recorrentes de uso indevido, destacam-se:
Ciclos Infinitos: Alguns aplicativos entram em estados de 'loop', fazendo requisições incessantes e desnecessárias, o que resulta em sobrecarga do sistema.
Requisições Repetidas: Envio constante de pedidos já processados ou rejeitados anteriormente.
Consulta Excessiva: Tentativas sucessivas de acessar informações já disponíveis ou irrelevantes, o que consome recursos desnecessariamente.
Para tratar essas situações, o sistema pode retornar um erro denominado "656–Rejeição: Consumo Indevido".
Serviço Web | Problemas Comuns |
---|---|
Envio de Lote de NF-e | Aplicativos ou usuários que enviam o mesmo lote de NF-e rejeitado repetidamente |
Consulta de Resultado do Lote | Consultas contínuas a números de recibo não relacionados com a empresa |
Registro de Evento da NF-e | Envio contínuo do mesmo pedido de cancelamento ou evento que é consistentemente rejeitado |
Inutilização de Numeração | Aplicativos ou usuários que enviam o mesmo pedido de inutilização repetidamente |
Consulta de Situação da NF-e | Empresas que utilizam esta consulta para verificar a disponibilidade do serviço de forma inadequada |
Consulta de Status de Serviço | Utilização do serviço em uma frequência maior do que a permitida |
É imperativo que os contribuintes corrijam qualquer comportamento inadequado em seus aplicativos ou processos manuais para evitar impactos negativos sobre os sistemas de autorização. Caso a rejeição pareça ser um erro do sistema autorizador, o contribuinte deve entrar em contato com a SEFAZ para resolução.
Rejeições que levam ao consumo indevido:
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.
draw.io Diagram | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Expandir | ||
---|---|---|
| ||
|
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.
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.
Função: serviço destinado à recepção de mensagens de lote de NF-e.
Processo: assíncrono/síncrono.
Método: nfeAutorizacaoLote
Entrada: Estrutura XML com as notas fiscais enviadas.
Schema XML: enviNFe_v4.00.xsd
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:
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”.
Retorno: Estrutura XML com a mensagem do resultado da transmissão.
Schema XML: retEnviNFe_v4.00.xsd
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.
Caso ocorra algum problema de validação no Lote de NF-e, o aplicativo deverá retornar uma mensagem com as seguintes informações:
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:
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.
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.
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.
A validação da NF-e poderá resultar em (NT 2017.001):
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.
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
É imperativo que os contribuintes corrijam qualquer comportamento inadequado em seus aplicativos ou processos manuais para evitar impactos negativos sobre os sistemas de autorização. Caso a rejeição pareça ser um erro do sistema autorizador, o contribuinte deve entrar em contato com a SEFAZ para resolução.
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.
...
Emissão do Documento (XML da NF-e)
ERP Entrega Documento para o Integrador
Validação de Schema XML pelo Integrador
O Integrador valida o XML recebido com base no schema do documento.
Caso de Falha:
Caso de Sucesso:
Assinatura do Documento
Montagem de Lote
Comunicação com SEFAZ
Recebimento de Protocolo Intermediário
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:
Caso de Lote Processado:
Retorno ao ERP
Guarda do Documento
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.