diff --git a/src-tauri/src/plugins/printer.rs b/src-tauri/src/plugins/printer.rs index 208b318..aadea53 100644 --- a/src-tauri/src/plugins/printer.rs +++ b/src-tauri/src/plugins/printer.rs @@ -303,8 +303,8 @@ impl ReciboData { out.extend(escpos::kv("Cancelamentos:", &self.fmt_money(self.cancelamentos))); out.extend(escpos::divider()); - // ── TROCO / SALDO DE CAIXA ── - out.extend(escpos::line_bold("SALDO DE CAIXA")); + // ── FECHAMENTO DE CAIXA (sys_total) ── + out.extend(escpos::line_bold("FECHAMENTO DE CAIXA")); out.extend(escpos::kv("Troco (+):", &self.fmt_money(self.saldo_troco))); out.extend(escpos::kv("Credito (+):", &self.fmt_money(self.credito))); out.extend(escpos::kv("Debito (+):", &self.fmt_money(self.debito))); @@ -328,8 +328,8 @@ impl ReciboData { out.extend(escpos::divider()); // ── DIFERENÇA ── - // Usa self.diferenca que o frontend calcula como sys_total - saldo_esperado - // (não recalcula de fechamento, que é o valor contado e não deve ser usado na diferença) + // diferenca = saldo de caixa (sistema) - saldo_esperado - cancelamentos + // (calculado no frontend em buildReciboData) out.extend(escpos::line_bold("DIFERENCA")); let diff = self.diferenca; let diff_str = if diff >= 0.0 { diff --git a/src/index.html b/src/index.html index 8aca0b5..b0d5f78 100644 --- a/src/index.html +++ b/src/index.html @@ -873,10 +873,10 @@ function updateTotals() { const fr = receberTotal; setText('fech-total', fmt(fd + fc + fr)); - // Diferença = fechamento - saldo_esperado - cancelamentos - const fechamentoTotal = fd + fc + fr; + // Diferença = saldo de caixa (sistema) - saldo_esperado - cancelamentos + const sysTotal = cartCred + cartDeb + cartAli + cartPix + valesTotal + receberTotal + pixCnpjTotal; const cancelTotal = estado.cancelamentos.reduce((s,r) => s+(parseNum(r.valor||0)||0), 0); - const diff = fechamentoTotal - parseNum(val('f-saldo-esperado')) - cancelTotal; + const diff = sysTotal - parseNum(val('f-saldo-esperado')) - cancelTotal; const difEl = document.getElementById('diferenca'); const badgeEl = document.getElementById('dif-badge'); if (difEl) { @@ -1265,9 +1265,9 @@ function buildConfirmHTML(data) { // Relatório completo — mesmo layout do PDF const fmt = v => 'R$ ' + (v || 0).toFixed(2).replace('.', ','); const fmtNeg = v => (v < 0 ? '-' : '') + 'R$ ' + Math.abs(v || 0).toFixed(2).replace('.', ','); - // Diferença = fechamento - saldo_esperado - cancelamentos + // Diferença = saldo de caixa (sistema) - saldo_esperado - cancelamentos const diferenca = data.diferenca !== undefined ? data.diferenca - : ((data.fechamento || 0) - (data.saldo_esperado || 0) - (data.cancelamentos || 0)); + : ((data.sys_total || 0) - (data.saldo_esperado || 0) - (data.cancelamentos || 0)); const diffStr = diferenca >= 0 ? `+${fmt(diferenca)}` : fmtNeg(diferenca); const diffOk = diferenca === 0; @@ -1398,7 +1398,7 @@ ${cancelamentos_arr.map(c => `