Transport orders

# Check orders with validation rules

Set yes/no rules that warn or block when orders, shipments, Trips or invoices are saved, as conditions or in plain language judged by AI.

Updated October 13, 2026

**Who can do this:** The validationRules platform feature, access to the Variables tab (role level above 600) and the validation rule permissions, such as get:validationRules and create:validationRule.

Validation rules catch mistakes before they cause trouble, for example an order for a customer that always needs a PO reference, or an invoice without a VAT number. A rule is a yes/no check on an order, shipment, Trip or invoice. When a record breaks the rule, Transportial warns the user or blocks the save. A rule only judges: it never changes data.

## Open the validation rules

1. Open **Settings** and click the **Variables** tab.
2. Go to the section **Validation rules**.

The table shows each rule's **Name**, what it **Applies to**, the **Check**, **When and effect** and its **Status** (**Active** or **Inactive**). Click a row to edit the rule, or choose **Remove** to delete it.

## Create a rule

1. Click **New validation rule**.
2. Under **General**, enter a **Name** and optionally a **Description**.
3. Under **When**, choose what the rule **Applies to**: **Transport order**, **Shipment**, **Trip** or **Invoice**. In **Runs on**, choose **On create**, **On update**, **On status change** or, for invoices, **Before sending the invoice**. With **On status change** you can limit the rule to certain statuses.
4. Under **Rule**, choose the **Check**:  
  * **Conditions**: build the rule with filters. Use **Only for records that match** to limit which records the rule looks at (leave it empty for all), and add at least one condition under **These conditions must hold, otherwise the rule is violated**.
  * **AI judge**: write in plain language what must be true in **What must be true (answered yes or no by AI)**, for example "The delivery address is in the same country as the customer's invoice address."
5. Under **Effect per channel**, choose **Off**, **Warn** or **Block** for the **Web app**, the **Portal** and **API and integrations** (which includes imports). The default is **Warn**.
6. Under **Message**, write the text users see when the rule is broken. You can enter it per language; English is used when a user's language is missing.
7. Switch on **Enforce this rule**. New rules start switched off.
8. Click **Save**.

## Let AI draft a rule for you

1. In **Describe a rule in your own words**, type what you want to check, for example "orders for customer Acme need a reference starting with PO".
2. Choose what it applies to, or keep **Let AI decide**.
3. Click **Draft rule**. The draft opens in the editor with **How the AI understood it**.
4. Check the conditions and messages, switch on **Enforce this rule** and click **Save**. Nothing is saved before that.

The AI builds the rule from conditions where it can, and only uses an AI judge rule when conditions cannot express it.

## Test a rule before you switch it on

1. Open the rule and scroll to **Test on recent records**.
2. Enter how many **Records to check** (25 by default, up to 200).
3. Click **Run test**. You see how many of the most recent records would fail, with the reason for each. Nothing is saved.

AI judge rules are tested on at most 10 records.

## Switch on the AI judge

AI judge rules only work when **AI judge** is switched on below the rules table. It uses your platform's AI model. Set the maximum number of **AI judgements per day** (200 by default). A record that was judged before and has not changed is not sent to the AI again.

An AI judge rule passes, without warning or blocking, when the AI judge is off, the daily limit is reached, the record is too large or the AI does not answer. Use **Conditions** for checks that must always hold.

## What users see

* **Warn** in the web app or portal: the window **Please check before saving** lists the broken rules with their messages. Click **Back** to correct the record, or **Save anyway** to save it. The record's activity then shows **Saved with validation warnings**.
* **Warn** through the API or an integration: the record is saved and the warning is logged in its activity.
* **Block**: the save is refused with **This cannot be saved:** followed by the messages. There is no way to continue; correct the record first.

Changes that Transportial makes by itself, without a user or an integration, are not checked.

## Check records in a workflow

Workflows have a **Validation** step that runs your rules on a record and continues on **Valid** or **Invalid**. See [Build a workflow in the designer](/en-us/help/workflow-designer).

Not the same as the **Validation rules** JSON field under **UI Settings** in the **Environment** settings: those are simple form checks, such as required fields or an e-mail format, that only run in the browser. The rules in this article are checked by Transportial itself, for every channel.

## Related articles

* [Create a transport order](/en-us/help/create-transport-order)
* [Build a workflow in the designer](/en-us/help/workflow-designer)
* [Configure your environment](/en-us/help/platform-settings)
* [Create, send and follow up invoices](/en-us/help/invoices)
* [Send messages automatically with message automations](/en-us/help/message-automations)

## Still need help?

Our support team is happy to answer any question about Transportial.

[Contact support](/en-us/contact)[Report an issue](/en-us/report-issue)

---
Canonical page: https://transportial.com/en-us/help/validation-rules
