> ## Documentation Index
> Fetch the complete documentation index at: https://muveya.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Aprobar o rechazar pedidos

> Encuentra los pedidos que esperan tu decisión, aprueba o rechaza una etapa y revisa el historial de decisiones.

Cuando la [política de aprobación](/docs/es/orders/approval-policy) indica que un pedido enviado necesita una decisión, el pedido recibe un **plan de aprobación** y queda en **Esperando aprobación** (`pending_approval`) hasta que las personas correspondientes decidan. Esta página cubre las pantallas de **Aprobación de pedidos**: la bandeja (`console.muveya.com/approvals`) y la pantalla de decisión (`/approvals/<orderId>`).

## Quién puede decidir

| Lo que quieres hacer | Permiso que necesitas (etiqueta en **Equipo**) |
| - | - |
| Ver **Aprobación de pedidos** en la navegación principal | `approvals.decide` (**Decidir aprobaciones**) o `approvals.policy.manage` (**Gestionar reglas de aprobación**) |
| Ver la bandeja, decidir y revisar el historial de decisiones | `approvals.decide` |
| Ver el valor de los pedidos en la bandeja y en la pantalla de decisión | `orders.value.read` (**Ver valores de pedidos**) |
| Abrir **Política de aprobación** desde la bandeja | `approvals.policy.manage` |

Estos permisos nunca vienen con un rol: un **Propietario** o un **Administrador** también necesita que se los asignen. Consulta [Roles y permisos](/docs/es/account/roles-and-permissions).

Cuatro reglas definen sobre qué pedidos puedes actuar, y todas las aplica el servidor:

1. **El permiso de decisión.** Sin `approvals.decide` no hay bandeja ni decisión.
2. **Acceso a sedes.** Solo ves y decides pedidos cuya sede está asignada a ti. Un pedido de otra sede responde como si no existiera.
3. **Permisos de la etapa.** Cada etapa de un plan indica el permiso que deben tener sus aprobadores. Las reglas publicadas desde la consola siempre exigen `approvals.decide`, así que en la práctica cualquier persona que decide cumple. Debes tener los permisos de todos los pasos de la etapa que decides.
4. **Separación de funciones.** Quien solicitó un pedido nunca puede decidirlo (consulta la sección **Separación de funciones**).

## Cómo llega un pedido a la bandeja

<Steps>
  <Step title="Quien solicita envía el pedido">
    El pedido pasa a **Enviado**. Consulta [Crear y seguir pedidos](/docs/es/orders/create-and-track).
  </Step>

  <Step title="El sistema aplica la política">
    En pocos segundos se evalúa la versión vigente de la política contra el pedido: su tipo, su valor y sus insumos. El resultado es el plan de aprobación: una lista de etapas, cada una con la cantidad de personas que deben aprobarla, más la versión de la política usada.
  </Step>

  <Step title="El pedido espera o avanza">
    Si el plan tiene al menos una etapa, el pedido pasa a **Esperando aprobación** y aparece en la bandeja de cada persona que puede decidirlo. Si el plan no tiene etapas, el pedido se aprueba automáticamente (consulta la sección **Aprobación automática**).
  </Step>
</Steps>

## La bandeja

Abre **Aprobación de pedidos** en la navegación principal. La pantalla se titula **Aprobación de pedidos**: "Pedidos de tus clínicas que esperan tu decisión. Nunca ves los tuyos."

| Columna | Qué muestra |
| - | - |
| **Pedido** | El número del pedido. Abre la pantalla de decisión. |
| **Tipo** | **General** o **Clínico**. |
| **Clínica** | La sede del pedido. |
| **Solicitado por** | Quien lo solicitó, por su nombre. |
| **Enviado** | Cuándo se envió el pedido. |
| **Aprobaciones necesarias** | Cada etapa con la cantidad de aprobaciones que necesita, por ejemplo "Finanzas (1), Jefatura de clínica (1)". |
| **Valor** | Solo si tienes `orders.value.read` y al menos un pedido de la lista tiene valor. Los pedidos sin valor muestran una marca vacía. |

La bandeja muestra solo pedidos en **Esperando aprobación**, del más antiguo al más nuevo, y lee hasta 200 pedidos pendientes a la vez. Excluye:

* los pedidos de sedes que no están asignadas a ti;
* los pedidos cuyas etapas exigen un permiso que no tienes;
* los pedidos que solicitaste tú.

| Lo que ves | Por qué |
| - | - |
| **No hay pedidos esperando tu decisión.** | No hay nada pendiente para ti. |
| **No decides aprobaciones de pedidos. Si deberías hacerlo, pide el permiso al administrador de tu clínica.** | No tienes `approvals.decide` (quizás sí gestionas la política). |
| Un enlace **Política de aprobación** en el encabezado | Tienes `approvals.policy.manage`. |

En **Inicio**, la sección **Trabajo pendiente** muestra **Pedidos esperando tu aprobación**, con un conteo, cuando tu bandeja no está vacía.

## Decidir un pedido

<Steps>
  <Step title="Abre el pedido">
    Selecciona el número del pedido en la bandeja, o **Revisar y decidir** en el detalle del pedido. La pantalla se titula **Decidir el pedido #** con el número, y ofrece **Volver a aprobaciones**.
  </Step>

  <Step title="Revisa lo que se pide">
    Los datos muestran **Estado**, **Tipo**, **Clínica**, **Entregar en**, **Solicitado por**, **Motivo** (si hay) y **Valor del pedido** (con `orders.value.read`). La tabla **Insumos** muestra cada **Insumo** (nombre y SKU) y su **Cantidad** con la unidad. La referencia del paciente nunca aparece aquí.
  </Step>

  <Step title="Elige la etapa">
    En **Etapa que decides**, elige la etapa. Cada opción muestra el nombre de la etapa y, entre paréntesis, las aprobaciones que necesita. Por defecto queda elegida la primera etapa del plan.
  </Step>

  <Step title="Si quieres, agrega un comentario">
    **Comentario (opcional)** admite hasta 500 caracteres. Un texto más largo muestra **El comentario puede tener hasta 500 caracteres.** y bloquea ambos botones.
  </Step>

  <Step title="Aprueba o rechaza">
    Selecciona **Aprobar** o **Rechazar**. Mientras se registra la decisión, el botón dice **Registrando…**. Luego la pantalla confirma "Aprobaste la etapa (etapa). El pedido avanza solo." o "Rechazaste la etapa (etapa). Quien lo solicitó puede crear un pedido nuevo."
  </Step>
</Steps>

### Qué hace cada decisión

| Decisión | Resultado |
| - | - |
| **Aprobar**, y alguna etapa todavía necesita aprobaciones | Tu aprobación queda registrada. El pedido sigue en **Esperando aprobación** para las demás personas. |
| **Aprobar**, y con esto se completan todas las etapas | El pedido pasa a **Aprobado**. Luego el sistema reserva existencias y empieza el flujo de entrega. Consulta [Resumen de entregas](/docs/es/deliveries/overview). |
| **Rechazar** | Todo el pedido pasa de inmediato a **Rechazado**, sin importar las demás etapas. Es definitivo: quien lo solicitó debe crear un pedido nuevo si todavía necesita los insumos. |

**Qué registra el sistema:** una decisión con la etapa, el resultado, tú como quien decide, la hora del servidor, tu comentario, la versión de la política del plan y la versión del pedido sobre la que decidiste. También se guarda el registro de auditoría `approvals.decision`. Las decisiones nunca se editan ni se borran.

### Reglas y límites

* El comentario es opcional, de hasta 500 caracteres; se quitan los espacios al inicio y al final.
* La etapa debe ser parte del plan del pedido.
* Cada persona decide una sola vez una etapa determinada de un pedido. Una etapa que necesita dos aprobaciones necesita dos personas distintas.
* La misma persona puede decidir etapas distintas del mismo pedido, si cumple las condiciones para cada una.
* Una decisión no se puede cambiar. Si aprobaste una etapa, después no puedes rechazar esa misma etapa; el intento se rechaza.
* Repetir exactamente la misma decisión (por ejemplo, después de recargar la página) no crea una segunda decisión.
* Solo puedes decidir mientras el pedido está en **Esperando aprobación**.

<Note>
  Decidir está marcado como una acción sensible. En la versión actual, el autenticador es opcional y no bloquea las decisiones. Si alguna vez se pide verificar tu identidad, la pantalla muestra **Verifica tu identidad para continuar.** con el botón **Verifica tu identidad**, y tu comentario se conserva para que vuelvas a intentar. Consulta [Seguridad de la cuenta](/docs/es/account/security).
</Note>

## Separación de funciones

Quien solicita un pedido nunca puede aprobarlo ni rechazarlo, aunque tenga `approvals.decide`:

* La bandeja nunca muestra tus propios pedidos.
* Si abres tu propio pedido en la pantalla de decisión, ves **Tú solicitaste este pedido, así que otra persona tiene que decidirlo.** y no aparece el formulario de decisión. El detalle del pedido te indica: **Tú solicitaste este pedido, así que otra persona tiene que aprobarlo.**
* Si de todos modos llega al servidor una decisión sobre tu propio pedido, se rechaza con **Tú solicitaste este pedido, así que no puedes decidirlo.** (`approvals.self_approval_forbidden`) y el intento queda en el registro de auditoría como `approvals.decision.denied`.

Asegúrate de que cada sede tenga al menos una persona que pueda decidir y que no sea quien suele hacer los pedidos; si no, esos pedidos quedarán esperando.

## Planes con varias etapas y varias personas

Un plan puede tener varias etapas, y cada etapa puede necesitar más de una persona:

* **Todas las etapas deben aprobarse** para que el pedido pase a **Aprobado**. No hay un orden fijo entre etapas; se pueden decidir en cualquier orden.
* **Una etapa que necesita N aprobaciones** necesita N personas distintas. Mientras tanto, el pedido sigue en **Esperando aprobación** y en la bandeja de las personas habilitadas que todavía no decidieron esa etapa.
* **Un solo rechazo basta** para rechazar todo el pedido.

Por ejemplo, un plan "Finanzas (1), Jefatura de clínica (2)" necesita que dos personas distintas aprueben **Jefatura de clínica** y que una apruebe **Finanzas**. El pedido se aprueba cuando llega la tercera aprobación necesaria, sin importar qué etapa complete.

El detalle del pedido muestra las mismas etapas en **Siguiente paso**, para que quien lo solicitó sepa qué está esperando.

## Si el pedido cambió antes de que decidieras

La decisión se toma sobre la versión del pedido que cargó tu pantalla. Si algo cambió entretanto, no se registra nada y la pantalla vuelve a cargar el pedido:

| Situación | Lo que ves |
| - | - |
| Quien lo solicitó canceló el pedido, o la decisión de otra persona ya lo aprobó o lo rechazó | El formulario de decisión desaparece y la pantalla muestra **Este pedido ya no espera una decisión.** con **Abrir el pedido**. |
| La versión del pedido cambió desde que lo cargaste | **Alguien decidió o cambió este pedido hace un momento. La pantalla ya muestra la versión más reciente; revísala antes de decidir.** |
| Ya registraste una decisión distinta en esta etapa | El mismo mensaje. Tu decisión anterior se mantiene. |
| La etapa que elegiste ya no está en el plan | **Esa etapa no es parte del plan de aprobación de este pedido.** |

Revisa la pantalla actualizada antes de volver a decidir.

## Aprobación automática

Si la política vigente no exige ninguna etapa para un pedido (ninguna regla lo alcanza, o la política no tiene reglas), el sistema aprueba el pedido por sí solo: pasa de **Enviado** directo a **Aprobado** y sigue a preparación.

* Nadie decide, así que no se crea ninguna decisión y el historial dice **Todavía no hay decisiones.**
* El pedido conserva su plan con la versión de la política que lo aprobó, y el registro de auditoría guarda `approvals.auto_approved` como acción del sistema.
* Si la clínica dental no tiene ninguna política publicada, nada se aprueba automáticamente: los pedidos enviados esperan en **Enviado**. Después de publicar una, avanzan la próxima vez que se envía cualquier pedido en la clínica dental. Consulta [Política de aprobación](/docs/es/orders/approval-policy).

## Historial de decisiones

Al final de la pantalla de decisión, la sección **Decisiones** muestra todas las decisiones del pedido, de la más antigua a la más reciente. La ven quienes tienen `approvals.decide` para los pedidos de sus sedes, cualquiera sea el estado actual del pedido.

Cada entrada muestra:

* el resultado (**Aprobado** o **Rechazado**), la etapa y la persona que decidió (**Tú** para tus propias decisiones);
* la fecha y la hora;
* el comentario, si lo hubo.

Si nadie decidió todavía, la sección dice **Todavía no hay decisiones.** El historial solo crece: las entradas nunca se cambian ni se eliminan.

## Notificaciones

Por ahora, muveya no envía correos, mensajes de WhatsApp ni notificaciones push sobre aprobaciones. Quienes aprueban encuentran el trabajo pendiente en dos lugares: la tarjeta **Pedidos esperando tu aprobación** en **Inicio** y la bandeja **Aprobación de pedidos**. Quienes solicitan siguen el estado de su pedido en **Pedidos**.

## Qué puede salir mal

| Mensaje | Código | Por qué | Qué hacer |
| - | - | - | - |
| **Tú solicitaste este pedido, así que no puedes decidirlo.** | `approvals.self_approval_forbidden` | Separación de funciones. | Otra persona habilitada debe decidir. |
| **Este pedido ya no espera una decisión. La pantalla ya muestra en qué paso está.** | `approvals.order_not_pending` | El pedido se canceló o ya se decidió. | Abre el pedido para ver su estado. |
| **Esa etapa no es parte del plan de aprobación de este pedido.** | `approvals.stage_not_in_plan` | La etapa no existe en el plan de este pedido. | Elige una etapa de la lista. |
| **Alguien decidió o cambió este pedido hace un momento. La pantalla ya muestra la versión más reciente; revísala antes de decidir.** | `approvals.decision_conflict`, `orders.version_conflict` | Ya decidiste esta etapa de otra forma, o el pedido cambió. | Revisa el pedido actualizado. |
| **Este pedido no existe o no puedes verlo.** | `orders.not_found` | Enlace incorrecto, o la sede del pedido no está asignada a ti. | Revisa el enlace y tu acceso a sedes. |
| **Tu cuenta no tiene permiso para esta acción.** | `common.forbidden` | No tienes `approvals.decide`, o un permiso que exige la etapa. | Pide el permiso a quien gestiona el equipo. |
| **Verifica tu identidad para continuar.** | `auth.mfa_required` | Se pidió verificar tu identidad para esta acción sensible. | Selecciona **Verifica tu identidad**, ingresa el código de tu autenticador y vuelve a decidir. |
| **El comentario puede tener hasta 500 caracteres.** | | El comentario es demasiado largo. | Acórtalo. |

## Aprobaciones fuera de la consola

Las decisiones solo se toman en la consola. Las herramientas MCP `approvals.list_pending` y `management.pending_decisions` están pensadas para leer la misma bandeja, pero necesitan `approvals.decide`, que los scopes OAuth actuales de solo lectura no conceden, así que siempre responden `common.forbidden`. Consulta [Herramientas MCP](/docs/es/mcp/tools). La API pública no expone las decisiones de aprobación.

## Páginas relacionadas

<CardGroup cols={2}>
  <Card title="Política de aprobación" icon="scale-balanced" href="/docs/es/orders/approval-policy">
    Las reglas que definen el plan de aprobación de cada pedido.
  </Card>

  <Card title="Crear y seguir pedidos" icon="cart-shopping" href="/docs/es/orders/create-and-track">
    Estados, detalle del pedido y cancelación.
  </Card>

  <Card title="Resumen de entregas" icon="truck" href="/docs/es/deliveries/overview">
    Qué pasa cuando se aprueba un pedido.
  </Card>

  <Card title="Roles y permisos" icon="user-shield" href="/docs/es/account/roles-and-permissions">
    Asigna `approvals.decide` y el acceso a sedes.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.