Pular para o conteúdo principal

MNF032 — Importação de XML Transmitido (enriquecimento)

Menu: Faturamento > Movimentações > Notas Fiscais > Importação de XML Transmitido

Objetivo​

A tela MNF032 permite ao usuário selecionar um ou mais arquivos XML de NF-e transmitida (de emissão ou de cancelamento) e o sistema lê, valida e preenche automaticamente os dados de uma nota fiscal completa (cabeçalho, itens, impostos, transportador e parcelas). O usuário revisa os dados na aba "Dados da Nota" e confirma para gerar a nota definitiva, gerando impostos, débito de comissão de vendedor e processo de caixa quando aplicável; para XML de cancelamento, a tela aciona o cancelamento da nota já lançada.

Fluxo principal​

  1. Acessar Faturamento > Movimentações > Notas Fiscais > Importação de XML Transmitido; a tela abre na aba Arquivos. (pagArquivos) — source/MNF032/UMNF032.pas:219-223 (iniciar)
  2. Clicar em Importar (F2) e selecionar um ou mais arquivos XML no diálogo de arquivos. (pagArquivos) — source/MNF032/UMNF032.pas:380-420 (TfrmMNF032.btnIMPORTARClick)
  3. O sistema lê cada XML (emissão ou cancelamento), grava um log de importação por arquivo e, se for XML de emissão válido, preenche automaticamente os dados da nota (pessoa, endereço, itens, impostos, transportador, parcelas). (pagArquivos) — source/MNF032/UMNF032.pas:432-459 (TfrmMNF032.carregaXML)
  4. Se ao menos um XML foi importado com sucesso, a tela muda automaticamente para a aba Dados da Nota. (pagDadosNota) — source/MNF032/UMNF032.pas:422-426 (TfrmMNF032.btnIMPORTARClick)
  5. Usuário revisa/ajusta os dados da nota (vendedor, condição/forma de pagamento) e a movimentação de cada item na grade. (pagDadosNota) — source/MNF032/UMNF032.pas:1972-1995 (TfrmMNF032.gridItemNotaKeyDown)
  6. O sistema salva uma cópia do XML na pasta de arquivos da empresa e exibe a mensagem de sucesso. (pagDadosNota) — source/MNF032/UMNF032.pas:1904-1929 (TfrmMNF032.btnConfirmaNotaClick)
  7. Para XML de cancelamento, usuário aciona Executar Cancelamento (F7) para cancelar a nota já importada via tela MNF005. (pagArquivos) — source/MNF032/UMNF032.pas:1997-2006 (TfrmMNF032.btnExecutarCancelamentoClick)
  8. Para reimportar um XML já processado, usuário aciona Reimportar XML (F10); a nota antiga é cancelada/excluída conforme o status e o XML é reimportado. (pagArquivos) — source/MNF032/UMNF032.pas:2995-3048 (TfrmMNF032.btnReimportarXMLClick)

Campos obrigatórios​

CampoCondiçãoMensagemFonte
DT_EMISSAO (Data de Emissão)sempre, ao salvar a aba Dados da Notasource/MNF032/UdmMNF032.pas:1465-1469 (TdmMNF032.tabNOTABeforePost)
CD_PESSOA (Pessoa Física/Jurídica)sempre, ao salvar a aba Dados da Notasource/MNF032/UdmMNF032.pas:1471-1476 (TdmMNF032.tabNOTABeforePost)
CD_ENDERECO (Endereço da Pessoa)sempre, ao salvar a aba Dados da Notasource/MNF032/UdmMNF032.pas:1477-1481 (TdmMNF032.tabNOTABeforePost)
CD_CONDPAGTO (Condição de Pagamento)sempre, ao salvar a aba Dados da Notasource/MNF032/UdmMNF032.pas:1483-1487 (TdmMNF032.tabNOTABeforePost)
CD_FORMAPAGTO (Forma de Pagamento)sempre, ao salvar a aba Dados da Notasource/MNF032/UdmMNF032.pas:1489-1492 (TdmMNF032.tabNOTABeforePost)
CD_VENDEDOR (Vendedor)quando PARMFATUR.ST_BLOQUEIOVENDEDOR = 'S' e PARMFATUR.ST_VARIOSVENDEDORES = 'N'source/MNF032/UdmMNF032.pas:1494-1500 (TdmMNF032.tabNOTABeforePost)
CD_MOVIMENTACAO (Movimentação do Item)sempre, ao salvar cada item da notasource/MNF032/UdmMNF032.pas:1650-1654 (TdmMNF032.tabITEMNOTABeforePost)

Mensagens: causa e ação​

A Movimentação %s não pode ser de Devolução ou Retorno!​

Causa: O item recebeu (automática ou manualmente) uma Movimentação cujo cadastro está marcado como Devolução/Retorno.

Ação: Trocar a Movimentação do item por uma de venda/compra normal na grade de itens.

Fonte: source/MNF032/UdmMNF032.pas:1622-1623 (TdmMNF032.tabITEMNOTACD_MOVIMENTACAOValidate)

A Movimentação Gera Estoque e o Produto "%s": Não Possui Local de Armazenagem Associado. Ou o Usuário não Possui Acesso. Ou não Permite Faturamento. Verifique! [TPO001, TOF007]​

Causa: O produto do item não tem local de armazenagem cadastrado, ou o usuário não tem acesso ao local, ou o local não permite faturamento.

Ação: Cadastrar/associar o local de armazenagem ao produto em TPO001 e liberar o acesso do usuário ao local em TOF007.

Fonte: source/MNF032/UdmMNF032.pas:1080-1086 (TdmMNF032.retornaLocalArmaz)

A Movimentação não está Ativa!​

Causa: A Movimentação vinculada ao item está com o cadastro inativo.

Ação: Selecionar outra Movimentação ativa, ou reativar a Movimentação no cadastro correspondente.

Fonte: source/MNF032/UdmMNF032.pas:1619-1620 (TdmMNF032.tabITEMNOTACD_MOVIMENTACAOValidate)

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

Causa: Não há nenhum item na nota (XML sem itens ou todos falharam ao importar).

Ação: Reimportar o XML ou revisar/incluir os itens antes de confirmar.

Fonte: source/MNF032/UMNF032.pas:1487-1490 (TfrmMNF032.btnConfirmaNotaClick)

A Nota Fiscal não possui Valor!​

Causa: O campo de valor total da nota (VL_NOTAFISCAL) está vazio, geralmente por falha na leitura do total do XML.

Ação: Verificar o arquivo XML de origem e reimportá-lo se necessário.

Fonte: source/MNF032/UMNF032.pas:1483-1485 (TfrmMNF032.btnConfirmaNotaClick)

Dados Importados do XML não Confirmados. Tem certeza que deseja sair sem Confirmar?​

Causa: O usuário está fechando a tela com uma nota já importada, mas ainda não confirmada com o botão Confirmar Nota.

Ação: Confirmar a nota antes de sair, ou aceitar sair (os dados importados serão descartados, pois a transação é revertida).

Fonte: source/MNF032/UMNF032.pas:233-246 (TfrmMNF032.FormClose)

Deseja Gerar Débito para o Vendedor​

Causa: O parâmetro ST_DEBITOVENDEDOR está ativo e a nota confirmada possui vendedor informado.

Ação: Responder Sim para lançar o débito de comissão do vendedor, ou Não para não gerar.

Fonte: source/MNF032/UMNF032.pas:1603-1607 (TfrmMNF032.btnConfirmaNotaClick)

Débito Vendedor Gerado com Sucesso ! Lançamento N° %s.​

Causa: O lançamento de débito de comissão do vendedor foi gravado com sucesso.

Ação: Nenhuma ação necessária; mensagem informativa com o número do lançamento gerado.

Fonte: source/MNF032/UMNF032.pas:1633-1636 (TfrmMNF032.btnConfirmaNotaClick)

Endereço não encontrado para a Pessoa [%s]: ...​

Causa: Não existe endereço ativo cadastrado para o destinatário no mesmo município informado no XML.

Ação: Cadastrar ou corrigir o endereço da pessoa em Cadastro de Pessoas (TFA001), usando o mesmo município do XML.

Fonte: source/MNF032/UdmMNF032.pas:1445-1453 (TdmMNF032.ValidaEnderecoPessoa)

Endereço não encontrado para a Pessoa da Empresa [%s]: ...​

Causa: Não existe endereço ativo cadastrado para a empresa emitente no mesmo município informado no XML.

Ação: Cadastrar ou corrigir o endereço da empresa (pessoa jurídica da empresa) com o mesmo município do XML.

Fonte: source/MNF032/UdmMNF032.pas:1416-1424 (TdmMNF032.ValidaEnderecoEmpresa)

Importação de item com grade não suportado. Importação Cancelada.​

Causa: O item do XML corresponde a um produto cadastrado com grade no ERP.

Ação: Lançar a nota manualmente para esse item, ou usar um item equivalente sem grade.

Fonte: source/MNF032/UMNF032.pas:633-634 (TfrmMNF032.preencheDadosNota)

Informe o item antes de informar a Movimentação! Verifique.​

Causa: O sistema tentou determinar o imposto do item a partir da Movimentação, mas o campo Item ainda está vazio.

Ação: Preencher o campo Item do produto antes da Movimentação.

Fonte: source/MNF032/UMNF032.pas:3389-3390 (TfrmMNF032.AtualizaImpostoItemFornec)

Nota(s) Processada(s) com sucesso!​

Causa: Todas as notas pendentes na aba Dados da Nota foram confirmadas e geradas com sucesso.

Ação: Nenhuma ação necessária; mensagem informativa de conclusão.

Fonte: source/MNF032/UMNF032.pas:1928-1929 (TfrmMNF032.btnConfirmaNotaClick)

Não há Nenhuma Nota a ser Processada!​

Causa: O usuário clicou em Confirmar Nota sem nenhum XML importado para a aba Dados da Nota.

Ação: Importar um XML válido antes de confirmar.

Fonte: source/MNF032/UMNF032.pas:1427-1430 (TfrmMNF032.btnConfirmaNotaClick)

O Endereço da Pessoa Física / Jurídica não está Cadastrado [TFA001]!​

Causa: A combinação de pessoa e código de endereço selecionada manualmente na tela não existe no cadastro.

Ação: Selecionar um endereço válido já cadastrado para a pessoa em TFA001.

Fonte: source/MNF032/UdmMNF032.pas:1540-1545 (TdmMNF032.tabNOTACD_ENDERECOValidate)

O Item da Nota não possui Movimentação. Verifique!!​

Causa: Ao menos um item da nota está sem o campo Movimentação preenchido.

Ação: Preencher a Movimentação de cada item na grade antes de confirmar.

Fonte: source/MNF032/UMNF032.pas:1492-1495 (TfrmMNF032.btnConfirmaNotaClick)

O Tipo de Operação da Movimentação não pode ser de Compra!​

Causa: A Movimentação escolhida para o item é do tipo Compra/Entrada, incompatível com o tipo da nota (não é uma entrada por venda).

Ação: Selecionar uma Movimentação de Saída/Venda compatível.

Fonte: source/MNF032/UdmMNF032.pas:1616-1617 (TdmMNF032.tabITEMNOTACD_MOVIMENTACAOValidate)

O Usuário não Possui Acesso a Cancelamento de Notas!​

Causa: O usuário logado não tem o módulo MNF005 (Cancelamento de Nota) liberado no menu.

Ação: Solicitar ao administrador a liberação de acesso ao módulo MNF005.

Fonte: source/MNF032/UMNF032.pas:3065-3067 (TfrmMNF032.CancelaNotas)

O Vendedor Não Possui Movimentação de Débito Cadastrada! [MFA001]​

Causa: O parâmetro PARMFATUR.CD_MOVDEBITOVEND, que define a Movimentação usada para gerar o débito de comissão, não está configurado.

Ação: Cadastrar a Movimentação de débito de vendedor em Parâmetros de Faturamento (MFA001).

Fonte: source/MNF032/UMNF032.pas:1637-1639 (TfrmMNF032.btnConfirmaNotaClick)

Operação Cancelada!​

Causa: O usuário optou por não sair da tela ao ser questionado sobre dados não confirmados.

Ação: Nenhuma ação necessária; a tela permanece aberta.

Fonte: source/MNF032/UMNF032.pas:233-246 (TfrmMNF032.FormClose)

Operação Cancelada! É Obrigado Informar os Vendedores​

Causa: O parâmetro de múltiplos vendedores está ativo e o bloqueio de vendedor está ligado, mas nenhum vendedor foi definido no rateio por item.

Ação: Informar o(s) vendedor(es) na tela de rateio de vendedores antes de confirmar.

Fonte: source/MNF032/UMNF032.pas:1323-1326 (TfrmMNF032.Grava_NotaFiscal)

Somente é Permitido Informar Números !​

Causa: O usuário digitou um valor não numérico ao informar manualmente o número do recibo de caixa.

Ação: Informar apenas dígitos numéricos no número do recibo.

Fonte: source/MNF032/UMNF032.pas:1711-1718 (TfrmMNF032.btnConfirmaNotaClick)

Tela de Cancelamento de Nota [MNF005] está em uso. Feche-a e tente novamente;​

Causa: O módulo MNF005 já está aberto (por este ou outro usuário) no momento do cancelamento.

Ação: Fechar a tela MNF005 aberta e repetir a operação de cancelamento.

Fonte: source/MNF032/UMNF032.pas:3083-3084 (TfrmMNF032.CancelaNotas)

Tem certeza que deseja reimportar XML? * A Nota antiga será Cancelada/Excluída.​

Causa: O usuário acionou Reimportar XML sobre um XML já processado anteriormente (nota existente na base).

Ação: Confirmar apenas se deseja substituir a nota já lançada; a nota antiga será cancelada e/ou excluída conforme seu status.

Fonte: source/MNF032/UMNF032.pas:3001-3003 (TfrmMNF032.btnReimportarXMLClick)

XML: %s Salvo com Sucesso!​

Causa: A nota foi confirmada com sucesso e o arquivo XML original foi copiado para a pasta de arquivos da empresa.

Ação: Nenhuma ação necessária; mensagem informativa com o caminho salvo.

Fonte: source/MNF032/UMNF032.pas:1904-1911 (TfrmMNF032.btnConfirmaNotaClick)

Regras de negócio​

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

Perguntas frequentes​

P: Por que a tela pede confirmação ao tentar sair após importar o XML? R: Porque a nota foi importada mas ainda não confirmada; se o usuário sair sem confirmar, a importação é revertida (rollback). Fonte: source/MNF032/UMNF032.pas:227-251 (TfrmMNF032.FormClose)

P: Deu a mensagem 'A Nota Fiscal não possui Produtos', o que fazer? R: O XML não trouxe itens válidos ou todos os itens falharam na importação; reimporte o XML ou revise/inclua os itens antes de confirmar. Fonte: source/MNF032/UMNF032.pas:1487-1490 (TfrmMNF032.btnConfirmaNotaClick)

P: Por que apareceu 'O Item da Nota não possui Movimentação'? R: Algum item ficou sem Movimentação vinculada (a sugestão automática não encontrou regra e não foi ajustado manualmente); preencha a Movimentação do item na grade. Fonte: source/MNF032/UdmMNF032.pas:1650-1654 (TdmMNF032.tabITEMNOTABeforePost)

P: Por que não consigo importar um item com grade? R: O módulo de importação de XML não suporta itens de produto com grade; a importação daquele item é cancelada automaticamente. Fonte: source/MNF032/UMNF032.pas:633-634 (TfrmMNF032.preencheDadosNota)

P: Deu a mensagem 'Endereço não encontrado para a Pessoa', o que fazer? R: A pessoa (destinatário ou empresa) não tem endereço ativo cadastrado no mesmo município informado no XML; cadastre/corrija o endereço em TFA001. Fonte: source/MNF032/UdmMNF032.pas:1445-1453 (TdmMNF032.ValidaEnderecoPessoa)

P: Por que não consigo cancelar a nota pelo XML de cancelamento? R: O usuário não tem acesso ao módulo MNF005 (Cancelamento de Nota), necessário para efetivar o cancelamento; solicite a liberação de acesso. Fonte: source/MNF032/UMNF032.pas:3065-3067 (TfrmMNF032.CancelaNotas)

P: Deu erro 'Tela de Cancelamento em uso', o que significa? R: A tela MNF005 já está aberta (por este ou outro usuário) no momento; feche-a e tente cancelar novamente. Fonte: source/MNF032/UMNF032.pas:3083-3084 (TfrmMNF032.CancelaNotas)

P: Por que a nota some/muda de status ao reimportar o XML? R: A reimportação cancela e/ou exclui a nota anterior conforme seu status (válida, cancelada ou já excluída) antes de gerar a nova nota a partir do XML. Fonte: source/MNF032/UMNF032.pas:3006-3040 (TfrmMNF032.btnReimportarXMLClick)

P: Por que o sistema exige vendedor para confirmar a nota? R: O parâmetro de Faturamento bloqueia a nota sem vendedor quando não há múltiplos vendedores habilitados (ST_BLOQUEIOVENDEDOR='S' e ST_VARIOSVENDEDORES='N'). Fonte: source/MNF032/UdmMNF032.pas:1494-1500 (TdmMNF032.tabNOTABeforePost)

P: O débito de comissão do vendedor não foi gerado, por quê? R: O parâmetro de Movimentação para débito de vendedor (CD_MOVDEBITOVEND) não está cadastrado em Parâmetros de Faturamento. Fonte: source/MNF032/UMNF032.pas:1637-1639 (TfrmMNF032.btnConfirmaNotaClick)

P: A Movimentação sugerida automaticamente para o item está errada, é normal? R: O sistema tenta buscar a movimentação certa pelo cadastro de regras; se não encontrar, usa a movimentação padrão de saída dos parâmetros (CD_MOVSAIDA), então pode não refletir a operação real do item — ajuste manualmente na grade. Fonte: source/MNF032/UdmMNF032.pas:893-922 (TdmMNF032.buscaMovimentacao)

P: A confirmação foi bloqueada por estoque negativo, como resolver? R: A parametrização de verificação de estoque negativo está configurada para bloquear ('B'); ajuste o estoque do produto/local ou reveja essa parametrização caso o bloqueio não deva ocorrer. Fonte: source/MNF032/UMNF032.pas:1109-1131 (TfrmMNF032.bloqueiaAlertaEstoque)

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

  • Quais são exatamente os critérios de 'acesso do usuário' e 'permite faturamento' usados por RETORNA_LOCAISARMAZENAGEM para liberar o local de armazenagem? — A mensagem de local de armazenagem cita TPO001/TOF007 e depende dessa procedure Firebird (Scripts/RETORNA_LOCAISARMAZENAGEM.sql), que não foi lida nesta sessão.
  • Qual é a regra completa de mapeamento de impostos (CST/CSOSN, ICMS-ST, partilha DIFAL) usada por GERA_IMPOSTONOTA e pelas consultas à tabela IMPOSTO com ST_IMPOSTOXML? — A tela apenas prepara os dados do XML; a lógica fiscal definitiva está em procedures/tabelas do Firebird não lidas (GERA_IMPOSTONOTA, RETORNA_IMPMOV).
  • O código grava o indicador de pagamento do XML (indPag) como Condição de Pagamento quando nenhuma condição cadastrada bate com as duplicatas — isso é um comportamento aceito/conhecido pela equipe ou um defeito a corrigir? — UMNF032.pas:2369-2371, bloco except de validaXMLEmit.
  • Quais empresas/situações usam a licença erpNFe exigida pelo módulo, e há algum limite de quantidade de XMLs por importação em lote? — Não há validação explícita de licença nem limite de arquivos lida no código deste módulo.