Shipping Rules
With Shipping Rules, you can automatically apply Value Added Services (VAS) to shipments based on definable conditions. For example, you can specify that all shipments over €500 are automatically insured, or that shipments to certain countries are always marked as "Named Person Only".
Opening the Page
- Open the DHL Dashboard → Click on the value next to "Active Rules".
- Or: Open the DHL Setup → Navigate to the "Shipping Rules" section → Click "Manage Rules".
- Or: Search directly for "DHL Shipping Rules" via the search bar.
Concept
Rule-Based VAS Application
Each shipping rule consists of three parts:
| Part | Description | Example |
|---|---|---|
| Condition | What is checked? | Order amount > 500 |
| Action | Which VAS is set? | Enable insurance |
| Priority | In which order is it evaluated? | 10 (lower = first) |
Processing Logic
- With every label creation, all active rules are sorted by priority (lowest first).
- For each rule, the condition is checked against the shipment data.
- On match: The defined action is applied to the shipment.
- Multiple rules can match — actions stack.
- Non-destructive: If the user already selected a VAS option manually in the label dialog, it is never overwritten by a rule.
Rules add, never remove
Shipping rules add VAS — they never take anything away. If you already enabled "GoGreen Plus" in the label dialog and a rule would also set "GoGreen Plus", nothing additional happens. The user always retains control.
Rules always run — even without pre-selected services (zero-config)
Shipping rules are evaluated on every label creation — including simple shipments for which no Value Added Services have been selected manually. No pre-configuration is therefore required for the rules to take effect: as soon as a rule matches, its action is applied (zero-config automation). A VAS record that does not yet exist is created automatically when needed.
Condition Types
| Condition Type | Checks Against | Example Value |
|---|---|---|
| Order Amount | Order value of the shipment (€) | 500 (with operator >) |
| Total Weight | Total weight in grams | 31500 (> 31.5 kg) |
| Ship-to Country | ISO country code of recipient | AT or CH |
| Ship-to Post Code | Postal code of recipient | 01 (starts with 01, with Contains) |
| Customer Group | BC customer price group | WHOLESALE |
| Item Category | Item category of the order lines (all lines) | ELECTRONICS |
| Shipping Agent | Shipping agent code in BC | DHL |
Item Category evaluates all order lines
The Item Category condition checks all item lines of the sales order. The rule already takes effect when one line matches the chosen operator/value. Example: if an order contains a line in category ELECTRONICS, a rule with Item Category = ELECTRONICS matches — regardless of any other items in the order.
Available Operators
| Operator | Description | Suitable For |
|---|---|---|
= |
Equal | Exact match (country, group) |
<> |
Not equal | Exclusion (country ≠ DE) |
> |
Greater than | Amounts, weights |
< |
Less than | Amounts, weights |
>= |
Greater or equal | Thresholds |
<= |
Less or equal | Upper limits |
Contains |
Contains substring | Postal code ranges, text search |
Action Types
| Action Type | Description | Action Value |
|---|---|---|
| Set Insurance | Enable transport insurance | Insurance amount (e.g., 500) |
| Set Age Check | Enable visual age check | A16 or A18 |
| Set Bulky Goods | Mark as bulky goods | (empty) |
| Set GoGreen Plus | Climate-neutral shipping | (empty) |
| Set Product | Override shipping agent service / product code | Service / product code (e.g., V01PAK) |
| Set Named Person Only | Personal delivery only | (empty) |
| Set Preferred Neighbour | Set preferred neighbour | Neighbour's name |
| Set Signed by Recipient | Signature required | (empty) |
| Set No Neighbour Delivery | No neighbour delivery | (empty) |
Set Product overrides the Contract Resolver input
The Set Product action overrides the shipping agent service code that the Contract Resolver subsequently uses to resolve the DHL product / billing number. This lets you control rule-based which product is used for shipping (e.g., an international product for certain countries). An empty action value is ignored — the originally determined service code then remains unchanged.
Managing Rules
Creating a New Rule
- Open the Shipping Rules list.
- Click New (or Ctrl+Insert).
- Fill in the fields:
- Code: Unique identifier (e.g.,
INS-500) - Description: Short description (e.g., "Insurance from 500 €")
- Priority: Processing order (default: 100)
- Enabled: Yes/No
- Condition Type: What is checked
- Operator: Comparison operator
- Condition Value: Comparison value
- Action Type: Which VAS is set
- Action Value: Optional value for the action
Changing Priority
Priority determines the processing order:
- Lower number = higher priority (processed first)
- Use the actions Move Up / Move Down to quickly change priority by ±10.
- Default priority for new rules: 100
Enabling / Disabling Rules
- Single rule: Set the "Enabled" field to Yes/No.
- All rules: Use the actions Enable All / Disable All.
Disabled Rules
Disabled rules are completely ignored during label creation. However, they remain saved and can be re-enabled at any time.
Examples
Example 1: Insurance from €500
| Field | Value |
|---|---|
| Code | INS-500 |
| Description | Insurance from order value 500 € |
| Priority | 10 |
| Condition Type | Order Amount |
| Operator | >= |
| Condition Value | 500 |
| Action Type | Set Insurance |
| Action Value | 500 |
Result: All shipments with an order value of 500 € or more automatically receive transport insurance for 500 €.
Example 2: Age Check for Electronics
| Field | Value |
|---|---|
| Code | AGE-ELEC |
| Description | Age check 18+ for electronics |
| Priority | 20 |
| Condition Type | Item Category |
| Operator | = |
| Condition Value | ELECTRONICS |
| Action Type | Set Age Check |
| Action Value | A18 |
Result: Shipments containing items in the "ELECTRONICS" category automatically receive a visual age check (18+).
Example 3: GoGreen Plus for Switzerland
| Field | Value |
|---|---|
| Code | GREEN-CH |
| Description | GoGreen Plus for Switzerland |
| Priority | 30 |
| Condition Type | Ship-to Country |
| Operator | = |
| Condition Value | CH |
| Action Type | Set GoGreen Plus |
| Action Value | (empty) |
Result: All shipments to Switzerland are automatically shipped climate-neutral.
Example 4: Bulky Goods above 31.5 kg
| Field | Value |
|---|---|
| Code | BULKY-31 |
| Description | Bulky goods above 31.5 kg |
| Priority | 5 |
| Condition Type | Total Weight |
| Operator | > |
| Condition Value | 31500 |
| Action Type | Set Bulky Goods |
| Action Value | (empty) |
Result: Shipments over 31.5 kg (31,500 g) are automatically marked as bulky goods.
VAS Conflicts and Mutual Exclusions
Some VAS options are mutually exclusive. If rules would set conflicting VAS, the rule with the higher priority (lower number) wins:
| VAS A | VAS B | Result |
|---|---|---|
| Visual Age Check | Signed by Recipient | Only one option possible |
| Named Person Only | Signed by Recipient | Only one option possible |
| No Neighbour Delivery | Visual Age Check | Only one option possible |
| Preferred Neighbour | Preferred Location | Only one option possible |
Automatic Conflict Resolution
When two rules set conflicting VAS, the rule with the lower priority number wins. The later rule is ignored for the conflicting VAS.
Interaction with the Label Dialog
When you create a label manually via the "Create Label" dialog:
- You select VAS options in the dialog (e.g., GoGreen Plus ✓).
- When you click "OK", the Shipping Rules are applied.
- Rules add additional VAS without overwriting your manual selection.
- The final VAS set (manual + rules) is sent to the DHL API.
For bulk shipping, rules are evaluated individually for each shipment — conditions such as order value or weight can differ for each shipment.