====== Especificação Funcional: Cadastro de Notas Fiscais ====== ===== Resumo ===== O Cadastro de Notas Fiscais é responsável por manter todas as notas emitidas pelos produtores rurais do município. Através deste módulo é possível incluir novas notas, excluir uma nota cadastrada, editar e visualizar os dados das notas cadastradas, entre outras. É possível também incluir e excluir notas fiscais canceladas. ===== Descrição ===== O Cadastro de Notas Fiscais é um dos principais cadastros do sistema pois através dele é que se pode contabilizar a produção rural do município em termos de quantidade, produtos, origem e destino dos produtos, entre outras informações. Ao acessar este módulo, o sistema deve exibir uma lista com as Notas Fiscais já cadastradas para facilitar as operações de exclusão, edição e visualização dos dados. Esta lista, que deve exibir os dados mais importantes de cada Nota Fiscal, também deve permitir a organização e o filtro dos dados por qualquer campo que esteja visível, além de permitir que o usuário oculte/exiba campos, imprima e exporte o conteúdo da lista. ==== Dados da Nota Fiscal ==== Uma Nota Fiscal deve possuir os seguintes campos: |< 100% 19% 60% 7% 7% 7%>| ^ Campo ^ Descrição ^ Tipo ^ Tamanho ^ Obrigatório? ^ |Produtor* |Identificação do produtor que emitiu a nota | Número | -- | Sim | |Empresa |Identificação do destinatário da nota | Número | -- | Sim | |Número* |Número da nota fiscal | Número | 9 | Sim | |Chave de acesso |Chave de acesso para as notas fiscais eletrônicas de produtor rural | Texto | 44 | Não | |Sequência |Número sequencial de cadastro da nota fiscal | Número | -- | Não | |Modelo* |Modelo da nota fiscal | Texto | 20 | Sim | |Série* |Série da nota fiscal | Texto | 6 | Não | |Data de emissão |Data em que a nota foi emitida | Data | -- | Sim | |Data de entrega* |Data em que a nota foi entregue ao NAC | Data | -- | Sim | |Natureza de operação |Natureza da operação fiscal | Número | -- | Sim | |Sócio |Nome do sócio ao qual pertence a nota, quando não é o titular do condomínio | Texto | 120 | Não | |ICMS |Valor do ICMS relativo à nota fiscal | Número | 11,2 | Não | |Enviar esta nota à SEFAZ |Indica se a nota será ou não enviada à SEFAZ quando forem gerados lotes para envio | Booleano | -- | -- | |Status do envio |Indica o status do envio da nota fiscal | Texto | 15 | -- | |Resultado do envio |Indica a mensagem recebida após a transmissão da nota à SEFAZ | Texto | 100 | Não | |Código do lote |Indica em que lote a nota foi ou será transmitida à SEFAZ | Inteiro | -- | Não | * Estes são os únicos campos necessários para o cadastro de notas canceladas. A série continua opcional. Cada nota fiscal **emitida** poderá conter itens, que serão compostos pelos seguintes campos: |< 100% 19% 60% 7% 7% 7%>| ^ Campo ^ Descrição ^ Tipo ^ Tamanho ^ Obrigatório? ^ |Código da nota fiscal |Código da nota a que o item pertence | Número | -- | Sim | |Código do produto |Código do produto referente ao item | Número | -- | Sim | |Código da unidade de medida |Código de uma das unidades de medidas do produto selecionado | Número | -- | Sim | |Quantidade |Quantidade do produto | Número | 11,2 | Sim | |Valor |Subtotal do item (valor unitário x quantidade) | Número | 11,2 | Sim | ==== Inclusão, alteração e exclusão de Notas Fiscais ==== Para cadastrar uma Nota Fiscal, é necessário que os seguintes cadastros tenham sido concluídos: * [[softwares:geagro:requisitos:modulos:cadastros:pessoas|Pessoas]] * Produtores vinculados no cadastro de [[softwares:geagro:requisitos:modulos:cadastros:propriedades#pessoas|Propriedades]] * [[softwares:geagro:requisitos:modulos:cadastros:empresas|Empresas]] * [[softwares:geagro:requisitos:modulos:cadastros:produtos|Produtos]] * [[softwares:geagro:requisitos:modulos:cadastros:categorias|Categorias]] Além destes, há outros dados necessários que não estarão acessíveis através da interface com o usuário mas farão parte das informações pré-configuradas no sistema e dos quais as Notas Fiscais dependem direta ou indiretamente. São eles: * Naturezas de operação * {{:softwares:geagro:biblioteca:categorias_sefaz_2010.pdf|Categorias da SEFAZ}} O status do envio pode ser alterado: * Quando uma nota é enviada com sucesso: ela passa de //não transmitida// para //validada//; * No cadastro de notas fiscais, uma a uma: somente se a nota já tiver sido transmitida, ela pode ser alterada para //Validada//, //Invalidada// ou //Transmitida//; * No cadastro de notas fiscais, várias notas de uma vez: as notas emitidas exibidas no grid podem ser alteradas para //Validada// ou //Invalidada//. === Validação de dados === * Datas: * Não podem ser anteriores a 7 (sete) anos em relação à data corrente; * Não podem ser posteriores à data corrente; * A data de emissão não pode ser posterior à data de entrega; * Série: devido a restrições impostas para o envio das notas fiscais pela internet, o campo Série deve conter apenas caracteres numéricos, indo de 1 a 999, sem zeros à esquerda; * Para o cadastro manual, a chave de acesso será opcional mas será validada se for preenchida. * A chave de acesso só será permitida para notas do modelo 55. * Os seguintes campos tem listas de valores pré-definidos e não podem aceitar valores que estejam fora do padrão: ^ Campo ^ Valores ^ |**Modelo** | MODELO 4 | |::: | MODELO 4-PD | |::: | SIMPLIFICADO | |::: | NF ENTRADA | |::: | 55 | |**Natureza de operação** | VENDA | |::: | REMESSA PARA ARMAZENAGEM | |::: | APASCENTAMENTO | |::: | TRANSFERENCIA | |::: | REMESSA PARA EXPOSICAO | |::: | REMESSA PARA VENDA FORA DO ESTABELEC. | |::: | REMESSA PARA INDUSTRIALIZACAO | |::: | RETORNO DE APASCENTAMENTO | |::: | RETORNO DE EXPOSICAO | |::: | RETORNO DE REMESSA P/ VENDA FORA DO ESTABELEC. | |::: | RETORNO DE INDUSTRIALIZACAO | |::: | DEMAIS SAIDAS | * Quantidade e valor da Nota Fiscal: Nas Notas Fiscais de **VENDA**, a quantidade e o valor total não podem ser iguais a 0 (zero). Portanto, com esta natureza de operação, as notas devem ter pelo menos um item. Em todas as outras naturezas de operação não há restrições. * Notas duplicadas: não é permitido o cadastro de notas com o mesmo //número//, //modelo//, //série// e //número de inscrição do produtor//. * O sócio, quando informado, deve ser um dos sócios cadastrados para o produtor selecionado. * O modelo 55 é exclusivo para notas fiscais eletrônicas de produtor rural (NFeP). Só quando este modelo for selecionado é que o usuário poderá informar a chave de acesso da nota. ==== Importação de notas fiscais eletrônicas ==== A SEFAZ-ES permite a emissão de notas fiscais eletrônicas de produtor rural pela internet (NFeP) através de sistema próprio. Estas notas são emitidas pela Web e os municípios/NACs ainda não tem um relatório sobre tais documentos fiscais emitidos por seus produtores rurais, a não ser que a SEFAZ forneça estes dados. Atualmente, a SEFAZ envia aos NACs planilhas com os dados das NFePs emitidas pelos produtores de cada município. Ou pode-se importar os arquivos XML das notas fiscais eletrônicas, quando disponíveis. A importação será feita pela barra de ferramentas na tela de consulta de notas fiscais. O usuário deve selecionar a importação por arquivos XML ou por planilhas. === Importação por planilhas === As planilhas devem estar em formato texto CSV, na codificação Windows-1252, com registros separados por vírgula (,). A primeira linha deve conter os nomes dos campos. Os dados a serem extraídos das planilhas são: * Chave de acesso* * Número da nota* * Modelo* * Série * Data de emissão* * Natureza da operação* * IE do produtor* * CPF/CNPJ da empresa* * Nome/razão social da empresa* * Município da empresa* * UF da empresa (sigla)* Os campos acima são relativos à nota fiscal mas são repetidos para cada item nos arquivos de importação. Durante a importação, o valor do primeiro item de cada nota é que será usado para preencher os dados da mesma. Os campos seguintes serão extraídos para cada item: * Descrição do produto* * Valor do item* Os campos marcados com * são obrigatórios. O sistema deve mostrar para o usuário uma tela com os campos acima e os campos encontrados no arquivo. O usuário deverá informar qual campo do aquivo corresponde a cada campo do cadastro de notas fiscais. Quando o usuário confirmar a importação, o sistema deve validar se todos os campos obrigatórios foram mapeados e iniciar a importação. O arquivo vai ser processado do início ao fim e, ao final da importação, o sistema deve exibir a lista de notas não importadas ou a confirmação da importação, caso não aconteça nenhum erro. Cada registro do arquivo vai ser processado obedecendo aos critérios: * Agrupar os registros pela chave da NFe: a chave deve ser usada para identificar as notas pois os arquivos tem um registro para cada item, repetindo a chave em cada item. Para cada nota: * Comparar os produtos pelo nome e cadastrar um novo caso o produto não seja encontrado; * Caso o produto já exista, utilizar a unidade de medida principal. Caso um novo produto seja criado, criar a unidade "UN" como principal e definir a quantidade do item como 1. A categoria do produto deve ser a categoria predefinida OUTROS e a categoria da SEFAZ deve ser DEMAIS PRODUTOS; * Buscar a empresa por CPF/CNPJ. Caso a empresa não seja encontrada, criar uma nova empresa, isenta de inscrição estadual, com o endereço formado pelo Município + UF; * Identificar o tipo de pessoa da empresa (física ou jurídica) pelo documento (CPF ou CNPJ); * Não enviar as notas importadas para a SEFAZ (campo "Enviar à SEFAZ" desmarcado); * A natureza da operação será derivada do CFOP através de mapeamento previamente feito entre as naturezas de operação aceitas pelo sistema e os possíveis CFOPs; * O status de envio das notas importadas deve ser definido como "Não transmitida"; * A data de entrega será igual à data corrente; * O valor da nota (soma dos itens). === Importação por arquivos XML === Nessa opção, o usuário deverá selecionar um ou mais arquivos XML contendo os dados das NFe's. Uma vez selecionados os arquivos, o sistema irá processá-los e mostrar a tela de cadastro de notas fiscais para cada nota fiscais lida. A importação termina quando todos os arquivos tiverem sidos processados ou quando o usuário cancelar o cadastro de uma das notas fiscais. De todos os campos do cadastro de notas, somente o ICMS e o sócio não serão preenchidos a partir do XML. Uma nota só não poderá ser importada se a inscrição estadual do produtor não estiver cadastrada no sistema. Nesse caso, o sistema deve informar ao usuário que a inscrição não foi encontrada e continuar a importação. Para cada nota: * Comparar os produtos pelo nome e cadastrar um novo caso o produto não seja encontrado; * Caso o produto já exista, utilizar a unidade de medida com a sigla indicada no XML, criando uma nova, se necessário; * Caso um novo produto seja criado, criar a unidade "UN" como principal e definir a quantidade do item como 1. A categoria do produto deve ser a categoria predefinida OUTROS e a categoria da SEFAZ deve ser DEMAIS PRODUTOS; * Buscar a empresa por CPF/CNPJ. Caso a empresa não seja encontrada, criar uma nova empresa, isenta de inscrição estadual, com o endereço formado pelo Município + UF do destinatário da NFe; * Identificar o tipo de pessoa da empresa (física ou jurídica) pelo documento (CPF ou CNPJ); * Enviar as notas importadas para a SEFAZ (campo "Enviar à SEFAZ" marcado, podendo ser desmarcado pelo usuário); * A natureza da operação será derivada do CFOP através de mapeamento previamente feito entre as naturezas de operação aceitas pelo sistema e os possíveis CFOPs; * O status de envio das notas importadas deve ser definido como "Não transmitida"; * A data de entrega será igual à data corrente; * O valor da nota (soma dos itens). ===== Configurações e preferências do usuário ===== ==== Nas preferências de cada usuário ==== * **Fechar janela após Inclusão**: Se esta configuração estiver ativa, a janela de cadastro será fechada após uma inclusão com sucesso; * **Manter o nome do Produtor na tela de Cadastro de Notas Fiscais**: Se esta configuração estiver ativa, o campo //Produtor// não será apagado após uma inclusão com sucesso; * **Manter o nome da Empresa na tela de Cadastro de Notas Fiscais**: Se esta configuração estiver ativa, o campo //Empresa// não será apagado após uma inclusão com sucesso; * **Manter a última Data de Entrega na tela de Cadastro de Notas Fiscais**: Se esta configuração estiver ativa, o campo //Data de Entrega// não será apagado após uma inclusão com sucesso; * **Manter a última Natureza de Operação na tela de Cadastro de Notas Fiscais**: Se esta configuração estiver ativa, o campo //Natureza de Operação// não será apagado após uma inclusão com sucesso; * **Manter a última data de emissão na tela de cadastro de notas fiscais**: Se esta configuração estiver ativa, o campo //Data de emissão// não será apagado após uma inclusão com sucesso; * **Manter a última série na tela de cadastro de notas fiscais**: Se esta configuração estiver ativa, o campo //Série// não será apagado após uma inclusão com sucesso; * **Manter a última opção selecionada no campo "Enviar à SEFAZ" na tela de cadastro de notas fiscais**: Se esta configuração estiver ativa, o campo //Enviar à SEFAZ// será mantido após uma inclusão com sucesso; * **Ordenação dos registros**: o sistema deverá permitir a escolha de qual campo será usado por padrão para ordenar a lista de notas fiscais e em ordem crescente ou decrescente; ==== Nas configurações de notas fiscais ==== * **Validar numeração da nota por data**: Define se as notas fiscais são validadas de acordo com número e data. Caso ativa, as notas devem ser emitidas na ordem crescente de número e data. * **Validar numeração da nota por talão**: Define se as notas fiscais são validadas de acordo com os talões cadastrados, através da numeração, data de emissão das notas e data da autorização das AIDFs. * **Exibir o campo Número de Sequência no cadastro de Notas Fiscais**: Se esta configuração estiver ativa, o campo //Sequência// será exibido no cadastro de notas fiscais; * **Gerar automaticamente o número de sequência no cadastro de notas fiscais**: Define se o número de sequência é gerado automaticamente. * **Naturezas de operação**: Naturezas de operação utilizadas para calcular a data da última nota. ===== Pontos de verificação ===== * Os campos da tela de Cadastro de Notas Fiscais devem estar alinhados. ==== Na inclusão/alteração de Notas Fiscais ==== * O sistema não deve salvar o cadastro sem que todos os campos obrigatórios estejam preenchidos; * Após a inclusão de uma Nota Fiscal, esta deverá ser exibida imediatamente na lista de notas fiscais cadastradas; * O sistema deve solicitar que o usuário confirme a exclusão de uma Nota Fiscal; * Após a exclusão de uma Nota Fiscal, esta deverá ser eliminada imediatamente da lista de Notas Fiscais; * O sistema não deve salvar uma nota fiscal de VENDA se o valor total ou a quantidade total dos itens forem iguais a 0 (zero); * Não devem ser permitidas datas de emissão ou de entrega anteriores a 7 (sete) anos em relação à data corrente; * Não devem ser permitidas datas posteriores à data corrente; * Não deve ser permitida data de emissão posterior à data de entrega; * Caso a opção "Fechar janela após inclusão" esteja desativada, além de manter a tela aberta para uma nova inclusão, o sistema deve manter os valores dos campos configurados nas respectivas opções; * Mesmo que não estejam configurados para não apagar os valores, a data de entrega e a natureza de operação devem ter os valores padrão: data atual e VENDA, respectivamente; * Devem ser respeitadas as configurações "Validar numeração da nota por data" e "Validar numeração da nota por talão", quando ativas; * Não devem ser permitidos valores além daqueles pré-definidos para o //Modelo// e a //Natureza de operação//; * A alteração da opção de enviar ou não a nota à SEFAZ só deve estar disponível se a nota ainda não tiver sido transmitida; * A alteração do status do envio de uma única nota só deve estar disponível para as notas transmitidas; * Ao alterar uma única nota transmitida ou validada, o sistema deve perguntar se o usuário quer incluí-la novamente num lote. Em caso afirmativo: * O lote e o resultado do envio devem ser apagados e o status do envio deve ser alterado para "Não transmitida"; * Ao gerar novos lotes no período de emissão da nota, esta deve ser alocada em um novo lote. * A ferramenta para alterar o status de várias notas deve seguir a mesma permissão para alterar uma nota individual; * O sistema não deve permitir o cadastro de notas com o mesmo número, modelo, série (mesmo em branco) e número de inscrição do produtor; * Produtos duplicados numa nota fiscal devem ter nos relatórios de produção o mesmo valor que teriam se colocados em notas diferentes; * A quantidade de cada item da nota fiscal deve estar limitado a 999.999.999,99 e o valor a 9.999.999.999,99. * A ação do clique duplo sobre um item do grid deve ser alterar o registro selecionado. * O número de sequência de novas notas fiscais deve ser gerado automaticamente pelo sistema se o campo "Número de sequência" estiver visível e se a geração automática deste campo estiver ativada. * O sistema deve calcular a data da ultima nota com base nas naturezas de operação marcadas nas configurações do sistema. * O sistema deve atualizar o campo data da ultima nota colocando-o em branco, quando a ultima nota emitida tiver natureza de operação diferente da que está marcada nas configurações do sistema. * O sistema deve exibir a data da ultima nota cadastrada sempre que nas configurações do sistema nenhuma natureza de operação estiver selecionada. ==== Cancelamento de notas fiscais ==== * O sistema não deve salvar o cadastro sem que todos os campos obrigatórios estejam preenchidos; * Não deve ser permitida data de entrega anterior a 7 (sete) anos em relação à data corrente; * Não deve ser permitida data de entrega posterior à data corrente; * O sistema não deve permitir o cadastro de notas com o mesmo número, modelo, série (mesmo em branco) e número de inscrição do produtor; * Não devem ser permitidos valores além daqueles pré-definidos para o //Modelo//; * Deve se respeitada a configuração "Validar numeração da nota por talão". ==== Na importação de NFeP ==== * Chave da NFe: obrigatória e deve conter 44 caracteres numéricos; * Número da NFe: é obrigatório e deve ser um número de até 9 dígitos. * Modelo: obrigatório. * Data de emissão: obrigatória e deve ser uma data válida no formato DD/MM/AAAA. * Natureza de operação: obrigatória e tem que corresponder a uma das naturezas de operação aceitas pela SEFAZ. * IE do produtor: obrigatória e deve ser uma IE válida. * CPF/CNPJ da empresa: obrigatório e deve ser um CPF ou CPNJ válido. * Nome/razão social da empresa: obrigatório, se a empresa não estiver cadastrada. * Município da empresa e UF da empresa: obrigatórios e devem constar nos municípios e UFs cadastrados, se a empresa não estiver cadastrada. * Descrição do produto: obrigatória. * Valor do item: obrigatório e deve ser um número válido. * Exibir a lista de notas não importadas ao final da operação. ===== Observações ===== Nenhuma informação adicional. ~~DISCUSSION|Sugira mudanças, aponte falhas ou contribua de alguma forma aqui:~~