You clicked Sync. menu on your Glovo brand and the synchronization stopped with an error instead of completing.
In almost all cases, the cause is the structure of the product configuration you are synchronizing, not a broken integration or a platform issue. The validation that stops the synchronization is performed by us before the menu is sent to Glovo, so the error message itself tells you which category or product is causing the problem. This is something you can fix yourself in just a few minutes.
The two things to check
The structure must be uniform. Glovo accepts two structures, your choice:
your categories, with the products directly inside them. This is the flat structure, the simplest one, and Glovo accepts it.
a main category, your categories inside it, and the products inside those categories. This is the structure you have been using so far and it remains valid, unchanged.
Do not mix them in the same configuration. All first-level categories must be of the same kind: either they all hold products directly, or they all hold subcategories. A category that holds both products and subcategories stops the synchronization, and so does a configuration where one first-level category holds products while another holds subcategories. The error message names the category at fault. A product placed directly in the configuration root stops the synchronization, as does a third category level.
No category can be left empty. A category without any products will stop the synchronization, and its name will appear directly in the error message.
Attention: each platform has its own category depth limit, and Bolt Food is the strictest of them. A flat structure (categories with the products directly inside them) is accepted by all three platforms — Bolt Food, Wolt and Glovo. Subcategories are accepted by Wolt and Glovo, but not by Bolt Food. Do not assume that a structure that worked on one platform is also valid on another — check the table below and the error received from each platform separately.
How many category levels does each platform accept?
We check the structure before the menu is sent to the platform, and each platform has its own limit:
Bolt Food — exactly one category level: a category containing the products. Any subcategory stops the synchronization, with the message “Can't have a second level category (category name)!”.
Wolt — one or two category levels: a category containing products, or a category with subcategories that contain the products. A third category level stops the synchronization, with the message “Can't have a third level category (category name)!”.
Glovo — one or two category levels: categories with the products directly inside them, or a main category with your categories inside it and the products inside those categories. A third category level stops the synchronization. The structure must be the same for every first-level category.
In practice: a flat configuration (categories with the products directly inside them) works on all three — Bolt Food, Wolt and Glovo. A configuration with subcategories works on Wolt and Glovo, but fails on Bolt Food. Three category levels are not accepted by any of the three platforms. If you use both Bolt Food and Glovo, a flat configuration is the only structure that works on both, and it is now enough: you no longer need a separate configuration just because Glovo used to require a main category.
If the same configuration is synchronized with Bolt Food or Wolt as well, check the error received there separately — the platforms have different limits, and a successful synchronization on one does not confirm that the structure is valid for the other.
The synchronization fails on Bolt Food or Wolt, but not on Glovo — the cause may still be the structure, but with a different limit: Bolt Food does not accept any subcategory, while Wolt does not accept a third category level. See the “How many category levels does each platform accept?” section above.
What the error message means?
The messages start with “Menu structure for Glovo is: 'category / category / product' or 'category / product' but found ...”. After this beginning, the message tells you exactly what was found:
“but found 'product (X) / ... / ...'” — product X is placed directly in the configuration root; move it into a category.
“but found category without items!” followed by the category name — that category is empty.
“but category 'X' holds both a product (Y) and a sub-category (Z)!” — category X holds both products and subcategories. Move the products into a subcategory, or remove the subcategories and leave only products.
“but the menu mixes the two: category 'X' holds products while category 'Y' holds sub-categories!” — the configuration mixes the two structures. Pick one and use it for every first-level category.
“but found 'category (X) / category (Y) / category (Z)'” — you have three category levels, one more than Glovo allows.
“No items found to send to Glovo! At least one category is required: ...” — the configuration selected for synchronization is empty, or it contains only products and no category at all. The products must be placed inside a category; Glovo does not accept products without a category.
What you need to do?
Go to Product Catalog - Product Configuration.
Open the configuration you are synchronizing with Glovo. If you are not sure which one it is, you can see it in the Glovo app, under Brand Settings - Sync. menu: this is the configuration selected for your brand.
Check the structure: either all your first-level categories hold the products directly, or you have a main category with your categories inside it and the products inside those categories. Do not mix the two in the same configuration.
Make sure no category has been left empty. Add products to it or remove it from the configuration.
Save the configuration and run the synchronization again: Apps - Glovo app - Brand Settings - Sync. menu.
If you use the flat structure, a “Meniu” tab appears on Glovo
Glovo needs one category level above the menu sections. When you synchronize a flat configuration (categories with the products directly inside them), Ebriza adds that level automatically, named “Meniu”, and your categories become the sections inside it.
This “Meniu” tab is visible to your customers in the Glovo app. The name is fixed: it is the same “Meniu” for every account and in every menu language, and it cannot currently be changed from Ebriza. It is not an error and there is nothing to correct.
If you want a different name to appear instead, use the structure with a main category: in that case Glovo shows the name of your own main category, exactly as before, and no “Meniu” tab is added.
Second possible cause: the same product with different prices in two modifiers
If the message you see in Menu Sync does NOT start with “Menu structure for Glovo is: ...” (the rule above), but instead says:
“If the same product is free in one modifier and has a charge in another modifier, the sync with Glovo will not work.”
the cause is different: the same product is being used as an option in TWO different modifiers, with different prices — for example, free in a general modifier and with a price in a modifier belonging to a single product. Glovo identifies a modifier option by the product code (SKU), so the same product cannot appear twice across the entire menu with different prices. For this reason, the entire menu synchronization is rejected, not just the affected product.
What you need to do: go to Nomenclature → Modifiers, search for the respective product as an option, and check which modifiers it appears in — you will find at least two with different prices. Choose a single price for the product that will apply in both modifiers, save, and run Menu Sync again. There is no other configuration solution — this is a real limitation of the Glovo platform (the attribute ID is linked to the product code, not to the modifier it belongs to).
A third possible cause: a product priced at 0 left in the synced configuration
If the message you see at Sync menu does NOT start with "Menu structure for Glovo is: ..." (the first cause) and is not the one about the same product having different prices in two modifiers (the second cause), but instead looks like this:
Field with name 'price' of entity 'products' with id: '<product code>' must be greater than 0
then the cause is a product priced at 0 that has been left in a category of the configuration you sync with Glovo.
The error names a menu product, never a modifier option
There are two different things in the menu sent to Glovo, and the price rule is not the same for both. Products — that is, the items in the categories of the synced configuration — are not allowed to have a price of 0: Glovo rejects them. Modifier options are sent differently, as attributes, also identified by the code (SKU) of the option product, and they are allowed to cost 0: a free option is perfectly valid.
That is why a modifier with free options can never generate this error. The message says entity 'products', so the code in it belongs to a product sitting in a category of the configuration synced with Glovo.
The typical case: helper products priced at 0, also added as products in the configuration
Very often, the code named in the error belongs to a product created only to be a modifier option — a sauce, a side, cutlery, packaging. They are priced at 0 precisely so the option is free for the customer. The problem appears when the same product has also been added to a category in the Glovo configuration, usually next to the real, priced products in that category: from there it is sent to Glovo as a menu product and is rejected.
What to do: remove it from the configuration, do not change its price
1. Go to Catalogue → Product configuration.
2. Open the configuration you sync with Glovo (you can see it in the Glovo app, under Brand settings → Sync menu).
3. Go into the category containing the product from the error and remove from the configuration the products priced at 0 that exist only as modifier options.
4. Save and run the sync again: Apps → the Glovo app → Brand settings → Sync menu.
Their price stays at 0. They remain options in the modifier, so the option stays free for the customer — you are only removing them from the menu configuration. Do not delete them, do not deactivate them and do not remove them from the modifier.
If a product priced at 0 genuinely has to be sold as such on Glovo, then it needs its real price. Products that exist only as modifier options are not in this situation: they are not sold on their own.
"But it worked with a price of 0 until now"
The Glovo rule is old and unchanged. What changed is your configuration: the product, or the category containing it, ended up in the configuration synced with Glovo. Check which products priced at 0 are in there now. If you are not sure, write to us on the chat in your account or at support@ebriza.com and we will tell you exactly which products to remove.
What not to do?
- Do not set the product to 0.01 lei just to get the sync through. That hides the error instead of fixing it: the configuration stays wrong, and the helper products end up published on your Glovo storefront as orderable items costing 0.01 lei.
- Do not tick "Has global price". It is a modifier setting that only changes how options are charged on the receipt; it does not change the price the product is sent with in the menu pushed to Glovo, so it does not fix the error, and it changes how the option is charged everywhere it is used.
Do not confuse this with other situations
The error message is “If the same product is free in one modifier and has a charge in another modifier, the sync with Glovo will not work.” — this is a different cause from the configuration structure (see the section above): it means that a product has different prices in two modifiers.
The error message is "Field with name 'price' of entity 'products' ... must be greater than 0" — this is the third cause, different from the other two: a product priced at 0 has been left in a category of the synced configuration. See the "A third possible cause" section above. Modifier options are allowed to cost 0, so they are not to blame.
If you are not sure what needs to be corrected, contact us through the chat in your account or at support@ebriza.com and we will tell you exactly which category is empty or which product is in the wrong place.
Don't confuse this with other situations
The synchronization completed without an error, but some products are missing from the platform — the products were not included in the configuration used for synchronization. See the article “I synchronized the menu, but some products are missing from the delivery platform (Glovo, Wolt, Bolt Food)”.
The product appears on Glovo but is marked as unavailable — this is the product's availability, not the configuration structure.
After the structure is correct, products can still be rejected if they have descriptions longer than 2,000 characters, names or descriptions containing emojis, or images that do not meet the platform's requirements. These should be checked after the structure and only if the error message specifically mentions them.
The error message is “Glovo integration is not active. Please contact an Ebriza agent for help.” — in this case, there is nothing to correct in the product configuration. This message appears only when the platform refuses to communicate with Ebriza, and the menu has not even been sent to the platform yet. Contact us via chat or at support@ebriza.com and we will reactivate the integration. The same message, with “Please contact them for activation.”, appears for partner applications (for example, Adhoc and TapTasty) and means that the activation must be done by the partner, not by us. See the article “Orders are no longer coming in from the delivery platform (Wolt, Bolt Food, Glovo)”.
My categories are all on the first level, but the sync still gives a subcategory error
The error message names a category – "Can't have a second level category (category name)!" on Bolt Food, "Can't have a third level category (category name)!" on Wolt – but you look in your list of categories and you cannot find any category placed inside another one. This is not a contradiction and it is not a false error: the check does not look at your general list of categories, but at the structure of the product configuration that the brand in question syncs from.
These are two different things. Your list of categories shows you the categories one after another and does not show you how they are arranged inside each configuration. The product configuration is where a category can be placed inside another category – usually with the "Move to" option on the category's three-dot button. Only this arrangement is sent to the platform, and only this one is checked during the sync.
That explains the situation: a category can appear on the first level in your list of categories and, on the very same day, sit inside another category in the configuration synced with the platform. Each configuration has its own arrangement, so check exactly the configuration selected for the brand that gave the error – a different configuration may look completely different.
1. Open Apps → the platform's app → Brand Settings → Sync menu and see which configuration is selected for the brand that gave the error.
2. Open exactly that configuration in Nomenclature → Product Configuration and look there for the category named in the error message.
3. If you find it inside another category, move it out to the first level or move its products directly into the parent category, save, and run the sync again.
If nothing is placed inside another category in that configuration either, stop here: there is nothing more you can fix yourself, and there is no point searching further through the list of categories. Write to us on chat or at support@ebriza.com and tell us the platform, the brand name, the category name from the error message, and roughly the time you tried the sync. We will check what was actually sent to the platform.
Tags: Glovo menu synchronization, Glovo synchronization error, cannot synchronize menu on Glovo, menu structure for Glovo, Glovo main category, empty category, product configuration, Brand Settings, Sync. menu, Bolt Food menu sync error, Can't have a second level category, Wolt menu sync error, Can't have a third level category, subcategory, I have no subcategories, all my categories are at the first level, the error names a category I cannot find,Glovo flat structure, Glovo without a main category, main category no longer required, Glovo Meniu tab, category / product, holds both a product and a sub-category, the menu mixes the two
