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

# Reglas de Validación para órdenes de compra

> Revise las reglas de validación preconfiguradas de la Definición de Document denominada Order, que incluyen comprobaciones de monto y divisa, búsquedas en bases de datos y reglas fiscales opcionales.

La Definición de Document denominada Order incluye las siguientes reglas de validación preconfiguradas. Puede deshabilitar cualquiera de estas reglas en la configuración de la Definición de Document denominada Order o crear sus propias [reglas de validación](/es/flexi-capture/templates/rules).

<div id="general-validation-rules">
  ## Reglas generales de validación
</div>

<div id="total">
  ### Total
</div>

| Regla                                             | Descripción                                                                                                          |
| ------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| **Separar la divisa del monto en el campo Total** | Separa el símbolo de la divisa del monto si OCR no consigue diferenciarlo de los dígitos.                            |
| **Verificación de monto**                         | Suma los precios de las partidas y los costos adicionales, y compara el resultado con el número del campo **Total**. |

<div id="lineitems">
  ### LineItems
</div>

| Regla                                                            | Descripción                                                                                                    |
| ---------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| **Comprobar el monto de la partida**                             | Comprueba que el monto de cada partida sea igual a la cantidad multiplicada por el precio, menos el descuento. |
| **Separar la divisa del monto en el campo LI\_UnitPrice**        | Separa el símbolo de la divisa del monto si el OCR no consigue distinguirlo de los dígitos.                    |
| **Separar la divisa del monto en el campo LI\_TotalPriceNetto**  | Separa el símbolo de la divisa del monto si el OCR no consigue distinguirlo de los dígitos.                    |
| **Separar la divisa del monto en el campo LI\_TotalPriceBrutto** | Separa el símbolo de la divisa del monto si el OCR no consigue distinguirlo de los dígitos.                    |
| **La cantidad es obligatoria**                                   | Se asegura de que se haya detectado la cantidad de mercancía.                                                  |
| **Ocultar la divisa si el total está vacío**                     | Elimina el valor del campo **Divisa** si no se ha detectado ningún campo **Total**.                            |
| **Comprobar el valor de la divisa de LineItems**                 | Comprueba el valor del campo **Divisa**.                                                                       |

<div id="articlenumberbu">
  ### ArticleNumberBU
</div>

| Regla                                                             | Descripción                                                                                                                            |
| ----------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| **El número de artículo debe existir en la base de datos**        | Indique si en la base de datos debe estar presente solo el número de artículo o tanto el número de artículo como la unidad de negocio. |
| **El número de artículo y la BU deben estar en la base de datos** | Indique si en la base de datos debe estar presente solo el número de artículo o tanto el número de artículo como la unidad de negocio. |

<div id="issuer">
  ### Emisor
</div>

| Regla                                                          | Descripción                                                                          |
| -------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| **El comprador debe encontrarse en la base de datos**          | Indica si los datos del comprador deben estar en la base de datos o añadirse a ella. |
| **Los datos del comprador deben agregarse a la base de datos** | Indica si los datos del comprador deben estar en la base de datos o añadirse a ella. |

<div id="deliverydate">
  ### DeliveryDate
</div>

| Regla                                                            | Descripción                                                                                |
| ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| **La fecha de entrega debe ser posterior a la fecha del pedido** | Comprueba que la fecha de entrega detectada sea posterior a la fecha del pedido detectada. |

<div id="currency">
  ### Divisa
</div>

| Regla                                  | Descripción                                                                                 |
| -------------------------------------- | ------------------------------------------------------------------------------------------- |
| **Configura la divisa como CAD o USD** | Configura la divisa según el país de la unidad de negocio (CAD para Canadá y USD para USA). |
| **Detectar la divisa nacional**        | Determina la divisa según el país de la unidad de negocio.                                  |
| **Copiar la divisa desde LineItems**   | Copia la divisa desde **LineItems** (si está disponible).                                   |
| **Verificar el valor de la divisa**    | Verifica el valor del campo **Divisa** si el campo **Total** no está vacío.                 |

<div id="bu">
  ### BU
</div>

| Regla                                                                           | Descripción                                                                                       |
| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| **La información sobre la unidad de negocio debe agregarse a la base de datos** | Indica si los datos de la unidad de negocio deben constar en la base de datos o agregarse a ella. |
| **La unidad de negocio debe existir en la base de datos**                       | Indica si los datos de la unidad de negocio deben constar en la base de datos o agregarse a ella. |

<div id="enable-the-tax-rules">
  ## Habilitar las reglas de impuestos
</div>

Las reglas de impuestos son idénticas a las que se usan en los proyectos de facturas, pero están deshabilitadas de forma predeterminada.

Para habilitarlas, active la opción **Taxes**:

<Steps>
  <Step title="Abrir Propiedades de Definición de Document">
    En el Document Definition Editor, haga clic en **Document Definition → Propiedades de Definición de Document...**.
  </Step>

  <Step title="Abrir Additional Fields and Features">
    En el cuadro de diálogo que se abre, haga clic en la pestaña **Configuración de Definición de Document** y, a continuación, en el botón **Edit...** del grupo **Additional Fields and Features**.
  </Step>
</Steps>

<div id="tax-validation-rules-for-the-order-document-definition">
  ## Reglas de validación fiscal de la Definición de Document denominada Order
</div>

Todas las reglas fiscales se aplican al grupo de campos **Montos**.

| Regla                                                                        | Descripción                                                                                                                                                                                                                                                                                                             |
| ---------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Verificar el campo Total si el importe del impuesto total es opcional**    | Verifica que la suma de todos los montos previos al impuesto (NetAmount0, NetAmount1 y NetAmount2), los importes del impuesto (TaxAmount1 y TaxAmount2) y los costos adicionales (AdditionalCosts) sea igual al monto indicado en el campo **Total**. Esta regla solo puede utilizarse para órdenes de compra alemanas. |
| **Verificar el campo Total si el importe del impuesto total es obligatorio** | Verifica que la suma de todos los montos previos al impuesto (NetAmount0, NetAmount1 y NetAmount2), el importe del impuesto (TotalTaxAmount) y los costos adicionales (AdditionalCosts) sea igual al monto indicado en el campo **Total**. Esta regla solo puede utilizarse para órdenes de compra no alemanas.         |

<div id="totaltaxamount">
  ### TotalTaxAmount
</div>

| Regla                                                                          | Descripción                                                                                                                                                                                                |
| ------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Comprobar el campo impuesto total**                                          | Se realiza la siguiente comprobación: `TotalTaxAmount = TaxAmount1 + TaxAmount2 + Additional Tax Groups / TaxAmount`. Esta regla solo puede utilizarse para órdenes de compra que no sean del Reino Unido. |
| **El campo impuesto total es obligatorio**                                     | Comprueba que el campo `Amounts\TotalTaxAmount` esté rellenado. Esta regla solo puede utilizarse para órdenes de compra que no sean de Alemania.                                                           |
| **Separar la divisa del monto en el campo TotalTaxAmount**                     | Separa el símbolo de la divisa del monto si OCR no consigue diferenciarlo de los dígitos.                                                                                                                  |
| **Completar el campo impuesto total si solo se encuentra una tasa impositiva** | Completa automáticamente el campo `Amounts\TotalTaxAmount` para los documentos que contienen solo una tasa impositiva.                                                                                     |
| **Completar el campo impuesto total si es opcional**                           | Completa automáticamente el campo `Amounts\TotalTaxAmount` para los países donde este campo es opcional. Esta regla solo puede utilizarse para órdenes de compra de Alemania.                              |

<div id="totalnetamount">
  ### TotalNetAmount
</div>

| Regla                                                               | Descripción                                                                                                                                                                                     |
| ------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Verificar el total neto con respecto a los artículos del pedido** | Suma los valores de la columna TotalPriceNetto en la tabla LineItems y verifica el resultado con respecto al monto en TotalNetAmount.                                                           |
| **Separar la divisa del monto en el campo TotalNetAmount**          | Separa el símbolo de divisa del monto si el OCR no logra diferenciarlo de los dígitos.                                                                                                          |
| **Verificar el campo de total neto**                                | Se realiza la siguiente verificación: `TotalNetAmount = NetAmount0 + NetAmount1 + NetAmount2`. Si el campo TotalNetAmount está vacío, esta regla completará dicho campo con el monto calculado. |

<div id="additional-tax-groups">
  ### Grupos impositivos adicionales
</div>

| Campo                | Regla                                                                            | Descripción                                                                                                                                                        |
| -------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| TaxRate, TaxAmount   | **Si se detecta la tasa impositiva, el monto antes de impuestos es obligatorio** | Comprueba que cada tasa impositiva detectada tenga un campo NetAmount correspondiente que no esté vacío.                                                           |
| TaxRate              | **Complete el campo Tasa impositiva si está vacío**                              | Calcula el monto del campo TaxRate y lo completa si no se ha encontrado ninguna tasa impositiva en la imagen, pero sí se han encontrado otros campos de impuestos. |
| TaxRate              | **El campo Tasa impositiva no debe estar vacío**                                 | Comprueba que cada monto neto o importe del impuesto detectado tenga un campo TaxRate correspondiente que no esté vacío.                                           |
| TaxAmount            | **Comprobar el campo de impuesto**                                               | Se realiza la siguiente comprobación: `TaxAmount = NetAmount * (TaxRate/100)`.                                                                                     |
| TaxAmount, NetAmount | **Separar la divisa del monto en el campo TaxAmount**                            | Separa el símbolo de la divisa del monto si el Reconocimiento óptico de caracteres (OCR) no consigue diferenciarlo de los dígitos.                                 |

<Note>
  Cuando se utiliza una base de datos externa, el país de un documento es el país de la unidad de negocio del proveedor. Si no se utiliza ninguna base de datos externa, el país se determina mediante un detector de país.
</Note>
