Appearance
Recibo — Saldo de Cliente y Espaciado
Módulo: CtaCte Tipo: Process Estado: Implementado Fecha: 2026-06-05
Descripción
El PDF del recibo (documento tipo DEUDOR) muestra el saldo de cuenta corriente del cliente en la sección de datos del cliente, como columna adicional junto a los campos existentes. También se agrega un pequeño espacio visual entre el comentario del recibo y la primera tabla de valores.
Reglas de Negocio
REQ-01: Saldo de cliente en el encabezado del recibo
- El saldo aparece únicamente en documentos tipo DEUDOR (recibos). No aparece en órdenes de pago (documentos ACREEDOR).
- Se calcula como
SUM(debe) - COALESCE(SUM(haber), 0)de la tablaordctapara el cliente. - La consulta es post-operación: el recibo ya fue registrado en la base de datos antes de generar el PDF, por lo que el saldo incluye el efecto del recibo actual.
- La consulta usa la misma conexión
$conndel script (index.phpya configuró elsearch_pathdel schema correcto).
REQ-02: Espaciado entre comentario y tabla de valores
Se agrega un espaciado visual (margen o padding) entre el bloque de comentario del recibo (observaciones) y la primera tabla de importes. Mejora la legibilidad del documento sin afectar los datos.
Frontend
No aplica — el cambio es exclusivo del template de PDF en informes/.
Backend / Informes
Template afectado
informes/ — template de recibo DEUDOR.
Lógica del saldo
php
// Solo para documentos DEUDOR
if ($tipo === 'DEUDOR') {
$saldo = $conn->query(
"SELECT SUM(debe) - COALESCE(SUM(haber), 0) FROM ordcta WHERE id_cliente = :id"
)->fetchColumn();
}El valor se inyecta en la sección de datos del cliente como columna adicional.
Consideraciones Técnicas
- El saldo es informativo. No altera el monto del recibo ni los movimientos contables.
- El cálculo de saldo es cross-schema solo si el cliente opera en varios schemas — en la mayoría de los casos el
search_pathya delimita el schema correcto.
Referencias
- Spec:
openspec/changes/recibo-saldo-cliente-y-espaciado/spec.md - Relacionado: Saldo en PDFs de Comprobantes de Venta