Przejdź do głównej treści
Amazon

„Could not build orderItems for confirmShipment” w Amazon i Odoo: przyczyna i rozwiązanie

Pojawia się po kliknięciu Enviar tracking Amazon, gdy żadna pozycja zamówienia Amazon nie pasuje do tego, co wydałeś w Odoo; naprawisz to, dopasowując SKU i klikając przycisk ponownie.

FlexigoTech · Odpowiada: Víctor Gómez · Aktualizacja: 5 listopada 2026

Najważniejsze

Moduł
Amazon
Wersje
Odoo 17, 18, 19 i 20
Sprawdzone
w kodzie źródłowym konektora, wersja 20.0 · w źródłach podanych na końcu
Czas czytania
5 min

Komunikat i przycisk, który go wywołuje

Komunikat Could not build orderItems for confirmShipment (order …). pojawia się po kliknięciu przycisku Enviar tracking Amazon na karcie transferu (dokumentu wydania). Ten przycisk widać tylko wtedy, gdy transfer ma status Wykonano i dotyczy zamówienia Amazon (moduł oznacza to polem Amazon Order, które nie jest widoczne w żadnym widoku). Wielokropek w komunikacie jest zastępowany identyfikatorem zamówienia w Amazon.

To błąd, który zatrzymuje akcję. Komunikat mówi Ci, że moduł nie zdołał zbudować listy pozycji (orderItems), którą przekazuje confirmShipment.

Schemat wykonany w kodzie, nie ekran Odoo: u góry przycisk Enviar tracking Amazon, pod nim komunikat o błędzie, z etykietami po angielsku z kodu modułu
Schemat przycisku i komunikatu, który może się pojawić po jego kliknięciu (Odoo 17, 18, 19 i 20). To nie jest zrzut ekranu z Odoo.

Jak widzisz go w zależności od języka Odoo

Moduł nie ma tłumaczenia tego komunikatu na polski, więc widzisz go po angielsku: Could not build orderItems for confirmShipment (order …). Poniższy schemat pokazuje też, jak wygląda po hiszpańsku, niemiecku, francusku, włosku i portugalsku.

Schemat wykonany w kodzie na podstawie opublikowanych tłumaczeń modułu: ten sam komunikat po hiszpańsku, niemiecku, francusku, włosku i portugalsku
Schemat, nie ekran Odoo: tekst komunikatu w zależności od języka Odoo, z … w miejscu zamówienia.
Your Odoo doesn't talk to Amazon, Temu or Shopify?
Wideo: Your Odoo doesn't talk to Amazon, Temu or Shopify? (wideo po angielsku)

Kiedy dokładnie się pojawia

Kod Odoo 20.0 zgłasza komunikat w bardzo konkretnym miejscu: dokładnie wtedy, gdy lista pozycji do potwierdzenia jest pusta. Komunikat istnieje także w opublikowanym kodzie Odoo 17, 18 i 19. Oto, co robi moduł, po kolei, zanim do tego dojdzie:

  • Na podstawie transferu oblicza, jaka ilość każdego SKU została zrealizowana oraz łączną zrealizowaną ilość. Woli ilości z pozycji sprzedaży, więc przy zestawie liczy SKU handlowe, a nie składników.
  • Pobiera z Amazon pozycje zamówienia.
  • Jeśli Odoo ma zrealizowane ilości według SKU, przegląda pozycje Amazon i zapisuje te, które może dopasować. Ten komunikat pojawia się tylko na tej ścieżce.
  • Jeśli nie zapisał żadnej, próbuje rozwiązania awaryjnego przeznaczonego dla zamówień jednopozycyjnych.
  • Jeśli i tak nie powstaje żadna pozycja, zgłasza komunikat.

Pozycja z Amazon jest pomijana, gdy nie ma identyfikatora pozycji, gdy jej SKU jest puste albo gdy jej SKU nie pasuje do żadnego wydanego w Odoo SKU, które ma jeszcze ilość do przypisania. Wystarczy, że jedna pozycja pasuje, by ten komunikat się nie pojawił.

Rozwiązanie dla jednej pozycji działa tylko wtedy, gdy Amazon zwraca dokładnie jedną pozycję z identyfikatorem, a wśród wydanych w Odoo jest tylko jedno SKU z ilością. Przy kilku pozycjach w Amazon lub kilku wydanych SKU nie ma zastosowania.

Jak moduł porównuje SKU

Przed porównaniem moduł normalizuje SKU po obu stronach: zamienia na wielkie litery, usuwa spacje na krańcach, zamienia specjalne myślniki na zwykły myślnik i usuwa wszystko, co nie jest literą od A do Z (bez znaków diakrytycznych) ani cyfrą. Dlatego taza-azul, TAZA AZUL i Taza–Azul dają ten sam klucz. Pamiętaj, że litera ze znakiem diakrytycznym lub ñ jest usuwana z klucza, a nie zachowywana. Jeśli dwa SKU po tym czyszczeniu nadal się różnią, to naprawdę różnią się literami lub cyframi.

Przy obliczeniu według pozycji sprzedaży SKU z Odoo pochodzi z produktu pozycji. Jeśli ten produkt nie ma SKU, nie wnosi żadnej ilości do dopasowania.

Przykład ilustracyjny

Przykład Przypadek poglądowy: firma i jej dane są zmyślone, żeby pokazać przebieg.

Casa Ficticia, wymyślony sklep, sprzedaje ceramikę i świece w Amazon. Klient kupuje kubek i świecę w jednym zamówieniu, więc Amazon zwraca dwie pozycje, każdą z własnym identyfikatorem. W Odoo produkty mają SKU TAZAAZUL i VELA; w Amazon sprzedawca opublikował oferty jako TAZA-AZUL-GRANDE i VELA-LAVANDA.

Transfer zostaje zatwierdzony i przechodzi w status Wykonano. Po kliknięciu Enviar tracking Amazon moduł normalizuje SKU: z Amazon wychodzą TAZAAZULGRANDE i VELALAVANDA; z Odoo TAZAAZUL i VELA. Żadne nie pasuje, więc nie zapisuje żadnej pozycji. Rozwiązanie dla jednej pozycji też nie pomaga, bo Amazon zwrócił dwie pozycje z identyfikatorem. Wynik: Could not build orderItems for confirmShipment (order …).

Casa Ficticia ujednolica SKU, tak aby SKU każdego produktu w Odoo i jego pozycji w Amazon mówiły to samo, i klika przycisk ponownie. Przy identycznych SKU każda pozycja Amazon może zostać dopasowana do swojego wydanego SKU i lista nie jest już pusta.

Czego uczy ten przypadek: błąd nie dotyczy samego transferu, tylko tego, że SKU po obu stronach nie są rozpoznawane jako takie same. Myślnik czy wielka litera go nie wywołają; nadmiarowe litery tak.

Co zrobić, krok po kroku

  1. Zanotuj identyfikator zamówienia Amazon z komunikatu i otwórz odpowiedni transfer.
  2. Sprawdź, jakie produkty w nim wydałeś i jakie SKU ma każdy w Odoo. Upewnij się, że żaden nie jest bez SKU.
  3. Porównaj każde SKU z SKU pozycji zamówienia w Amazon. Zignoruj wielkie litery, spacje, myślniki i znaki: szukaj innych liter lub cyfr.
  4. Popraw SKU po tej stronie, która jest błędna, aby się zgadzały.
  5. Kliknij ponownie Enviar tracking Amazon.

Pytania o ten komunikat

Czy pojawia się we wszystkich wersjach?

Komunikat jest w opublikowanym kodzie Odoo 17, 18, 19 i 20. Powyższy opis, razem z kolejnością kroków, odpowiada kodowi Odoo 20.0.

A jeśli zamówienie ma kilka pozycji i pasuje tylko jedna?

Wtedy ten komunikat się nie pojawia: wystarczy jedna dopasowana pozycja, by lista nie była pusta. Jeśli potem pojawi się inny komunikat, to dotyczy innej kontroli modułu.

Dlaczego rozwiązanie dla jednej pozycji nie pomaga?

Bo wymaga, by Amazon zwrócił dokładnie jedną pozycję z identyfikatorem i by wydane w Odoo miało tylko jedno SKU z ilością. Jeśli zamówienie ma kilka pozycji lub wydano kilka SKU, to rozwiązanie zwraca pustą listę.

Co z zestawami?

Moduł woli liczyć według pozycji sprzedaży, więc liczy sprzedane SKU handlowe, a nie SKU składników. SKU, które musi zgadzać się z Amazon, to SKU sprzedanego produktu.

Jak pomaga FlexigoTech

Jeśli sprzedajesz w Amazon i pracujesz z Odoo, możemy razem z Tobą sprawdzić, jak SKU są założone, zanim wyślesz tracking. FlexigoTech wdraża Odoo 17, 18, 19 i 20 oraz tworzy konektory i integracje na zamówienie. Konektor znajdziesz na jego stronie na flexigotech.com lub w karcie w Odoo Apps.

Czytaj dalej

Co robi przycisk „Preview on Amazon” w Amazon Connector for OdooCo robi przycisk „Preview on Amazon” w konektorze Amazon dla Odoo: kiedy się pojawia, co sprawdza, co zapisuje i jakie błędy może zwrócić.
Sprawdzone w kodzie źródłowym konektora (wersja 20.0) i w podlinkowanych źródłach

Źródła