Añadir Cash-Register

2026-02-25 21:40:21 +00:00
parent b116516848
commit 5dbe6cfba1

30
Cash-Register.-.md Normal file

@@ -0,0 +1,30 @@
# 🏦 Flujo de Caja, Arqueo Ciego y Auditoría
La tesorería del sistema está diseñada bajo el principio de "Zero Trust" (Cero Confianza) en el punto de venta, requiriendo validación centralizada.
## 🙈 El Arqueo Ciego
Cuando un cajero termina su turno, no puede ver un reporte de "Cuánto debería tener en la caja". El flujo es el siguiente:
1. El cajero abre la sesión declarando el **Fondo Inicial**.
2. Al cerrar, debe contar sus billetes físicos y tickets de tarjeta, e ingresarlos manualmente al sistema (`DeclaredCash`, `DeclaredCards`).
3. El Backend toma estos valores y los contrasta contra los cobros reales (Payments).
4. El sistema calcula el `TotalDifference`.
5. La sesión queda bloqueada en estado `PendingValidation`.
## ⚖️ Liquidación y Validación
La caja no se considera legalmente cerrada hasta que un **Administrador o Tesorero** revisa el "Acta de Cierre" impresa, la compara con el dinero recibido en mano, ingresa sus notas y liquida la sesión (`Closed`).
---
## 🕵️ Sistema de Reclamos y Ajuste Técnico
Si un cliente presenta una queja (ej: un error de tipeo en el diario impreso), el cajero abre una incidencia (`Claim`).
**Resolución Transaccional:**
Cuando un moderador resuelve el problema (ej: otorgando 2 días gratis extra), el sistema protege los datos así:
1. Toma una "Fotografía" (`Snapshot`) de los valores originales del aviso (texto original, fechas originales).
2. Guarda la fotografía en la columna `OriginalValues` del reclamo.
3. Aplica los nuevos valores técnicos al aviso principal.
4. Genera un log inmutable en la tabla `AuditLogs`.
Esto garantiza que siempre se sepa qué modificó el moderador y cómo estaba el aviso originalmente.