CD_JURO - Tabela de Juro Padrão
Tela de configuração: FNC001 — Parâmetros Financeiro
Localização: Aba "Financeiro 1"
Tabela:PARMFINANC.CD_JURO
Tipo:INTEGER(DOM_INTEGER)
FK para:JURO(CD_JURO)
Componente:editCD_JURO(lookup com<F9>)
Descrição
Define a tabela de juros (encargos) padrão da empresa para uso em contas a receber, contas a pagar, pedidos e duplicatas.
Quando um documento financeiro é criado sem uma tabela de juros específica, o sistema utiliza a tabela configurada neste parâmetro.
O campo armazena o código (CD_JURO) e exibe a descrição (DS_JURO) via lookup na tabela JURO.
Telas impactadas
| Tela | Descrição | Impacto |
|---|---|---|
| FNC001 | Parâmetros Financeiro | Configuração do parâmetro |
| MFC002 | Manutenção de Contas | Aplica juros ao criar contas |
| CFC001 | Contas a Receber | Filtro/consulta por CD_JURO |
| CFC004 | Contas a Pagar | Filtro/consulta por CD_JURO |
| CNF001 | Entrada de Nota Fiscal | Parcelamento com juros |
| CNF012 | Entrada de Nota (alternativa) | Parcelamento com juros |
| MCO003 | Manutenção de Pedidos | Vincula tabela de juros ao pedido |
| ESB001 | Simulador | Filtra por tabela de juros |
| CFC012 | Simulação Financeira | Filtra por tabela de juros |
Campos envolvidos
| Campo | Tabela | Tipo | Descrição |
|---|---|---|---|
CD_JURO | PARMFINANC | INTEGER | Código da tabela de juros padrão |
DS_JURO | PARMFINANC | VARCHAR(60) | Descrição (campo lookup, preenchido automaticamente) |
CD_JURO | JURO | INTEGER | Chave primária da tabela JURO |
DS_JURO | JURO | VARCHAR(60) | Descrição do encargo |
TP_JURO | JURO | CHAR(1) | Tipo: 'F'=Fator fixo, 'T'=Taxa mensal, 'S'=Simples dia a dia, 'C'=Composto dia a dia |
PC_JURO | JURO | NUMERIC(3,2) | Percentual mensal de juros |
PC_MULTA | JURO | NUMERIC(3,2) | Percentual de multa fixa |
VL_MULTAMORA | JURO | NUMERIC(15,2) | Valor fixo de multa |
NR_TOLERANCIA | JURO | INTEGER | Dias de tolerância antes de calcular |
Comportamento
Lookup e validação
| O que faz | Detalhe |
|---|---|
| Editável | Campo editável com busca <F9> na tabela JURO |
| Validação | Verifica se o CD_JURO informado existe na tabela JURO |
| Descrição automática | Preenche DS_JURO com a descrição retornada do lookup |
| Limpar | Se o campo for vazio, DS_JURO é limpo (null) |
Simulação passo a passo
- Acesse a tela FNC001 — Parâmetros Financeiro.
- Selecione a aba "Financeiro 1".
- Localize o campo "Dados do Parâmetro" (label do componente
editCD_JURO). - Digite um código de tabela de juros (ex:
1) ou pressione<F9>. - Se pressionar
<F9>, uma janela de busca da tabelaJUROé aberta. - Selecione a tabela de juros desejada (ex:
1 - JUROS MORA 1% A.M.). - Salve o registro.
Resultado esperado: Após salvar, todas as operações financeiras da empresa que utilizam o parâmetro CD_JURO passarão a aplicar a tabela de juros selecionada — por exemplo, contas em atraso calcularão juros conforme TP_JURO e PC_JURO configurados na tabela.
Exceção / Importante: Se o código informado não existir na tabela
JURO, o sistema bloqueia o salvamento com mensagem: "Tabela de Juro não cadastrado! [TFC003]".
Nota: Este parâmetro é por empresa (chave
CD_EMPRESAemPARMFINANC). Cada empresa pode ter sua própria tabela de juros padrão.
Tables e entidades que referenciam CD_JURO
| Tabela | Contexto |
|---|---|
CONTAS | Encargos aplicados nas contas a receber/pagar |
CONDPAGTO | Juros associados a condições de pagamento |
PEDIDO | Juros aplicados no pedido de venda |
NOTA | Juros na nota fiscal |
CONFBOLETO | Juros na configuração de boletos |
SUBGRUPO | Juros padrão por subgrupo de produtos |
PARMSINCESTABIL | Parâmetros de sinc. estabilização |
PARMFINANC | Tabela origem do parâmetro |
Procedures impactadas
Stored procedures de cálculo
| Procedure | Arquivo | Impacto |
|---|---|---|
CALCULA_JURO | Scripts/CALCULA_JURO.sql | Calcula valor de juros recebendo I_CD_JURO como parâmetro |
CALCULA_CAPITAL | Scripts/CALCULA_CAPITAL.sql | Cálculo de capital com juros |
CALCULA_JUROMORA | Scripts/CALCULA_JUROMORA.sql | Cálculo de juros de mora |
CALCULA_JUROMORA_RFC019 | Scripts/CALCULA_JUROMORA_RFC019.sql | Cálculo de mora com parâmetro opcional |
CALCULA_JUROVENDA | Scripts/CALCULA_JUROVENDA.sql | Cálculo de juros de venda |
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Impacto |
|---|---|---|
TfrmFNC001.editCD_JUROKeyDown | source/FNC001/UFNC001.pas:743 | Busca <F9> na tabela JURO |
TdmFNC001.tabPARMFINANCCD_JUROValidate | source/FNC001/UdmFNC001.pas:520 | Valida existência do código |
TfrmCFC001.RetornaSQLFiltro | source/CFC001/UCFC001.pas:2627 | Filtro de contas por CD_JURO |
TfrmCFC004.btnProcurarClick | source/CFC004/UCFC004.pas:315 | Filtro de contas a pagar por CD_JURO |
TfrmCNF001.btnParcelaNotaClick | source/CNF001/UCNF001.pas:3881 | Limpa CD_JURO ao parcelar nota |
TfrmCNF001.btnDuplicarClick | source/CNF001/UCNF001.pas:4803 | Copia CD_JURO ao duplicar nota |
TfrmMFC002.btnSalvarClick | source/MFC002/UMFC002.pas:518 | Grava CD_JURO ao criar conta |
TfrmMCO003.btnSalvarClick | source/MCO003/UMCO003.pas:2275 | Grava CD_JURO no pedido |
Referências SQL em scripts
| Script | Arquivo | Impacto |
|---|---|---|
GERA_DUPLICATAS | Scripts/GERA_DUPLICATAS.sql | Usa CD_JURO na geração de duplicatas |
GRAVA_CONTAS | Scripts/GRAVA_CONTAS.sql | Recebe V_CD_JURO para gravar contas |
PROCESSA_FATURA | Scripts/PROCESSA_FATURA.sql | Inclui CD_JURO no processamento |
GERA_NOTAFISCALPEDIDO | Scripts/GRAVA_NOTAFISCALPEDIDO.sql | Propaga CD_JURO ao gerar NF |
RETORNA_VALORPARCELAMENTO | Scripts/RETORNA_VALORPARCELAMENTO.sql | Join com JURO para cálculo |
PARCELA_FINANCIAMENTO | Scripts/PARCELA_FINANCIAMENTO.sql | Join com JURO para parcelas |
PARCELA_FINANC_MNF017 | Scripts/PARCELA_FINANC_MNF017.sql | Idêntico ao anterior |
CONFIRMA_ORDEMSERVICO | Scripts/CONFIRMA_ORDEMSERVICO.sql | CD_JURO na confirmação de OS |
FECHA_CONTRATOLEITE | Scripts/FECHA_CONTRATOLEITE.sql | CD_JURO no fechamento de contrato |
EXPORTACAO_SOVIS | Scripts/EXPORTACAO_SOVIS.sql | Exporta dados de JURO por cliente |
TRGADU_CONDPAGTO | Scripts/TRGADU_CONDPAGTO.sql | Trigger audit em CONDPAGTO |
Candidatas por uso da tabela
Estas procedures usam PARMFINANC mas não citam CD_JURO literalmente. Validar antes de afirmar impacto direto.
| Procedure/View | Arquivo |
|---|---|
CANCELA_CONTAS | Scripts/CANCELA_CONTAS.sql |
CONTABILIZA_REPARCELAMENTO | Scripts/CONTABILIZA_REPARCELAMENTO.sql |
CONTROLE_CAIXA | Scripts/CONTROLE_CAIXA.sql |
ESTORNA_MOVTOCAIXA | Scripts/ESTORNA_MOVTOCAIXA.sql |
EXECUTA_PROCESSO | Scripts/EXECUTA_PROCESSO.sql |
GRAVA_MOVTOCAIXA | Scripts/GRAVA_MOVTOCAIXA.sql |
PROCESSA_REPARCELAMENTO | Scripts/PROCESSA_REPARCELAMENTO.sql |
RETORNA_HISTORICOBAIXA | Scripts/RETORNA_HISTORICOBAIXA.sql |
Exemplo prático
Cenário: Empresa 1 configura a tabela de juros padrão.
-
Configuração de uma tabela de juros (tela TFC003):
CD_JURO DS_JURO TP_JURO PC_JURO PC_MULTA NR_TOLERANCIA 1 JUROS MORA 1% A.M. T 1,00 2,00 5 -
Na tela FNC001, defina
CD_JURO = 1para a Empresa 1. -
Ao gerar uma conta a receber com vencimento em 10/01/2025 e pagamento em 25/01/2025:
- Dias em atraso: 15 dias
- Tolerância: 5 dias → 10 dias calculados
- Juros: 10 dias × (1,00% / 30) ≈ 0,33% sobre o valor do documento
- Multa: 2,00% se dias em atraso > tolerância
-
Em layouts de duplicata como LDP001, LDP002, LDP010, o valor calculado aparece via:
SELECT O_VL_JUROFROM CALCULA_JURO(C.CD_EMPRESA, C.DT_VENCIMENTO + 1, C.DT_VENCIMENTO, C.CD_JURO, C.VL_DOCUMENTO)
Relacionamentos visuais
PARMFINANC.CD_JURO ──FK──> JURO.CD_JURO
├── TP_JURO (tipo de cálculo)
├── PC_JURO (% mensal)
├── PC_MULTA (% multa)
├── VL_MULTAMORA (valor fixo multa)
└── NR_TOLERANCIA (dias carência)
│
▼
CALCULA_JURO() → calcula valor do encargo
│
▼
CONTAS, PEDIDO, NOTA, CONDPAGTO
(aplicação no documento financeiro)