Fluxo de caixa
Como validar os saldos dos caixas?
FLCX.FAQ-80211
O SQL abaixo irá retornar saldos diários inconsistentes com os lançamentos:
select *
from (
select caixa_id, data, sum(lanc) as lanc, sum(saldo) as saldo
from (
select caixa_id
, data
, 0 as lanc
, total_creditos - total_debitos as saldo
from saldos_diarios_caixas
union all
select caixa_id
, data_realizada
, valor_realizado lanc
, 0 as saldo
from lancamentos
) q
group by caixa_id, data
) q
where abs(lanc - saldo) > 0.005
O SQL abaixo irá retornar caixas com saldos inconsistentes com os lançamentos:
select *
from (
select caixa_id
, sum(saldo_lanc) as saldo_lanc
, sum(saldo_caixa) as saldo_caixa
from (
select caixa_id
, valor_realizado as saldo_lanc
, 0 as saldo_caixa
from lancamentos
union all
select id
, 0 as saldo_lanc
, saldo as saldo_caixa
from caixas c
) q
group by caixa_id
) q
where abs(saldo_lanc - saldo_caixa) > 0.005
O SQL abaixo, irá verificar se existem registros de saldos diários cujo saldo esteja incorreto:
select *
from (
select *
, sum(total_creditos - total_debitos) over (partition by caixa_id order by data)
from saldos_diarios_caixas
) q
where abs(q.saldo-q.sum) > 0.005