Skip to content

Instantly share code, notes, and snippets.

@YuriFontella
Created March 27, 2026 21:00
Show Gist options
  • Select an option

  • Save YuriFontella/ceb6164e3ce86644b487a1aeac1804eb to your computer and use it in GitHub Desktop.

Select an option

Save YuriFontella/ceb6164e3ce86644b487a1aeac1804eb to your computer and use it in GitHub Desktop.

Camada Gold — Análise Financeira

Tabelas analíticas geradas a partir do Bronze. Executadas diariamente via run/gold.py, após a conclusão de todos os jobs Bronze.


Arquitetura

Bronze (dados brutos da API Omie)
        ↓
Gold   (tabelas analíticas prontas para relatórios e dashboards)

As tabelas Gold são recriadas integralmente a cada execução (CREATE OR REPLACE TABLE). Não há particionamento — o volume é pequeno e a leitura completa é desejada.


Tabelas

1. gold_posicao_diaria

Arquivo: 1_posicao_diaria.sql Fonte: resumo_diario Atualização: útil desde o 1º dia

Visão consolidada da posição financeira por dia.

Campo Descrição
dt_referencia Data de referência
v_saldo_conta Saldo total em conta corrente
v_total_pagar Total de contas a pagar no dia
v_atraso_pagar Valor de AP em atraso
v_pagar_a_vencer AP ainda dentro do prazo
v_total_receber Total de contas a receber
v_atraso_receber Valor de AR em atraso
v_receber_a_vencer AR ainda dentro do prazo
v_posicao_liquida receber - pagar (positivo = saudável)
v_caixa_pos_obrigacoes saldo - total_pagar
v_exposicao_total_atraso Soma de tudo em atraso (AP + AR)
v_variacao_saldo_dia Variação do saldo vs dia anterior

Perguntas respondidas:

  • Qual a posição financeira hoje vs ontem?
  • Tenho caixa suficiente para cobrir as obrigações?
  • A exposição ao atraso está crescendo?

2. gold_saldo_contas

Arquivo: 2_saldo_contas.sql Fonte: extrato_conta + contas_correntes Atualização: útil desde o 1º dia

Saldo real de cada conta bancária por dia, enriquecido com os dados cadastrais do banco.

Campo Descrição
dt_referencia Data
n_cod_cc Código da conta no Omie
descricao Nome da conta
tipo_conta_corrente Tipo (CC, poupança, etc.)
codigo_banco Código do banco
codigo_agencia Agência
n_saldo_anterior Saldo no início do dia
n_saldo_atual Saldo ao final do dia
n_saldo_conciliado Saldo conciliado com o banco
n_saldo_disponivel Saldo disponível (descontado limite)
v_variacao_dia saldo_atual - saldo_anterior
v_variacao_vs_ontem Variação comparada ao dia anterior
inativo Se a conta está inativa (S/N)

Perguntas respondidas:

  • Qual o saldo real de cada conta hoje?
  • Qual conta teve maior movimentação?
  • O saldo está conciliado com o extrato bancário?

3. gold_titulos_abertos

Arquivo: 3_titulos_abertos.sql Fonte: resumo_titulos_em_aberto Atualização: útil desde o 1º dia

Todos os títulos em aberto (AP e AR) com classificação por tempo de atraso.

Campo Descrição
dt_referencia Data do snapshot
tipo P = a pagar / R = a receber
nome_cliente Fornecedor (P) ou cliente (R)
desc_categ Categoria do lançamento
v_doc Valor do título
dt_vencimento Data de vencimento
n_dias_atraso Dias em atraso (0 = no prazo)
aging_bucket Classificação de atraso: A_VENCER / 01_0-30d / 02_31-60d / 03_61-90d / 04_+90d
bol_gerado Boleto já emitido (S/N)
pix_gerado PIX já gerado (S/N)

Perguntas respondidas:

  • Quanto está em aberto e há quanto tempo?
  • Quais fornecedores/clientes concentram maior atraso?
  • Qual categoria tem mais títulos vencidos?

4. gold_fluxo_caixa

Arquivo: 4_fluxo_caixa.sql Fonte: resumo_fluxo_caixa (carga mais recente) Atualização: útil desde o 1º dia

Projeção de entradas e saídas para os próximos 30 dias.

Campo Descrição
dt_dia Dia do fluxo
v_pagar Saídas previstas no dia
v_receber Entradas previstas no dia
v_saldo Saldo líquido do dia
v_saldo_acumulado Saldo acumulado desde o início da projeção
tipo REALIZADO (dias passados) / PROJETADO (dias futuros)

Perguntas respondidas:

  • Quanto tenho a pagar e receber nos próximos 30 dias?
  • Em qual dia o caixa fica mais apertado?
  • Quando preciso de capital de giro?

5. gold_tendencias_mensais

Arquivo: 5_tendencias_mensais.sql Fonte: resumo_diario agregado por mês Atualização: ganha significado após ~2 meses de dado

Tendência mensal da posição financeira.

Campo Descrição
mes_referencia Mês/ano
dias_com_dado Dias de dado no mês
saldo_medio Saldo médio em conta no mês
saldo_minimo / saldo_maximo Pior e melhor saldo do mês
media_pagar Média diária de AP no mês
pior_atraso_pagar Maior valor de AP em atraso no mês
media_receber Média diária de AR no mês
pior_atraso_receber Maior valor de AR em atraso no mês
posicao_liquida_media Média mensal de receber - pagar
pior_posicao_liquida Dia mais crítico do mês

Perguntas respondidas:

  • A posição financeira está melhorando mês a mês?
  • Em qual mês o atraso foi maior?
  • O saldo médio está crescendo ou encolhendo?

6. gold_categorias_historico

Arquivo: 6_categorias_historico.sql Fonte: resumo_categorias agregado por mês Atualização: ganha significado após ~2 meses de dado

Breakdown de AP e AR por categoria ao longo do tempo.

Campo Descrição
mes_referencia Mês/ano
tipo P = pagar / R = receber
desc_categ Nome da categoria
v_total_mes Total movimentado no mês
v_total_dia_medio Média diária no mês
n_titulos_mes Quantidade de títulos no mês
participacao_pct % do total do tipo (P ou R) no mês

Perguntas respondidas:

  • Qual categoria consome mais caixa?
  • Onde está concentrada a maior parte da receita?
  • Uma categoria específica está crescendo desproporcionalmente?

7. gold_conciliacao

Arquivo: 7_conciliacao.sql Fonte: extrato_movimentos LEFT JOIN movimentos Atualização: útil desde o 1º dia, mas requer dados de ambos os lados

Cruzamento entre movimentos bancários reais e lançamentos no Omie.

Campo Descrição
dt_referencia Data
n_cod_cc Conta bancária
dt_lancamento Data do movimento no banco
c_des_cliente Descrição do movimento
v_banco Valor no extrato bancário
natureza_banco Crédito ou débito
n_cod_titulo Título correspondente no Omie (NULL = sem match)
status_omie Status do título no Omie
v_omie Valor registrado no Omie
conciliado S = encontrou par no Omie / N = sem par
diferenca_valor Diferença entre valor do banco e valor do Omie

Perguntas respondidas:

  • O Omie está registrando tudo que saiu/entrou no banco?
  • Existem movimentos bancários sem lançamento correspondente?
  • Há discrepância de valores entre banco e Omie?

8. gold_dre_registro

Arquivo: 8_dre_registro.sql Fonte: titulos Atualização: útil desde o 1º dia

DRE por data de registro contábil e categoria.


9. gold_fluxo_movimentacao

Arquivo: 9_fluxo_movimentacao.sql Fonte: movimentos + extrato_movimentos Atualização: útil desde o 1º dia

Movimentação financeira e bancária consolidada por evento.


10. gold_cliente_financeiro

Arquivo: 10_cliente_financeiro.sql Fonte: contas_pagar + contas_receber + cad_clientes_fornecedores Atualização: útil desde o 1º dia

Visão financeira consolidada por cliente/fornecedor.

Campo Descrição
codigo_cliente_omie Código do cliente no Omie
razao_social Razão social
cnpj_cpf CNPJ ou CPF
cidade / estado Localização
inativo Cadastro ativo ou inativo
n_titulos_pagar Qtd de títulos AP
v_total_pagar Total documentado a pagar
v_total_pago Total efetivamente pago
v_saldo_aberto_pagar Saldo em aberto a pagar
v_atraso_pagar Valor de AP em atraso
n_titulos_receber Qtd de títulos AR
v_total_receber Total documentado a receber
v_total_recebido Total efetivamente recebido
v_saldo_aberto_receber Saldo em aberto a receber
v_atraso_receber Valor de AR em atraso
v_posicao_liquida receber - pagar
v_atraso_liquido atraso_receber - atraso_pagar

Perguntas respondidas:

  • Quais clientes/fornecedores concentram mais volume financeiro?
  • Quem está em atraso e qual o valor?
  • Qual a posição líquida de cada cliente?

11. gold_categoria_financeira

Arquivo: 11_categoria_financeira.sql Fonte: movimentos + titulos + cad_categorias Atualização: útil desde o 1º dia

Visão financeira consolidada por categoria com dados enriquecidos do cadastro.

Campo Descrição
cod_categ Código da categoria
desc_categ Descrição da categoria
tipo_categoria Tipo de categoria
natureza_categ Natureza no cadastro
categoria_superior Código da categoria pai
natureza P = pagar / R = receber
n_movimentos Qtd de movimentos
v_mov_valor_titulo Valor total nos movimentos
v_mov_valor_pago Valor efetivamente pago/recebido
v_mov_saldo_aberto Saldo em aberto em movimentos
n_titulos Qtd de títulos
v_tit_valor_titulo Valor total nos títulos
v_tit_valor_pago Valor pago nos títulos
v_tit_valor_aberto Valor em aberto nos títulos

Perguntas respondidas:

  • Quais categorias concentram mais despesas/receitas?
  • Qual o saldo em aberto por categoria?
  • Há categorias com alta movimentação mas baixo pagamento?

12. gold_conta_bancaria_detalhada

Arquivo: 12_conta_bancaria_detalhada.sql Fonte: extrato_movimentos + contas_correntes + cad_bancos + cad_categorias + cad_clientes_fornecedores Atualização: útil desde o 1º dia

Detalhamento completo de cada lançamento bancário com enriquecimento de banco, conta, categoria e cliente.

Campo Descrição
dt_lancamento Data do lançamento
n_cod_cc Código da conta
conta_descricao Nome da conta corrente
banco_nome Nome do banco
c_tipo_documento Tipo do documento
natureza C = crédito / D = débito
n_valor_documento Valor do lançamento
n_saldo Saldo após lançamento
cod_categ Código da categoria
categ_descricao Descrição da categoria
cliente_razao_social Razão social do cliente
cliente_cnpj_cpf Documento do cliente
c_situacao Situação do lançamento
dt_conciliacao Data de conciliação

Perguntas respondidas:

  • Qual o detalhamento de cada movimentação bancária?
  • A movimentação está conciliada?
  • Quais lançamentos ainda não têm cliente obrigado?

13. gold_dre_enriquecido

Arquivo: 13_dre_enriquecido.sql Fonte: titulos + cad_categorias Atualização: útil desde o 1º dia

Evolução do gold_dre_registro com descrição das categorias, hierarquia (categoria pai) e participação percentual mensal.

Campo Descrição
dt_referencia_contabil Data de registro contábil
mes_referencia Mês/ano (para agregações)
natureza R = Receita / P = Despesa
natureza_desc Descrição textual
cod_categ Código da categoria
categ_descricao Descrição da categoria
categ_tipo Tipo da categoria
categ_codigo_pai Código da categoria superior
categ_descricao_pai Descrição da categoria superior
n_titulos Qtd de títulos no grupo
v_receita_bruta Receita bruta
v_despesa_bruta Despesa bruta
v_resultado receita - despesa
participacao_pct % dentro do mês e natureza

Perguntas respondidas:

  • Qual a composição do DRE por categoria e hierarquia?
  • Qual categoria representa maior percentual de receita ou despesa no mês?
  • Como o resultado evoluiu dentro de cada categoria pai?

Execução

O job Gold deve rodar depois de todos os jobs Bronze:

clientes → bancos → categorias → departamentos → planocontas
        → contacorrente → extrato → contapagar → contareceber → movimentos → resumo → titulos
        → gold

Databricks: configure run/gold.py como o último job do workflow diário.


Limitações conhecidas

Tabela Limitação
gold_tendencias_mensais Requer pelo menos 2 meses de dado para ser relevante
gold_categorias_historico Idem
gold_conciliacao O link n_cod_lancamento = n_cod_mov_cc só existe quando ambos os lados foram coletados no mesmo dia — movimentos anteriores ao início da ingestão não serão conciliados
gold_plano_contas_x_resumo Disponível somente após execução do job resumo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment