Wolt menu synchronization

Wolt menu synchronization


InfoTo improve usability, we have revised the navigation structure, which will be published soon. As part of this update, some terms have been adjusted and navigation items reorganized. This entry already uses the updated navigation structure and new design. For more information about the new navigation, please refer to this overview.

What
Synchronization aligns data from the POS system with Wolt, ensuring that both platforms are identical.

Where
Admin: External services > Delivery portal account.


What does the Wolt Menu Sync do

When we sync a menu to Wolt:
  1. We take the restaurant’s internal menu (from SIDES).
  2. We convert it into the format that Wolt expects.
  3. We upload it to Wolt’s system via their API.
  4. If Wolt accepts it, the menu is live within minutes!



What you need to check first

Before diving into technical details, confirm:
  1. The restaurant is active in SIDES system.
  2. The menu is visible and up to date in SIDES.
  3. The Wolt restaurant ID, username, and password are available.
  4. Check with Wolt team if you are eligible for menu push (post menu sync should be enabled).



How to trigger a Menu Sync

1. Go to the admin navigation bar at Admin: External services > Delivery portal account, and find the portal you want to start a menu sync for.
Click on the "Sync menu" button  .



2. Wait for the success message confirmation. If no confirmation appears: check the credentials or logs.



What will be synchronized

Commodity groups

SIDES menu system is more flexible and detailed, so our system translates and reshapes the menu before sending it to Wolt. Commodity groups from SIDES are converted into Wolt categories. 

SIDES allows nested commodity groups (e.g. Level 1 → Level 2 → Level 3), but Wolt only supports flat categories. The deepest (most specific) group assigned to an item is used as the Wolt category. If an item belongs to multiple commodity groups, it may appear in multiple categories in Wolt.
Commodity Group → Wolt Category
Commodity Subgroup → Wolt Category

Each category name sent to Wolt is determined by the following logic:
  1.  If the commodity group has an "Name for external services" (e.g. "Burgers"), it is used.
  2.  If external name is empty, the system falls back to internal name "Commodity group name".

SIDES (commodity groups)
Wolt
Commodity groups
Transformed in Wolt categories
Commodity subgroups
Transformed in Wolt categories (there are no nested commodity groups in Wolt)
ID from URL
Used as Wolt internal numbers
External name
Used as category name if it's not empty - customer-facing category name shown in Wolt
Name
Fallback, used only if external name is missing or invalid
Desc / Description
The category description is pushed to Wolt
Active?
Only active groups will be synced to Wolt












Commodity groups are located under Admin: Item management > Commodity groups > Edit. The following fields are synchronized with Wolt.







Sorting

SIDES is sorting the menu based on the settings:
  1. Commodity groups: sort index from commodity group edit page.
  2. Topping groups: sort index from topping group edit page.
  3. Items: sort order webshop / app from item edit page → section "Extra" is used to sort items inside a commodity group or a topping group.
  4. Menu groups: sort index of menu groups inside a menu that is set by drag and drop in the menu item edit page → section "Menu" is used to sort menu groups.

SortHow to set up
Categories (commodity groups)
Set SortIndex values on commodity groups.
(Admin: Item management > Commodity groups > Edit > Sorting index).
Topping groups
Set SortIndex values on topping groups.
(Admin: Item management > Topping groups > Edit > Sorting index).
Items
Set Sort order web shop / app values on items on edit page → "Extra" section.
(Admin: Item management > Item > Edit > Extra > Sort order web shop / app).
Menu groups
Arrange menu groups by drag and drop.
(Admin: Item management > Item > Edit > Menu). 




Items

Next step is that every sales item in SIDES is transformed into Wolt item. For this to happen there are a couple of prerequisites: the item should have a name, price, be attached to a store, be part of a commodity group, not be a topping. If this information is correct, than the item will be sent to Wolt. Toppings and menus (combos) will be handled and described later.

SIDES item field
Wolt
Item number
Unique ID sent to Wolt.
Name
Product name
Description or LMIV description
If LMIV information available, it will replace the main description. If empty, nothing will be sent to Wolt.
Hardcoded
Always includes: ["HOMEDELIVERY", "EATIN", "TAKEAWAY"] for all sales items from SIDES.
Deposit
If present and valid; includes price + VAT.
Price (from store)
Rounded to 2 decimal places.
Tax rate
Item sales tax percentage is sent to Wolt.
Availability in store
Availability in store setting on SIDES controls if item is synced to Wolt.
Images
First valid image used only.
Alcohol percentage
Alcohol percentage from Extra section is sent to Wolt, if not 0.  This field is used to tell couriers to check the age.
Age limit
Minimum age from item → extra section is sent to Wolt.
Nutritional values

Detailed breakdown, per 100 g or 100 ml.

The payload includes values for:

  1. EnergyKcal
  2. EnergyKj
  3. Fats
  4. SaturatedFats
  5. Carbohydrate
  6. Sugar
  7. Protein
  8. Salt

And if available:

  1. MonoUnsaturatedFats, PolyUnsaturatedFats, Fibre, Calcium, Potassium, Sodium, VitaminC, Magnesium, Chloride, Fluoride, Starch, Polyols

See below for more information.

Caffeine
Auto-calculated per 100 g is sent to Wolt. This info used to display warning for customers.
Allergens
If available, all allergen names are sent to Wolt as a string (DE & EN translations).
Additives
If available, all additive names are sent to Wolt as a string (only in DE).
Ingredients
Optional info from LMIV if present.
Supplier
Optional info from LMIV if present.
Distributor
Optional info from LMIV if present.
Country
Optional info from LMIV if present.
Instructions for use and storage
Optional info from LMIV if present.
















The Items with their individual sections (such as "Extra", "LMIV mandatory details", etc.) are located under Admin: Item management > Item > Edit.



























Toppings

Toppings for normal items will be synced to Wolt (menus will be covered later). Each topping group becomes an Option, and the items within the group become OptionValues. The following information is sent to Wolt regarding topping groups:

Field in SIDES
Description
Active?
Only active topping groups will be synced to Wolt.
Name
General topping name (e.g. Fries sauce).
Topping ID
ID of the topping group from the URL will be sent as ExternalData.
Toggle free topping group → yes
Will set the price of all toppings to 0 euros (this will impact toppings for items or part of menu groups).
SingleChoice or MultiChoice
Either SingleChoice or MultiChoice depending on max. quantity for individual sales. If = 1, then type will be sent as single choice, if not 1, then the type sent will be multiple choice.
Min. and Max. of individual items
Min. and max. is sent to Wolt. If max. is 0 → then the max. of 10 is set.



Topping groups are located under Admin: Item management > Topping groups > Edit.





Each item, marked as topping, becomes an option value under the option group. For each option value, the following info is transmitted:

SIDES Field (Internal)
Notes / Explanation
Availability in store?
Availability in store setting on SIDES controls if topping is synced to Wolt.
Number
Unique identifier used to map SIDES item to Wolt.
Name
Topping name
Price
Rounded to 2 decimal places.
First item in list
The first topping is marked as default, after sorting is applied.
Deposit
Optional — Added only if valid deposit info exists.
Nutritional values

Detailed breakdown, per 100 g or 100 ml.

The payload includes values for:

  1. EnergyKcal
  2. EnergyKj
  3. Fats
  4. SaturatedFats
  5. Carbohydrate
  6. Sugar
  7. Protein
  8. Salt

And if available:

  1. MonoUnsaturatedFats, PolyUnsaturatedFats, Fibre, Calcium, Potassium, Sodium, VitaminC, Magnesium, Chloride, Fluoride, Starch, Polyols

See below for more information.

Allergens
If available, all allergen names are sent to Wolt as a string (DE & EN translations).
Additives
If available, all additive names are sent to Wolt as a string (only in DE).
Ingredients
Optional info from LMIV if present.
Supplier
Optional info from LMIV if present.
Distributor
Optional info from LMIV if present.
Country
Optional info from LMIV if present.
Instructions for use and storage
Optional info from LMIV if present.









In SIDES, a menu item (called bundle in Wolt) is a special item that can:
  1. Combines multiple components (e.g., burger + drink + fries).
  2. Has menu groups (e.g., "Choose a main", "Choose a drink").
  3. Can optionally include toppings on these components.

Bundles in Wolt are very strict, and only a menu that follow the following criteria can be transmitted to Wolt. If one of them is not met, the sync will skip the menu and move to the next item.

Rule
Description
Must belong to store
Must be valid in a store.
Must have price
Must have a price.
At least one menu group with items
Menu must have at least one group with selectable items.
Cannot have "Item price is surcharge" flag set
Menu groups must not have surcharge pricing (Admin: Item management > Item > Edit > Menu > Edit > Item price is surcharge) (rule from Wolt).
Price validation
Price of menu set in section "Prices" (Admin: Item management > Item > Edit > Prices) must be lower than the sum of cheapest item in every menu group (rule from Wolt).


Toppings from menus: If all items in a menu group have the same toppings (like sauces for all mains) and the topping is set to "free" (toggle in topping group, under Admin: Item management > Topping groups > Edit > Free Topping group), this topping group is added to the menu.

By adding max. number of selectable items within the menu group, the users will be able to select up to x amount of times of items from that menu group. Imagine you have a Donut box that can hold 6 donuts. Instead of adding the menu group 6 times, you can add it one time and add 6 under the max. number of selectable items within the menu group (Admin: Item management > Items > Edit > Menu > Edit > Max. number of selectable items within the menu group). By selecting the toggle directly below at "Selection required", the user will have to select exactly 6. 
Additional information regarding the maximum number of selectable items within a menu group can be found here.


Menus are located under Admin: Item management > Item > Edit > Menu > Edit.











If the menu group with the multiplier has no toppings attached, then the group will only be displayed once:






If then menu group has toppings, the whole combination will be repeated x time to allow users to select toppings for each item in the menu group:






Nutrition

The nutrition data is taken from the following parts of the SIDES system:

For the configuration: 
Go to Admin: Item management > Nutrition, on the menu:






Notes
Note that syncing is limited to nutrition values with the following names only:

kcal, Energy kcal, Calorific value, kJ, Energy kJ, Fat, Protein, Carbohydrates, of which sugar, Salt, of which saturated fatty acids, of which monounsaturated fatty acids, of which polyunsaturated fatty acids, Fiber, Sodium, Vitamin C, Potassium, Calcium, Magnesium, Chloride, Fluoride, Starch, of which polyols, Caffeine



For the nutrition values themselves, you can edit any item in the admin and check the nutrition section, as far as the item meet the following criteria:
  1. Is not a menu.
  2. Is an ingredient (Item Properties > Ingredient flag "yes" under Admin: Item management > Item > Edit > Ingredient).


Items and nutritions are located under Admin: Item management > Item > Edit.









If all nutritional values in SIDES are set to 0, no nutritional values will be sent to Wolt. If at least one nutritional value is added, then all the mandatory nutritional values will be synced to Wolt + some of the extra values that have anything but 0.

If a product contains caffeine, please add it under the nutritional value. If the value is higher than 15ml (or mg), Wolt will automatically add a comment to the product saying "Increased caffeine content. Not recommended for children and pregnant or breastfeeding women", followed by a reference in brackets to the caffeine content, expressed in mg per 100 g.







Common issues & what to do

Nothing shows up on Wolt
  1. Check again that the credentials are correct, saved, and the portal is active.
  2. Check the logs (currently only in Signoz, we are working on building an interface in SIDES).
  3. Ask SIDES to support.

Common errors and what to do:

Sync fails with "bundle price too high"
  1. This means a menu bundle price is more than the sum of its options.
  2. Adjust the bundle price but lowering it down. The sum of the cheapest options in all the menu groups and toppings should be lower than the price of the menu.

Sync fails with "surcharge not allowed"
  1. One of the menu options (topping) has a surcharge setting.
  2. Disable "Item price is surcharge" (Admin: Item management > Items > Edit > Menu > Edit > Item price is surcharge) for that group. Wolt does not support surcharges for menus.

Deposits not accepted
  1. Wolt only allows specific deposit values with set tax value. If our value doesn't match the deposit on Wolt, the deposit is skipped and the item is added without deposit.
  2. Use standard deposit amounts:

VAT rate
Accepted deposit prices (€)
19%
0.08, 0.10, 0.15, 0.16, 0.25, 0.28, 0.30, 0.32, 0.35, 0.40, 0.45, 0.48, 0.50, 0.75, 0.80, 0.90, 0.96, 1.00, 1.35, 1.50, 1.60, 1.80, 1.92, 2.00, 2.25, 2.50, 3.00, 3.10, 3.30, 3.50, 8.00
7%
0.15, 0.25, 5.00, 6.00, 6.50, 10.00, 12.00, 13.50, 15.00


Other issues
  1. Descriptions are optional but recommended; if missing, the name is reused.
  2. Check if items have prices in SIDES, items without prices will not be synced.
  3. Check if items, groups are active in the store the menu sync is done.








    • Related Articles

    • Menu: Cheapest for free

      What "Cheapest for free" means that the cheapest item within a menu is offered free of charge. This means that if a customer selects several items, the one with the lowest price is added at no cost. Where Admin: Item > Item > Edit > Menu > Number of ...
    • Wolt Drive DaaS setup

      What By connecting your stores to Wolt Drive, you gain access to a broader delivery network. Where Admin: Store > External Delivery (DaaS) > Add account. This guide describes the steps to set up Wolt Drive on the SIDES platform and and some examples ...
    • Configurable menu groups with slots

      What It is possible to create configurable menu groups with slots that allow the customer to select a fixed number of products from a predefined list of items. In this way, the customer can, for example, choose 12 items from a selection of 20. Where ...
    • Release Notes Version 1.2.292.17 - July 1, 2025

      Please note that the rollout may take up to 10 business days, as the release will be deployed in stages to ensure stability. New features Administration area Delivery portals in print templates: It is now possible for administrators to assign ...
    • Access data delivery portal (delivery portals)

      Creating a delivery portal account The delivery portals can be created in the Admin, in the category "Store" --> at the category subitem "Stores" --> at the yellow "key icon" button "Access data delivery portal" --> at the dark green button top right ...