Pular para o conteúdo principal

Na Venda Gera Débito Pendente para o Vendedor

Tela de configuração: MFA001 - Parâmetros de Faturamento Localização: Parâmetros → Faturamento → aba Vendedor (campo "Na Venda Gera Débito Pendente para o Vendedor"). Nota: não confundir com o campo "Mov de Débito Pendente p/ Vendedor" da aba Operações Padrão → Operação 2, que é um código de movimentação (MV_DEBITOVENDEDOR), parâmetro distinto deste. Tabela: PARMFATUR.ST_DEBITOVENDEDOR Valor padrão: N (Não)

Controla se, ao gravar uma Nota Fiscal de Saída com vendedor informado, o sistema deve oferecer a geração automática de um débito pendente (lançamento a receber) em nome do vendedor. Usado em cenários em que o vendedor recebe mercadoria para vender (tipo consignado/coleta/venda a prazo de produto) e a empresa quer registrar um título a cobrar dele, abatido posteriormente conforme a venda efetivamente se liquidar.

O débito só é efetivamente gerado se o parâmetro complementar CD_MOVDEBITOVEND (movimentação de débito do vendedor) estiver preenchido — caso contrário é emitido aviso [MFA001]. A confirmação é interativa: o sistema pergunta ao operador antes de gravar o título.

Telas impactadas​

MóduloCódigoDescrição
Emissão de NF de SaídaMNF002Ao salvar NF de saída, após rateio de Centro de Resultado, oferece gerar débito para o vendedor
Pré-Venda / NF CupomMNF032Mesma regra: após gerar a nota, oferece gerar débito para o vendedor
NF Cupom/ContingênciaMNF008Lê o parâmetro junto com os demais parâmetros do faturamento
Cupom Fiscal SAT/CFeMCO006Lê o parâmetro junto com os demais parâmetros do faturamento

Procedures impactadas​

ProcedureArquivoDescrição
GRAVA_CONTASScripts/GRAVA_CONTAS.sqlProcedure que grava efetivamente o título a receber (modo 'D' = débito) para o vendedor, com histórico DV. Chamada com tipo de conta/histórico vindos da movimentação CD_MOVDEBITOVEND

Campos envolvidos​

CampoTabelaDescrição
ST_DEBITOVENDEDORPARMFATURFlag principal (S/N) — habilita o fluxo de geração do débito
CD_MOVDEBITOVENDPARMFATURParâmetro complementar obrigatório — movimentação financeira usada como template (informa CD_TIPOCONTA e CD_HISTORICO do débito). Sem ele, o fluxo avisa o operador e não gera o título
CD_VENDEDORNOTACódigo do vendedor da nota. Sem vendedor informado, o fluxo de débito é ignorado silenciosamente
CD_FORMAPAGTONOTAForma de pagamento copiada para o lançamento gerado
NR_LANCAMENTONOTANúmero do lançamento da nota de origem (vai para a referência do título)
CD_SERIENF / CD_SERIENOTASérie da nota de origem (referência do título)
VL_NOTAFISCALNOTAValor total da nota — valor do débito gerado para o vendedor
DT_EMISSAONOTAData de emissão. O vencimento do débito é emissão + 30 dias (via IncDay(...,30))

Opções disponíveis​

S - Sim​

O que fazDetalhe
Ao salvar NF de saída com vendedor preenchido, pergunta?SIM — exibe "Deseja Gerar Débito para o Vendedor" (mensagem C-0000)
Gera título a receber para o vendedor?SIM, via GRAVA_CONTAS('D', ...) se o operador confirmar
Depende de outro parâmetro?SIM — exige CD_MOVDEBITOVEND preenchido (Opção 2 → "Mov de Débito Pendete p/ Vendedor"). Sem ele, exibe aviso "O Vendedor Não Possui Movimentação de Débito Cadastrada! [MFA001]"
O que acontece se a nota não tem vendedor?Fluxo é ignorado silenciosamente (nenhuma pergunta)
Valor do débitoIgual ao VL_NOTAFISCAL da nota
Vencimento do débitoData de emissão da nota + 30 dias
Histórico contábil do título'DV' (débito vendedor)

Simulação passo a passo​

  1. Vá em MFA001 → aba Operações Padrão → Opção 2 → informe uma Movimentação de Débito Pendente p/ Vendedor (campo CD_MOVDEBITOVEND)
  2. Ainda em MFA001 → aba Operações Padrão → Opção 2 → "Na Venda Gera Débito Pendente para o Vendedor" = Sim
  3. Salve os parâmetros (F6)
  4. Abra uma NF de Saída (MNF002)
  5. Informe cliente + vendedor + itens + forma de pagamento e grave (F6)
  6. Após a nota ser gerada e o rateio de CR processado, aparece a pergunta "Deseja Gerar Débito para o Vendedor"
  7. Clique em Sim
  8. O sistema executa GRAVA_CONTAS('D', ...) e exibe "Débito Vendedor Gerado com Sucesso ! Lançamento N° XXX."

Resultado esperado: É criado um título a receber em nome do vendedor, no valor total da nota, com vencimento em 30 dias, tipo de conta e histórico vindos da movimentação CD_MOVDEBITOVEND, e histórico fixo 'DV' (débito vendedor). Na aba financeira do vendedor (Contas a Receber), o título aparece como pendente.


N - Não​

O que fazDetalhe
Ao salvar NF de saída com vendedor preenchido, pergunta?NÃO — o fluxo de débito do vendedor é completamente ignorado
Gera título a receber para o vendedor?NÃO
Quando usar?Cenário padrão: vendedores recebem comissão sobre as vendas (ver ST_COMISSAO) e não assumem débito pelas mercadorias

Simulação passo a passo​

  1. Vá em MFA001 → aba Operações Padrão → Opção 2 → "Na Venda Gera Débito Pendente para o Vendedor" = Não
  2. Salve os parâmetros (F6)
  3. Abra uma NF de Saída (MNF002)
  4. Informe cliente + vendedor + itens e grave (F6)
  5. A nota é gerada normalmente, sem nenhuma pergunta adicional sobre débito do vendedor
  6. Consulte o Contas a Receber do vendedor → não há título novo

Resultado esperado: A gravação da NF segue o fluxo normal. Nenhum título é lançado em nome do vendedor; a relação financeira com ele permanece apenas pelo cálculo de comissão (se habilitado).

Este é o valor padrão ao criar um novo registro no MFA001 (UdmMFA001.pas:495).


Observação importante: Dependência de CD_MOVDEBITOVEND​

O parâmetro ST_DEBITOVENDEDOR = 'S' sozinho não gera nada. Ele apenas habilita a pergunta ao operador. A geração real do título depende de CD_MOVDEBITOVEND estar preenchido em MFA001 → Opção 2 (campo "Mov de Débito Pendete p/ Vendedor").

Fluxo real no código (UMNF002.pas:3983-4021, UMNF032.pas:1603-1642):

if (ParmFatur.Values['ST_DEBITOVENDEDOR'] = 'S') then
begin
if (dmMNF002.tabNOTACD_VENDEDOR.AsString <> '') then
begin
if (MsgCodigo('C-0000', ['Deseja Gerar Débito para o Vendedor'])) then
begin
// Busca CD_TIPOCONTA e CD_HISTORICO da movimentação CD_MOVDEBITOVEND
...
if (ParmFatur.Values['CD_MOVDEBITOVEND'] <> '') then
begin
// Executa GRAVA_CONTAS('D', ...) com histórico 'DV'
...
MsgCodigo('I-0000', ['Débito Vendedor Gerado com Sucesso ! ...']);
end
else
Raise JException.Create('W-0000',
['O Vendedor Não Possui Movimentação de Débito Cadastrada! [MFA001]']);
end;
end;
end;

Se o operador responder Não à pergunta, a nota é gravada normalmente e nenhum débito é criado naquela gravação (mas a pergunta voltará a aparecer em notas futuras enquanto o parâmetro permanecer 'S').


Tabela Comparativa Resumida​

OpçãoPergunta ao gravar NF?Gera título a receber p/ vendedor?Depende de CD_MOVDEBITOVEND?
SSim (se houver vendedor)Sim, se operador confirmar e CD_MOVDEBITOVEND existirSim
NNãoNão—

Referências no Código Fonte​

MFA001 (tela de configuração):

  • source/MFA001/UMFA001.dfm:5483 — ComboBox com DataField = 'ST_DEBITOVENDEDOR' (Items: 'Sim'/'S', 'Não'/'N')
  • source/MFA001/UMFA001.dfm:5154-5166 — Label29 "Na Venda Gera Débito Pendente para o Vendedor" (Top=118, ao lado do combobox em Top=114)
  • source/MFA001/UdmMFA001.pas:161 — Declaração tabPARMFATURST_DEBITOVENDEDOR: TStringField
  • source/MFA001/UdmMFA001.pas:495 — Valor padrão no AfterInsert: 'N'
  • source/MFA001/UdmMFA001.dfm:1267-1269 — Mapeamento do campo para "PARMFATUR"."ST_DEBITOVENDEDOR"
  • source/MFA001/UdmMFA001.dfm:2390 — Coluna no SelectSQL do dataset PARMFATUR
  • source/MFA001/UdmMFA001.dfm:2555 — Parâmetro no InsertSQL
  • source/MFA001/UdmMFA001.dfm:2772 — Parâmetro no UpdateSQL

Módulos consumidores:

  • source/MNF002/UdmMNF002.pas:10506 — Leitura do parâmetro no SELECT de PARMFATUR (função GetParmFatur)
  • source/MNF002/UMNF002.pas:3982-4021 — Fluxo principal de geração do débito após rateio de Centro de Resultado; chama GRAVA_CONTAS('D', ...) com histórico 'DV', vencimento em +30 dias
  • source/MNF032/UMNF032.pas:1602-1642 — Mesma lógica que MNF002 para o módulo MNF032
  • source/MNF008/UdmMNF008.pas:771 — Leitura do parâmetro no SELECT de PARMFATUR
  • source/MCO006/UdmMCO006.pas:2115 — Leitura do parâmetro no SELECT de PARMFATUR

Procedure SQL:

  • Scripts/GRAVA_CONTAS.sql — Procedure que grava o título a receber quando o operador confirma a geração do débito