Skip to content

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 tabla ordcta para 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 $conn del script (index.php ya configuró el search_path del 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_path ya delimita el schema correcto.

Referencias