Pular para o conteúdo principal

Parâmetro de Cálculo de Comissão

Tela de configuração: MFA001 - Parâmetros de Faturamento Localização: Parâmetros → Ambos → Opção 1 Tabela: PARMFATUR.ST_COMISSAO Valor padrão: N (Não)

Telas impactadas​

MóduloCódigoDescrição
Pedido de VendaMPD002Pedidos de venda
Pedido de Venda (Simplificado)MPD005Pedido simplificado
Pedido (Outro Tipo)MPD017Pedido outro tipo
Pedido de Venda (Mobile)MPD020Pedido de venda mobile
Nota Fiscal SaídaMNF002Emissão de NF de saída
Nota Fiscal EntradaMNF001NF de entrada
NF Devolução/OutraMNF007NF devolução
PDV / Cupom FiscalMNF024Frente de caixa
Ordem de ServiçoMOF001Ordens de serviço
Ordem de Serviço (Outra)MOF002OS outra
Ordem de Serviço (Outra)MOF006OS outra
Recap NFMRC020Notas fiscais recap
ReparcelamentoMFC019Reparcelamento financeiro

Procedures impactadas​

Procedures de cálculo de comissão​

ProcedureArquivoDescrição
CALCULA_COMISSAOScripts/CALCULA_COMISSAO.sqlCalcula comissão por item (V1). Só calcula quando MOVIMENTACAO.ST_COMISSAO = 'S'
CALCULA_COMISSAO_V2Scripts/CALCULA_COMISSAO_V2.sqlCalcula comissão por item (V2). Calcula quando MOVIMENTACAO.ST_COMISSAO <> 'N'
RECALCULA_COMISSAOScripts/RECALCULA_COMISSAO.sqlRecalcula comissões de notas/pedidos já gravados
RECALCULA_COMISSAOV2Scripts/RECALCULA_COMISSAOV2.sqlRecalcula comissões (V2) com suporte a múltiplos vendedores
CALCULA_COMISSAOVIAGEMScripts/CALCULA_COMISSAOVIAGEM.sqlComissão por viagem
CALCULA_COMISSAOMOTORISTAScripts/CALCULA_COMISSAOMOTORISTA.sqlComissão de motorista

Procedures de geração de documentos​

ProcedureArquivoDescrição
GERA_NOTAFISCALScripts/GERA_NOTAFISCAL.sqlGera nota fiscal a partir do pedido
GERA_ESTOQUE_NOTAFISCALScripts/GERA_ESTOQUE_NOTAFISCAL.sqlGera estoque da nota fiscal
CONFIRMA_ORDEMSERVICOScripts/CONFIRMA_ORDEMSERVICO.sqlConfirma OS e gera comissão
CONFIRMA_ORDEMSERVICOMETALScripts/CONFIRMA_ORDEMSERVICOMETAL.sqlConfirma OS Metal
ENCERRA_MESAScripts/ENCERRA_MESA.sqlEncerra mesa (restaurante)
GRAVA_NOTACTEScripts/GRAVA_NOTACTE.sqlGrava nota de conhecimento de transporte
CANCELA_NOTAFISCALScripts/CANCELA_NOTAFISCAL.sqlCancela nota e marca comissão como 'C'

Procedures de processamento de pedidos​

ProcedureArquivoDescrição
PROCESSA_PEDIDOSOVISScripts/PROCESSA_PEDIDOSOVIS.sqlProcessa pedidos SOVIS
PROCESSA_PEDIDOSOVIS_DESMScripts/PROCESSA_PEDIDOSOVIS_DESM.sqlProcessa pedidos SOVIS desmembrado
PROCESSA_ITEMPEDIDOIMPORTACAOScripts/PROCESSA_ITEMPEDIDOIMPORTACAO.sqlProcessa item de importação
PROCESSA_ITEMPEDIMPPRESTASHOPScripts/PROCESSA_ITEMPEDIMPPRESTASHOP.sqlIntegração Prestashop
PROCESSA_ITEMPEDIDOHUBScripts/PROCESSA_ITEMPEDIDOHUB.sqlIntegração Hub
IMPORTACAO_ALLABORScripts/IMPORTACAO_ALLABOR.sqlImportação Allabor
INSERE_CONSERTOSRETRABALHOScripts/INSERE_CONSERTOSRETRABALHO.sqlConsertos retrabalho
INSERE_CONSERTOSPNEUScripts/INSERE_CONSERTOSPNEU.sqlConsertos pneu

Views de relatórios de comissão​

ViewArquivoDescrição
VIEW_COMISSAONOTAScripts/VIEW_COMISSAONOTA.sqlRelatório principal de comissão por nota
VIEW_COMISSAONOTA_RScripts/VIEW_COMISSAONOTA_R.sqlComissão por nota - resumo
VIEW_COMISSAONOTA_EScripts/VIEW_COMISSAONOTA_E.sqlComissão por nota - empresa
VIEW_COMISSAONOTA_HScripts/VIEW_COMISSAONOTA_H.sqlComissão por nota - histórico
VIEW_COMISSAONOTA_NScripts/VIEW_COMISSAONOTA_N.sqlComissão por nota - notas
VIEW_COMISSAONOTA_YScripts/VIEW_COMISSAONOTA_Y.sqlComissão por nota - Yellow
VIEW_COMISSAONOTA_VScripts/VIEW_COMISSAONOTA_V.sqlComissão por nota - versão
VIEW_COMISSAONOTA_XScripts/VIEW_COMISSAONOTA_X.sqlComissão por nota - extra
VIEW_COMISSAONOTA_LScripts/VIEW_COMISSAONOTA_L.sqlComissão por nota - Lista
VIEW_COMISSAONOTA_DISTRIBUIDORScripts/VIEW_COMISSAONOTA_DISTRIBUIDOR.sqlComissão por distribuidor
VIEW_COMISSAONOTA_VERSAO2Scripts/VIEW_COMISSAONOTA_VERSAO2.sqlComissão por nota V2
VIEW_COMISSAOPEDIDOScripts/VIEW_COMISSAOPEDIDO.sqlRelatório de comissão por pedido
VIEW_COMISSAOPEDIDO_VERSAO2Scripts/VIEW_COMISSAOPEDIDO_VERSAO2.sqlComissão por pedido V2
VIEW_RRC007Scripts/VIEW_RRC007.sqlRelatório RRC007
VIEW_RPD007Scripts/VIEW_RPD007.sqlRelatório RPD007

Campos envolvidos​

CampoDescrição
PC_COMISSAOPercentual de comissão do vendedor no item
PC_COMISEMPRPercentual de comissão da empresa no item (visível apenas com 'T')
PC_COMISSAOGERALPercentual de comissão geral aplicado a todos os itens do pedido
VL_COMISSAOValor da comissão calculada
MOVIMENTACAO.ST_COMISSAOFlag por movimentação que define se gera comissão ('S'/'N')

Opções disponíveis​

S - Sim (Vendedor)​

O que fazDetalhe
Calcula comissão automaticamente?SIM, usando a procedure CALCULA_COMISSAO
Campo PC_COMISSAOReadOnly (não edita, calculado automático)
Campo PC_COMISSAOGERALReadOnly (não edita, calculado automático)
Campo PC_COMISEMPRInvisível (comissão empresa não se aplica)
Recalcula ao trocar movimentação?Sempre recalcula (para todos os itens)
Origem do percentualBusca do cadastro do Vendedor/Produto/Grupo

Simulação passo a passo​

  1. Vá em MFA001 → Parâmetros → Ambos → Opção 1 → ST_COMISSAO = "Sim (Vendedor)"
  2. Salve os parâmetros (F6)
  3. Abra um Pedido de Venda (MPD002)
  4. Informe o vendedor no pedido
  5. Adicione um produto com movimentação que gera comissão (MOVIMENTACAO.ST_COMISSAO = 'S')
  6. O campo PC_COMISSAO é preenchido automaticamente pela procedure CALCULA_COMISSAO
  7. Tente clicar no campo PC_COMISSAO → Campo fica bloqueado (ReadOnly)
  8. Tente clicar no campo PC_COMISSAOGERAL → Campo fica bloqueado (ReadOnly)

Resultado esperado: A comissão é calculada automaticamente para o vendedor com base nas regras cadastradas. O usuário não consegue alterar manualmente os percentuais.


T - Sim (Vendedor e Empresa)​

O que fazDetalhe
Calcula comissão automaticamente?SIM, usando a procedure CALCULA_COMISSAO
Campo PC_COMISSAOReadOnly (não edita, calculado automático)
Campo PC_COMISSAOGERALReadOnly (não edita, calculado automático)
Campo PC_COMISEMPRVisível e ReadOnly (percentual da empresa, calculado automático)
Recalcula ao trocar movimentação?Sempre recalcula (para todos os itens)
Diferença de 'S'Exibe o campo de comissão da empresa (PC_COMISEMPR)

Simulação passo a passo​

  1. Vá em MFA001 → ST_COMISSAO = "Sim (Vend e Empr)"
  2. Salve os parâmetros (F6)
  3. Abra um Pedido de Venda (MPD002)
  4. Informe o vendedor no pedido
  5. Adicione um produto com movimentação que gera comissão
  6. O campo PC_COMISSAO é preenchido automaticamente
  7. O campo PC_COMISEMPR aparece visível com o percentual da empresa
  8. Tente editar PC_COMISSAO → Bloqueado
  9. Tente editar PC_COMISEMPR → Bloqueado

Resultado esperado: Comissão calculada automaticamente para o vendedor E para a empresa. Ambos os campos de percentual ficam visíveis mas não editáveis.


N - Não (Manual)​

O que fazDetalhe
Calcula comissão automaticamente?NÃO - comissão deve ser informada manualmente
Campo PC_COMISSAOEditável (usuário digita o percentual)
Campo PC_COMISSAOGERALEditável (usuário define comissão geral)
Campo PC_COMISEMPRInvisível (comissão empresa não se aplica)
Recalcula ao trocar movimentação?Condicional - só recalcula para itens novos (não gravados no banco)
Itens já gravadosMantém a comissão que foi informada manualmente

Simulação passo a passo​

  1. MFA001 → ST_COMISSAO = "Não"
  2. Salve os parâmetros (F6)
  3. Abra um Pedido de Venda (MPD002)
  4. Adicione um produto com movimentação que gera comissão
  5. O campo PC_COMISSAO fica editável → Digite o percentual desejado
  6. O campo PC_COMISSAOGERAL fica editável → Pode definir comissão geral para todos os itens
  7. Salve o pedido
  8. Reabra e altere a movimentação de um item já salvo → A comissão NÃO é recalculada (mantém valor original)
  9. Adicione um item novo → A comissão É calculada normalmente

Resultado esperado: O usuário tem liberdade para informar manualmente o percentual de comissão. Itens já gravados não são afetados por recálculos automáticos.

Este é o valor padrão ao criar um novo registro no MFA001.


Observação Importante: MOVIMENTACAO.ST_COMISSAO​

O parâmetro PARMFATUR.ST_COMISSAO controla o modo de cálculo da comissão (automático/manual). Porém, a geração ou não de comissão para cada item depende da flag MOVIMENTACAO.ST_COMISSAO da movimentação selecionada:

MOVIMENTACAO.ST_COMISSAOComportamento
SGera comissão (o cálculo segue o que foi definido em PARMFATUR.ST_COMISSAO)
NNão gera comissão - o valor da comissão é zerado
TGera comissão (aceito pela V2 do cálculo)

Essa flag é configurada por movimentação no cadastro TCB001 - Movimentações.


Regra Geral de Interação com ST_VARIOSVENDEDORES​

O cálculo de comissão é influenciado pelo parâmetro ST_VARIOSVENDEDORES:

  • ST_VARIOSVENDEDORES = 'S': Permite múltiplos vendedores por item. A comissão é rateada entre os vendedores cadastrados na tabela ITEMNOTAVENDEDOR / ITEMPEDIDOVENDEDOR.
  • ST_VARIOSVENDEDORES = 'N': Apenas um vendedor por documento. A comissão é calculada diretamente pelo vendedor do pedido/nota.

A geração de comissão só ocorre quando ambas as condições são atendidas:

  1. MOVIMENTACAO.ST_COMISSAO = 'S' (a movimentação gera comissão)
  2. O módulo está configurado para calcular comissão (PARMFATUR.ST_COMISSAO = 'S' ou 'T')

Tabela Comparativa Resumida​

OpçãoDescriçãoPC_COMISSAO editável?PC_COMISEMPR visível?Recalcula sempre?Comissão automática?
SSim (Vendedor)Não (ReadOnly)NãoSimSim
TSim (Vend e Empr)Não (ReadOnly)SimSimSim
NNão (Manual)SimNãoSó itens novosNão