Cómo anular un ticket TPV
Anula un ticket operativo de TPV en Marea Gran Via antes de cobrarlo o facturarlo. La acción deja el ticket como anulado, cancela sus líneas y bloquea cualquier cobro o factura posterior.
En este artículo
La anulación sirve para invalidar un ticket abierto cuando todavía no tiene pagos ni factura. Es una acción operativa del TPV, pensada para corregir un ticket que no debe seguir ocupando mesa ni avanzar al cobro.
No es una devolución de pago ni una anulación fiscal. Si existe cualquier pago registrado o una factura asociada, Antylogic bloquea la operación y el caso debe resolverse por el procedimiento operativo o fiscal correspondiente.
Antes de empezar
- Abrir Antylogic con la organización `Grupo Marea Demo` y la ubicación `Marea Gran Via`.
- Tener un ticket operativo sin pagos ni factura, como `TPV_TICKET_ID` después de validarlo en el runtime documental.
- Usar un usuario con permiso suficiente para gestionar el ticket: `tickets:manage` o `tpv:use` sobre la sesión activa de la ubicación.
- Entrar con el terminal `TPV_TERMINAL_ID` y el empleado Marta Ruiz (`TPV_STAFF_ID`) cuando se use el runtime documental es-ES.
Instrucciones
- 1.
Abrir el detalle del ticket
Desde el TPV de Marea Gran Via, entra en el ticket que quieres anular. En documentación puede abrirse directamente con `${APP_DEEPLINK_BASE}${ORG_ID}/${LOCATION_ID}/tpv/ticket?ticketId=${TPV_TICKET_ID}&terminalId=${TPV_TERMINAL_ID}&staffId=${TPV_STAFF_ID}&sourceTab=floor`. Antes de continuar, comprueba que el ticket no está cerrado ni anulado y que no muestra pagos ni factura.
- 2.
Abrir la acción Anular ticket
En el detalle del ticket, abre el menú de acciones del encabezado y selecciona `Anular ticket`. Si el ticket ya tiene pagos, factura, está cerrado, ya está anulado o el usuario no puede gestionarlo, la acción queda deshabilitada o se rechaza al intentar ejecutarla.
- 3.
Confirmar la anulación
Lee el modal de confirmación antes de continuar. El aviso indica que se cancelarán todas las líneas del ticket y que el ticket no podrá cobrarse ni facturarse después. Confirma solo si ese ticket debe quedar invalidado.
- 4.
Revisar el estado final
Después de confirmar, el ticket queda marcado como anulado. Sus líneas no se borran: permanecen registradas como canceladas y no pagadas. El ticket deja de bloquear mesa o reserva en las superficies operativas y las acciones de cobro y facturación dejan de estar disponibles.
Validaciones y límites
- La pantalla dedicada solo habilita la anulación si el importe pagado efectivo es cero, no hay factura, el ticket no está cerrado ni anulado y el usuario puede gestionarlo.
- El backend bloquea la acción si existe cualquier registro en `ticket_payments`, aunque ese pago no compute como efectivo en la UI.
- El backend bloquea la acción si el ticket tiene una `invoice` asociada; no se genera documento rectificativo desde este flujo.
- La confirmación envía `PUT /api/app/{orgId}/{locationId}/tickets/{ticketId}` con `{ "status": "void" }`; este endpoint no debe usarse para cerrar tickets.
- Con `tpv:use`, el ticket debe pertenecer a la sesión activa de la ubicación. Para operar tickets fuera de esa sesión se necesita permiso de gestión suficiente.
- En la página TPV principal puede haber una diferencia local: la UI no comprueba factura en su condición de anulación, pero el backend sí la rechaza.
Resultado esperado
El ticket queda en estado anulado, sus líneas quedan canceladas y no pagadas, y Antylogic impide cobrarlo o facturarlo desde TPV.