FJFrigo · Relatórios · menu 3-1-9 Apuração

DRE Gerencial

O resultado mês a mês pela árvore dos grupos de centro de custo (174): competência ou caixa, com CMV e consumo do almoxarifado, conversão de moeda e a linha de “sem classificação”. De onde vem cada número, as recusas com a mensagem exata e casos de teste com a SQL de conferência.

Opção: 3199D (árvore no 174) Origem: desenho novo (docs/proposta-arvore-dre-174.md) Saída: PDF e planilha (XLS) Base de teste: fjfrigo_concep_transp (árvore criada)

Regra

Como o número é calculado: tabela, coluna, filtro.

Aviso

O relatório sai, mas com um comportamento que surpreende.

Bloqueia

O relatório não é gerado: statuscode 400 com a frase indicada.

Teste

Roteiro de QA com o resultado esperado e a forma de conferir no banco.

A

O que a tela mostra

3-Relatórios › 1-Financeiros › 9-Apuracao › DRE Gerencial (3199D)

Desenho novo (inovação 19, 27/09/2026), sem equivalente no legado nem no ceif. O resultado mês a mês pela árvore dos grupos de centro de custo (cadastro 174): receitas, deduções, custos, despesas e resultado financeiro. Não confundir com o DRE Contábil (38N), que sai do razão contábil.

ItemValor
TelaDRE Gerencial (3199D) — RelatorioDreGerencial.vue; XLS e Gerar PDF
EndpointPOST /lancamento/relatorios/relatorioDreGerencial — RelatorioDreGerencialService, com DreGerencialMovimento (a mesma leitura da janela “Movimento” do 174), DreGerencialConversao e DreGerencialCmv
ColunasConta · um mês por coluna (MM/AAAA, até 24) · Total · % receita
LinhasA árvore do 174 por número (nível 1 sempre; níveis abaixo só se têm valor). Depois do bloco 2: = RECEITA LÍQUIDA (1+2); do 3: = LUCRO BRUTO; do 4: = RESULTADO OPERACIONAL; do 5: = RESULTADO LÍQUIDO. Blocos 6 (investimentos) e 7 (não operacional/transitório) ficam fora do resultado
Depois da árvoreSEM CLASSIFICAÇÃO (fora da árvore) (centro fora de folha e título sem centro) e, com CMV ligado, o bloco INFORMATIVO (fora do resultado) com avisos
SinalReceita positiva; custo e despesa negativos (valor = receber − pagar), na moeda local da filial do título (ou na moeda de conversão)
ÁrvoreFica no cadastro 174 (grupo_centro_custo.numero_gc, máscara 9.99.999.999; as folhas recebem os centros). O botão “De-para DRE” do 174 cria a árvore (26 grupos) e reclassifica os centros (só master); há exportar/importar planilha
B

Filtros e opções

Regime, moeda e detalhe ficam no painel de Opções

Os meses são o único campo obrigatório.

CampoOndePadrãoO que faz
Mês inicial / finalFiltro11 meses atrás · mês correnteAceita AAAA-MM (ou uma data, de que vale o mês). No máximo 24 meses
FilialFiltrotodas as do usuárioUma filial; sem acesso recusa
RegimeOpçõesCompetênciaCompetência = títulos pela data de emissão, valor da parcela. Caixa = baixas pela data do pagamento/recebimento, valor baixado
Moeda conversãoOpçõesMoeda localDivide o valor (já em moeda local) pela cotação da moeda escolhida no dia do fato
Detalhar centros de custoOpçõesdesligadoLista cada centro debaixo da sua folha (e debaixo de SEM CLASSIFICAÇÃO)
CMV e consumo do almoxarifado (competência)OpçõesligadoSó vale na competência. Troca as compras pelo custo do que saiu do estoque (abaixo)
Paisagem (PDF)OpçõesligadoOrientação do PDF
Filtros salvos ★ / Exibir filtrosComuns—Código de salvamento 3199D
C

De onde vem cada número

Tabelas, colunas e filtros SQL
Regra

O valor de cada centro e mês

Competênciafe.valor_parcela × fator, por DATE(fe.data_emissao), com fe.excluido <> 'T', tipo_emissao IN ('R','P').

Caixab.valor × fator da baixa, por DATE(b.data_baixa), com b.excluido <> 'T' e fe.excluido <> 'T' (a baixa e o título vivos, como no 3199C; o filtro do título entrou em 04/10/2026).

FatorCompetência: IF(fe.idmoeda = filial.idmoeda_local OR IFNULL(fe.valor_cambio,0) = 0, 1, fe.valor_cambio). Caixa: o mesmo com b.valor_cambio da baixa.

Receber − pagarCada centro e mês é receber − pagar. A receita vem dos títulos a receber, não do faturamento do 2333: é o que o centro de custo classifica.

DescontadoO a receber descontado entra (no DRE a receita é receita, descontada ou não).

Todos
Regra

A árvore: folha, soma pelos pais, sem classificação

FolhasOs grupos de grupo_centro_custo com numero_gc que não são pai de nenhum outro. O centro vale na folha do seu idgrupo_centro_custo; os sintéticos somam os filhos (por prefixo do número).

SEM CLASSIFICAÇÃOCentro cujo grupo não é uma folha da árvore, e título sem centro (centro 0). Fica fora das linhas de resultado (o “= RESULTADO LÍQUIDO” soma só os blocos 1 a 5): confira a linha para ver o que ainda falta classificar.

% receitaTotal da linha ÷ total do grupo 1 RECEITAS do relatório, 2 casas; sem receita fica em branco.

Linha sem valorGrupo de nível 2 em diante sem movimento não aparece; os de nível 1 aparecem sempre (zerados).

Todos
Regra

Linhas de resultado

AcumuladoResultado = soma dos totais dos blocos 1, 2, 3, 4 e 5 até o ponto: Receita líquida = 1+2; Lucro bruto = 1+2+3; Resultado operacional = +4; Resultado líquido = +5.

ForaBloco 6 e 7 aparecem na árvore mas não entram em nenhuma linha “=”.

Todos
Regra

CMV e consumo do almoxarifado (só competência, com a opção ligada)

Produto acabadoNas filiais que não são planta (filial.planta/planta_suina) e não têm entrada de produção (compra de carne com tipo_operacao 251 ou 591 no período): saem do DRE os títulos da parcela 1 (idtipo_parcela = 1) das compras de carne (2322) — pareados por idfaturamento e idtipo_faturamento com faturamento_compra_carne —, fora os tipos que a filial marca em filial_tf como estoque (troca de NF). Entra o CMV: kg vendidos × custo médio móvel do produto no dia (CustoMedioMovel), por grupo de produto.

O que conta como saídaVenda (faturamento_venda_produtos, tipo_produto = '1' ou nulo, só com título a receber vivo do mesmo idfaturamento+tipo), cupom (cupom_itens) e lançamento manual de quebra (112) e saída para produção (116). Peso = peso_liquido se > 0, senão quantidade.

Planta e granjaContinuam pelas compras (aviso “Filiais planta mantidas pelas compras”): o estoque delas entra pela produção, não pelo custo do gado.

AlmoxarifadoNas filiais com saída de consumo (operações 102, 132, 502, 552) saem os produtos das compras 101/111/131 (valor_total_sem_iva) e entra o custo_total da saída (em moeda local da filial: a linha em outra moeda vezes o valor_cambio gravado nela — corrigido em 04/10/2026, como no 383; antes o custo em dólar do Paraguai entrava como guaranis), no centro de custo da última compra do produto na filial (senão almoxarifado_produto.idcentro_custo_compra, do 194). Filiais sem saída de consumo ficam pelas compras (aviso).

Sem custo médioProduto vendido sem entrada com preço até a venda fica fora do CMV, com aviso (kg e os cinco maiores).

InformativoCompras de carne substituídas, CMV, variação do estoque de acabado (compras − CMV), compras de almoxarifado substituídas, consumo e variação do estoque do almoxarifado, mais os avisos — fora do resultado.

Todos
Regra

Conversão de moeda

CotaçãoPor dia: a última cotação lançada até o dia (moeda_valores.valor > 0); fim de semana e feriado usam a de antes. O dia sem cotação anterior (antes da primeira lançada) fica fora da conversão (zero) e vai no aviso — nunca uma cotação futura (decisão do usuário, 04/10/2026, a mesma regra do 381; antes valia a primeira cotação).

Aviso“N dia(s) sem cotação de SIGLA até a data (de … a …) ficaram fora da conversão - lance a cotação de moedas (21).” e “N dia(s) convertido(s) para SIGLA com cotação de mais de 7 dias antes (de … a …) - confira a cotação de moedas (21).”

CondiçãoAs filiais do relatório precisam ter a mesma moeda local; escolhida a própria moeda local, não converte; moeda sem nenhuma cotação até o fim do período recusa.

Todos
D

Recusas e avisos

Mensagens exatas
Bloqueia

Os grupos de centro de custo (174) ainda não têm a árvore do DRE - crie a árvore e faça o de-para dos centros de custo antes.

QuandoNenhum grupo com numero_gc preenchido. Em 04/10/2026 acontece no central (65 grupos, nenhum numerado) e no fjfrigo_concepcion (68, nenhum); a base fjfrigo_concep_transp tem 26 numerados.

PegadinhaA árvore e o de-para estão registrados como gravados no central em 27/09/2026; a base de homologação de hoje não os tem (restauração?). “Sem dados” aqui é falta de árvore, não bug do relatório.

Todos
Bloqueia

Informe o mês inicial. / Informe o mês final. / Mês inicial inválido: X

QuandoMês em branco ou fora de AAAA-MM / AAAA-MM-DD.

Todos
Bloqueia

O mês final é anterior ao inicial.

QuandoPeríodo invertido.

Todos
Bloqueia

No máximo 24 meses por relatório.

QuandoMais de 24 meses entre o inicial e o final (inclusive).

Todos
Bloqueia

A filial N não está entre as filiais do usuário. / O usuário não tem filial.

QuandoFilial sem acesso ou usuário sem filial.

Todos
Bloqueia

As filiais escolhidas têm moedas locais diferentes […] - escolha uma filial para converter a moeda.

QuandoMoeda de conversão pedida com filiais de moedas locais diferentes.

Todos
Bloqueia

Moeda de conversão N não cadastrada. / A moeda X não tem cotação lançada (21) até DATA - não há como converter.

QuandoMoeda inexistente, ou sem nenhuma cotação até o último dia do período.

Todos
Aviso

Período sem movimento não é recusado

EfeitoCom a árvore criada, os grupos de nível 1 sempre saem (zerados): a mensagem “Não foram encontrados dados nessas condições.” não aparece neste relatório.

Todos
Aviso

O resultado líquido não inclui SEM CLASSIFICAÇÃO

EfeitoO valor de centro sem folha não entra na linha “= RESULTADO LÍQUIDO” (fica à parte, mais abaixo). Sem a opção de CMV, a soma de todas as linhas, inclusive SEM CLASSIFICAÇÃO, é o receber − pagar do período.

Todos
Aviso

No caixa, baixa de título excluído não entra (corrigido em 04/10/2026)

EfeitoAté 04/10/2026 o ramo de caixa não filtrava fe.excluido: baixa viva de um título excluído contava (o balanço gerencial 3199C filtra). Agora filtra, no 3199D e na janela “Movimento” do 174 (a mesma consulta, DreGerencialMovimento). O que saiu: no central, uma baixa a receber de 111.859,06 (28/08/2026) e uma a pagar de 203,25 (27/03/2025); no fjfrigo_concepcion, 14 baixas a pagar, 7.481.672,32, de 2019 a 2024.

Todos
Aviso

CMV mudou o custo do mês

EfeitoCom a opção ligada, o custo dos meses sai do que saiu do estoque, não do que foi comprado: o DRE de competência deixa de bater com o 311 (emissões). Desligue a opção para conferir com o 311. Plantas e granjas continuam pelas compras.

Todos
Aviso

Tempo de geração

Medidocentral, jan–ago/2026, todas as filiais, com CMV: ~45 s. A tela mostra Gerando… (Ns).

Todos
E

Configurações que mudam o resultado

O que o suporte confere antes de abrir chamado
ConfiguraçãoOndeEfeito
Árvore do DREgrupo_centro_custo.numero_gc (174)Sem ela, recusa. Grupo novo sem número não entra
De-para dos centroscentro_custo.idgrupo_centro_custo (botão “De-para DRE” do 174)Muda o que cada folha soma. O grupo do centro também é filtro de 22P, 222 e outros relatórios: o de-para muda o alcance deles
Moeda local da filialfilial.idmoeda_localDefine quando o valor precisa de câmbio
Câmbio do título / da baixavalor_cambioConverte para a moeda local; 0/nulo = 1
Planta / planta suínafilial.planta, filial.planta_suinaFilial planta fica pelas compras (sem CMV)
Tipos que não movimentam estoquefilial_tf (tipo = 'estoque')Compra e venda desses tipos ficam fora da troca (CMV)
Tipos de operaçãotipo_faturamento.tipo_operacao (101/111/131, 102/132/502/552, 251/591)Quais compras e saídas contam no CMV e no consumo
Centro de custo de compraalmoxarifado_produto.idcentro_custo_compra (194)Onde cai o consumo quando o produto nunca foi comprado na filial
Custo médioCustoMedioMovel (movimento de estoque)Produto sem entrada com preço fica fora do CMV
Cotaçõesmoeda_valores (cadastro 21)Conversão por dia
Filiais do usuáriousuario_filialAlcance
F

Casos de teste sugeridos

Resultado esperado e como conferir no banco
Teste

T1 — Sem CMV, a soma das linhas fecha com o financeiro

ComoNo fjfrigo_concep_transp (árvore de 26 grupos), filial 1, 08/2026, competência, desligue o CMV. Some todas as linhas de folha dos blocos 1 a 7 mais SEM CLASSIFICAÇÃO e compare com a SQL.

EsperadoΣ linhas = receber − pagar do mês. Referência medida em 04/10/2026: receber 3.784.010.545,86; pagar 4.310.089.245,25; diferença −526.078.699,39 (igual ao 31C competência registrado na proposta de 28/09).

SELECT DATE_FORMAT(fe.data_emissao,'%Y-%m') AS mes,
       ROUND(SUM(IF(fe.tipo_emissao='R', fe.valor_parcela * IF(fe.idmoeda = f.idmoeda_local OR IFNULL(fe.valor_cambio,0) = 0, 1, fe.valor_cambio), 0)),2) AS receber,
       ROUND(SUM(IF(fe.tipo_emissao='P', fe.valor_parcela * IF(fe.idmoeda = f.idmoeda_local OR IFNULL(fe.valor_cambio,0) = 0, 1, fe.valor_cambio), 0)),2) AS pagar,
       ROUND(SUM(IF(fe.tipo_emissao='R', 1, -1) * fe.valor_parcela * IF(fe.idmoeda = f.idmoeda_local OR IFNULL(fe.valor_cambio,0) = 0, 1, fe.valor_cambio)),2) AS receber_menos_pagar
  FROM financeiro_emissao fe JOIN filial f ON f.id_filial = fe.idfilial
 WHERE fe.excluido <> 'T' AND fe.tipo_emissao IN ('R','P') AND fe.idfilial = 1
   AND fe.data_emissao >= '2026-08-01' AND fe.data_emissao < DATE_ADD('2026-08-31', INTERVAL 1 DAY)
 GROUP BY 1
Todos
Teste

T2 — Árvore da base de teste

ComoListe a árvore (SQL) e compare com as linhas numeradas do relatório.

EsperadoOs 26 grupos: 1 RECEITAS (1.01 com 1.01.001/.002/.003, 1.02); 2 DEDUÇÕES (2.01); 3 CUSTOS (3.01–3.04); 4 DESPESAS OPERACIONAIS (4.01–4.06); 5 RESULTADO FINANCEIRO (5.01); 6 INVESTIMENTOS (6.01); 7 NÃO OPERACIONAL (7.01). As linhas “=” aparecem depois dos blocos 2, 3, 4 e 5.

SELECT numero_gc, descricao FROM grupo_centro_custo
 WHERE numero_gc IS NOT NULL AND numero_gc <> ''
 ORDER BY numero_gc
Todos
Teste

T3 — Linhas de resultado

ComoNum mês com movimento nos blocos 1 a 5, confira cada linha “=”.

EsperadoReceita líquida = 1 + 2; Lucro bruto = Receita líquida + 3; Resultado operacional = + 4; Resultado líquido = + 5. Blocos 6 e 7 não entram. “% receita” = total da linha ÷ total do bloco 1.

Todos
Teste

T4 — Competência × caixa

ComoGere o mesmo período nos dois regimes.

EsperadoCaixa soma as baixas pela data do pagamento (valor baixado × câmbio da baixa); competência soma as parcelas pela emissão. Os totais diferem; “SEM CLASSIFICAÇÃO” e a árvore são as mesmas. Título lançado em julho e pago em agosto está em julho (competência) e em agosto (caixa).

Todos
Teste

T5 — Detalhar centros

ComoLigue “Detalhar centros de custo”.

EsperadoCada folha lista seus centros por descrição, e a soma deles = a linha da folha. SEM CLASSIFICAÇÃO lista seus centros e “(título sem centro de custo)”.

Todos
Teste

T6 — Centro fora da árvore

ComoMude um centro com movimento para um grupo que não é folha (ou use um sem número) e gere.

EsperadoO valor do centro some das folhas e aparece em “SEM CLASSIFICAÇÃO (fora da árvore)”; o Resultado líquido não inclui esse valor.

Todos
Teste

T7 — CMV ligado × desligado

ComoNum banco com a árvore e filiais de comércio (não planta), gere um mês com e sem a opção CMV.

EsperadoCom CMV: nasce a linha “3.CMV CMV produto acabado (custo médio)” por grupo de produto, as compras de carne saem do bloco 3 e o INFORMATIVO lista compras substituídas, CMV, variação, consumo e avisos. Planta/granja aparecem no aviso “mantidas pelas compras”. Sem CMV: bate com o T1.

Todos
Teste

T8 — Conversão de moeda

ComoEscolha uma moeda de conversão com cotação diária, em banco de uma moeda local única.

EsperadoTítulo do dia D = valor local ÷ cotação mais recente até D; título de fim de semana usa a sexta. Título do relatório mostra “valores em SIGLA”; aviso se a cotação for de mais de 7 dias antes. Período anterior à primeira cotação (no central, U$ antes de 10/08/2021): esses dias ficam zerados e vêm no aviso de cotação faltando. Moeda local escolhida: sem conversão.

Todos
Teste

T9 — Recusas

ComoAbra no central de hoje (sem árvore); depois use meses invertidos, 25 meses, filial sem acesso e moeda sem cotação.

EsperadoAs mensagens da seção D. Atenção: sem árvore, a recusa vem antes de qualquer cálculo.

Todos
G

Limitações e pendências

docs/status-porte.csv, docs/proposta-arvore-dre-174.md e docs/historico/302–303

Status: REVISAR (02/10/2026). A árvore e o de-para foram gravados pela tela no central em 27/09/2026 (993 centros em folhas), mas a homologação de hoje não os tem; o CMV foi medido em jan–ago/2026 (~45 s) sem teste de tela.

De-para pendente do cliente: a árvore só é útil depois que cada centro está numa folha; a sugestão do 174 parte do grupo antigo e do nome do centro (VENDA → receita, COMPRA → custo), mas o ajuste final é decisão dele.

Um item por filtro: a tela envia só a primeira filial marcada.

Sem opção de ordenação: as linhas seguem a numeração da árvore.

Plantas e granjas: sem CMV (estoque entra pela produção); o custo continua pelas compras.

Ramo caixa × título excluído: corrigido em 04/10/2026 (seção D).

Receita pelo financeiro: o DRE usa os títulos a receber, não o faturamento; venda que não gerou título não aparece.

Cadastro do plano de contas: o DRE gerencial não depende do plano contábil; o DRE contábil (38N) é outro relatório.

Nenhuma regra bate com essa busca. Tente um trecho menor da mensagem, ou limpe os filtros.