The DeliveryFeeCalculator is a configuration tool in the Tenant Configurator Navigator app that defines how delivery fees are calculated and applied to customer orders.
The tool evaluates a set of ordered conditional rules — called Conditional Overrides — against live order properties at checkout, applying the charge from the first matching override. If no override matches, the tool falls back to a Default charge.
The DeliveryFeeCalculator supports fee logic based on order value, delivery distance, and other order-level properties. For step-by-step guidance on setting up delivery fees, see Configure Delivery.
- How to Access the DeliveryFeeCalculator
- Conditional Overrides
- Default Charge
- Versioning
- Use cases
- Issues
How to Access the DeliveryFeeCalculator
The DeliveryFeeCalculator is accessed through the Tenant Configurator in Navigator. Open Navigator, select your tenant from the top bar, and navigate to Internal config in the left-hand menu. The Tenant Configurator tool list appears — locate the row labelled deliveryFeeCalculator and click the edit (pencil) icon on the right of the row to open the configuration.
The tool list shows the current version number and last update timestamp for each tool. The deliveryFeeCalculator row also provides an info (ⓘ) icon to view metadata without entering edit mode.
[SCREENSHOT: Tenant Configurator tool list showing the deliveryFeeCalculator row with version, timestamp, and edit/info icons]
For more information on accessing Navigator and specific apps, see:
Conditional Overrides
Conditional Overrides are the core of the DeliveryFeeCalculator configuration. Each override defines a set of conditions and a corresponding charge to apply when all conditions in that override are met. The tool evaluates overrides in numbered order — from ConditionalOverrides-1 upward — and applies the charge from the first override whose conditions all evaluate to true.
Each Conditional Override appears as a collapsible row in the editor (for example, ConditionalOverrides-1, ConditionalOverrides-2). Expanding a row reveals its Conditions block and its Charge block. Each override row provides ↑ ↓ arrows to reorder it, a duplicate icon to copy it, and a delete (—) icon to remove it.
[SCREENSHOT: DeliveryFeeCalculator editor showing numbered ConditionalOverrides rows, some collapsed and one expanded]
Conditions
The Conditions block within each Conditional Override specifies the criteria that must all be satisfied for the override's charge to be applied. Conditions are displayed as editable rows, each with four fields:
-
Type — the evaluation method for the condition;
Operatorcompares an order property against a fixed threshold value;Constantallows a fixed value to be used directly without referencing an order property -
Property — the order data field being evaluated, expressed as a dot-notation path (for example,
order.receiptData.menuItemsTotal.amountfor basket value) -
Operator — the comparison symbol applied to the property value; available options are
=,>,>=,<, and<= -
Value — the numeric threshold against which the property is compared; monetary values are expressed in minor currency units (for example,
15000= 150.00 in the store's currency)
Multiple conditions within a single override are evaluated with AND logic — all conditions must be true for the override to match. Use the + button at the bottom of the Conditions block to add a new condition row, and the trash (🗑) icon on each row to remove it.
[SCREENSHOT: Expanded ConditionalOverrides-1 edit view showing Conditions rows with the Type dropdown open, displaying Operator and Constant options]
Charge
The Charge block within each Conditional Override defines the delivery fee to apply when all conditions are met. It appears directly below the Conditions block and contains the following fields:
-
type — the fee calculation method;
fixedapplies a flat monetary amount;percentageapplies a percentage of the relevant price component -
amount — the fee value; for
fixedcharges this is in minor currency units (for example,2900= 29.00 in the store's currency); forpercentagecharges this is the percentage value to apply -
onLevel — defines the order level at which the charge is applied;
orderapplies the charge once to the entire order;itemapplies it at the individual line-item level -
onPrice — defines the price component the charge is calculated against;
grossapplies to the gross price including VAT;netapplies to the net price excluding VAT - isVatIncluded — a toggle indicating whether VAT is already included in the charge amount; when enabled, no separate VAT entries are required in the Vat(s) block
- Vat(s) — an optional list of VAT rate definitions to apply to the charge; use the + button to add entries; typically left empty when isVatIncluded is enabled
-
TitleTranslations — the label shown to the customer at checkout; the value field sets the default label and the Translations block allows locale-specific overrides (for example,
sv-SE: Leveransavgift,en-GB: Delivery fee)
[SCREENSHOT: Charge block showing type, amount, onLevel, onPrice dropdowns, isVatIncluded toggle, Vat(s), and TitleTranslations fields]
Default Charge
The Default charge is the fallback applied when no Conditional Override matches the current order. It is displayed as the last collapsible row in the DeliveryFeeCalculator editor, below all numbered overrides.
The Default charge follows the same structure as a Charge block within a Conditional Override — it includes type, amount, onLevel, onPrice, isVatIncluded, Vat(s), and TitleTranslations fields — but has no associated conditions. The Default charge ensures every delivery order receives a fee even when none of the conditional rules apply.
[SCREENSHOT: Default row expanded showing the Default charge block fields]
Versioning
The DeliveryFeeCalculator configuration is versioned. Each time the configuration is saved, the version number increments. The current version is visible in the Tenant Configurator tool list alongside the last update timestamp. Version history is not editable from within the tool — the displayed version always reflects the live configuration.
Use cases
Issues
[Link: Known issues article title — to be added]