Validações do BI Contábil: Prontidão, Controle e Qualidade
Três painéis que auditam o razão: o que impede fechar o mês, o que foi feito à mão e como a contabilização se comporta. Cada checagem, a SQL por trás, as configurações que a mudam e como conferir.
Telas: Prontidão do Fechamento (38B), Controle dos Lançamentos (38G), Qualidade da Contabilização (38K)Tipo: Desenho novo, sem legadoTabela: contabilidade_analiticoGravação: nenhuma
A
O que são e o que têm em comum
Para quem atende
Três painéis de BI da contabilidade, desenho novo, sem legado (03/10/2026): auditam o razão (contabilidade_analitico) sem gravar nada. Todos seguem a permissão 251 (Lançamentos Contábeis) no menu do front; no backend o endpoint é aberto a qualquer usuário logado (JWT, /lancamento/*). Abrem direto, sem janela de filtros.
Opção
Painel
Pergunta que responde
Endpoint (/lancamento/contabilidade/...)
38B
Prontidão do Fechamento Contábil
Mês a mês, o que impede (ou deveria impedir) fechar o mês?
prontidao/ano, prontidao/lista, prontidao/rastros
38G
Controle dos Lançamentos Contábeis
O que foi feito num período: quem lançou à mão, o que apagou, quando o mês fechado foi reaberto.
controle/alertas, controle/contas-fora-do-padrao
38K
Qualidade da Contabilização
Quanto da contabilidade sai sozinho, quanto leva para contabilizar, quantas regravações, quanto foi conferido.
qualidade/ano
Vocabulário.Asiento = o conjunto de linhas com o mesmo (numelan, ano). Sigla / módulo = a coluna tabela (fv, fba, fim, cie...; tabela do docs/esquema-contabil-252.html, seção A); vazia = digitado no 251. Manual = manual = 'T': digitado no 251 ou automático que alguém mexeu lá depois. Fechamento cambial = linhas tabela = 'cie' (25E em moeda local, ifrs <> 'T'; 25G no IFRS, ifrs = 'T').
Coluna ifrs (balance):T = "Solo IFRS" (vale a moeda do lançamento, só no balanço em dólar); L e B ficam fora do cálculo em dólar; B não confere. Os recortes de G/C seguem o 359 (RelatorioBalanceteContabilSql.where).
Filial. O asiento entra no recorte quando alguma linha dele é da filial (idfilial_dado); com todas as filiais do banco no recorte o filtro de filial sai da consulta (inclusive linhas sem filial). Acesso: só as filiais do usuário (FiliaisDoUsuario); filial escolhida fora do acesso: "Nenhuma das filiais escolhidas está no seu acesso.".
Tenant de referência: os números do histórico são de fjfrigo_concepcion (a base com maior diversidade; 380 mil asientos em 2026). central tem outro volume e outro plano.
Opções: Ano (default o corrente; aceita 2000-2100, senão "Ano inválido: N") e Filial (default todas as do acesso). Grade 12 meses × checagens; clique numa célula traz os asientos do mês (até 300) e o botão da tela que corrige (251, 252, 258, 25E, 25F, 25G, 421). Uma passada sobre os asientos do ano; cache de 5 minutos por banco + ano + filiais; "Atualizar" refaz.
Situação do mês: FUTURO (começa depois de hoje), PASSADO (terminou) ou CORRENTE. Várias checagens só se aplicam a mês PASSADO. Cada célula é OK, ATENCAO (amarelo), PROBLEMA (vermelho), NA (vazio: não se aplica) — o cabeçalho do mês soma problemas e atenções.
Checagem
PROBLEMA
ATENCAO
OK
NA
Mês fechado (contábil)
—
Mês passado e nem todas as filiais com parametros.udf_cont >= último dia
Todas as filiais do recorte
Mês corrente/futuro
Financeiro e faturamento fechados
—
Mês passado e alguma filial sem udf ou udf_fat no mês
Todas com os dois
Mês corrente/futuro
Asientos que não fecham
Algum asiento com diferença > (linhas × 1 unidade da última casa da moeda local)
Só diferença de arredondamento (≤ essa tolerância)
Há movimento e todos fecham
Sem movimento
Não fecham em dólar
Algum asiento com diferença em valor_us > 0
—
Há movimento
Base sem IFRS ou sem movimento
Linhas com conta inválida
Alguma linha em conta inexistente, excluída ou sintética (analitica <> 'T')
—
Há movimento
Sem movimento
Asientos sem conferência
—
Há asiento sem idusuario_conferiu
Todos conferidos
Ninguém conferiu nada no ano, ou sem movimento
Sem número do livro (258)
—
numelan_livro nulo (fora ajuste = 'T')
Há movimento
Sem movimento
Fechamento cambial 25E / IFRS 25G
Mês passado e a rodada não existe
Há asiento incluído depois da rodada ("N depois")
Rodou e nada depois
Base não usa o 25E/25G; ou mês sem movimento e sem rodada
Sem conversão IFRS (25F)
—
Linha com valor ≠ 0 e valor_us zerado (fora L/B e "somente conversão")
Há movimento
Base sem IFRS ou sem movimento
Sincronização por módulo (252)
—
Alguma sigla caiu (queda) ou parou antes do fim do mês
Mês passado sem sinais
Mês corrente/futuro, ou sem movimento e sem quedas
Lançamentos em mês futuro
Mês futuro com movimento
—
—
Os demais
Regra
B1. Não fecha: a conta do 251
RegraMesma do AsientoService.exigirFechamento: balance B não confere; T (Solo IFRS) confere pela moeda do lançamento (valor); os demais por valor_ml. Diferença = |Σ(débito) − Σ(crédito)| por asiento, arredondada a 2 casas.
TolerânciaAté 1 unidade da última casa por linha da moeda local da primeira filial do recorte = arredondamento (amarelo, e marcado "arredondamento" na lista). A diferença em dólar não tem tolerância (qualquer ≥ 0,01 é vermelho).
ListaA lista da checagem traz também os de arredondamento (dif > 0): o total da lista pode ser maior que o número vermelho da grade.
SELECT ca.numelan, ca.ano, ABS(ROUND(SUM(IF(ca.deb_cre='D',1,-1) * IF(ca.ifrs='T', ca.valor, COALESCE(ca.valor_ml,0))),2)) dif
FROM contabilidade_analitico ca
WHERE ca.excluido <> 'T' AND ca.data >= :ini AND ca.data < :fim
GROUP BY ca.numelan, ca.ano
HAVING MAX(ca.ifrs) <> 'B' AND dif > 0
ORDER BY dif DESC LIMIT 20;
Grade
Regra
B2. Conta inválida e sem dólar
Conta inválidaLEFT JOIN ct_plano_conta; inválida se plc.id IS NULL OR plc.analitica <> 'T' OR plc.excluido = 'T'. Na grade conta-se asientos; a lista é de linhas (até 300), com o motivo INEXISTENTE, EXCLUIDA ou SINTETICA.
Sem dólar (25F)valor <> 0 AND COALESCE(valor_us,0) = 0 AND ifrs NOT IN ('L','B') AND somente_conversao <> 'T'. Só vale em base IFRS (TEM_IFRS = 1 ou o 25G rodou no ano ou no anterior).
SELECT ca.numelan, ca.ano, ca.idplconta, plc.numero, plc.analitica, plc.excluido
FROM contabilidade_analitico ca LEFT JOIN ct_plano_conta plc ON plc.id = ca.idplconta
WHERE ca.excluido <> 'T' AND ca.data >= :ini AND ca.data < :fim
AND (plc.id IS NULL OR plc.analitica <> 'T' OR plc.excluido = 'T') LIMIT 50;
Grade
Regra
B3. 25E / 25G: a rodada e o "depois"
RodadaLinhas vivas tabela = 'cie' AND somente_conversao = 'T' no último dia do mês, fora encerramento e resultado_ex (259). A hora da rodada = a primeiradata_inclusao dessas linhas; 25E = ifrs <> 'T', 25G = ifrs = 'T'. São da base, não da filial.
DepoisAsientos cuja última data_inclusao (ignorando cie e o histórico "Redondeo de IFRS...") é posterior à rodada: o fechamento não os viu. Ressincronização do mês (252) apaga e regrava, então um mês reprocessado mostra dezenas de milhares de "depois".
Asientos excluídos depoisNão entram: a contagem custava ~60 s e repetia os incluídos.
Grade
Regra
B4. Sincronização por módulo (252)
MédiaAsientos automáticos (manual <> 'T', contados por numelan) de cada sigla nos 3 meses anteriores (inclusive os do ano anterior, por uma contagem leve à parte).
QuedaMês passado, sigla não vazia, média ≥ 10 e automáticos do mês < média ÷ 2.
Parou cedoMês passado e a última inclusão automática da sigla é anterior ao último dia do mês.
Foracie e ape não entram. O painel não diz qual documento ficou sem asiento: só a simulação do 252 diz (uma rodada de mês leva horas).
Módulos
Regra
B5. Detalhe do mês e rastros
DetalheMódulos do mês (sigla, descrição, automáticos, manuais, média anterior, última automática), datas de fechamento por filial (udf, udf_fat, udf_cont de parametros, por filial_ativa — nunca filial.udf) e a lista da checagem.
Conferir rastrosSob pedido: ConferenciaContabilService.conferir do mês (contabilizado duas vezes, asiento apagado, documento excluído com asiento vivo, data alterada). Pode demorar; é a mesma conferência do relatório de conferência contábil.
Erros"Informe o mês."; "Checagem desconhecida: X" (a checagem vai na URL e é um enum, nunca vira SQL).
Mês
C
38G — Controle dos Lançamentos Contábeis
contabilidade.controle.ControleLancamentosService
Opções: De / Até (default: o mês anterior inteiro; é o período da ação — inclusão, exclusão, troca da U.D.F. —, não a data do lançamento; no máximo 93 dias), Filial (todas do acesso ou uma) e Valor alto a partir de (débito mínimo na moeda local; vazio = limite sugerido). A hora inicial/final (default 6h–20h) e "fim de semana" (default sim) existem no pedido do backend mas a tela não os expõe. Cache de 5 minutos; resultado com exclusões indisponíveis não entra no cache.
Alerta
Regra
Gravidade
REABERTURA
udf_log.udf_cont menor que a anterior do mesmo alcance (a filial, ou todas quando idfilial é nulo). O log grava toda gravação dos parâmetros (valor repetido), então só a queda conta. A janela vai até o mesmo alcance voltar à data de antes; os manuais incluídos nela com data no trecho reaberto vão no texto, com o motivo (motivo_alteracao).
Alta com manual dentro; senão média
MES_JA_FECHADO (manual)
Asiento manual incluído com data ≤ a maiorudf_cont que o log registrou para a filial até a hora da inclusão (mesmo reaberto naquele momento). Um alerta por asiento.
Alta
MES_JA_FECHADO (automático)
Linhas automáticas (manual <> 'T') com a data do lançamento ≤ a maior U.D.F. (log) na hora da primeira inclusão (a mesma regra do manual; antes de 04/10/2026 comparava o fim do mês e um mês parcialmente fechado não alertava). Agrupado por sigla + mês do lançamento + dia da inclusão + usuário (uma ressincronização dá centenas de milhares de linhas).
Média
VALOR_ALTO
Débito (valor_ml, lado D) do asiento manual ≥ limite. Sem limite informado: percentil 99 dos manuais (vivos, débito > 0) do próprio período, arredondado para cima em 2 algarismos; com menos de 20 manuais não há limite sugerido.
≥ 10× o limite alta; senão média
CONTA_BANCO
Manual em conta contábil que é conta_bancaria.idplconta (o movimento de banco deveria vir do financeiro).
Média
EXCLUIDO
Manual com data_exclusao no período e quem excluiu (idusuario_excluiu); só alcança lançamento com data até 186 dias antes do período.
Alta se já conferido; senão média
FORA_DO_HORARIO
Manual incluído fora da janela (6h–20h) ou em sábado/domingo.
Baixa
AUTOCONFERENCIA
Manual conferido por quem o incluiu. Um alerta por usuário ("N de M conferidos pela mesma pessoa").
Baixa
Regra
C1. "Manual" e o resumo do asiento
Cada asiento manual é resumido por GROUP BY numelan, ano: data = menor data; filial = menor idfilial_dado; débito = Σ valor_ml das linhas D; conferido = maior idusuario_conferiu; banco = alguma linha em conta bancária; excluído = alguma linha excluido = 'T'. Os incluídos usam data_inclusao no período; os excluídos usam data_exclusao.
Observação: o débito soma valor_ml para todos; o 38B usa valor (a moeda do lançamento) nos asientos "Solo IFRS" (ifrs = 'T'). Um manual "Solo IFRS" pode aparecer com débito local zero aqui.
Resumo
Regra
C2. A exclusão e o índice data_exclusao
Por que é pesadoA consulta de excluídos só tinha o índice (excluido, data): varre todas as linhas excluídas do alcance (as ressincronizações excluem milhões) e, de uma vez, a conexão caía (Can not read response from server ... EOFException em manuaisExcluidos, 03/10).
HojeSem o índice data_exclusao: varre em fatias de um mês de data (de início − 186 dias até o fim do período) e junta o mesmo asiento. Com o índice (aprovado em 03/10; o usuário o cria em cada base e reinicia o backend, porque IndicesDaTabela guarda o schema em cache): uma consulta só com FORCE INDEX.
FalhaSe a leitura das exclusões falhar, o controle sai sem elas, com o aviso "Os asientos manuais excluídos não puderam ser lidos (o banco não respondeu a tempo)..." e excluidosIndisponiveis: true; não vai ao cache (tentar de novo com Atualizar).
Exclusões
Regra
C3. Quadros: por usuário, mapa dia × hora, contas fora do padrão
Por usuárioManuais incluídos, débito somado, já excluídos, quantos ele excluiu e os alertas dele (autoconferência não conta). Ordenado pelo valor.
MapaQuadradinho = dia da semana × hora da inclusão dos manuais; a borda marca o fora do horário.
Contas fora do padrão (sob pedido, botão Analisar, mês aaaa-mm)Movimento líquido do mês (D − C, valor_ml) por conta × os 12 meses anteriores; meses sem movimento contam zero; desvio-padrão com n−1; entra a conta com |z| ≥ 3 (conta sem histórico é "nova"). Com valor informado, só desvio absoluto ≥ ele. Fora: contas analíticas de emitente (ct_plano_conta.idemitente), cie, encerramento e resultado do exercício. Até 100 contas. Erro "Informe o mês (aaaa-mm).". ~60 s em fjfrigo_concepcion.
Quadros
Trava
Erros do período
"Informe a data inicial." / "Data final inválida: ..." / "A data final é anterior à inicial." / "Escolha um período de até três meses." (mais de 93 dias) / "Hora inválida: ..." (só pela API).
Opções: Ano (default o corrente) e Filial. Recorte pela data do lançamento. Uma consulta por mês (as linhas excluídas multiplicam o volume; o ano inteiro de uma vez ficou mais de 10 min e a conexão caiu); ~4 s por mês, 38 s o ano. Cache de 10 minutos; mês futuro não é consultado.
Regra
D1. Origem do asiento
RegraConsidera só o asiento vivo (alguma linha excluido <> 'T'): automático = manual <> 'T'; mexido ("retrabalho" no JSON) = tem sigla e manual = 'T' (a sincronização gravou e alguém alterou no 251); digitado = sem sigla e manual.
Foratabela IN ('cie','ape') (fechamento cambial e apertura), encerramento = 'T' e resultado_ex = 'T' (259): não são contabilização de documento.
Origem
Regra
D2. Prazo até contabilizar
RegraDias entre a maior data do asiento e a primeiradata_inclusao (mínimo 0). A regravação do 252 reaproveita o numelan e marca as linhas antigas excluido='T', então a primeira inclusão está nas excluídas — por isso a consulta lê as excluídas e só conta asiento com linha viva.
Faixasaté 5, 6–15, 16–30, mais de 30 dias. Em fjfrigo_concepcion, julho/2026: 8,6 dias pela primeira inclusão, 25,6 pela versão atual.
Por móduloEm vermelho, módulo com mais de 20% contabilizado depois de 30 dias (regra do front).
Prazo
Regra
D3. Regravações e conferência
Regravações (versões)Horas distintas (%Y%m%d%H) de data_inclusao das linhas automáticas do asiento (cada rodada do 252 grava numa hora). Uma versão = gravado uma vez. Asiento só manual tem 0 versões. "Regravados" = mais de 1 versão.
ConferênciaAsiento vivo com idusuario_conferiu; prazo = da data_inclusaoatual até data_conferido. Por conferente: conferidos por mês e dias médios.
Atenção ao lerEm homologação as rodadas de validação do porte regravam tudo (11,1 versões por asiento em 2026 no concepcion); em produção o número deve ficar perto de 1 e é o que vale vigiar.
Versões
E
Configurações e pré-requisitos
Quando o resultado muda
Onde
O que
Painel
Efeito
parametros.udf_cont (por filial_ativa)
Mês fechado contábil
38B
Define "mês fechado". udf (financeiro) e udf_fat (faturamento) alimentam "financeiro e faturamento".
Fonte de REABERTURA e MES_JA_FECHADO (não usa a udf_cont atual).
system_config.TEM_IFRS (1)
Base com IFRS
38B
Liga "não fecha em dólar" e "sem conversão IFRS"; também liga se o 25G rodou no ano ou no anterior.
filial.idmoeda_local / moeda.decimais
Casas da moeda local
38B, 38G
Tolerância de arredondamento e formatação do valor.
Índice data_exclusao em contabilidade_analitico
Índice no banco
38G
Sem ele o EXCLUIDO roda em fatias (mais lento); com ele, uma consulta. Reiniciar o backend depois de criar.
conta_bancaria.idplconta
Contas contábeis de banco
38G
Define CONTA_BANCO.
Conferência no 251
idusuario_conferiu
38B, 38K
Se ninguém conferiu nada no ano, "sem conferência" fica NA.
Os limites de 38G (6h–20h, fim de semana, 186 dias, 93 dias, |z| ≥ 3, 100 contas, percentil 99) e os de 38B (média ≥ 10, queda < metade, 300 linhas) são constantes no código, não configuráveis. Não há e-mail nem rotina agendada nestes painéis.
F
Casos de teste sugeridos
QA
Prefira fjfrigo_concepcion (ano 2026) para ver todos os alertas. Troque :ini, :fim (aaaa-mm-dd; fim exclusivo) e os ids.
Teste
T1. 38B — asientos que não fecham
PassosAbrir o 38B no ano e clicar na célula "não fecham" de um mês.
EsperadoO número vermelho = asientos com diferença acima da tolerância; a lista traz também os de arredondamento (marcados). Concepcion, 2026: 32 a 146 por mês (685 no ano) + 145 de arredondamento; julho: os 6 maiores são reversões de provisão de exportação (fvxr) só com crédito.
ConferirConsulta de B1 (acima) para o mesmo mês.
Teste
T2. 38B — mês fechado e anteriores
PassosComparar a linha "Mês fechado" com a 421 (Fechamento) e parametros.
EsperadoTODAS quando udf_cont >= último dia em todas as filiais do recorte. Em concepcion/2026 tudo aberto (udf_cont = 31/12/2025 nas 34 filiais).
Conferir
SELECT f.id_filial, p.udf, p.udf_fat, p.udf_cont FROM filial f
LEFT JOIN parametros p ON p.filial_ativa = f.id_filial ORDER BY f.id_filial;
Teste
T3. 38B — 25E/25G e módulos
PassosVer a linha do 25E e a tabela "Módulos no mês" de um mês passado.
EsperadoRodada = primeira inclusão do cie do último dia; "N depois" = incluídos depois. Sigla com automáticos < metade da média dos 3 meses anteriores marcada como queda.
Conferir
SELECT MIN(IF(ifrs <> 'T', data_inclusao, NULL)) t25e, MIN(IF(ifrs = 'T', data_inclusao, NULL)) t25g
FROM contabilidade_analitico
WHERE excluido <> 'T' AND tabela = 'cie' AND somente_conversao = 'T' AND encerramento <> 'T' AND resultado_ex <> 'T'
AND data = LAST_DAY(:ult_dia_do_mes);
Teste
T4. 38B — filial
PassosTrocar "Todas" por uma filial; comparar os totais.
EsperadoO asiento entra se alguma linha for da filial; asiento entre filiais não aparece como "não fecha" por causa de uma linha só. Filial fora do acesso: mensagem.
Teste
T5. 38G — manual em mês fechado e reabertura
PassosPeríodo de um mês em que a U.D.F. foi trocada. Abrir os alertas Reaberturas e Em mês já fechado.
EsperadoReabertura mostra de que data para qual, quanto tempo e quantos manuais; "em mês já fechado" lista o manual com data ≤ maior U.D.F. do log naquela hora.
Conferir
SELECT data, idfilial, DATE(udf_cont) ate, idusuario, motivo_alteracao FROM udf_log
WHERE udf_cont IS NOT NULL AND data >= :ini AND data < :fim ORDER BY data;
Teste
T6. 38G — valor alto, exclusão, horário
PassosSem informar o limite, ver o "sugerido"; informar um valor menor; ver Manual excluído e Fora do horário.
EsperadoLimite sugerido = p99 dos manuais do período (nulo com menos de 20). Valor ≥ 10× o limite é alta. Excluído: asiento manual com data_exclusao no período. Fora do horário: antes das 6h, depois das 20h, sábado ou domingo.
Conferir
SELECT ca.numelan, ca.ano, MIN(ca.data_inclusao) quando, SUM(IF(ca.deb_cre='D', COALESCE(ca.valor_ml,0), 0)) debito
FROM contabilidade_analitico ca
WHERE ca.manual = 'T' AND ca.data_inclusao >= :ini AND ca.data_inclusao < :fim
GROUP BY ca.numelan, ca.ano ORDER BY debito DESC LIMIT 20;
Teste
T7. 38G — exclusões indisponíveis
PassosEm base sem o índice data_exclusao, período longo; se o banco estiver lento, ver o aviso.
EsperadoPainel completo sem os excluídos + aviso; "Atualizar" tenta de novo (o resultado incompleto não fica em cache).
Teste
T8. 38K — origem, prazo e regravações
PassosAbrir o 38K do ano; conferir janeiro (mês com maior prazo) e um módulo.
EsperadoConcepcion, jan–ago/2026: 380.060 asientos, 98,4% automáticos; 4.980 mexidos; 1.063 digitados; prazo médio 12,8 dias; 11,1 versões por asiento. Janeiro bate com o 38B (1.549 de 57.600).
Conferir
SELECT COUNT(*) FROM (SELECT ca.numelan, ca.ano FROM contabilidade_analitico ca
WHERE ca.data >= :ini AND ca.data < :fim AND (ca.tabela IS NULL OR ca.tabela NOT IN ('cie','ape'))
AND ca.encerramento <> 'T' AND ca.resultado_ex <> 'T'
GROUP BY ca.numelan, ca.ano HAVING MAX(ca.excluido <> 'T') = 1) x;
G
Limitações e pendências
Histórico 394, 401, 402
Aviso
Status
PARCIAL em docs/status-porte.csv (03/10/2026) para os três: falta teste na tela real (endpoints novos: reiniciar o backend). Telas vistas só numa prévia temporária com o JSON real.
Aviso
Tempo de resposta
38B: a passada do ano leva ~30 s com o servidor livre e 95 a 240 s com restore/consultas pesadas no mesmo servidor (concepcion, 380 mil asientos); a lista do mês ~6 s. A chamada é cancelável. Se pesar em produção: guardar por mais tempo os meses já fechados e reapurar só os abertos. 38G: julho/2026 35 s; agosto 106 s antes de encurtar o alcance das exclusões para 186 dias; contas fora do padrão ~64 s. 38K: 38 s o ano.
Aviso
Achados do histórico (concepcion/2026), ainda sem decisão
Reversões de provisão de exportação (fvxr) só com crédito (débito zero, 1,9 a 2,3 bi de G$ cada) incluídas em 28/08/2026 por uma rodada do porte (252): suspeita de defeito no SincVendaExportacao — não investigado.
386 manuais excluídos em 28/08 às 23:24 pelo usuário da regravação do porte (252) apagando asientos com manual='T': vale conferir se o legado faz o mesmo — não investigado.
Conta inválida em junho: 1.061 linhas de baixas (fba) nas contas 144 "CHEQUES EMITIDOS" e 117 "RECAUDACIONES A DEPOSITAR", que estão analitica='F' no plano.
25E desatualizado em junho (28.568 asientos incluídos depois do fechamento por ressincronização); 25G só rodou em julho em 2026 (TEM_IFRS = 0 mas o painel trata a base como IFRS por causa das linhas do 25G); 25E com data 31/12/2026 gravado em 13/02/2026 aparece em "mês futuro".
Conferência: 4,9% dos asientos conferidos no ano; setembro sem movimento (cópia de homologação parada em agosto): todas as siglas acusam queda.
Aviso
Pontos a saber
38B não diz qual documento ficou sem asiento (sinal indireto por sigla); o 421 (FechamentoChecklistService) diz no javadoc que o checklist contábil "fica para depois" — o 38B é candidato a alimentá-lo (não feito).
38G: MES_JA_FECHADO manual e automático comparam a data do lançamento com a U.D.F. (corrigido em 04/10/2026: o automático comparava o último dia do mês; em fjfrigo_concepcion, inclusões de 2025-01 a 2026-06, +913 alertas e +1,02 mi asientos).
38G: o limite sugerido pelo percentil dos 12 meses anteriores foi descartado (passou de 150 s). O percentil é do próprio período.
Os painéis 38B/38G/38K usam idfilial_dado da linha; o asiento entre filiais entra nos dois recortes.
As siglas novas do 252 que não estão no dicionário aparecem com a própria sigla no lugar da descrição.
Nada bate com essa busca. Tente um trecho menor, ou limpe o filtro.