MNF025 — Emissão de MDFe (enriquecimento)
Menu: Faturamento > Movimentações > Notas Fiscais > Emissão de MDFe
Objetivo
O MNF025 permite consultar notas fiscais de saída (CT-e ou NF-e) ainda não vinculadas a um MDF-e válido, selecionar as que serão transportadas em um mesmo veículo e reunir os dados obrigatórios do manifesto (série, motorista, percurso, reboques, seguro, pagamento e vale-pedágio). Ao final, o usuário grava o MDF-e e, opcionalmente, transmite-o à SEFAZ, com impressão automática do layout configurado.
Fluxo principal
- Informar empresa, placa do veículo (próprio ou de transporte) e demais filtros opcionais (datas, item, pessoa, estado, município, embarque, vendedor, lote de expedição, notas específicas). (Aba Consulta) —
source/MNF025/UMNF025.pas:606-631 (TfrmMNF025.btnProcurarClick) - Clicar em Procurar/Consultar para trazer as notas fiscais (CT-e ou NF-e) válidas ainda sem MDFe vinculado. (Aba Consulta) —
source/MNF025/UMNF025.pas:888-916 (TfrmMNF025.btnProcurarClick) - Marcar (coluna Status) as notas fiscais que serão transportadas no mesmo veículo/MDFe. (Aba Dados > Grid de Notas) —
source/MNF025/UMNF025.pas:1025-1050 (TfrmMNF025.btnMarcaClick) - Preencher os dados do MDFe: série, data de emissão, motorista, município de origem/destino e placa. (Aba Dados do MDFe) —
source/MNF025/UMNF025.pas:2079-2136 (TfrmMNF025.SalvarMDFe) - Configurar percurso, veículos reboque, seguro, motoristas adicionais e, se aplicável, notas de terceiros (chave de acesso do XML). (Abas Percurso / Reboque / Motoristas / Notas de Terceiros) —
source/MNF025/UdmMNF025.pas:633-727 (TdmMNF025.tabMDFEPERCURSOBeforePost) - Preencher a aba Pagamento quando exigida (responsável, condição de pagamento, componentes de frete, vale-pedágio). (Aba Pagamento) —
source/MNF025/UMNF025.pas:2220-2310 (TfrmMNF025.SalvarMDFe) - Clicar em Salvar MDF-e (grava sem transmitir) ou Gerar MDF-e (grava e transmite à SEFAZ), confirmando a operação na caixa de diálogo. (Barra de ferramentas) —
source/MNF025/UMNF025.pas:2043-2077 (TfrmMNF025.btnSalvarMDFeClick) - O sistema grava o manifesto, imprime o layout configurado e reinicia a tela para um novo lançamento. (Aba Dados do MDFe) —
source/MNF025/UMNF025.pas:2696-2718 (TfrmMNF025.SalvarMDFe)
Campos obrigatórios
| Campo | Condição | Mensagem | Fonte |
|---|---|---|---|
| Série do MDFe | Sempre, ao salvar/emitir o MDFe | É Obrigado Informar a Série! | source/MNF025/UMNF025.pas:2083-2087 (TfrmMNF025.SalvarMDFe) |
| Data de Emissão | Sempre, ao salvar/emitir o MDFe | É Obrigado Informar a Data De Emissão da MDF-e! | source/MNF025/UMNF025.pas:2089-2093 (TfrmMNF025.SalvarMDFe) |
| Motorista | Sempre, ao salvar/emitir o MDFe | É Obrigado Informar o Motorista do MDF-e! | source/MNF025/UMNF025.pas:2095-2099 (TfrmMNF025.SalvarMDFe) |
| Placa do Veículo | Sempre, ao salvar/emitir o MDFe | É Obrigado Informar a Placa do Veiculo paara emissão do MDF-e! | source/MNF025/UMNF025.pas:2101-2103 (TfrmMNF025.SalvarMDFe) |
| Município de Início da Rota | Sempre, ao salvar/emitir o MDFe | É Obrigado Informar o Município de Início Da Rota! | source/MNF025/UMNF025.pas:2105-2120 (TfrmMNF025.SalvarMDFe) |
| Município de Fim da Rota | Sempre, ao salvar/emitir o MDFe | É Obrigado Informar o Município de Fim Da Rota!! | source/MNF025/UMNF025.pas:2122-2136 (TfrmMNF025.SalvarMDFe) |
| Ao menos uma Nota Fiscal marcada | Sempre, ao salvar/emitir o MDFe | Nenhuma Nota Foi Selecionada. Verifique! | source/MNF025/UMNF025.pas:2696-2698 (TfrmMNF025.SalvarMDFe) |
| Responsável pelo Pagamento, Banco, Agência e Componente de Frete | Quando o Tipo de Emitente é Prestador de Serviço (1) ou Emissão Globalizada (3) e há no máximo 1 nota selecionada | W-0785 / W-2087 / W-2086 | source/MNF025/UMNF025.pas:2230-2262 (TfrmMNF025.SalvarMDFe) |
| Fornecedor de Vale-Pedágio e Quantidade de Eixos | Quando há componente de frete do tipo Vale-Pedágio (tipo 1) | E-2110 / Quantidade de Eixos obrigatória | source/MNF025/UMNF025.pas:2298-2310 (TfrmMNF025.SalvarMDFe) |
| CEP de Carregamento e Descarregamento | Quando o MDFe tem exatamente 1 nota fiscal gravada | Para MDFe com uma única nota, é obrigatório informar o CEP de Carregamento/Descarregamento! | source/MNF025/UMNF025.pas:2684-2694 (TfrmMNF025.SalvarMDFe) |
Mensagens: causa e ação
E-0272
Causa: O código de Condição de Pagamento informado no MDF-e não existe no cadastro.
Ação: Selecionar (F9) uma condição de pagamento cadastrada em Condições de Pagamento (TFC002) ou corrigir o código digitado.
Fonte: source/MNF025/UdmMNF025.pas:585-589 (TdmMNF025.tabMDFECD_CONDPAGTOValidate)
E-1823
Causa: O código de pessoa informado como Responsável pelo Pagamento não está cadastrado.
Ação: Cadastrar a pessoa em Pessoas (TFA001) ou corrigir o código informado.
Fonte: source/MNF025/UdmMNF025.pas:1130-1134 (TdmMNF025.tabMDFECD_RESPONSAVELPAGTOValidate)
E-2110
Causa: Foi incluído um componente de frete do tipo Vale-Pedágio sem informar o Fornecedor de Vale-Pedágio.
Ação: Informar o fornecedor de vale-pedágio na aba Pagamento antes de salvar.
Fonte: source/MNF025/UMNF025.pas:2298-2303 (TfrmMNF025.SalvarMDFe)
E-2111
Causa: A pessoa informada como Fornecedor de Vale-Pedágio não está cadastrada/ativa na Configuração de Vale-Pedágio da empresa.
Ação: Cadastrar o fornecedor na tela de Configuração de Vale-Pedágio (MFA016) para a empresa em uso.
Fonte: source/MNF025/UdmMNF025.pas:1317-1322 (TdmMNF025.tabMDFECD_FORNVALEPEDAGIOValidate)
W-0785
Causa: O Tipo de Emitente é Prestador de Serviço ou Emissão Globalizada, há no máximo 1 nota selecionada, e o campo Responsável pelo Pagamento está vazio.
Ação: Preencher o Responsável pelo Pagamento na aba Pagamento.
Fonte: source/MNF025/UMNF025.pas:2233-2238 (TfrmMNF025.SalvarMDFe)
W-0793
Causa: O código de banco informado não está cadastrado.
Ação: Selecionar (F9) um banco cadastrado ou corrigir o código.
Fonte: source/MNF025/UdmMNF025.pas:548-554 (TdmMNF025.tabMDFECD_BANCOValidate)
W-0794
Causa: A agência informada não existe para o banco selecionado.
Ação: Selecionar (F9) uma agência válida do banco informado.
Fonte: source/MNF025/UdmMNF025.pas:523-530 (TdmMNF025.tabMDFECD_AGENCIAValidate)
W-0808
Causa: O valor informado para o componente de frete é negativo.
Ação: Corrigir o valor do componente para zero ou positivo.
Fonte: source/MNF025/UdmMNF025.pas:979-986 (TdmMNF025.tabCOMPONENTESMDFEVL_COMPONENTEValidate)
W-0965
Causa: O Valor do Contrato (frete) foi preenchido com zero ou valor negativo.
Ação: Informar um valor de contrato maior que zero.
Fonte: source/MNF025/UdmMNF025.pas:1070-1077 (TdmMNF025.tabMDFEVL_CONTRATOValidate)
W-1755
Causa: A pessoa informada como Responsável pelo Pagamento está cadastrada como inativa.
Ação: Ativar a pessoa no cadastro ou escolher outro responsável ativo.
Fonte: source/MNF025/UdmMNF025.pas:1122-1127 (TdmMNF025.tabMDFECD_RESPONSAVELPAGTOValidate)
W-2078
Causa: Uma linha de componente de frete foi salva sem valor preenchido.
Ação: Preencher o valor do componente de frete antes de sair da linha.
Fonte: source/MNF025/UdmMNF025.pas:965-969 (TdmMNF025.tabCOMPONENTESMDFEBeforePost)
W-2079
Causa: O componente de frete do tipo '99-Outros' foi salvo sem descrição.
Ação: Preencher a descrição do componente quando o tipo for Outros.
Fonte: source/MNF025/UdmMNF025.pas:971-976 (TdmMNF025.tabCOMPONENTESMDFEBeforePost)
W-2080
Causa: A condição de pagamento selecionada é do tipo 'D - Digite o Vencimento', não permitida no MDF-e.
Ação: Selecionar outra condição de pagamento com parcelas parametrizadas fixas.
Fonte: source/MNF025/UdmMNF025.pas:576-580 (TdmMNF025.tabMDFECD_CONDPAGTOValidate)
W-2081
Causa: O CNPJ informado no campo do IPEF não tem 14 dígitos numéricos.
Ação: Corrigir o CNPJ para o formato completo de 14 dígitos.
Fonte: source/MNF025/UdmMNF025.pas:647-656 (TdmMNF025.tabMDFENR_CNPJIPEFValidate)
W-2086
Causa: Nenhum componente de frete foi cadastrado, mas a condição do MDF-e (prestador/globalizado com poucas notas) exige ao menos um.
Ação: Adicionar ao menos um componente de frete na aba Pagamento.
Fonte: source/MNF025/UMNF025.pas:2257-2262 (TfrmMNF025.SalvarMDFe)
W-2087
Causa: Banco e/ou agência do responsável pelo pagamento não foram preenchidos nas condições que exigem essa aba.
Ação: Preencher banco e agência na aba Pagamento.
Fonte: source/MNF025/UMNF025.pas:2240-2252 (TfrmMNF025.SalvarMDFe)
A chave de acesso %s informada está vinculada ao MDF-e %s, com situação %s, portanto, não pode ser adicionada a um novo manifesto. Verifique! [CNF016]
Causa: A nota de terceiro já está vinculada a outro MDF-e ativo (não cancelado) cobrindo a mesma UF de origem e destino.
Ação: Verificar o MDF-e indicado na mensagem; usar outra chave de acesso ou revisar/cancelar o MDF-e anterior antes de reincluir a nota.
Fonte: source/MNF025/UMNF025.pas:1725-1740 (TfrmMNF025.ValidaChaveAcessoJaVinculada)
A Consulta não Retornou Registros. Verifique!
Causa: Nenhuma nota atende aos filtros informados (empresa, placa, datas, produto, pessoa, etc.) ou todas as notas do critério já têm MDF-e válido emitido.
Ação: Revisar os filtros da aba Consulta ou verificar se as notas esperadas já possuem MDF-e emitido.
Fonte: source/MNF025/UMNF025.pas:888-894 (TfrmMNF025.btnProcurarClick)
Nº da Chave de acesso inválida! Verifique.
Causa: O dígito verificador (módulo 11) calculado a partir dos 43 primeiros dígitos da chave não confere com o 44º dígito informado.
Ação: Conferir a digitação da chave de acesso de 44 posições ou reimportar o XML correto.
Fonte: source/MNF025/UMNF025.pas:1689-1699 (TfrmMNF025.ValidaChaveAcesso)
É Número máximo de Veículos Reboque por MDF-e é de Três placas!
Causa: Tentativa de incluir um 4º veículo reboque no mesmo MDF-e.
Ação: Remover um reboque já cadastrado antes de incluir outro (limite de 3).
Fonte: source/MNF025/UdmMNF025.pas:720-727 (TdmMNF025.tabREBOQUENewRecord)
Não é possível informar mais de 9 motoristas Adicionais. Verifique!
Causa: Tentativa de incluir um 10º motorista na aba Motoristas Adicionais.
Ação: Remover um motorista adicional existente, respeitando o limite de 9, ou usar o campo Motorista principal.
Fonte: source/MNF025/UdmMNF025.pas:1178-1185 (TdmMNF025.tabMDFEMOTORISTANewRecord)
Para MDFe com uma única nota, é obrigatório informar o CEP de Carregamento! / Descarregamento!
Causa: O MDF-e foi fechado com apenas uma nota fiscal vinculada e os CEPs de carga/descarga não foram preenchidos.
Ação: Preencher os CEPs de Carregamento e Descarregamento na aba Dados do MDFe antes de salvar.
Fonte: source/MNF025/UMNF025.pas:2684-2694 (TfrmMNF025.SalvarMDFe)
A nota fiscal [ %s ] não está valida verifique! [CNF001]
Causa: Entre a consulta e o momento de salvar o MDF-e, a nota selecionada deixou de estar com status Válida (por exemplo, foi cancelada por outro processo).
Ação: Executar novamente a consulta (Procurar) para atualizar a lista de notas e refazer a seleção.
Fonte: source/MNF025/UMNF025.pas:2436-2448 (TfrmMNF025.SalvarMDFe)
Nº da Chave de Acesso na Nota de Terceiro já Informada. Verifique!
Causa: A chave de acesso importada do XML já foi adicionada anteriormente na mesma lista de Notas de Terceiros do MDF-e.
Ação: Verificar a lista de notas de terceiros já incluídas antes de importar novamente o mesmo XML.
Fonte: source/MNF025/UMNF025.pas:1587-1588 (TfrmMNF025.PngBitBtn3Click)
Regras de negócio
MNF025.R001(verregras/MNF025/MNF025.R001.md)MNF025.R002(verregras/MNF025/MNF025.R002.md)MNF025.R003(verregras/MNF025/MNF025.R003.md)MNF025.R004(verregras/MNF025/MNF025.R004.md)MNF025.R005(verregras/MNF025/MNF025.R005.md)MNF025.R006(verregras/MNF025/MNF025.R006.md)MNF025.R007(verregras/MNF025/MNF025.R007.md)MNF025.R008(verregras/MNF025/MNF025.R008.md)MNF025.R009(verregras/MNF025/MNF025.R009.md)MNF025.R010(verregras/MNF025/MNF025.R010.md)MNF025.R011(verregras/MNF025/MNF025.R011.md)MNF025.R012(verregras/MNF025/MNF025.R012.md)MNF025.R013(verregras/MNF025/MNF025.R013.md)MNF025.R014(verregras/MNF025/MNF025.R014.md)MNF025.R015(verregras/MNF025/MNF025.R015.md)MNF025.R016(verregras/MNF025/MNF025.R016.md)MNF025.R017(verregras/MNF025/MNF025.R017.md)MNF025.R018(verregras/MNF025/MNF025.R018.md)MNF025.R019(verregras/MNF025/MNF025.R019.md)MNF025.R020(verregras/MNF025/MNF025.R020.md)MNF025.R021(verregras/MNF025/MNF025.R021.md)MNF025.R022(verregras/MNF025/MNF025.R022.md)MNF025.R023(verregras/MNF025/MNF025.R023.md)
Perguntas frequentes
P: Por que a consulta de notas não retorna nenhum registro?
R: Só aparecem notas de saída válidas, vinculadas a CT-e ou NF-e, sem MDF-e válido já emitido; revise os filtros (empresa, placa, datas) ou confira se as notas já têm MDF-e.
Fonte: source/MNF025/UMNF025.pas:633-639 (TfrmMNF025.btnProcurarClick), source/MNF025/UMNF025.pas:888-894 (TfrmMNF025.btnProcurarClick)
P: Por que o sistema pede a placa do veículo antes de eu conseguir consultar?
R: A busca de notas exige a placa do veículo próprio ou do veículo de transporte como critério obrigatório do filtro.
Fonte: source/MNF025/UMNF025.pas:1225-1233 (TfrmMNF025.btnConsultarClick)
P: Deu a mensagem que a série não é de MDF-e ou não tem sequência, o que fazer?
R: A série usada precisa ter espécie MDFE, modelo fiscal 58 e sequência de numeração configurada; corrija esses dados no cadastro de Séries de Nota Fiscal.
Fonte: source/MNF025/UdmMNF025.pas:451-499 (TdmMNF025.tabMDFECD_SERIEValidate)
P: A mensagem diz que a nota já está vinculada a um MDF-e cancelado/encerrado, mas ainda consigo marcá-la — está certo?
R: Sim, esse aviso é apenas informativo (não bloqueia a seleção); a nota pode ser reaproveitada em um novo MDF-e.
Fonte: source/MNF025/UdmMNF025.pas:751-810 (TdmMNF025.verificaMDFe)
P: Por que o sistema pede o Fornecedor de Vale-Pedágio?
R: Isso ocorre quando há um componente de frete do tipo Vale-Pedágio; é preciso informar um fornecedor cadastrado e ativo na Configuração de Vale-Pedágio da empresa.
Fonte: source/MNF025/UMNF025.pas:2298-2303 (TfrmMNF025.SalvarMDFe)
P: Por que preciso preencher Responsável, Banco e Agência do pagamento?
R: Isso é exigido quando o Tipo de Emitente é Prestador de Serviço de Transporte ou Emissão Globalizada e há no máximo 1 nota selecionada no MDF-e.
Fonte: source/MNF025/UMNF025.pas:2230-2252 (TfrmMNF025.SalvarMDFe)
P: Posso incluir mais de 3 veículos reboque no MDF-e?
R: Não, o limite é de 3 veículos reboque por manifesto.
Fonte: source/MNF025/UdmMNF025.pas:720-727 (TdmMNF025.tabREBOQUENewRecord)
P: Quantos motoristas adicionais posso cadastrar além do motorista principal?
R: Até 9 motoristas adicionais, e nenhum deles pode ser igual ao motorista informado no campo principal.
Fonte: source/MNF025/UdmMNF025.pas:1171-1185 (TdmMNF025.tabMDFEMOTORISTABeforePost)
P: Por que o sistema pede CEP de carregamento e descarregamento?
R: Isso é obrigatório quando o MDF-e é vinculado a apenas uma nota fiscal (única nota gravada no manifesto).
Fonte: source/MNF025/UMNF025.pas:2684-2694 (TfrmMNF025.SalvarMDFe)
P: A chave de acesso da nota de terceiro deu erro de "chave inválida", o que verificar?
R: O dígito verificador (módulo 11) dos 43 primeiros dígitos não confere com o último dígito da chave; confira se a chave foi digitada/importada corretamente.
Fonte: source/MNF025/UMNF025.pas:1689-1699 (TfrmMNF025.ValidaChaveAcesso)
P: Por que não consigo usar a mesma chave de acesso de terceiro em dois MDF-e diferentes?
R: O sistema bloqueia quando a chave já está vinculada a outro MDF-e ativo (não cancelado) que cobre o mesmo trajeto (mesma UF de origem e destino); é necessário verificar o MDF-e indicado na mensagem.
Fonte: source/MNF025/UMNF025.pas:1701-1741 (TfrmMNF025.ValidaChaveAcessoJaVinculada)
P: Por que a condição de pagamento que eu quero usar não é aceita no MDF-e?
R: Condições de pagamento do tipo 'D - Digite o Vencimento' não são permitidas no MDF-e; é preciso escolher uma condição com parcelas parametrizadas.
Fonte: source/MNF025/UdmMNF025.pas:561-593 (TdmMNF025.tabMDFECD_CONDPAGTOValidate)
P: Salvei o MDF-e e deu erro dizendo que uma nota não está válida, mesmo tendo aparecido na consulta — por quê?
R: O sistema revalida o status da nota no momento de gravar; se ela foi alterada (ex.: cancelada) entre a consulta e o salvamento, a gravação é bloqueada e a lista precisa ser atualizada.
Fonte: source/MNF025/UMNF025.pas:2436-2448 (TfrmMNF025.SalvarMDFe)
Dúvidas em aberto (o código não responde)
- Onde é configurado o parâmetro PARMFATUR.ST_VARIOSVENDEDORES e qual o cenário de negócio que o justifica? — O MNF025 apenas lê esse parâmetro para decidir se o filtro de vendedor considera vendedores por item ou vendedor único da nota, mas o módulo não possui a tela de cadastro do parâmetro (source/MNF025/UMNF025.pas:734-761).
- O que acontece se o usuário digitar um código de Estado ou Município inexistente diretamente nos filtros da aba Consulta? As mensagens de erro (validador comum) não estão no catálogo do briefing. — Os validadores compartilhados ValidaMunicipio e ValidaEstado disparam os códigos E-0247 e E-0248 (source/jCommon/jValidate.pas:1879-1961), que não constavam na lista de mensagens fornecida para o MNF025.
- Existe alguma obrigatoriedade legal de preenchimento do CIOT (Código Identificador da Operação de Transporte) dependendo do tipo de operação de transporte? — Os campos CD_PESSOACIOT e NR_CIOT existem na tela e são gravados, mas não encontrei nenhuma validação de obrigatoriedade desses campos no fluxo de SalvarMDFe.
- Qual o critério de negócio para a licença erpNFe ser exigida especificamente neste módulo, considerando que ele emite MDF-e (modelo 58) e não NF-e? — O briefing indica 'Licenças exigidas: erpNFe' para o MNF025, mas o código não trata explicitamente essa licença dentro dos arquivos lidos nesta sessão.