Skip to main content
Amazon

Amazon did not return an operationId when generating placement options: what to do

The message Amazon did not return an operationId when generating placement options. appears when you press Generate Placement and Amazon's response comes back with an operation identifier that is missing or empty. The action stops before anything is saved; the first thing to do is press the button again and, if it repeats, tell us which plan it appears on.

FlexigoTech · Editor in charge: Víctor Gómez · Updated 5 November 2026

Key facts

Module
Amazon
Versions
Odoo 17, 18, 19 and 20
Checked
in the connector's source code, version 20.0 · against the sources linked at the end
Reading time
4 min

When the message appears

It appears on the form of an inbound plan when you press the Generate Placement button. The module has already asked Amazon to generate the placement options for the plan and, when it reads the response, it looks for the operation identifier (operationId). It reads it, trims any spaces from both ends and, if nothing is left, stops the action and shows Amazon did not return an operationId when generating placement options..

The message is in the published code of Odoo 17, 18, 19 and 20. The order of steps the button follows is the one in the Odoo 20 code.

Diagram with the Amazon, FBA, Inbound / Send to Amazon menu, the Generate Placement button and the error message
Diagram built from code, not an Odoo screen: from the menu to the button and then to the message, with the module's original labels (Odoo 17, 18, 19 and 20).
Your Odoo doesn't talk to Amazon, Temu or Shopify?
Video: Your Odoo doesn't talk to Amazon, Temu or Shopify?

What the button does, in order

The button works through these points, and the message appears at the fourth:

  • It checks that your user has permission for the action.
  • It checks that the plan has a value in Inbound Plan.
  • It asks Amazon to generate the plan's placement options.
  • It reads the operation identifier from the response. If it is missing or empty, the action stops with the message Amazon did not return an operationId when generating placement options. and nothing that came after it is saved.
  • If the identifier arrives, it saves it, changes the plan's state, waits for Amazon to finish the operation and loads into the plan the placement options that Amazon returns.

Step by step to resolve it

  1. Open the plan forms from the menu Amazon › FBA › Inbound / Send to Amazon. Each part of the menu requires the Viewer permission; without it you do not see that part.
  2. Look for the Generate Placement button. It is hidden when the Inbound Plan field is empty and, with the default values, it is not visible. It only appears once that field has a value.
  3. Press the button. Before asking Amazon for anything, the button checks your permissions; then it sends the request to generate the plan's placement options.
  4. If Amazon did not return an operationId when generating placement options. appears, Amazon has replied without an operation identifier. The action stops and the module does not get as far as saving what comes next: neither the identifier nor the change of the plan's state.
  5. Press Generate Placement again. The button stays visible while the plan has a value in Inbound Plan, and the action repeats the request from the beginning.
  6. If the response now carries the identifier, the module saves it, changes the plan's state, waits for Amazon to finish the operation and loads into the plan the placement options that Amazon returns.
  7. If the message keeps coming back, note down the plan where it appears and get in touch: we will look at it with you.

What it means and what it does not

The operation identifier is what the module uses next to ask Amazon how the operation is going. Without it there is nothing to wait for, which is why the module stops at that point.

The permission check and the check that the plan has a value in Inbound Plan come earlier in the code. So this message is not about your permissions or a missing plan: it is about the response that came back from Amazon to the request to generate placement options.

With Odoo in English you see the text as Amazon did not return an operationId when generating placement options.. The module also ships this message translated into other languages:

LanguageMessage text
SpanishAmazon did not return an operationId when generating placement options.
GermanAmazon hat beim Erstellen der Platzierungsoptionen keine operationId zurückgegeben.
FrenchAmazon n'a pas renvoyé d'operationId lors de la génération des options de placement.
ItalianAmazon non ha restituito un operationId durante la generazione delle opzioni di posizionamento.
PortugueseA Amazon não devolveu um operationId ao gerar opções de colocação.
Diagram of the same message in English, Spanish, German, French, Italian and Portuguese
Diagram built from code using the module's published translations, not an Odoo screen.

What to check after retrying

  • That the message no longer appears when you press Generate Placement. If it does not, Amazon's response carried the identifier and the module went on with the rest of the process.
  • That the plan is still the same one: the button only appears while Inbound Plan has a value.
  • That your user can open the menu (each part requires Viewer) and that the action is not stopping before the request is sent because of a permissions check.

What you need to use the button

Amazon Connector for Odoo is a one-off payment per version, published for Odoo 17, 18, 19 and 20, and it needs the FlexigoTech Cloud subscription: the Connector plan costs €49 per month or €490 per year, excluding VAT. The price for each version is on its Odoo Apps page and on the module page; on the Odoo App Store, each Odoo version is bought there.

How FlexigoTech can help

FlexigoTech implements Odoo 17, 18, 19 and 20 and builds custom connectors and integrations. If you are setting up Amazon FBA shipments in your Odoo and this message keeps coming back, tell us which plan it appears on and we will look at it together.

Keep reading

Checked in the connector's source code (version 20.0) and the linked sources

Sources