diff --git a/src/index.html b/src/index.html
index a57bb6b..204bebb 100644
--- a/src/index.html
+++ b/src/index.html
@@ -2177,24 +2177,19 @@ function buildConsultaModal(recentList) {
// Calcula saldo de caixa real (mesma fórmula do relatório)
// SALDO CAIXA = soma dos campos individuais (total do sistema no relatório)
// Lê do top-level E do JSON dados (compatibilidade com registros antigos)
+ // SALDO CAIXA = soma dos campos individuais (total do sistema no relatório)
+ // Prioriza top-level, só usa dados.dados se top-level for 0/missing (compat old records)
+ const f = (item, dados, field) => parseFloat(item[field]||dados[field]||0);
const calcSaldoCaixa = item => {
const dados = item.dados || {};
- return (parseFloat(item.saldo_troco)||0)
- + (parseFloat(item.saldo_credito)||0)
- + (parseFloat(item.saldo_debito)||0)
- + (parseFloat(item.saldo_alimentacao)||0)
- + (parseFloat(item.saldo_vales)||0)
- + (parseFloat(item.saldo_areceber)||0)
- + (parseFloat(item.total_pixcnpj)||0)
- + (parseFloat(item.total_cartao_pix)||0)
- + (parseFloat(dados.saldo_troco)||0)
- + (parseFloat(dados.saldo_credito)||0)
- + (parseFloat(dados.saldo_debito)||0)
- + (parseFloat(dados.saldo_alimentacao)||0)
- + (parseFloat(dados.saldo_vales)||0)
- + (parseFloat(dados.saldo_areceber)||0)
- + (parseFloat(dados.total_pixcnpj)||0)
- + (parseFloat(dados.total_cartao_pix)||0);
+ return f(item,dados,'saldo_troco')
+ + f(item,dados,'saldo_credito')
+ + f(item,dados,'saldo_debito')
+ + f(item,dados,'saldo_alimentacao')
+ + f(item,dados,'saldo_vales')
+ + f(item,dados,'saldo_areceber')
+ + f(item,dados,'total_pixcnpj')
+ + f(item,dados,'total_cartao_pix');
};
const calcCancelamentos = item => {
const dados = item.dados || {};