Son permisos explícitos: deben marcarse uno por uno en Integraciones externas; las integraciones existentes no los reciben automáticamente.
- Cada sucursal tiene una sola caja abierta a la vez (por ambiente del negocio).
- Toda caja pertenece a un cajero: un usuario de FileXpress con acceso a la sucursal. Así los cortes siguen saliendo por cajero.
- Las acciones hechas por la API quedan registradas como
API: {nombre de la integración}(enopened_byyclosed_by).
Cortes de caja
Los totales del cierre se guardan al cerrar; en una caja abierta usa el
summary en vivo. Ordenado de la apertura más reciente a la más antigua. Errores: 404 Branch not found; 422 validación.
Caja abierta
data: null si no hay ninguna.
Errores:
404 Branch not found.
Detalle de un corte
summary y sus movements en orden de registro:
404 Cash register not found (inexistente o de otro negocio).
Abrir caja
201: la caja con status: "open" (mismos campos que el listado, sin summary).
Errores
Registrar ingreso o gasto
201
404 Cash register not found; 409 Cash register is not open.; 422 validación.
Cerrar caja
200: la caja con status: "closed", closing_date, declared_amount, difference_amount y los totales del corte.
Reglas
- Al cerrar se calculan las ventas por forma de pago y el efectivo esperado = monto inicial + ventas en efectivo + otros ingresos − gastos;
difference_amount= declarado − esperado. - Se cuentan las ventas procesadas vinculadas a la caja o, si no tienen caja, las emitidas en la sucursal entre la apertura y el cierre.
- El arqueo se guarda tal como se envía; FileXpress solo valida su
total.