====== Nota Fiscal Eletrônica (NF-e) ======
===== Resumo =====
A **Nota Fiscal Eletrônica (NF-e)** é um documento de existência exclusivamente digital, emitido e armazenado eletronicamente, com o intuito de documentar uma operação de circulação de mercadorias, cuja validade jurídica é garantida por duas condições necessárias: a assinatura digital do emitente e a Autorização de Uso fornecida pela administração tributária do domicílio do contribuinte.
Esta especificação descreve os requisitos utilizados como base para o desenvolvimento dos mecanismos necessários para a emissão de uma Nota Fiscal Eletrônica.
===== Versões =====
* [[http://www.nfe.fazenda.gov.br/portal/listaConteudo.aspx?tipoConteudo=33ol5hhSYZk=|Portal da nota fiscal eletrônica]]
===== Detalhamento =====
==== Itens da Nota Fiscal ====
=== Itens com desconto ===
Quando as mercadorias ou produtos contidos na nota fiscal possuírem algum tipo de desconto, este será informado através de valor monetário e será descontado do valor total do item, de acordo com a seguinte fórmula: //**(quantidade * valor unitário) - desconto**//. O desconto não deve compor a base de cálculo do ICMS nem a base de cálculo do IPI, mas deve compor a base de cálculo do PIS e COFINS.
**Exemplo:**
Dado um item com as seguintes especificações:
* Quantidade: 2
* Valor unitário (R$): 10,00
* Desconto (R$): 5,00
* Alíquota de ICMS: 12%
* Alíquota de IPI: 15%
* Alíquota de PIS: 0,3%
* Alíquota de COFINS: 1,2%
O cálculo do imposto deste produto deverá ser:
* Base de cálculo do ICMS: 20,00
* Valor do ICMS: 2,40
* Base de cálculo do IPI: 20,00
* Valor do IPI: 3,00
* Base de cálculo do PIS: 15,00
* Valor do PIS: 0,045
* Base de cálculo do COFINS: 15,00
* Valor do COFINS: 0,18
**Observação:** Caso seja necessário utilizar outros valores para a base de cálculo/valor do imposto, será necessário desativar o cálculo de impostos automático no modelo de impressão da nota fiscal.
==== Faturas/Duplicatas da Nota Fiscal ====
A Nota Fiscal Eletrônica (NF-e) permite o cadastro de uma fatura, além de permitir o fracionamento do valor dessa fatura em várias duplicatas.
Existe também a opção de gerar duplicatas automaticamente, onde o próprio aplicativo calcula e gera várias duplicatas com base no valor e quantidade de parcelas.
|< 100% 19% 60% 7% 7% 7%>|
^ Campo ^ Descrição ^ Tipo ^ Tamanho ^ Obrigatório? ^
|**Fatura** |||||
|Número da fatura |Número da fatura | Texto | 60 | Sim |
|Valor original |Valor original da fatura (mesmo valor da nota fiscal) | Número | 15,2 | Sim |
|Desconto |Valor do desconto concedido na fatura | Número | 15,2 | Sim |
|Valor líquido |Valor líquido da fatura (Valor - Desconto) | Número | 15,2 | Sim |
|**Duplicata** |||||
|Número da duplicata |Número da duplicata | Texto | 60 | Sim |
|Vencimento |Data de vencimento da duplicata | Data | --- | Sim |
|Valor |Valor da duplicata | Número | 15,2 | Sim |
|**Duplicatas automáticas** |||||
|Valor total |Valor total da fatura ou da nota | Número | 15,2 | Sim |
|Quantidade de duplicatas |Quantidade de duplicatas a serem geradas | Número | 8,0 | Sim |
|Data inicial |Data de vencimento da primeira duplicata | Data | --- | Sim |
|Intervalo entre duplicatas |Intervalo em dias entre o vencimento das duplicatas | Número | 3,0 | Sim |
O campo Data de Vencimento e o campo Data inicial (no caso de geração de duplicatas automáticas) será preenchido de acordo com o campo "Dias para a Primeira Duplicata" no cadastro de Destinatários. Ainda referente a duplicatas automáticas, existe o campo "Intervalo entre Duplicatas" também no cadastro do Destinatários.
Apesar dos campos serem obrigatórios, uma nota fiscal não precisa ter faturas nem duplicatas. A presença de uma fatura na nota também não obriga a inclusão de duplicatas, e vice versa.
As faturas e duplicatas não podem ser alteradas após o envio da nota, apenas alguns dados relativos a operação interestadual podem ser alterados em uma NF-e emitida. O item da NF-e ficará com a alteração habilitada para esse caso e a data de vencimento, o código da obrigação e o código da receita podem ser alterados pelo usuários.
==== Informações de pagamentos ====
[[softwares:facture-e:requisitos:modulos:ef_formas_pagamento| Formas de pagamento]]
===== Configurações e preferências do usuário =====
* **Cálculo automático de impostos**: O sistema irá calcular as bases de cálculo e o valor dos impostos somente se a opção "Calcular impostos automaticamente" estiver ativa no modelo de impressão que será usado para emitir a nota fiscal.
===== Pontos de verificação =====
==== Alteração de NF-e====
* O sistema permitirá a alteração de qualquer NF-e que tenha sido autorizada ou não, entretanto caso a NF-e tenha sido autorizada apenas os dados de operação interestadual e plano de contas no cadastro de itens, e o indicador de pagamento na guia de informações poderão ser alterados. Demais dados da NF-e não poderão ser alterados. Esses dados podem ser alterados pois são dados referentes a escrituração digital da empresa emitente.
==== Natureza de Operação ====
* Deve permitir selecionar uma Natureza de Operação;
* Apenas Naturezas de Operação ativas podem ser selecionadas;
* Antes de identificar o Destinatário/Remetente da NF-e, a CFOP deve ser interna;
* O Tipo da Nota ('''ENTRADA'''/'''SAÍDA''') deve mudar automaticamente de acordo com a CFOP selecionada;
==== Série/Modelo ====
* Deve ser possível incluir uma nova série na tela de cadastro de NF-e;
* Após incluir uma nova série, a lista de séries é carregada novamente;
* Não deve ser possível incluir uma série já cadastrada;
* O sistema deverá validar a existência da série/modelo na NF-e;
* **Obs**: O modelo 65 não deverá constar na lista de série/modelo para ações de inclusão ou alteração e NF-e.
==== Identificação do Destinatário ====
* O Destinatário só poderá ser inserido na Nota Fiscal, se atender a todos os requisitos. A Verificação será feita ao efetuar seu Cadastro;
* As alterações feitas no cadastro de Destinatário/Remetente através da Nota Fiscal deverão ser salvas, somente se a Nota for Salva/Enviada;
* A inserção do Destinatário/Remetente deverá ser feita através do botão “Localizar”;
* Ao selecionar a opção Localizar o Sistema deve permitir uma busca rápida através do CPF ou Nome/Razão Social;
* Ao abrir a Tela de Localização do Destinatário/Remetente deve ser possível Incluir/Alterar/Visualizar o Cadastro;
* Ao Incluir/Alterar/Visualizar o Cadastro do Destinatário/Remetente pela Nota Fiscal, somente se a Nota for Salva/Enviada ;
* Caso o destinatário tenha o complemento de endereço preenchido, o sistema deverá informá-lo nas informações complementares da NF-e;
==== CFOP ====
* O CFOP deverá ser selecionado de acordo com o Endereço do Destinatário;
* Ao alterar o Endereço Estadual para um Endereço Interestadual, a CFOP deve modificar automaticamente;
* Ao inserir um Endereço do Exterior, em que a Natureza de Operação selecionada não possua CFOP para este tipo de operação, é exibida uma mensagem de alerta;
* Não é possível salvar/enviar uma Nota Fiscal sem um CFOP selecionado;
==== Data/Hora ====
* A Data de Emissão não pode ser superior a data atual;
* A Data de Saída/Entrada:
* Quando for uma Nota Fiscal de Entrada a data não pode ser superior a data atual;
* Quando for uma Nota Fiscal de Saída a data não pode ser anterior a data atual e pode ser superior ou igual a data atual;
==== Itens ====
* Uma Nota Fiscal pode possuir de 1 - 990 itens;
* Será obrigatório selecionar um CFOP com o mesmo Tipo de Operação da Nota Fiscal;
* O produto só poderá ser adicionado se o cadastro dele estiver correto;
* Verificar no XML da Nota se o campo GTIN está presente e preenchido com 0's;
* Verificar se o campo está sendo validado;
* Verificar se o cálculo está sendo feito corretamente:
* Valor Total Bruto do Produto: Valor Unitário * Quantidade;
* Valor Total Liquido do Produto: (Valor Unitário * Quantidade)-Desconto;
* Peso Total Bruto: Peso Bruto Unitário * Quantidade;
* Peso Total Liquido: Peso Líquido Unitário * Quantidade;
* Só é possível Alterar/Mover/Excluir um Item, se o produto estiver selecionado;
* As informações contidas no Grid de Produtos deve ser a mesma inserida anteriormente;
* O sistema deverá impedir o cadastro de valor negativo para os campos peso bruto e peso líquido.
* * **CEST**: O código CEST é obrigatório em produção desde 01/07/2017 de acordo com a [[http://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=OUbE1y7000E=|NT2015 003 v1.91]];
* O código NCM deverá ser obrigatório;
* O campo EX TIPI deverá ser validado pelo sistema;
* O CNPJ do fabricante deverá ser validado pelo sistema;
* Verificar se o valor unitário está sendo exibido de acordo com o tipo de operação, exemplo: para operação de entrada o sistema deverá exibir o preço de custo no valor unitário, e para operação de saída deverá ser exibido o preço de venda.
* Para cada item o sistema deverá acrescentar as tags e no xml de envio. A tag deverá conter o código da NF-e e a tag deverá conter a ordenação do item na NF-e/NFC-e.
* O sistema deverá permitir a inclusão de informações adicionais no item. Esse campo deverá permitir a inclusão de no máximo 500 caracteres. A importação de xml deverá recuperar os dados devidos para esse campo.
* A seleção automática de itens na NF-e existente nas configurações de emissão não deverá funcionar para inclusão de NF-e através de uma ordem de produção.
* O item possui código de beneficio fiscal, entretanto apenas algumas UF possuem essa tabela, caso a UF do emitente não possua o campo ficará desabilitado. No caso de operação de entrada a UF verificada será a do destinatário/emitente, caso este possua UF que contenha tabela o campo ficará habilitado.
* Caso a NF-e seja de exportação o sistema deverá preencher os dados da unidade tributável de forma automática de acordo com a unidade de medida tributável. O sistema deverá imprimir no Danfe a unidade de medida comercial e a unidade de medida tributável.
== ICMS ==
* É obrigatório informar o ICMS, podendo utilizar somente 01 grupo com base no conteúdo informado na TAG tributação do ICMS;
* Os campos Redução BC efetiva, Valor BC efetiva, Aliquota ICMS efetiva e Valor ICMS efetivo só devem ficar habilitados caso os CST seja 60 ou 500;
* Os campos Redução BC efetiva, Valor BC efetiva, Aliquota ICMS efetiva e Valor ICMS efetivo não são obrigatórios, entretanto caso sejam preenchidos eles deverão ser enviados no xml da NF-e.
* Os campos Valor BC efetiva e Valor ICMS efetivo possuem preenchimento automático através de cálculos informados na NT_2016_v1_60.
* Caso o item seja de cesta básica e o CSOSN utilizado seja 202 ou 203 o sistema deverá habilitar o campo para informação da alíquota e realizar os cálculos de forma automática.
== IPI ==
* Verificar se os campos são permitidos de acordo com o CST;
* Verificar se o cálculo do Imposto está sendo feito corretamente;
* Verificar os campos com porcentagem, se o calculo está correto;
* Verificar se nos campos de Valores (R$) está sendo permitido digitar duas ou mais vírgulas;
== PIS ==
* Verificar se os campos são permitidos de acordo com o CST;
* Verificar se o cálculo do Imposto está sendo feito corretamente;
* Verificar os campos com porcentagem, se o calculo está correto;
* Verificar se nos campos de Valores (R$) está sendo permitido digitar duas ou mais vírgulas;
== COFINS ==
* Verificar se os campos são permitidos de acordo com o CST;
* Verificar se o cálculo do Imposto está sendo feito corretamente;
* Verificar os campos com porcentagem, se o calculo está correto;
* Verificar se nos campos de Valores (R$) está sendo permitido digitar duas ou mais vírgulas;
== ISSQN ==
* Caso o item seja um serviço, o sistema deverá desabilitar as guias de ICMS, IPI e II pois as informações do ISSQN excluem as informações desses impostos citados;
* A guia de ISSQN deverá ficar habilitada apenas para itens do tipo serviço com NCM igual a 00.
* O campo nº do processo da suspensão da exigibilidade deverá ser obrigatório caso o indicador de exigibilidade seja exigibilidade suspensa.
== No desconto de itens da nota fiscal ==
* O valor total do item deve ser sempre o resultado da multiplicação da quantidade pelo valor unitário, independente do valor do desconto;
* A base de cálculo do ICMS e do IPI não devem ser afetadas pelo desconto do item;
* A base de cálculo do PIS e do COFINS devem ser sempre calculadas levando-se em conta o valor do desconto;
* O campo "Desconto" do quadro "Cálculo do imposto" da nota fiscal deve conter a soma de todos os descontos aplicados nos itens;
* O campo "Valor total dos Produtos" do quadro "Cálculo do imposto" da nota fiscal deve conter a soma dos valores totais dos produtos (sem o desconto);
* O campo "Valor total da Nota" do quadro "Cálculo do imposto" da nota fiscal deve ter o desconto abatido de seu valor.
== ICMS em Operações Interestaduais de Vendas a Consumidor Final ==
* A data de vencimento deve ser uma data válida;
* A base de cálculo UF deve ser preenchida de forma automática pelo sistema, de acordo com os valores informados para o item;
* Alíquota interna UF (%): porcentagem de alíquota praticada pela UF de emissão;
* Alíquota interestadual (%): porcentagem de alíquota preenchida de forma automática pelo sistema. (4% para produtos importados, 7% para os Estados de origem do Sul e Sudeste (exceto ES), destinado para os Estados do Norte, Nordeste, Centro-Oeste e Espírito Santo e 12% para os demais casos).
* Alíquota do fundo de combate a pobreza FCP (%): Percentual adicional inserido na alíquota interna da UF de destino, relativo ao Fundo de Combate à Pobreza (FCP) naquela UF. **Nota**: Percentual máximo de 2%, conforme a legislação. O sistema não valida o percentual máximo a partir da versão 5.34.0.
* Partilha: Percentual de ICMS Interestadual para a UF de destino: - 40% em 2016; - 60% em 2017; - 80% em 2018; - 100% a partir de 2019.
* Valor ICMS Destinatário: Esse campo deve ser preenchido automaticamente pelo sistema, porém é um campo editável pelo usuário.
* Valor ICMS Remetente: Esse campo deve ser preenchido automaticamente pelo sistema, porém é um campo editável pelo usuário.
* Valor ICMS FCP: Esse campo deve ser preenchido automaticamente pelo sistema, porém é um campo editável pelo usuário.
* A data de vencimento, o código da obrigação e o código da receita podem ser alterados em uma NF-e já emitida.
== Informações de combustível ==
* **Código ANP**: Código específico para combustíveis.
* **Descrição ANP**: Descrição do código.
* **CODIF**: Sistema de Controle do Diferimento do Imposto nas Operações com AEAC.
* **Qtde faturada a temperatura ambiente**: Quantidade de combustível faturada à temperatura ambiente.
* **UF de consumo**: Sigla de UF de consumo.
* **Base de cálculo da CIDE**: Informar a BC da CIDE em quantidade.
* **Valor da alíquota da CIDE**: Informar valor em reais.
* **Valor da CIDE**: Informar valor em reais.
==== Valores da Nota ====
* Considerar uma tolerância de R$ 0,50 para mais ou para menos na conferência dos valores totais da NF-e - compatibilizando este parâmetro com o praticado na Escrituração Fiscal Digital (EFD).
Regra de validação do total da NFe
Total do vNF (id:W16) deve ser igual ao somatório de:
(+) vProd (id:W07)
(-) vDesc (id:W10)
(-) vICMSDeson (id:W04a)
(+) vST (id:W06)
(+) vFCPST (id:W06a)
(+) vFrete (id:W08)
(+) vSeg (id:W09)
(+) vOutro (id:W15)
(+) vII (id:W11)
(+) vIPI (id:W12)
(+) vIPIDevol (id: W12a)
(+) vServ (id:W18) (*3) (NT 2011/005)
==== Informações do Transporte ====
* Verificar se os campos permitem valores com tamanhos superiores aos definidos;
* Verificar a validação do CPF/CNPJ;
* Verificar a validação dos campos obrigatórios;
* Só pode ter uma Modalidade do frete por Nota Fiscal;
* Só pode ter um Transportador por Nota Fiscal;
* Só pode ter um Veículo por Nota Fiscal;
* Pode ter de 0 a 5 Reboques na Nota Fiscal;
* Uma Nota Fiscal pode conter um número ilimitado de Volumes;
* Verificar se os campos estão permitindo caracteres especiais;
* O sistema deverá impedir o cadastro de valor negativo para os campos peso bruto e peso líquido.
* O sistema deverá validar a modalidade do frete quando uma NF-e for salva, impedindo a gravação da NF-e quando não houver essa informação.
* O campo número poderá conter no máximo 60 caracteres.
==== Volumes transportados ====
* O grupo de informação sobre "volumes transportados" é opcional, mas, se este grupo de informações constar no XML, deverá ser informada a Quantidade de Volumes transportados.
==== Faturas/Duplicatas ====
* O sistema deve permitir a inclusão de apenas uma fatura para cada nota fiscal;
* Caso a nota fiscal possua uma fatura, o valor original desta fatura precisa ser igual ao valor da nota fiscal;
* O grupo de informação sobre "duplicatas" é opcional, mas, se este grupo de informações constar no XML, deverá ser informado o Valor da Duplicata.
* O sistema deve permitir a inclusão de várias duplicatas na nota fiscal;
* A soma dos valores das duplicatas deve ser igual ao valor líquido da fatura;
* Caso o usuário informe duplicatas ele deverá informar o total do valor das duplicatas em uma fatura, porém essa regra não foi implementada no sistema, apenas a Sefaz fará essa validação
* O sistema deve listar a fatura e as duplicatas no DANFE;
* O número das duplicatas passa a ser controlado pelo sistema de forma sequencial. Ex: 001, 002, 003. Esse é o formato definido na NT2016_002_v1_60.
* O número da fatura pode conter 60 caracteres e não deve ser controlado pelo sistema como é feito com a duplicata.
==== Identificação do Local de Retirada ====
* Só pode ter uma Local de Retirada por Nota Fiscal;
* O Local de Retirada só poderá ser inserido na Nota Fiscal, se o Endereço for diferente do Remetente;
* Verificar se os campos permitem valores com tamanhos superiores aos definidos;
* Verificar a validação do CPF/CNPJ;
* Verificar a validação dos campos obrigatórios;
==== Verificação Geral da Nota Fiscal Eletrônica ====
* Verificar caso o Emitente utilize a Inscrição Estadual por Substituição Tributária, se ela esta sendo carregada para o campo destinado a ela;
* Verificar se as informações está sendo impressa no DANFE corretamente;
* Verificar se o sistema avisa quando algum campo obrigatório está sem preenchimento;
* Verificar se o Valor Total da Nota Fiscal está correto;
* Verificar se o tipo de Operação está de acordo com a CFOP selecionada;
* Uma NF-e já emitida poderá ser alterada porém apenas alguns dados relacionados a operação interestadual poderão ser alterados;
* O Sistema deve permitir salvar a Nota Fiscal sem envia-la;
* Verificar o número de caracteres nos campos;
* Os campos de valores não podem aceitar a digitação de caracteres especiais;
* O sistema deve aceitar desconto na NF-e com valor superior a R$ 1000,00;
* Verificar se o sistema aceita duas ou mais vírgulas nos campos que contém valor;
* Verificar o Botão Ferramentas do Grid Notas Fiscais está funcionando;
* Verificar se as funcionalidades ao clicar com o Botão direito no grid de notas fiscais está funcionando;
* Verificar os problemas de conexão com o banco de dados;
* Verificar a Geração do arquivo SINTEGRA;
* Verificar o envio das Notas Fiscais utilizando todos os CST's;
==== Verificação da Nota Fiscal Entrada ====
* O sistema deve permitir que o usuário digite até 9 caracteres para o Número da Nota Fiscal;
==== Verificação da Nota Fiscal Saída ====
* Verificar se o Número da Nota Fiscal está sendo atualizado automaticamente nas Notas Fiscais de Saída;
==== Verificação da Nota Fiscal Complementar ====
* É possível incluir várias notas complementares para uma mesma NF-e
==== Verificação da Nota Fiscal de estorno ====
A solicitação de cancelamento extemporâneo por meio de processo foi extinta, e em sua substituição foi criada a NF-e de estorno.
Nos casos em que a operação não tenha sido realizada e o cancelamento não tenha sido transmitido no prazo de 24 horas, a correção deve ser feita através da emissão de NF-e de estorno, com as seguintes características:
* Finalidade de emissão da NF-e (campo FinNFe) = "3 - NF-e de ajuste";
* Descrição da Natureza da Operação (campo natOp) = "999 - Estorno de NF-e não cancelada no prazo legal";
* Referenciar a chave de acesso da NF-e que está sendo estornada (campo refNFe);
* Dados de produtos e valores equivalentes aos da NF-e estornada;
* Códigos de CFOP inversos aos constantes na NF-e estornada;
* Informar a justificativa do estorno nas Informações Adicionais de Interesse do Fisco (campo infAdFisco).
O sistema provê uma forma de ajudar o usuário a emitir esse tipo de Nota da seguinte maneira:
* Ao clicar com o botão direito em uma NF-e que for estornada o sistema dará a opção de nota fiscal de estorno;
* O sistema deverá abrir o cadastro com alguns dados pré definidos, são eles:
* **Finalidade**: NF-e de ajuste.
* **Documento referenciado**: O sistema deverá referenciar a NF-e que será estornada.
* **CFOP**: O sistema não definirá o CFOP para o usuário, porém quando o usuário selecionar o CFOP o sistema mudará a descrição do mesmo para "999 - Estorno de NF-e não cancelada no prazo legal", atendendo a exigência da Sefaz.
A justificativa deverá ser informada pelo usuário no campo de informações do fisco.
Os itens da NF-e também são de responsabilidade do usuário, portanto o sistema não definirá o produto.
==== Verificação de documentos referenciados ====
* O sistema deve permitir que seja inclusa uma lista de documentos referenciados em uma NF-e.
* Uma nota complementar deverá incluir automaticamente a NF-e referenciada em seus documentos referenciados.
* Uma nota de estorno deverá incluir automaticamente a NF-e referenciada em seus documentos referenciados.
* O sistema deverá incluir, alterar e excluir um documentos referenciado normalmente.
* Caso a opção, nas configurações do sistema, de inclusão do documento referenciado nas informações complementares esteja habilitada o sistema deverá incluir o texto contendo o documento e suas particularidades nas informações complementares da NF-e.
* Ao selecionar um destinatário o sistema deverá preencher os dados de UF, CNPJ, CPF e IE se esses dados existirem no cadastro do destinatário.
* Para o caso de documentos que possuam série, o sistema deverá validar esse dado, sendo que 0, e o intervalo entre 1-999 serão aceitos, porém numerações como 01, 09, 020, 099, começadas em zero não serão aceitas.
* Para notas de devolução/retorno o sistema deverá permitir ser referenciada nota com série especial, desde que a mesma esteja autorizada.
* A tela de cadastro de documentos referenciados deverá ter o compromisso de habilitar e limpar os campos de acordo com o documento referenciado selecionado. Por exemplo: Caso o usuário selecione NF-e o sistema deverá habilitar o campo necessário para que a NF-e seja referenciada e deverá limpar os campos da tela caso estejam preenchidos.
* O sistema deverá permitir a seleção de uma NF-e ou CT-e, de acordo com o tipo selecionado, para o preenchimento do campo chave de acesso e data de emissão.
===== Observações =====
As regras para o processamento de descontos dos itens foram definidas através do comportamento atual do sistema e da contribuição de alguns clientes.
~~DISCUSSION|Sugira mudanças, aponte falhas ou contribua de alguma forma aqui:~~