> ## 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.

# Política de aprobación

> Define qué pedidos enviados necesitan aprobación y cuántas personas deben aprobarlos, y publica esas reglas como una nueva versión.

La política de aprobación es el conjunto de reglas de tu clínica dental para los pedidos. Cada vez que se envía un pedido, la política vigente lo convierte en un **plan de aprobación**: las etapas por las que debe pasar y cuántas personas deben aprobar cada una. Si ninguna regla aplica, el pedido se aprueba automáticamente. Esta página cubre la pantalla **Política de aprobación** (`console.muveya.com/approvals/policy`).

## Quién puede cambiar la política

| Lo que quieres hacer | Permiso que necesitas (etiqueta en **Equipo**) |
| - | - |
| Abrir **Política de aprobación**, leer y publicar la política | `approvals.policy.manage` (**Gestionar reglas de aprobación**) |
| Ver y editar los umbrales de valor | `approvals.policy.manage` **y** `orders.value.read` (**Ver valores de pedidos**) |

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).

**Dónde:** abre **Aprobación de pedidos** en la navegación principal y selecciona **Política de aprobación** en el encabezado. El enlace solo aparece con `approvals.policy.manage`. Sin ese permiso, la pantalla dice **No puedes cambiar la política de aprobación. Pide el permiso al administrador de tu clínica.**

Mientras tu clínica dental no tenga política, quienes tienen este permiso ven una tarjeta en **Inicio**: **Todavía no hay política de aprobación: los pedidos enviados esperan hasta que se publique una**.

## Qué muestra la pantalla

La pantalla se titula **Política de aprobación**: "Qué pedidos enviados necesitan la aprobación de alguien antes de prepararse." Tiene tres partes.

1. **La versión vigente.** Una línea con el número de versión, la fecha de publicación y quién la publicó. Si la versión no tiene reglas, agrega **La política vigente aprueba todos los pedidos sin una decisión.** Si nunca se publicó nada, ves **Todavía no hay política: los pedidos enviados esperan aquí hasta que se publique una.**
2. **Sin aprobación.** Un atajo para publicar una política sin reglas: "Cada pedido enviado se aprueba solo y pasa directo a preparación."
3. **Reglas.** Un editor que viene con las reglas de la versión vigente: "Un pedido necesita las aprobaciones de cada regla que cumple. Deja una condición vacía para que aplique a todos los pedidos."

La consola solo muestra la versión vigente. No hay una pantalla para consultar versiones anteriores.

## Cómo funciona una regla

Una regla es un conjunto de **condiciones** (a qué pedidos aplica) y un **requisito** (la etapa que esos pedidos deben pasar).

### Condiciones

Todas las condiciones que definas en una regla deben cumplirse para que la regla aplique. Una condición que dejas vacía aplica a todos los pedidos.

| Campo | Aplica cuando | Si queda vacío |
| - | - | - |
| **Aplica a**: **Pedidos generales**, **Pedidos clínicos** | El tipo del pedido es el marcado. | No marques ninguno, o marca ambos, para que aplique a los dos tipos. |
| **Solo pedidos con insumos de alto valor** | Al menos una línea del pedido es un insumo marcado como **Insumo de alto valor** en el catálogo (la marca que se copió al agregar la línea). | Sin marcar: los insumos no importan. |
| **Valor mínimo del pedido (unidades menores, por ejemplo centavos)** | El valor del pedido es igual o mayor que este número. | Sin límite inferior. |
| **Valor máximo del pedido (unidades menores, por ejemplo centavos)** | El valor del pedido es igual o menor que este número. | Sin límite superior. |

Los valores son números enteros en unidades menores: en una moneda con dos decimales, `50000` significa 500,00; en una moneda sin decimales, `50000` significa 50.000. El valor del pedido es el que se congeló al enviarlo (consulta [Crear y seguir pedidos](/docs/es/orders/create-and-track#valor-y-datos-ocultos)).

<Warning>
  Un pedido sin valor nunca cumple una regla que tenga mínimo o máximo. Un pedido no tiene valor cuando ninguno de sus insumos tiene costo. Si ese pedido no cumple ninguna otra regla, se **aprueba automáticamente**. Mantén los costos al día en [Costos](/docs/es/catalog/costs), o agrega una regla sin condiciones de valor para que todo pedido necesite al menos una etapa.
</Warning>

El motor de reglas también entiende una condición de **categoría** (el pedido tiene al menos un insumo de una categoría de la lista, tal como se copió al agregar la línea), pero la consola no la ofrece. Si una regla ya tiene una condición de categoría, o un umbral de valor que no puedes ver, el editor la conserva y muestra **Esta regla también tiene condiciones que no puedes cambiar aquí; se conservan.** Consulta [Categorías](/docs/es/catalog/categories).

Las reglas no pueden expresar nada más. En particular, no hay condiciones por sede, por quien solicita, por un insumo específico, por cantidad, por proveedor ni por fecha. Cada regla aplica a todas las sedes de la clínica dental.

### Requisito

| Campo | Significado | Límites |
| - | - | - |
| **Nombre de la etapa** | El nombre que ven quienes aprueban, por ejemplo "Jefatura de clínica". Las reglas con el mismo nombre de etapa forman una sola etapa. | Obligatorio, hasta 64 caracteres. |
| **Personas que deben aprobar** | Cuántas personas distintas deben aprobar esta etapa. | Número entero del 1 al 10. |

El permiso que necesita quien aprueba no es un campo: las reglas creadas en la consola siempre exigen `approvals.decide`. Quien aprueba también necesita acceso a la sede del pedido, y quien solicita nunca puede aprobar su propio pedido. Consulta [Aprobación de pedidos](/docs/es/orders/approvals).

## Cómo se evalúa un pedido

Cuando se procesa un pedido enviado, el sistema toma la versión de la política vigente en ese momento y:

1. Revisa cada regla contra el pedido. El orden de las reglas no importa.
2. Reúne la etapa de cada regla que se cumple.
3. Une las reglas con el mismo nombre de etapa en una sola etapa, que necesita la cantidad de personas **más alta** entre ellas.
4. Crea el plan con las etapas resultantes, ordenadas por nombre, y registra la versión de la política usada.
5. Si el plan tiene al menos una etapa, el pedido pasa a **Esperando aprobación**. Si no tiene ninguna, pasa a **Aprobado**.

El pedido necesita las aprobaciones de **todas** las etapas de su plan. Un rechazo en cualquier etapa rechaza todo el pedido.

## Publicar reglas

<Steps>
  <Step title="Abre Política de aprobación">
    **Aprobación de pedidos** y luego **Política de aprobación**. El editor muestra las reglas de la versión vigente.
  </Step>

  <Step title="Agrega o cambia reglas">
    Selecciona **Agregar una regla** para sumar una regla (**Regla 1**, **Regla 2**, etc.). En cada regla, completa **Nombre de la etapa**, marca las condiciones de **Aplica a** y **Solo pedidos con insumos de alto valor**, define **Valor mínimo del pedido** o **Valor máximo del pedido** si los necesitas, e indica **Personas que deben aprobar** (empieza en 1). Cada regla tiene su propio botón para quitarla, por ejemplo **Quitar la regla 2**.
  </Step>

  <Step title="Publica">
    Selecciona **Publicar política**. El botón dice **Publicando…** y luego la pantalla confirma que la nueva versión ya está vigente. El botón queda deshabilitado mientras el editor no tenga reglas; para publicar una política sin reglas usa **Publicar sin aprobaciones**.
  </Step>
</Steps>

Publicar siempre envía el conjunto **completo** de reglas que muestra el editor como una nueva versión. Una regla que quitaste del editor no forma parte de la nueva versión.

## Publicar una política sin aprobaciones

Usa esta opción cuando tu clínica dental no quiera aprobaciones.

<Steps>
  <Step title="Selecciona Publicar sin aprobaciones">
    Está en la sección **Sin aprobación**.
  </Step>

  <Step title="Confirma">
    El diálogo **¿Publicar una política sin aprobaciones?** explica: "Desde ahora ningún pedido espera una decisión. Puedes volver a publicar reglas cuando quieras." Selecciona **Publicar sin aprobaciones**, o **Mantener la política vigente** para volver.
  </Step>
</Steps>

Desde ese momento, cada pedido enviado se aprueba automáticamente y pasa directo a preparación. Los pedidos que ya esperaban aprobación conservan su plan.

## Versiones

* Cada publicación crea una nueva versión con el número siguiente (1, 2, 3...). El servidor registra la hora de publicación y quién la publicó.
* Una versión publicada nunca se modifica. Cambiar la política siempre significa publicar una nueva versión.
* Cada pedido conserva el plan que recibió, incluido el número de versión usado. Publicar una nueva versión no vuelve a evaluar los pedidos que ya están en **Esperando aprobación**, **Aprobado** o más adelante.
* Un pedido se evalúa con la versión vigente cuando el sistema procesa su envío, lo que normalmente ocurre segundos después de que quien lo solicita lo envía.
* Si dos personas publican al mismo tiempo, solo una versión gana. La otra persona ve **Alguien publicó la política hace un momento. Vuelve a cargarla antes de publicar de nuevo.**
* Cuando se lee una versión nueva, el editor vuelve a sus reglas, así que siempre editas lo que está vigente.

### Antes de la primera política

Una clínica dental sin ninguna política publicada no aprueba nada: los pedidos enviados se quedan en **Enviado**. Publicar la primera política (con reglas o sin aprobaciones) permite que avancen. Los pedidos que ya esperaban se procesan la próxima vez que el sistema procesa envíos de tu clínica dental, lo que ocurre cada vez que se envía un pedido. Si un pedido sigue en **Enviado** un rato después de publicar, escribe a [team@muveya.com](mailto:team@muveya.com).

## Ejemplo completo

Una clínica dental que trabaja en una moneda con dos decimales publica tres reglas:

| Regla | Nombre de la etapa | Aplica a | Insumos de alto valor | Valor mínimo | Personas que deben aprobar |
| - | - | - | - | - | - |
| 1 | Jefatura de clínica | (ninguno marcado) | No | (vacío) | 1 |
| 2 | Finanzas | (ninguno marcado) | No | `50000` | 1 |
| 3 | Jefatura de clínica | **Pedidos clínicos** | Sí | (vacío) | 2 |

La regla 1 aplica a todos los pedidos. La regla 2 aplica a pedidos de 500,00 o más. La regla 3 aplica a pedidos clínicos con al menos un insumo de alto valor y, como comparte el nombre de etapa con la regla 1, ambas se unen en una sola etapa que necesita 2 personas.

| Pedido | Tipo | Valor | Insumo de alto valor | Reglas que aplican | Plan |
| - | - | - | - | - | - |
| `#101` | General | 120,00 | No | 1 | Jefatura de clínica (1) |
| `#102` | General | 800,00 | No | 1, 2 | Finanzas (1), Jefatura de clínica (1) |
| `#103` | Clínico | 300,00 | Sí | 1, 3 | Jefatura de clínica (2) |
| `#104` | Clínico | 650,00 | Sí | 1, 2, 3 | Finanzas (1), Jefatura de clínica (2) |
| `#105` | General | Sin valor | No | 1 | Jefatura de clínica (1) |

El pedido `#104` necesita dos personas distintas para **Jefatura de clínica** y una para **Finanzas**; ninguna puede ser quien lo solicitó. El pedido `#105` no tiene insumos con costo, así que la regla 2 no puede aplicarse a él; sin la regla 1, se habría aprobado automáticamente.

## Validaciones y límites

| Revisión | Mensaje |
| - | - |
| **Nombre de la etapa** vacío | **Nombra la etapa.** |
| **Nombre de la etapa** con más de 64 caracteres | **El nombre de la etapa puede tener hasta 64 caracteres.** |
| **Personas que deben aprobar** no es un número entero del 1 al 10 | **Ingresa un número entero del 1 al 10.** |
| Un valor no es un número entero de cero o más | **Ingresa un número entero de cero o más.** |
| **Valor mínimo del pedido** mayor que **Valor máximo del pedido** | **El mínimo no puede ser mayor que el máximo.** |

Una política admite como máximo 100 reglas. Se quitan los espacios al inicio y al final del nombre de la etapa.

## Qué puede salir mal

| Mensaje | Código | Por qué | Qué hacer |
| - | - | - | - |
| **No puedes cambiar la política de aprobación. Pide el permiso al administrador de tu clínica.** | | No tienes `approvals.policy.manage`. | Pide a quien gestiona el equipo **Gestionar reglas de aprobación**. |
| **Alguien publicó la política hace un momento. Vuelve a cargarla antes de publicar de nuevo.** | `approvals.policy_version_conflict` | Otra persona publicó al mismo tiempo. | Recarga la página, revisa la nueva versión y vuelve a publicar si hace falta. |
| **Revisa los datos ingresados antes de volver a intentar.** | `common.invalid_request` | El servidor rechazó una regla (por ejemplo, un mínimo mayor que el máximo). | Corrige la regla. |
| **Tu cuenta no tiene permiso para esta acción.** | `common.forbidden` | Te quitaron el permiso mientras editabas. | Vuelve a pedir el permiso. |

## La política fuera de la consola

La política solo se publica en la consola. El recurso MCP `muveya://tenant/approval-policy-summary` está pensado para ofrecer un resumen de solo lectura de la versión vigente, pero necesita `approvals.decide`, que los scopes OAuth actuales de solo lectura no conceden, así que siempre responde `common.forbidden`. Consulta [Recursos MCP](/docs/es/mcp/resources).

## Páginas relacionadas

<CardGroup cols={2}>
  <Card title="Aprobación de pedidos" icon="circle-check" href="/docs/es/orders/approvals">
    Cómo deciden las etapas quienes aprueban.
  </Card>

  <Card title="Crear y seguir pedidos" icon="cart-shopping" href="/docs/es/orders/create-and-track">
    Tipos de pedido, valores y estados.
  </Card>

  <Card title="Costos" icon="coins" href="/docs/es/catalog/costs">
    Los costos detrás del valor del pedido y de los umbrales.
  </Card>

  <Card title="Categorías" icon="tags" href="/docs/es/catalog/categories">
    Cómo se agrupan los insumos en el catálogo.
  </Card>

  <Card title="Roles y permisos" icon="user-shield" href="/docs/es/account/roles-and-permissions">
    Quién gestiona la política y quién decide.
  </Card>

  <Card title="Conceptos" icon="book" href="/docs/es/concepts">
    El vocabulario de pedidos y aprobaciones.
  </Card>
</CardGroup>


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