Endpoints / Proformas

PATCH

Anular proforma

Anula una proforma cambiando su estado a anulada y regenerando el documento PDF, sin afectar el inventario.

PATCH/proformas/:id/cancel

Caso de Uso

Se usa cuando una proforma emitida debe ser cancelada, por ejemplo por un error en los datos, porque la venta no se concretó o porque el cliente desistió. Al usarlo, el usuario obtiene la proforma actualizada con estado anulada y el PDF regenerado.

Autenticación

Requiere token JWT en el header `Authorization: Bearer <token>`. Permite acceso a usuarios con rol jefe o empleado. La empresa y el usuario autenticado deben estar activos.

Parámetros de ruta

idstringobligatorio

Identificador de la proforma a anular.

Reglas de negocio

1

Solo un usuario con rol jefe o empleado puede anular proformas.

2

Solo permite anular proformas de la empresa del usuario autenticado.

3

La empresa del usuario autenticado debe estar activa.

4

El usuario autenticado debe estar activo.

5

Solo una proforma en estado emitida puede anularse.

6

Esta operación no realiza movimientos de stock ni afecta el inventario.

7

Al completar la anulación se regenera el PDF con el nuevo estado anulada.

Errores esperados

401No autorizado

No se envió un token JWT válido o el token no contiene información válida del usuario.

400El id de proforma es requerido

No se envió el parámetro id en la ruta.

404Proforma no encontrada

No existe una proforma con el id indicado dentro de la empresa del usuario autenticado.

409Solo las proformas emitidas pueden anularse

La proforma no está en estado emitida; solo puede anularse una proforma emitida.

500La empresa no existe

La empresa asociada al usuario autenticado no fue encontrada.

500La empresa no está activa

La empresa asociada al usuario autenticado está inactiva.

500El usuario no existe

El usuario autenticado no fue encontrado dentro de su empresa.

500El usuario no pertenece a la empresa

El usuario autenticado no pertenece a la empresa indicada por su sesión.

500El usuario no está activo

El usuario autenticado está inactivo y no puede usar el sistema.

500El usuario no es jefe o empleado

El usuario autenticado no tiene un rol permitido para anular proformas.

Notas de uso

1

Este endpoint no recibe body ni query params.

2

Cancelar una proforma no afecta el stock ni el inventario.

3

Al completar la anulación, el PDF se regenera automáticamente con el nuevo estado anulada.

4

Una proforma anulada no puede volver a cambiarse de estado.