Pular para o conteúdo principal

MNF007 — Devolução / Retorno de Notas Fiscais

Fonte​

  • Source: source/MNF007/
  • Form: source/MNF007/UMNF007.pas
  • DataModule: source/MNF007/UdmMNF007.pas
  • Package: source/MNF007/MNF007.dpk

Objetivo​

Emitir notas fiscais de devolucao (entrada ou saida) a partir de uma nota fiscal de origem, com controle de saldo de devolucao por item, rateio de centro de resultado, calculo automatico de impostos (ICMS, IPI, ST) e integracao com o módulo de entrega (CONTROLEENTREGA). Recalcula a nota fiscal gerada via GERA_NOTAFISCAL/GERA_IMPOSTONOTA e grava o processo na MESTRA.

Funcionalidades​

  • Selecao de Notas de Origem para Devolucao
  • Selecao de Itens para Devolucao
  • Edicao da Nota Fiscal de Devolucao
  • Calculo Automatico de Impostos
  • Geracao e Gravacao da Nota Fiscal
  • Exclusao de Itens da Nota
  • Rateio de Valores da Nota
  • Centro de Resultado
  • Controle de Seriais
  • Validacao de Controle de Entrega

Mensagens exibidas​

Levantadas de source/MNF007/ pela camada 0 (commit 96fc51e236).

CódigoTipoMensagem
C-2077ConfirmaçãoNão foi localizada regra de ICMS para definição do Código de Benefício Fiscal. Deseja continuar?
W-0202AvisoOperação Cancelada!

Mais 170 mensagens com texto literal no código: MNF007.

Parâmetros lidos​

Campos PARM* lidos via values[] em source/MNF007/ (commit 96fc51e236).

ParâmetroTabela
CD_TRANSPORTADORPARMFATUR
ST_CODBARRASAPENASPARMFATUR
ST_CODIGOBARRAPARMFATUR
ST_VARIOSITENSCONTRATOPARMFATUR
TP_EXCLUSAOENTREGADEVOLUCAOPARMFATUR

Tabelas de Escrita (INSERT/UPDATE/DELETE)​

TabelaOperacoes
CONTROLEENTREGAINSERT, SELECT, UPDATE
CONTROLEENTREGADEVOLUCAOINSERT
DEVOLUCAONOTADELETE, INSERT, SELECT, UPDATE
EMBARQUEDELETE, INSERT, SELECT, UPDATE
EMPRESADELETE, INSERT, SELECT, UPDATE
IMPOSTONOTADELETE, INSERT, SELECT, UPDATE
ITEMNOTADELETE, INSERT, SELECT, UPDATE
ITEMNOTACCDELETE, INSERT, SELECT, UPDATE
ITEMNOTAGRADEDELETE, INSERT, SELECT, UPDATE
ITEMNOTALOCALINSERT, SELECT
ITEMNOTASEMENTEINSERT
ITEMSERIALINSERT, SELECT, UPDATE
NOTADELETE, INSERT, SELECT, UPDATE

Tabelas de Leitura (SELECT)​

TabelaOperacoes
AGENCIASELECT
ALIQUOTASELECT
BANCOSELECT
BOLETOSELECT
CENTROCUSTOSELECT
CONDPAGTOSELECT
CONDPARCELASELECT
CONFIGNFESELECT
CONTASSELECT
CONTASJUNCAOSELECT
CONTRATONFSELECT
ENDERECOPESSOASELECT
FORMAPAGTOSELECT
IMPOSTOSELECT
ITEMSELECT
ITEMEMPRESASELECT
ITEMLOCALSELECT
ITEMPEDIDOSELECT
JUROSELECT
MESTRASELECT
MODELONFSELECT
MOTIVOSELECT
MOVIMENTACAOSELECT
MOVTOCAIXASELECT
MOVTOPROCESSOSELECT
MUNICIPIOSELECT
NATUREZACARGASELECT
NFESELECT
OBSFISCALSELECT
OPERACAOSELECT
PARMCONTABILSELECT
PARMFATURSELECT
PARMNOTASELECT
PEDIDONOTASELECT
PESSOASELECT
PROCESSOSELECT
REMESSASELECT
TEFSELECT
TIPOCALCULOSELECT
TIPOCONTASELECT
TIPOLOCALSELECT
TIPOPESSOASELECT

Procedures Chamadas​

ProcedureTabelas Acessadas
CALCULA_CENTRORESULTCONTASHISTORICO (SELECT), HISTORICO (SELECT), IMPOSTO (SELECT), IMPOSTOMOVHIST (SELECT), IMPOSTONOTA (SELECT), ITEMNOTA (SELECT) +10
CALCULA_VALORITEMNOTAITEM (SELECT), ITEMNOTA (SELECT), TIPOCALCULO (SELECT)
DEVOLUCAO_CONTROLEENTREGACONTROLEENTREGA (DELETE/SELECT/UPDATE), CONTROLEENTREGADEVOLUCAO (INSERT/SELECT), NOTA (SELECT), PEDIDONOTA (SELECT)
EXECUTA_PROCESSOAGENCIA (SELECT), AJUSTEFISCALITEMNOTA (DELETE/INSERT/SELECT), ALIQUOTA (SELECT), AVISOSCPC (INSERT), BANCO (SELECT), CHEQUE (SELECT) +63
GERA_COMISSAODEVOLUCAODEVOLUCAONOTA (SELECT), ITEM (SELECT), ITEMNOTA (SELECT), ITEMNOTAVENDEDOR (INSERT/SELECT), MOVIMENTACAO (SELECT), NOTA (SELECT) +2
GERA_IMPOSTONOTAALIQUOTA (SELECT), CONFIGNFSE (SELECT), CTRC (SELECT), EMPRESA (SELECT), ENDERECOPESSOA (SELECT), ESTADO (SELECT) +19
GERA_INTEGRACAOAJUSTEFISCALITEMNOTA (DELETE/INSERT/SELECT), ALIQUOTA (SELECT), CODRECEITA (SELECT), CONDPAGTO (SELECT), CONTAS (SELECT), CONTASCTB (DELETE/INSERT/SELECT) +53
GERA_MESTRACONTROLEENTREGA (DELETE/INSERT/SELECT/UPDATE), CONTROLEENTREGADEVOLUCAO (INSERT), ITEMNOTA (SELECT), MESTRA (INSERT/SELECT/UPDATE), NOTA (SELECT), PARMFATUR (SELECT) +2
GERA_NOTAFISCALAGENCIA (SELECT), AJUSTEFISCALITEMNOTA (DELETE/INSERT/SELECT), ALIQUOTA (SELECT), AVISOSCPC (INSERT), BANCO (SELECT), BOLETO (SELECT) +145
GERA_SEQUENCIASEQUENCIA (SELECT/UPDATE)
GRAVA_MOVTOPROCESSOCONTAS (SELECT), CONTASHISTORICO (SELECT), HISTORICO (SELECT), MOVTOPROCESSO (INSERT/SELECT), PARMFINANC (SELECT), PROCESSO (SELECT/UPDATE)
GRAVA_PROCESSOPROCESSO (INSERT), SEQUENCIA (SELECT/UPDATE), SESSAO (SELECT)
HABILITA_PESOQTDEITEM (SELECT), TIPOCALCULO (SELECT), UNIDMED (SELECT)
PESOQTDE_ITEMNOTADEVOLUCAONOTA (SELECT), ITEM (SELECT), ITEMNOTA (SELECT), ITEMNOTALOCAL (SELECT), NOTA (SELECT), TIPOCALCULO (SELECT) +1
RETORNA_ALIQUOTAREGRAALIQUOTA (SELECT)
RETORNA_CHAVEPEDIDOEMBARQUE (SELECT), NOTA (SELECT), ORDEMCARREG (SELECT), PEDIDO (SELECT), PEDIDONOTA (SELECT)
RETORNA_DADOSCADASTRAISAREACOMERCIAL (SELECT), ENDERECOPESSOA (SELECT), ESTADO (SELECT), FORMAPAGTO (SELECT), GRUPOPCP (SELECT), MUNICIPIO (SELECT) +4
RETORNA_OBSNOTACFO (SELECT), CONTROLESELO (SELECT), CTRC (SELECT), DEVOLUCAONOTA (SELECT), EMBARQUE (SELECT), EMPRESA (SELECT) +30
RETORNA_SALDODEVOLUCAODEVOLUCAONOTA (SELECT), ITEM (SELECT), NOTA (SELECT), TIPOCALCULO (SELECT)
RETORNA_SALDOENTREGACONTROLEENTREGA (SELECT), ITEMPEDIDO (SELECT)
VALIDA_CENTRORESULTCENTROCUSTO (SELECT), CONDFISCALHISTORICO (SELECT)
VALOR_IMPOSTOIMPOSTO (SELECT), IMPOSTONOTA (SELECT), NOTA (SELECT), PESSOA (SELECT)
VERIFICA_SALDOCONTROLEENTREGACONTROLEENTREGA (SELECT), DEVOLUCAONOTA (SELECT), ITEMNOTA (SELECT), MOVIMENTACAO (SELECT), NOTA (SELECT), PARMFATUR (SELECT) +1
VIEW_ATUALIZA_SALDO_ENTREGACONTROLEENTREGA (DELETE/INSERT/SELECT/UPDATE)
VIEW_CONTROLEENTREGACONTROLEENTREGA (SELECT), DEVOLUCAONOTA (SELECT), ENDERECOPESSOA (SELECT), ITEM (SELECT), ITEMNOTA (SELECT), ITEMNOTALOCAL (SELECT) +11
VIEW_CONTROLEENTREGA2CONTROLEENTREGA (SELECT), ENDERECOPESSOA (SELECT), ITEM (SELECT), ITEMNOTA (SELECT), ITEMPEDIDO (SELECT), ITEMTABCOMPRA (SELECT) +10
VIEW_PLANOCONTASCENTROCUSTO (SELECT), CONTASPESSOA (SELECT), PARMCONTABIL (SELECT), PARMSISTEMA (SELECT), PLANOCONTAS (SELECT), PLANOEMPRESA (SELECT)

Tabelas via Procedures (acesso indireto)​

TabelaOperacoes
AGENCIASELECT
AJUSTEFISCALITEMNOTADELETE, INSERT, SELECT
ALIQUOTASELECT
AREACOMERCIALSELECT
AVISOSCPCINSERT
BANCOSELECT
BOLETOSELECT
CENTROCUSTOSELECT
CFOSELECT
CHEQUESELECT
CODRECEITASELECT
COLUNAGRADESELECT
COMISSAOCONTASINSERT
COMISSAOTABPRECOINSERT
CONDFISCALHISTORICOSELECT
CONDPAGTOSELECT
CONDPARCELASELECT
CONFIGNFESELECT
CONFIGNFSESELECT
CONTASINSERT, SELECT, UPDATE
CONTASBLOQFINANCSELECT
CONTASCTBDELETE, INSERT, SELECT
CONTASHISTORICOINSERT, SELECT
CONTASHISTORICOCCSELECT
CONTASHISTORICOCTBDELETE, INSERT, SELECT
CONTASJUNCAOSELECT
CONTASPESSOAINSERT, SELECT
CONTAS_MOVTOCONTABILSELECT
CONTRATORECAPSELECT, UPDATE
CONTROLEENTREGADELETE, INSERT, SELECT, UPDATE
...+146 tabelas

Dependencias Aferentes (quem alimenta esta tela)​

Telas que escrevem em tabelas lidas por esta tela.

TelaTítuloTabelas em Comum
MNF001Recebimento de Notas Fiscais de CompraEMBARQUE, EMPRESA, ENDERECOPESSOA, IMPOSTONOTA, ITEM +13
CNF001Consulta de Notas FiscaisCONDPAGTO, CONTAS, EMBARQUE, EMPRESA, IMPOSTONOTA +11
MNF002Emissão de Nota Fiscal de VendaEMBARQUE, EMPRESA, IMPOSTONOTA, ITEMNOTA, ITEMNOTACC +7
MRC020Confirmação de Ordem de Carregamento RecapadoraCONTAS, EMBARQUE, EMPRESA, IMPOSTONOTA, ITEMNOTA +6
MNF008Emissão Nota Fiscal de Venda - ObrasCONTROLEENTREGA, EMBARQUE, IMPOSTONOTA, ITEMNOTA, ITEMNOTAGRADE +5
MNF019Gerenciamento de Notas Geral/MestraDEVOLUCAONOTA, EMBARQUE, EMPRESA, IMPOSTONOTA, ITEMNOTA +5
MNF030EMBARQUE, EMPRESA, ENDERECOPESSOA, ITEM, ITEMNOTA +5
MPD011Confirmação Ordem CarregamentoCONTAS, EMBARQUE, EMPRESA, IMPOSTONOTA, ITEMNOTA +5
CNF012Consulta de CTRCCONDPAGTO, CONTAS, EMPRESA, IMPOSTONOTA, ITEM +4
MNF011Alteração de ComissõesCONTAS, EMPRESA, ENDERECOPESSOA, ITEM, ITEMNOTA +4
MNF024EMPRESA, IMPOSTONOTA, ITEM, ITEMNOTA, ITEMNOTAGRADE +4
MNF026Troca de Produtos com Emissão de Nota FiscalDEVOLUCAONOTA, EMPRESA, IMPOSTONOTA, ITEMNOTA, ITEMNOTAGRADE +4
MNF032Importação de XML TransmitidoEMBARQUE, ENDERECOPESSOA, IMPOSTONOTA, ITEMNOTA, ITEMNOTALOCAL +4
MTR004DespesasENDERECOPESSOA, IMPOSTONOTA, ITEMNOTA, ITEMNOTACC, ITEMNOTALOCAL +4
JunsoftServiceFatAppDEVOLUCAONOTA, ITEMLOCAL, ITEMNOTA, ITEMNOTALOCAL, ITEMPEDIDO +2
MNF013CTRC - Conhecimento de TransporteCONTAS, EMBARQUE, IMPOSTONOTA, ITEMNOTA, ITEMNOTACC +2
CPD001Consulta de PedidosEMPRESA, ITEM, ITEMPEDIDO, MOVIMENTACAO, NFE +1
MFC011Gerenciamento de BoletosCONTAS, CONTASJUNCAO, PESSOA, PROCESSO, TIPOCONTA +1
MNF016Controle de EntregaCONTROLEENTREGA, EMPRESA, ITEM, ITEMNOTA, ITEMPEDIDO +1
MNF034Lançamento Documento Fiscal em LoteIMPOSTONOTA, ITEMNOTA, ITEMNOTACC, ITEMNOTALOCAL, NFE +1
MNF036Transferência por Estoque MínimoEMPRESA, ITEMNOTA, ITEMNOTALOCAL, ITEMPEDIDO, NOTA +1
MRC018Emissão de Remessa de Entrada/Saída por Pedido RecapagemEMPRESA, ITEMNOTA, ITEMNOTALOCAL, ITEMPEDIDO, NOTA +1
RNF004Relação de Notas FiscaisCONDPAGTO, EMPRESA, ITEM, MUNICIPIO, PARMNOTA +1
TFA006Tabelas de PreçoCONDPAGTO, EMPRESA, FORMAPAGTO, ITEM, PARMFATUR +1
CFC001Contas / Cheques / AdiantamentosCENTROCUSTO, MOVTOCAIXA, MOVTOPROCESSO, PESSOA, TIPOCONTA
CNF011Consulta de NFS-eEMPRESA, IMPOSTONOTA, ITEM, NOTA, PESSOA
MCB015Envio de EmailCONDPAGTO, EMPRESA, FORMAPAGTO, MUNICIPIO, PESSOA
MFC012Agrupamento de ContasCONTAS, CONTASJUNCAO, PESSOA, TIPOCONTA, TIPOPESSOA
MFC015Desconto de Duplicatas / ChequesCONTAS, CONTASJUNCAO, PESSOA, PROCESSO, TIPOCONTA
MFC026Gerenciamento Salário FuncionárioCONTAS, EMPRESA, PESSOA, TIPOCONTA, TIPOPESSOA
...+599 telas

Dependencias Eferentes (quem consome dados desta tela)​

Telas que leem tabelas escritas por esta tela.

TelaTítuloTabelas em Comum
CNF001Consulta de Notas FiscaisDEVOLUCAONOTA, EMBARQUE, EMPRESA, IMPOSTONOTA, ITEMNOTA +6
MNF019Gerenciamento de Notas Geral/MestraCONTROLEENTREGA, DEVOLUCAONOTA, EMBARQUE, EMPRESA, IMPOSTONOTA +6
MNF001Recebimento de Notas Fiscais de CompraEMBARQUE, EMPRESA, IMPOSTONOTA, ITEMNOTA, ITEMNOTACC +5
MNF002Emissão de Nota Fiscal de VendaEMBARQUE, EMPRESA, IMPOSTONOTA, ITEMNOTA, ITEMNOTACC +5
RNF005Demonstrativo de Notas FiscaisDEVOLUCAONOTA, EMBARQUE, EMPRESA, IMPOSTONOTA, ITEMNOTA +4
CNF012Consulta de CTRCDEVOLUCAONOTA, EMBARQUE, EMPRESA, IMPOSTONOTA, ITEMNOTA +3
LNF400EMBARQUE, EMPRESA, IMPOSTONOTA, ITEMNOTA, ITEMNOTAGRADE +3
LNF500EMBARQUE, EMPRESA, IMPOSTONOTA, ITEMNOTA, ITEMNOTAGRADE +3
MNF008Emissão Nota Fiscal de Venda - ObrasEMBARQUE, EMPRESA, IMPOSTONOTA, ITEMNOTA, ITEMNOTAGRADE +3
EspelhoNotaEMBARQUE, EMPRESA, IMPOSTONOTA, ITEMNOTA, ITEMNOTASEMENTE +2
LNF169EMBARQUE, EMPRESA, IMPOSTONOTA, ITEMNOTA, ITEMNOTASEMENTE +2
LNF175EMBARQUE, EMPRESA, IMPOSTONOTA, ITEMNOTA, ITEMNOTASEMENTE +2
MNF017Venda BalcãoEMPRESA, IMPOSTONOTA, ITEMNOTA, ITEMNOTAGRADE, ITEMNOTALOCAL +2
MNF026Troca de Produtos com Emissão de Nota FiscalDEVOLUCAONOTA, EMPRESA, IMPOSTONOTA, ITEMNOTA, ITEMNOTAGRADE +2
RNF010Curva ABC de ProdutosDEVOLUCAONOTA, EMPRESA, IMPOSTONOTA, ITEMNOTA, ITEMNOTAGRADE +2
jFaturamentoDEVOLUCAONOTA, EMBARQUE, EMPRESA, IMPOSTONOTA, ITEMNOTA +2
CPD001Consulta de PedidosCONTROLEENTREGA, EMBARQUE, EMPRESA, ITEMNOTA, ITEMNOTASEMENTE +1
LNF140EMPRESA, IMPOSTONOTA, ITEMNOTA, ITEMNOTAGRADE, ITEMNOTASEMENTE +1
MNF013CTRC - Conhecimento de TransporteEMBARQUE, EMPRESA, IMPOSTONOTA, ITEMNOTA, ITEMNOTACC +1
MNF032Importação de XML TransmitidoEMBARQUE, EMPRESA, IMPOSTONOTA, ITEMNOTA, ITEMNOTALOCAL +1
MPD011Confirmação Ordem CarregamentoEMBARQUE, EMPRESA, IMPOSTONOTA, ITEMNOTA, ITEMSERIAL +1
MRC020Confirmação de Ordem de Carregamento RecapadoraEMBARQUE, EMPRESA, IMPOSTONOTA, ITEMNOTA, ITEMNOTALOCAL +1
REQ012Relação de Entradas e Saídas do EstoqueDEVOLUCAONOTA, EMPRESA, IMPOSTONOTA, ITEMNOTA, ITEMNOTASEMENTE +1
RFI031Sped Fiscal(EFD)DEVOLUCAONOTA, EMBARQUE, EMPRESA, IMPOSTONOTA, ITEMNOTA +1
RNF013Etiquetas de Volume sobre Nota FiscalEMPRESA, ITEMNOTA, ITEMNOTAGRADE, ITEMNOTASEMENTE, ITEMSERIAL +1
RNF038EMBARQUE, EMPRESA, ITEMNOTA, ITEMNOTACC, ITEMSERIAL +1
CNF011Consulta de NFS-eEMBARQUE, EMPRESA, IMPOSTONOTA, ITEMNOTA, NOTA
CNF014EMBARQUE, EMPRESA, IMPOSTONOTA, ITEMNOTA, NOTA
JunsoftGerNotasEMBARQUE, EMPRESA, IMPOSTONOTA, ITEMNOTA, NOTA
JunsoftServiceFatAppEMBARQUE, EMPRESA, ITEMNOTA, ITEMNOTALOCAL, NOTA
...+1171 telas

Regras de Negocio​

  1. Exige uma nota fiscal de origem valida (consultada em ORIGEMDEVOLUCAO). O sistema verifica o saldo de devolucao de cada item via RETORNA_SALDODEVOLUCAO antes de permitir o lancamento.
  2. Motivo de devolucao e obrigatorio (CD_MOTIVO em NOTA). Valida cadastro em MOTIVO.
  3. Se a origem tem controle de entrega (CONTROLEENTREGA com saldo em aberto), o usuario pode marcar entregas para devolucao via dialog UVALIDACONTROLEENTREGA; DEVOLUCAO_CONTROLEENTREGA grava em CONTROLEENTREGADEVOLUCAO e VIEW_ATUALIZA_SALDO_ENTREGA recompoe o saldo.
  4. Apos confirmar, executa GERA_NOTAFISCAL para montar a nova NOTA/ITEMNOTA, GERA_IMPOSTONOTA para o fiscal e GERA_COMISSAODEVOLUCAO para estornar comissao dos vendedores.
  5. Numero da nota segue a sequencia do modelo (GERA_SEQUENCIA sobre SEQUENCIA).
  6. Rateio de centro de resultado e calculado por CALCULA_CENTRORESULT e validado com VALIDA_CENTRORESULT; permite cancelamento manual (exception W-0000 'Rateio de Centro de Resultado Cancelado').
  7. Lote/serial sao herdados da nota origem (ITEMNOTASEMENTE, ITEMSERIAL) quando o item tem grade/serial.
  8. Integracao financeira/contabil via GERA_INTEGRACAO e GRAVA_MOVTOPROCESSO apos a emissao.

Datasets e SQL​

  • tabNOTA: Cabecalho da nota de devolucao (NOTA + NFE quando aplicavel).
  • tabITEMNOTA: Itens da devolucao com QT, VL e ST_DEVOLUCAO.
  • tabORIGEMDEVOLUCAO: Nota fiscal de origem sendo devolvida (SELECT em NOTA/ITEMNOTA).
  • tabCONTROLEENTREGA / tabITEMENTREGA: Saldo de entrega vinculado a pedido/nota origem para devolucao parcial.
  • tabRATEIO / tabCENTRERESULT: Rateio de centro de resultado por item da devolucao.
  • tabIMPOSTONOTA / tabIMPOSTO: Impostos calculados pela IMPOSTONOTA a partir de GERA_IMPOSTONOTA.
  • tabSERIAL / tabSERIALORIG: Itens seriados herdados da origem.