MNF007 — Devolução / Retorno de Notas Fiscais (enriquecimento)
Menu: Faturamento > Movimentações > Notas Fiscais > Devolução / Retorno de Notas Fiscais
Objetivo
A tela MNF007 registra a devolução/retorno (entrada ou saída) de uma nota fiscal já emitida, a partir da seleção de uma ou mais notas fiscais de origem e dos itens/quantidades a devolver. O sistema calcula automaticamente os impostos proporcionais (ICMS/IPI/ST/IBS-CBS), controla o saldo já devolvido de cada item (RETORNA_SALDODEVOLUCAO), pode estornar saldo de controle de entrega/agendamento (CONTROLEENTREGA) e gera a nova nota fiscal, seus impostos, rateio de centro de resultado e a baixa financeira relacionada. Também trata casos especiais como devolução vinculada a Notas Mestras/Remessas, produtos com grade ou número de série, e a exigência de chave de acesso para notas de terceiros (NF-e/NFC-e/CT-e).
Fluxo principal
- Informar Pessoa, Endereço e Motivo da devolução no filtro inicial (aba de seleção/pagORIGEM). (pagORIGEM / grpDEVOLUCAO (tabFILTRO)) —
source/MNF007/UdmMNF007.pas:4301-4342 (TdmMNF007.tabFILTROCD_ENDERECOValidate) - Selecionar (ou pesquisar) a(s) nota(s) fiscal(is) de origem a devolver no grid de notas de origem. (pagORIGEM / gridNOTAORIGEM) —
source/MNF007/UMNF007.pas:2415-2419 (TfrmMNF007.btnProcurarClick) - No diálogo de seleção de itens, marcar os produtos/quantidades a devolver de cada nota de origem e confirmar. (Diálogo Seleção de Itens (frmITEMNOTA)) —
source/MNF007/UITEMNOTA.pas:118-149 (TfrmITEMNOTA.btnOKClick) - Se houver saldo de controle de entrega pendente para os itens (parâmetro Manual), confirmar as quantidades a estornar no diálogo de validação de controle de entrega. (Diálogo Validação de Controle de Entrega (frmVALIDACONTROLEENTREGA)) —
source/MNF007/UMNF007.pas:1578-1594 (TfrmMNF007.btnSalvarClick) - Conferir/completar dados da nota (condição de pagamento, forma de pagamento, embarque) e o rateio de centro de resultado. (pagNOTA / pagDADOS) —
source/MNF007/UMNF007.pas:1654-1670 (TfrmMNF007.btnSalvarClick)
Campos obrigatórios
| Campo | Condição | Mensagem | Fonte |
|---|---|---|---|
| NOTA.DT_EMISSAO | Sempre, ao salvar a nota de devolução | É Obrigatório informar a Data de Emissão da Nota Fiscal! | source/MNF007/UdmMNF007.pas:3216-3221 (TdmMNF007.tabNOTABeforePost) |
| NOTA.CD_PESSOA / CD_ENDERECO | Sempre, ao salvar | É Obrigatório informar a Pessoa Física / Jurídica! / o Endereço... | source/MNF007/UdmMNF007.pas:3223-3235 (TdmMNF007.tabNOTABeforePost) |
| NOTA.CD_CONDPAGTO / CD_FORMAPAGTO | Sempre, ao salvar | É Obrigatório informar a Condição de Pagamento! / a Forma de Pagamento! | source/MNF007/UdmMNF007.pas:3237-3265 (TdmMNF007.tabNOTABeforePost) |
| NOTA.DT_VENCIMENTO | Quando a condição de pagamento é do tipo 'Vencimento Digitado' (ST_CONDPAGTO='D') | É Obrigatório informar a Data de Vencimento para a Condição de Pagamento do Tipo Vencto Digitado! | source/MNF007/UdmMNF007.pas:3244-3250 (TdmMNF007.tabNOTABeforePost) |
| NOTA.VL_NOTAFISCAL / NR_NOTAFISCAL | Devolução de entrada (cmbOperacao='E') | É Obrigatório informar o Valor da Nota Fiscal! / o Número da Nota Fiscal! | source/MNF007/UdmMNF007.pas:3267-3281 (TdmMNF007.tabNOTABeforePost) |
| ITEMNOTA.CD_ITEM / CD_MOVIMENTACAO / PS_ITEMNOTA ou QT_ITEMNOTA / VL_UNITARIO / VL_TOTAL / CFO | Para cada item da nota, ao salvar o item | É Obrigatório informar o Produto/a Movimentação/o Peso/a Quantidade/o Valor Unitário/o Valor Total! ou CFO Associado [TCB001] | source/MNF007/UdmMNF007.pas:3306-3349 (TdmMNF007.tabITEMNOTABeforePost) |
| ORIGEM.NR_NOTAFISCAL / CD_SERIE | Ao incluir uma nota de origem para devolução | É Obrigatório informar o Número da Nota Fiscal! / a Série da Nota Fiscal! | source/MNF007/UdmMNF007.pas:4440-4449 (TdmMNF007.tabORIGEMBeforePost) |
| RATEIO.CD_CENTROCUSTO / PC_CENTROCUSTO / VL_CENTROCUSTO | Ao gravar uma linha de rateio de centro de resultado | O Centro De Resultado deve ser Informado / O Percentual.../ O Valor... | source/MNF007/UdmMNF007.pas:5620-5639 (TdmMNF007.tabRATEIOBeforePost) |
| EMBARQUE.DT_EMBARQUE | Quando a nota tem dados de embarque preenchidos | É Obrigatório informar a Data de Embarque da Nota Fiscal! | source/MNF007/UdmMNF007.pas:4706-4710 (TdmMNF007.tabEMBARQUEBeforePost) |
| EMBARQUE.DT_EMBARQUE / SG_EMBARQUE / DS_LOCALEMBARQUE | Quando o CFO do item é de exportação (código inicia com '7') | Esta Nota Possui um CFO de Exportação. Obrigatório Informar a Data/Estado/Local do Embarque! | source/MNF007/UdmMNF007.pas:2031-2054 (Grava_NotaFiscal) |
| NOTA.NR_NOTAFOR / CD_SERIEFOR / CD_ESPECIEFOR | Devolução de entrada, quando o usuário confirma que a devolução veio acompanhada de NF de terceiros | É Obrigatório informar o Número/Série/Espécie da Nota Fiscal do Fornecedor! | source/MNF007/UMNF007.pas:1353-1383 (TfrmMNF007.btnSalvarClick) |
| Chave de acesso da NF-e/NFC-e/CT-e de terceiros | Espécie da nota é NF-E, NFCE ou CT-E e o sistema não vai emitir/transmitir automaticamente (iSt_Imprime<>'S') | Chave de Acesso não informada. A Nota Fiscal não foi salva. | source/MNF007/UMNF007.pas:1636-1652 (TfrmMNF007.btnSalvarClick) |
Mensagens: causa e ação
A Seleção de Notas não Pode Conter Notas Mestras! Para Devolução de Mestras Utilize [MNF019].
Causa: Usuário selecionou como origem uma nota em que todos os itens são de movimentação tipo Mestra/Geral.
Ação: Usar a tela MNF019 (Gerenciamento de Notas Geral/Mestra) para devolver notas mestras; na MNF007 selecionar outra nota.
Fonte: source/MNF007/UdmMNF007.pas:4604-4641 (TdmMNF007.tabORIGEMCD_SERIENFValidate)
A Movimentação "%s" da Nota Fiscal Nº %s - %s do Produto "%s" não possui uma Movimentação de Devolução associada na Tela TCB001. Verifique!
Causa: A movimentação usada na nota de origem para aquele produto não tem uma Movimentação de Devolução (CD_MOVDEVOLUCAO) cadastrada em TCB001.
Ação: Cadastrar/associar em TCB001 a movimentação de devolução correspondente à movimentação de origem do produto.
Fonte: source/MNF007/UITEMNOTA.pas:315-324 (TfrmITEMNOTA.btnOKClick)
Não foi informado um percentual de imposto para o item %s. Verifique! [CNF001]
Causa: O imposto trazido da nota de origem para o item veio sem percentual cadastrado (Pc_Imposto vazio).
Ação: Corrigir o cadastro fiscal/regra de imposto do produto na nota de origem (CNF001) antes de repetir a devolução.
Fonte: source/MNF007/UITEMNOTA.pas:623-631 (TfrmITEMNOTA.btnOKClick)
C-2077: Não foi localizada regra de ICMS para definição do Código de Benefício Fiscal. Deseja continuar?
Causa: O CST do ICMS do item (20,30,40,41,50,51,53,70,90) exige Código de Benefício Fiscal e a regra RETORNA_ALIQUOTAREGRA não retornou nenhum código de benefício.
Ação: Confirmar para seguir sem código de benefício, ou cancelar (gera W-0202) e ajustar a regra de ICMS/cadastro fiscal do item/movimentação antes de continuar.
Fonte: source/MNF007/UITEMNOTA.pas:797-814 (TfrmITEMNOTA.btnOKClick)
W-0202: Operação Cancelada!
Causa: Usuário cancelou a confirmação do Código de Benefício Fiscal (C-2077) ou outra confirmação equivalente na seleção de itens.
Ação: Repetir a seleção do item ajustando o cadastro fiscal antes, se o benefício for necessário.
Fonte: source/MNF007/UITEMNOTA.pas:806-809 (TfrmITEMNOTA.btnOKClick)
Esta Devolução veio Acompanhada de uma Nota Fiscal de Terceiros?
Causa: Pergunta de negócio ao salvar devolução de entrada, para decidir se a NF do fornecedor é uma nota de terceiros ou o próprio lançamento gerado pela empresa.
Ação: Responder Sim e informar Número/Série/Espécie da nota do fornecedor se houver NF de terceiros; responder Não para o sistema usar o próprio lançamento como NF do fornecedor.
Fonte: source/MNF007/UMNF007.pas:1353-1383 (TfrmMNF007.btnSalvarClick)
Chave de Acesso não informada. A Nota Fiscal não foi salva.
Causa: A nota é modelo NF-e/NFC-e/CT-e e não será emitida automaticamente; o usuário cancelou o preenchimento da chave de acesso da nota de terceiros.
Ação: Reabrir o Salvar e informar a chave de acesso correta (44 dígitos) da nota correspondente.
Fonte: source/MNF007/UMNF007.pas:1636-1652 (TfrmMNF007.btnSalvarClick)
A chave de acesso informada é inválida.
Causa: A chave digitada não passou na validação de dígito verificador (chaveAcessoValida) ou não tem 44 posições.
Ação: Conferir a chave de acesso impressa/eletrônica da nota de origem e digitar novamente.
Fonte: source/MNF007/UformChaveAcessoMNF007.pas:143-148 (TformChaveAcessoMNF007.actionOKExecute)
[VERIFICA_SALDOCONTROLEENTREGA] %s Verifique !
Causa: Ao gravar, a checagem de saldo do controle de entrega para a nota de devolução (modo Manual, PARMFATUR.TP_EXCLUSAOENTREGADEVOLUCAO='M') encontrou inconsistência de saldo.
Ação: Revisar as quantidades estornadas no diálogo de controle de entrega (MNF016) antes de salvar novamente.
Fonte: source/MNF007/UMNF007.pas:1770-1786 (TfrmMNF007.btnSalvarClick)
Deseja Liquidar a Duplicata da Nota Fiscal Devolvida ?
Causa: A nota de devolução gerou títulos em CONTAS e existe saldo pendente ligado à nota de origem (ou à pessoa) passível de baixa automática.
Ação: Confirmar para o sistema gerar o processo e baixar automaticamente os títulos; recusar para manter os títulos em aberto para baixa manual.
Fonte: source/MNF007/UdmMNF007.pas:1507-1523 (Baixa_Contas)
Não foi Possivel Realizar a Confirmação das Transações Efetuadas pelo TEF. Realize a Baixa Novamente. Favor Reter o Cupom!
Causa: Havia transação TEF pendente vinculada ao processo de caixa gerado pela nota e a confirmação junto ao SITEF falhou.
Ação: Reter o cupom impresso e refazer a baixa/confirmação da transação TEF antes de tentar novamente.
Fonte: source/MNF007/UMNF007.pas:1810-1818 (TfrmMNF007.btnSalvarClick)
CNPJ/CPF Inválido
Causa: O número digitado no campo de CNPJ/CPF do transportador do embarque não passa na validação de dígitos.
Ação: Conferir e redigitar o CNPJ/CPF do transportador.
Fonte: source/MNF007/UMNF007.pas:2740-2752 (TfrmMNF007.edtNR_CGCCPFExit)
Deseja Excluir este Produto ?
Causa: Confirmação padrão ao excluir um item da nota de devolução.
Ação: Confirmar para remover o item e seus impostos (IMPOSTONOTA) já calculados; cancelar para manter o item.
Fonte: source/MNF007/UMNF007.pas:2293-2315 (TfrmMNF007.btnExcluirClick)
A Nota Fiscal já está Lançada para esta Pessoa! Pessoa......: %s Nota Fiscal.: %s Série NF....: %s Espécie NF..: %s
Causa: Já existe uma NOTA lançada para a mesma pessoa com o mesmo número/série/espécie de nota do fornecedor informados.
Ação: Conferir se a nota já foi lançada anteriormente (consultar CNF001) antes de repetir o lançamento.
Fonte: source/MNF007/UdmMNF007.pas:4011-4026 (TdmMNF007.tabNOTANR_NOTAFORValidate)
A Nota Fiscal já foi Devolvida. Verifique [CNF001]!
Causa: O saldo de devolução (peso/quantidade) da nota de origem selecionada já está zerado (RETORNA_SALDODEVOLUCAO).
Ação: Consultar em CNF001 o histórico de devoluções dessa nota; não há mais saldo a devolver.
Fonte: source/MNF007/UdmMNF007.pas:4565-4567 (TdmMNF007.tabORIGEMCD_SERIENFValidate)
O Item "%s" possui saldo não agendado de [%s] menor que o total da devolução [%s]. Verifique[MNF016]
Causa: No controle de entrega, a quantidade/peso ainda não agendado do item é menor que o total que está sendo devolvido.
Ação: Ajustar a quantidade da devolução ou regularizar o agendamento de entrega em MNF016 antes de salvar.
Fonte: source/MNF007/UVALIDACONTROLEENTREGA.pas:674-686 (TfrmVALIDACONTROLEENTREGA.btnOKClick)
O campo "Benef. Fiscal" deve ter tamanho igual a 8 ou 10 caracteres. Verifique!
Causa: O código de benefício fiscal do ICMS digitado manualmente na aba de impostos não tem 8 nem 10 caracteres.
Ação: Corrigir o código de benefício fiscal conforme o layout da SEFAZ (8 ou 10 posições).
Fonte: source/MNF007/UdmMNF007.pas:5870-5875 (TdmMNF007.tabIMPOSTONOTACD_BENEFICIOValidate)
Regras de negócio
MNF007.R001(verregras/MNF007/MNF007.R001.md)MNF007.R002(verregras/MNF007/MNF007.R002.md)MNF007.R003(verregras/MNF007/MNF007.R003.md)MNF007.R004(verregras/MNF007/MNF007.R004.md)MNF007.R005(verregras/MNF007/MNF007.R005.md)MNF007.R006(verregras/MNF007/MNF007.R006.md)MNF007.R007(verregras/MNF007/MNF007.R007.md)MNF007.R008(verregras/MNF007/MNF007.R008.md)MNF007.R009(verregras/MNF007/MNF007.R009.md)MNF007.R010(verregras/MNF007/MNF007.R010.md)MNF007.R011(verregras/MNF007/MNF007.R011.md)MNF007.R012(verregras/MNF007/MNF007.R012.md)MNF007.R013(verregras/MNF007/MNF007.R013.md)MNF007.R014(verregras/MNF007/MNF007.R014.md)MNF007.R015(verregras/MNF007/MNF007.R015.md)MNF007.R016(verregras/MNF007/MNF007.R016.md)MNF007.R017(verregras/MNF007/MNF007.R017.md)MNF007.R018(verregras/MNF007/MNF007.R018.md)MNF007.R019(verregras/MNF007/MNF007.R019.md)MNF007.R020(verregras/MNF007/MNF007.R020.md)MNF007.R021(verregras/MNF007/MNF007.R021.md)MNF007.R022(verregras/MNF007/MNF007.R022.md)
Perguntas frequentes
P: Por que o sistema não deixa selecionar uma nota fiscal para devolução e mostra 'A Seleção de Notas não Pode Conter Notas Mestras'?
R: A nota escolhida é uma Nota Mestra/Geral (todos os itens são de movimentação Mestra). Devoluções de mestra devem ser feitas pela tela MNF019, não pela MNF007.
Fonte: source/MNF007/UdmMNF007.pas:4604-4641 (TdmMNF007.tabORIGEMCD_SERIENFValidate)
P: Deu a mensagem 'A Nota Fiscal Nº ... não está Autorizada, não sendo possível realizar a Devolução' — o que fazer?
R: A nota de origem é modelo 55/65 (NF-e/NFC-e) e não tem protocolo de autorização (NFE.NR_PROTOCOLOAUT) gravado. É preciso regularizar a autorização/transmissão da nota de origem antes de devolvê-la.
Fonte: source/MNF007/UdmMNF007.pas:5807-5842 (TdmMNF007.ValidaDevolucao), source/MNF007/UdmMNF007.pas:4450-4453 (TdmMNF007.tabORIGEMBeforePost)
P: Por que ao salvar uma devolução de entrada o sistema pergunta se a devolução veio acompanhada de nota fiscal de terceiros?
R: É uma pergunta de negócio: se responder 'Não', o próprio lançamento da devolução vira a NF do fornecedor; se responder 'Sim', é obrigatório informar número/série/espécie da nota do fornecedor de terceiros.
Fonte: source/MNF007/UMNF007.pas:1348-1407 (TfrmMNF007.btnSalvarClick)
P: Por que aparece a mensagem sobre 'Código de Benefício Fiscal' (C-2077) ao devolver um item?
R: O CST do ICMS do item exige um Código de Benefício Fiscal e a regra de ICMS aplicável não retornou nenhum. O usuário pode confirmar para seguir sem benefício ou cancelar (mensagem W-0202) e ajustar o cadastro fiscal antes de continuar.
Fonte: source/MNF007/UITEMNOTA.pas:797-814 (TfrmITEMNOTA.btnOKClick)
P: Por que não consigo excluir um item na tela de validação de controle de entrega, com a mensagem 'Não permitido alterar registro não agendados'?
R: O item selecionado tem situação de entrega 'N' (não agendado); só é permitido excluir/alterar itens que já estão agendados (ST_ENTREGA <> 'N').
Fonte: source/MNF007/UVALIDACONTROLEENTREGA.pas:219-228 (TfrmVALIDACONTROLEENTREGA.btnExcluirClick)
P: Deu a mensagem 'A quantidade da Operação ultrapassa o saldo disponivel para estorno dessa nota' — o que significa?
R: A soma da quantidade/peso que está sendo estornada no controle de entrega excede o saldo ainda disponível para devolução daquele item; reduza a quantidade informada.
Fonte: source/MNF007/UVALIDACONTROLEENTREGA.pas:246-263 (TfrmVALIDACONTROLEENTREGA.btnExcluirClick)
P: Por que a seleção de seriais reclama que a quantidade não confere?
R: O produto controla número de série e a quantidade de seriais marcados na lista precisa ser exatamente igual à quantidade do item na nota de devolução.
Fonte: source/MNF007/USERIALDEV.pas:186-198 (TfrmSERIAL.btnOKClick)
P: Por que ao devolver aparece 'A Mestra não possui Saldo Suficiente para Devolução'?
R: O item pertence a uma Nota Mestra/Geral e o saldo (peso/quantidade) atual da mestra é menor que o total que está sendo devolvido; é preciso devolver primeiro as remessas vinculadas.
Fonte: source/MNF007/UMNF007.pas:956-971 (Consulta_NFOrigem)
P: Por que a tela pede a chave de acesso da nota fiscal ao salvar uma devolução?
R: A nota gerada é modelo NF-e/NFC-e/CT-e e o sistema não vai transmiti-la/emiti-la automaticamente nesta operação; a chave de acesso da nota de terceiros correspondente precisa ser digitada e é validada contra UF, CNPJ, série, número e data da nota.
Fonte: source/MNF007/UformChaveAcessoMNF007.pas:126-216 (TformChaveAcessoMNF007.actionOKExecute)
P: Por que não consigo alterar os valores de imposto diretamente na aba de Impostos?
R: Os campos de imposto ficam bloqueados por padrão (calculados pelo sistema); é preciso clicar em 'Alterar' e confirmar a pergunta 'Deseja Alterar os Impostos da Nota Manualmente?' para liberar a edição, e depois 'Confirmar' para gravar e marcar o imposto como manual.
Fonte: source/MNF007/UMNF007.pas:2531-2569 (TfrmMNF007.btnAlterarClick)
Dúvidas em aberto (o código não responde)
- Quais são os valores possíveis de PARMFATUR.TP_EXCLUSAOENTREGADEVOLUCAO além de 'M' (Manual), e o que cada um faz de fato no fluxo automático (GERA_CONTROLEENTREGA)? — O código só trata explicitamente o valor 'M' para abrir o diálogo de validação de controle de entrega (UMNF007.pas:1430,1748); o comportamento para outros valores depende da procedure GERA_CONTROLEENTREGA/GERA_MESTRA, que não foi lida nesta sessão (Scripts/GERA_MESTRA.sql).
- O que exatamente o parâmetro PARMFATUR.ST_CODIGOBARRASAPENAS combinado com ST_CODIGOBARRA<>'P' impede o usuário de fazer, além de travar o campo Produto (CdItemRO)? — Visto apenas o efeito sobre CdItemRO (UMNF007.pas:409-414) que trava a edição do campo Produto na grade; não há evidência no módulo de outro efeito colateral.
- Como o CD_TRANSPORTADOR default de PARMFATUR interage quando a pessoa/endereço já tem transportador cadastrado via RETORNA_DADOSCADASTRAIS — qual prevalece em casos de conflito? — O código usa COALESCE priorizando o retorno de RETORNA_DADOSCADASTRAIS e cai para o parâmetro só se nulo (UdmMNF007.pas:3416-3432), mas a lógica de RETORNA_DADOSCADASTRAIS não foi lida.