Pagos y saldo

Un pago se registra contra una reserva y, al mismo tiempo, se
convierte en una fila de los
movimientos de finanzas. Son dos vistas de un
mismo hecho: el folio se entera de que la estadía debe menos, los movimientos se
enteran de que el hotel tiene más.

Un pago se registra en la moneda en que realmente se recibió

Folio en CLP, el huésped paga 40 USD en efectivo → una transacción,
denominada en USD, en una cuenta en USD, que carga cómo se aplicó al folio: el
monto aplicado en CLP y la tasa usada.

Registrar solo el equivalente en CLP sería el error clásico — el arqueo deja de
cuadrar y no hay forma de saber cuánta moneda extranjera tiene el hotel. Si
después el hotel cambia esos dólares, eso es una operación aparte, un par de
transferencia genuino, no parte del pago. Ver Monedas.

Las correcciones son filas, no borrados

Revertir un pago escribe una reversa y recalcula; no borra el original. Un
turno de caja cerrado no se puede editar en absoluto, y
una corrección sobre uno es siempre un movimiento nuevo.

La regla es la misma en todo lo que toca dinero: si un saldo es un número, una
lista de filas tiene que sumar exactamente eso. Esconder una fila rompe esa
propiedad, y la rompe en silencio.

En qué saldo confiar

balance_due. Siempre.

total_price − paid_amount parece que debería dar la misma respuesta, y no la
da. total_price es el precio bruto de la habitación, incluido lo que esté
cubriendo un tercero; paid_amount cuenta solo lo que se pagó directamente
contra esta reserva. Restar uno del otro le cobra al huésped la habitación
completa mientras le acredita apenas una parte de lo que se pagó por ella.

Los dos coinciden en una reserva corriente que nadie ha tocado. Dejan de
coincidir en el momento en que la habitación entra a un
grupo con facturación a empresa — algo que el hotel
puede hacer en cualquier momento después de creada la reserva, sin que la
integración se entere.

payment_status se deriva del mismo lugar que balance_due, así que hereda el
mismo significado: en una habitación facturada a empresa describe la parte del
ocupante, nunca el precio completo de la habitación.

Pagar en otra moneda

Antes de tomar un pago en una moneda distinta a la del folio, el hotel puede
preguntar a cuánto va a liquidar. La respuesta vuelve con las dos bases de
tasa de cambio — la tasa del día de la reserva y la del día del pago — porque
cuál aplica es un ajuste de la propiedad, y ver ambas es como un operador
confirma que está mirando la que usa su hotel.

En la API

  • Merchant: POST /api/merchant/bookings/{id}/payments,
    DELETE /api/merchant/bookings/{id}/payments/{paymentId} (reversa y
    recálculo), y GET /api/merchant/bookings/{id}/payment-quote para la vista
    previa de liquidación.
  • External: no maneja pagos. Una reserva creada ahí queda pending y con
    balance_due igual a su total.

Relacionado


Did this page help you?