Endpoints / Proformas
Pagar proforma
Marca una proforma como pagada, descuenta el stock de los items inventariables y regenera el documento PDF con el nuevo estado.
/proformas/:id/payCaso de Uso
Se usa cuando la venta asociada a una proforma ya fue cobrada y se debe consolidar el descuento real del inventario. Al usarlo, el usuario obtiene la proforma actualizada con estado pagada, el PDF regenerado y una tarea de envío automática.
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
idstringobligatorioIdentificador de la proforma a pagar.
Reglas de negocio
Solo un usuario con rol jefe o empleado puede pagar proformas.
Solo permite pagar proformas de la empresa del usuario autenticado.
La empresa del usuario autenticado debe estar activa.
El usuario autenticado debe estar activo.
Solo una proforma en estado emitida puede pagarse.
La proforma debe contener al menos un item.
Para cada item inventariable se descuenta stock de la sucursal emisora de la proforma.
El stock debe existir en la sucursal indicada, estar activo y tener cantidad suficiente.
Los items no inventariables no afectan el stock.
Al completar el pago se regenera el PDF con el nuevo estado pagada.
Se crea automáticamente una tarea de envío de la proforma para procesamiento posterior.
Errores esperados
No se envió un token JWT válido o el token no contiene información válida del usuario.
No se envió el parámetro id en la ruta.
No existe una proforma con el id indicado dentro de la empresa del usuario autenticado.
La proforma no está en estado emitida; solo puede pagarse una proforma emitida.
La proforma no tiene items en su detalle.
No hay un registro de stock para un item inventariable en la sucursal emisora.
El stock asociado a un item inventariable no está en estado activo.
La cantidad disponible en stock es menor a la cantidad requerida por el item.
La empresa asociada al usuario autenticado no fue encontrada.
La empresa asociada al usuario autenticado está inactiva.
El usuario autenticado no fue encontrado dentro de su empresa.
El usuario autenticado no pertenece a la empresa indicada por su sesión.
El usuario autenticado está inactivo y no puede usar el sistema.
El usuario autenticado no tiene un rol permitido para pagar proformas.
Notas de uso
Este endpoint no recibe body ni query params.
Solo los items inventariables descuentan stock; los items manuales no afectan el inventario.
Al completar el pago, el PDF se regenera automáticamente con el nuevo estado pagada.
Se crea una tarea de envío en segundo plano para notificar o distribuir el documento.