Pular para o conteúdo principal

MNF001 — Recebimento de Notas Fiscais de Compra (enriquecimento)

Menu: Faturamento > Movimentações > Notas Fiscais > Recebimento de Notas Fiscais de Compra

Objetivo​

A tela MNF001 (Recebimento de Notas Fiscais de Compra) registra a entrada de notas fiscais de fornecedores no ERP, seja por digitação manual ou por importação do XML de NF-e/CT-e/NFS-e. Ao salvar, a tela grava a nota e seus itens, calcula os impostos (ICMS, IPI, PIS/COFINS, ICMS-ST/Difal, IBS/CBS), atualiza o estoque, gera contas a pagar e baixa o saldo de pedidos de compra vinculados. A tela também trata casos especiais do dia a dia de compras: produtos com grade, controle de lote de produção, números de série, rateio de frete/despesas entre notas e itens, notas complementares, notas referenciadas/de produtor rural, e bloqueia devoluções (que devem ser feitas na MNF007).

Fluxo principal​

  1. Informar Série/Espécie/Número da Nota Fiscal do Fornecedor e Data de Emissão/Recebimento; o sistema verifica se já existe nota igual lançada para a mesma pessoa (mesmo número/série/espécie), a menos que a pessoa permita mesmo número em data diferente. (Aba Nota) — source/MNF001/UMNF001.pas:3489-3561 (TfrmMNF001.edtCD_ESPECIEFORExit)
  2. Alternativa: importar o XML da NF-e/CT-e clicando em Importar XML; o sistema carrega fornecedor e itens em grids auxiliares (cdsFORNECEDOR/cdsITEMFORNEC) para conferência antes de gravar. (Tela de Dados da Importação de XML) — source/MNF001/UMNF001DadosXML.pas:472-533 (TfrmMNF001DadosXml.btnIMPORTARClick)
  3. Se a nota tiver CFOP de devolução, o sistema pergunta se deseja informar a Chave de Acesso da nota de origem e não permite salvar sem essa informação (quando não há nota referenciada already vinculada). (Aba Dados Adicionais — Notas Referenciadas) — source/MNF001/UdmMNF001.pas:9982-10022 (TdmMNF001.VerificaNotaDevolucao)

Campos obrigatórios​

CampoCondiçãoMensagemFonte
Data de Emissão (recebimento) / Data do Fornecedor (emissão da NF)sempre, ao salvar (BeforePost da NOTA)É Obrigatório informar a Data de Recebimento da Nota Fiscal! / É Obrigatório informar a Data de Emissão da Nota Fiscal!source/MNF001/UdmMNF001.pas:3758-3769 (TdmMNF001.tabNOTABeforePost)
Pessoa (fornecedor) e Endereçosempre, ao salvarÉ Obrigatório informar a Pessoa Física / Jurídica! / É Obrigatório informar o Endereço da Pessoa Física / Jurídica!source/MNF001/UdmMNF001.pas:3771-3783 (TdmMNF001.tabNOTABeforePost)
Condição de Pagamento e Forma de Pagamentosempre, ao salvarÉ Obrigatório informar a Condição de Pagamento! / É Obrigatório informar a Forma de Pagamento!source/MNF001/UdmMNF001.pas:3784-3789 (TdmMNF001.tabNOTABeforePost)
Data de Vencimentoquando a Condição de Pagamento é do tipo 'Vencto Digitado' (D) e a nota não veio de importação de XML (cdsFORNECEDOR vazio)É Obrigatório informar a Data de Vencimento para a Condição de Pagamento do Tipo Vencto Digitado!source/MNF001/UdmMNF001.pas:3790-3797 (TdmMNF001.tabNOTABeforePost)
Valor da Nota Fiscalsempre, ao salvarÉ Obrigatório informar o Valor da Nota Fiscal!source/MNF001/UdmMNF001.pas:3816-3820 (TdmMNF001.tabNOTABeforePost)
Produto, Movimentação, Peso, Quantidade, Valor Unitário e Valor Total do itempara cada linha da grade de itens, ao sair da linha (BeforePost do ITEMNOTA); Peso/Quantidade dispensados quando o item é complementar (ST_COMPLEMENTAR='C')É Obrigatório informar o Produto/a Movimentação/o Peso/a Quantidade/o Valor Unitário/o Valor Total do Produto na Nota Fiscal!source/MNF001/UdmMNF001.pas:3846-3881 (TdmMNF001.tabITEMNOTABeforePost)
Série e Espécie da Nota Fiscal do Fornecedorsempre, ao clicar em SalvarÉ Obrigatório informar a Série da Nota Fiscal do Fornecedor! / É Obrigatório informar a Espécie da Nota Fiscal do Fornecedor!source/MNF001/UMNF001.pas:1644-1655 (TfrmMNF001.btnSalvarClick)
Número da Nota Fiscal do Fornecedorquando a operação é 'Recebimento' (rdoRecebimento) e não há numeração sequencial automática configuradaÉ Obrigatório informar o Número da Nota Fiscal do Fornecedor!source/MNF001/UMNF001.pas:1634-1642 (TfrmMNF001.btnSalvarClick)
Ao menos um produto na notasempre, ao salvarA Nota Fiscal não possui Produtos. Verifique!source/MNF001/UMNF001.pas:1657-1663 (TfrmMNF001.btnSalvarClick)

Mensagens: causa e ação​

A chave de acesso deve ser informada.​

Causa: O usuário tentou confirmar a tela de Chave de Acesso sem digitar nenhum valor no campo.

Ação: Digitar a chave de acesso de 44 dígitos da nota fiscal de origem antes de confirmar.

Fonte: source/MNF001/UformChaveAcessoMNF001.pas:147-152 (TformChaveAcesso.actionOKExecute)

A chave de acesso informada é inválida.​

Causa: A chave digitada tem menos de 44 caracteres ou não passa na validação do dígito verificador (módulo 11).

Ação: Conferir a chave copiada/digitada e reinserir o valor completo e correto de 44 dígitos.

Fonte: source/MNF001/UMNF001.pas:6173-6187 (TfrmMNF001.edtNR_CHAVEACESSOExit), source/MNF001/UformChaveAcessoMNF001.pas:154-159 (TformChaveAcesso.actionOKExecute)

A Nota Fiscal já está Lançada para esta Pessoa! ...​

Causa: Já existe uma NOTA gravada com o mesmo Número/Série/Espécie para a mesma pessoa e mesma inscrição estadual do endereço.

Ação: Verificar se a nota já não foi lançada anteriormente; se o mesmo número for legítimo em data diferente, isso só é aceito se o cadastro da pessoa (TFA001) permitir número repetido em data diferente.

Fonte: source/MNF001/UMNF001.pas:3552-3561 (TfrmMNF001.edtCD_ESPECIEFORExit)

A Nota Fiscal não possui Produtos. Verifique!​

Causa: O usuário tentou salvar a nota sem ter incluído nenhum item no grid de produtos.

Ação: Incluir ao menos um produto na nota antes de salvar.

Fonte: source/MNF001/UMNF001.pas:1658-1663 (TfrmMNF001.btnSalvarClick)

A quantidade selecionada do Item ... é maior que no XML.(Quantidade do XML ...). Verifique!​

Causa: Na vinculação de itens de pedido de compra a uma nota importada de XML, foi selecionada mais quantidade de pedido do que a quantidade restante do mesmo item no XML.

Ação: Reduzir a quantidade do pedido selecionada até não ultrapassar o saldo do item no XML.

Fonte: source/MNF001/UPEDIDOE.pas:239-243 (TfrmPEDIDOE.btnOKClick)

A Quatidade de Volumes Adicionais da Nota deve ser Maior ou igual que Zero!​

Causa: O campo de Volumes Adicionais foi preenchido com valor negativo.

Ação: Informar um valor de volumes adicionais maior ou igual a zero.

Fonte: source/MNF001/UdmMNF001.pas:8149-8155 (TdmMNF001.tabNOTAQT_VOLUMEADICValidate)

Atenção. O Valor Total de rateio do Frete é diferente do Conhecimento de Frete.​

Causa: A soma do frete rateado entre as notas vinculadas ao Conhecimento de Frete não coincide com o valor do próprio conhecimento.

Ação: Revisar os valores de frete rateados por nota fiscal; a mensagem é apenas um aviso e não impede a gravação.

Fonte: source/MNF001/UFRETENF.pas:204-207 (TfrmFRETENF.btnOKClick)

Atenção! Para realizar a devolução de documentos fiscais, utilizar a tela MNF007.​

Causa: O CFOP associado à movimentação escolhida para o item está marcado como devolução (CFO.ST_DEVOLUCAO='S').

Ação: Se o lançamento for realmente uma devolução, cancelar aqui e realizar o processo na tela MNF007; caso contrário, revisar a movimentação/CFOP selecionado.

Fonte: source/MNF001/UdmMNF001.pas:4617-4633 (TdmMNF001.tabITEMNOTACD_MOVIMENTACAOValidate)

Atenção! As alterações na nota atual não serão salvas, será iniciada uma nova nota fiscal! Deseja realmente alterar a série da empresa?​

Causa: O usuário clicou para trocar a Série da empresa enquanto havia uma nota em edição na tela.

Ação: Confirmar apenas se aceitar perder as alterações não salvas da nota atual; caso contrário, salvar a nota antes de trocar a série.

Fonte: source/MNF001/UMNF001.pas:6158-6170 (TfrmMNF001.btnAtualizarSerieEmpClick)

Regras de negócio​

  • MNF001.R001 (ver regras/MNF001/MNF001.R001.md)
  • MNF001.R002 (ver regras/MNF001/MNF001.R002.md)
  • MNF001.R003 (ver regras/MNF001/MNF001.R003.md)
  • MNF001.R004 (ver regras/MNF001/MNF001.R004.md)
  • MNF001.R005 (ver regras/MNF001/MNF001.R005.md)
  • MNF001.R006 (ver regras/MNF001/MNF001.R006.md)
  • MNF001.R007 (ver regras/MNF001/MNF001.R007.md)
  • MNF001.R008 (ver regras/MNF001/MNF001.R008.md)
  • MNF001.R009 (ver regras/MNF001/MNF001.R009.md)
  • MNF001.R010 (ver regras/MNF001/MNF001.R010.md)
  • MNF001.R011 (ver regras/MNF001/MNF001.R011.md)
  • MNF001.R012 (ver regras/MNF001/MNF001.R012.md)
  • MNF001.R013 (ver regras/MNF001/MNF001.R013.md)
  • MNF001.R014 (ver regras/MNF001/MNF001.R014.md)
  • MNF001.R015 (ver regras/MNF001/MNF001.R015.md)
  • MNF001.R016 (ver regras/MNF001/MNF001.R016.md)
  • MNF001.R017 (ver regras/MNF001/MNF001.R017.md)
  • MNF001.R018 (ver regras/MNF001/MNF001.R018.md)
  • MNF001.R019 (ver regras/MNF001/MNF001.R019.md)
  • MNF001.R020 (ver regras/MNF001/MNF001.R020.md)

Perguntas frequentes​

P: Por que não consigo salvar e aparece 'A Movimentação Gera Estoque e o Produto ... não possui Local de Armazenagem Associado'? R: A movimentação selecionada está configurada para gerar estoque, mas o produto não tem local de armazenagem cadastrado (ou o usuário não tem acesso a ele/não permite faturamento). Cadastre o local de armazenagem do produto em TPO001 (locais do produto) e confira o acesso do usuário em TOF007. Fonte: source/MNF001/UdmMNF001.pas:4659-4706 (TdmMNF001.tabITEMNOTACD_MOVIMENTACAOValidate)

P: Por que não consigo lançar uma devolução de nota nesta tela? R: O MNF001 bloqueia movimentações marcadas como devolução/retorno (ST_DEVOLUCAO); esse tipo de lançamento deve ser feito na tela MNF007 (Devolução/Retorno de Notas Fiscais). Fonte: source/MNF001/UdmMNF001.pas:4612-4633 (TdmMNF001.tabITEMNOTACD_MOVIMENTACAOValidate)

P: Deu a mensagem 'A Nota Fiscal já está Lançada para esta Pessoa!'. O que fazer? R: Já existe uma nota com o mesmo Número/Série/Espécie para esse fornecedor (mesma inscrição estadual do endereço). Confira se a nota já não foi digitada anteriormente; se a pessoa permitir (parâmetro ST_NFENTRADAMESMONUMERODTDIF), o mesmo número só é aceito com data de emissão diferente. Fonte: source/MNF001/UMNF001.pas:3489-3561 (TfrmMNF001.edtCD_ESPECIEFORExit)

P: Por que a Data de Vencimento fica bloqueada/cinza e não deixa digitar? R: O campo só fica editável quando a Condição de Pagamento cadastrada é do tipo 'Vencto Digitado' (D); para as demais, o sistema calcula a data automaticamente (ex.: maior prazo das parcelas) e desabilita o campo. Fonte: source/MNF001/UdmMNF001.pas:4308-4331 (TdmMNF001.tabNOTACD_CONDPAGTOValidate)

P: Deu a mensagem 'Soma das despesas dos produtos é diferente do total de despesas informado'. Como corrijo? R: O valor de despesa lançado por item não fecha com o campo de Despesa total da nota. Ajuste os valores de despesa em cada item (ou o total da nota) até que a soma bata; o sistema só divide automaticamente a diferença no último item quando o total dos itens está zerado. Fonte: source/MNF001/UdmMNF001.pas:2195-2237 (Grava_NotaFiscal)

P: Por que apareceu 'A Quantidade informada está fora da Faixa permitida de Peso Mínimo e Máximo'? R: O produto tem Peso Mínimo/Máximo cadastrados (ITEM) e o parâmetro PARMFATUR.ST_VALIDAPESO está ligado; a razão peso/quantidade lançada ficou fora dessa faixa. Ajuste o peso ou a quantidade do item, ou revise o cadastro de peso mínimo/máximo do produto. Fonte: source/MNF001/UdmMNF001.pas:10939-11026 (TdmMNF001.ValidaPeso)

P: Por que não consigo alterar a Movimentação de um item que veio da importação do XML? R: Itens importados do XML têm a movimentação travada; para mudar, é preciso refazer a importação do XML e escolher a movimentação correta na tela de Importação de XML. Fonte: source/MNF001/UdmMNF001.pas:4591-4594 (TdmMNF001.tabITEMNOTACD_MOVIMENTACAOValidate)

P: Deu a mensagem 'Código de Barras Já Cadastrado para o Item'. O que significa? R: O código de barras que o sistema geraria (ou que foi digitado) para o produto/grade já está associado a outro item. É necessário revisar o cadastro de código de barras do produto/grade em TPO001/TPO027. Fonte: source/MNF001/UdmMNF001.pas:2974-2982 (Grava_NotaFiscal)

P: Por que o sistema exige Pedido de Compra vinculado para salvar a nota? R: A série de nota utilizada está parametrizada em PARMNOTA com obrigatoriedade de pedido vinculado; sem um pedido associado (digitado, via XML ou já existente), a gravação é bloqueada. Fonte: source/MNF001/UMNF001.pas:1949-1969 (TfrmMNF001.btnSalvarClick)

P: Por que aparece o aviso 'Atenção! Para realizar a devolução de documentos fiscais, utilizar a tela MNF007' mesmo eu não achando que é uma devolução? R: O CFOP (dentro ou fora do estado) associado à movimentação do item está marcado como devolução na TFI002 (CFO.ST_DEVOLUCAO='S'). Revise a movimentação/CFOP selecionado; se realmente for devolução, use a MNF007. Fonte: source/MNF001/UdmMNF001.pas:4617-4633 (TdmMNF001.tabITEMNOTACD_MOVIMENTACAOValidate)

P: Deu erro pedindo a Chave de Acesso ao salvar uma nota com CFOP de devolução. O que fazer? R: Informe a chave de acesso da nota de origem na aba de Notas Referenciadas antes de salvar; o sistema não permite gravar nota com CFOP de devolução sem essa referência. Fonte: source/MNF001/UdmMNF001.pas:10003-10022 (TdmMNF001.VerificaNotaDevolucao)

Dúvidas em aberto (o código não responde)​

  • Qual o efeito completo do parâmetro PARMFATUR.ST_MODALIDADECALCULOFRETE além do rateio proporcional ao peso visto em UFRETENF (RN de atualização de custo de estoque)? — Só foi lida a ramificação 'S' (rateio por peso) em UFRETENF.pas; não foi possível confirmar o comportamento do valor alternativo dentro do escopo desta sessão.
  • Qual o efeito de PARMFATUR.ST_CONFNOTAENTRADA, ST_CONSOLPED, ST_IMPORTACFOCTE, ST_IMPORTADADOSDI, ST_ATUALIZATABPRECO, ST_CODIGOBARRA e ST_ALTERAICMS no módulo MNF001? — Esses parâmetros estão listados no briefing como lidos pelo módulo, mas seu uso não apareceu nos trechos efetivamente lidos (arquivos muito extensos, ex. UdmMNF001.pas com quase 13 mil linhas); não há citação de código para sustentar uma regra.
  • Qual o efeito de PARMFATUR.QT_CASASDECIMAISPRECOVENDA neste módulo? — Não localizado nos trechos lidos.
  • Quais são todas as condições internas de 'verificaNotaComplementar' (unit jFaturamento.NotaOrigem.pas) que fazem a associação de nota complementar ser cancelada? — A função é chamada em UMNF001.pas:1927-1931, mas sua implementação está em source/jFaturamento/NotaOrigem/jFaturamento.NotaOrigem.pas, fora dos arquivos do módulo MNF001 listados no briefing; não foi lida nesta sessão.
  • Quais valores possíveis de PARMSISTEMA.TP_FORMATOCODBARRA além de 'P' e 'S' existem, e o que cada um faz? — Só foram lidos os ramos 'P' (monta código com dígitos fixos) e 'S' (gera sequencial); não há certeza se existem outros valores tratados em outro ponto do sistema.