De melding en de knop die haar veroorzaakt
De melding Could not build orderItems for confirmShipment (order …). verschijnt als je op de knop Enviar tracking Amazon klikt, op het formulier van de overboeking (levering). Die knop zie je alleen als de overboeking de status Voltooid (Afgehandeld en Odoo 17.0) heeft en bij een Amazon-bestelling hoort (de module markeert dat met een veld, Amazon Order, dat in geen enkele weergave zichtbaar is). De puntjes in de melding worden vervangen door de identificatie van de bestelling bij Amazon.
Het is een fout die de actie stopzet. Wat de melding je zegt, is dat de module de lijst met regels (orderItems) die confirmShipment meestuurt niet heeft kunnen opbouwen.

Hoe je de melding ziet, afhankelijk van de taal van Odoo
De module heeft voor dit Nederlandstalige scherm geen vertaling van de melding: je ziet haar in het Engels, als Could not build orderItems for confirmShipment (order …).. Het volgende schema toont ook hoe ze eruitziet in het Spaans, Duits, Frans, Italiaans en Portugees.


Wanneer precies verschijnt ze
De code van Odoo 20.0 geeft de melding op één heel specifiek punt: precies wanneer de lijst met te bevestigen regels leeg blijft. De melding bestaat ook in de gepubliceerde code van Odoo 17, 18 en 19. Dit doet de module, in volgorde, tot ze op dat punt komt:
- Ze berekent, vanuit de overboeking, welke hoeveelheid van elke SKU is afgehandeld en wat de totale afgehandelde hoeveelheid is. Ze geeft de voorkeur aan de hoeveelheden van de verkoopregels, zodat bij een kit de commerciële SKU telt en niet die van de componenten.
- Ze vraagt de regels van de bestelling op bij Amazon.
- Als Odoo afgehandelde hoeveelheden per SKU heeft, loopt ze de Amazon-regels af en noteert de regels die ze kan koppelen. Deze melding verschijnt alleen via deze route.
- Als ze geen enkele regel heeft genoteerd, probeert ze een noodoplossing voor bestellingen met één regel.
- Als er ook dan geen enkele regel uitkomt, geeft ze de melding.
Een Amazon-regel wordt overgeslagen als ze geen regelidentificatie heeft, als haar SKU leeg is, of als haar SKU met geen enkele in Odoo geleverde SKU overeenkomt die nog een toe te wijzen hoeveelheid heeft. Eén enkele regel die klopt is genoeg om te voorkomen dat deze melding verschijnt.
De noodoplossing voor één regel werkt alleen als Amazon precies één regel met identificatie teruggeeft en er in wat in Odoo is geleverd maar één SKU met een hoeveelheid is. Bij meerdere regels bij Amazon, of bij meerdere geleverde SKU's, wordt ze niet toegepast.
Hoe de module de SKU's vergelijkt
Voor het vergelijken normaliseert de module de SKU aan beide kanten: ze zet hem om naar hoofdletters, verwijdert spaties aan de uiteinden, zet bijzondere koppeltekens om in een gewoon koppelteken en verwijdert alles wat geen letter van A tot Z (zonder accenten of ñ) of cijfer is. Daarom geven taza-azul, TAZA AZUL en Taza–Azul dezelfde sleutel. Houd er rekening mee dat een letter met accent of een ñ uit de sleutel wordt verwijderd in plaats van behouden. Als twee SKU's na die opschoning nog verschillen, dan verschillen ze echt in letters of cijfers.
Bij de berekening via verkoopregels komt de SKU van Odoo van het product van de regel. Als dat product geen SKU heeft, levert het geen enkele hoeveelheid aan de koppeling.
Een voorbeeld ter illustratie
Voorbeeld Fictief geval: het bedrijf en de cijfers zijn verzonnen om de werkwijze uit te leggen.
Casa Ficticia, een verzonnen winkel, verkoopt keramiek en kaarsen op Amazon. Een klant koopt een kop en een kaars in dezelfde bestelling, dus Amazon geeft twee regels terug, elk met een eigen identificatie. In Odoo hebben de producten de SKU's TAZAAZUL en VELA; bij Amazon heeft de verkoper de aanbiedingen gepubliceerd als TAZA-AZUL-GRANDE en VELA-LAVANDA.
De overboeking wordt gevalideerd en krijgt de status Voltooid. Als er op Enviar tracking Amazon wordt geklikt, normaliseert de module de SKU's: van Amazon komen TAZAAZULGRANDE en VELALAVANDA; van Odoo TAZAAZUL en VELA. Geen enkele komt overeen, dus ze noteert geen enkele regel. De noodoplossing voor één regel helpt ook niet, omdat Amazon twee regels met identificatie heeft teruggegeven. Resultaat: Could not build orderItems for confirmShipment (order …).
Casa Ficticia trekt de SKU's gelijk, zodat die van elk product in Odoo en die van de bijbehorende regel bij Amazon hetzelfde zeggen, en klikt opnieuw op de knop. Met gelijke SKU's kan elke Amazon-regel aan haar geleverde SKU worden gekoppeld en blijft de lijst niet langer leeg.
Wat het voorbeeld leert: de fout gaat niet over de overboeking zelf, maar over het feit dat de SKU's aan beide kanten elkaar niet herkennen. Een koppelteken of een hoofdletter veroorzaakt het niet; een paar extra letters wel.
Wat te doen, stap voor stap
- Noteer de identificatie van de Amazon-bestelling die in de melding staat en open de bijbehorende overboeking.
- Kijk welke producten je erin hebt geleverd en welke SKU elk product in Odoo heeft. Controleer dat er geen zonder SKU is.
- Vergelijk elke SKU met die van de bestelregel bij Amazon. Negeer hoofdletters, spaties, koppeltekens en tekens: zoek naar verschillende letters of cijfers.
- Corrigeer de SKU aan de kant die niet klopt, zodat ze overeenkomen.
- Klik opnieuw op
Enviar tracking Amazon.
Vragen over deze melding
Verschijnt ze in alle versies?
De melding staat in de gepubliceerde code van Odoo 17, 18, 19 en 20. De beschrijving hierboven, inclusief de volgorde van de stappen, komt overeen met de code van Odoo 20.0.
En als de bestelling meerdere regels heeft en er maar één klopt?
Dan verschijnt deze melding niet: één gekoppelde regel is genoeg om de lijst niet leeg te laten. Als daarna een andere melding verschijnt, gaat het om een andere controle van de module.
Waarom helpt de noodoplossing voor één regel niet?
Omdat ze eist dat Amazon precies één regel met identificatie teruggeeft en dat wat in Odoo is geleverd maar één SKU met een hoeveelheid bevat. Als de bestelling meerdere regels heeft of er meerdere SKU's zijn geleverd, geeft die noodoplossing een lege lijst terug.
Wat gebeurt er met kits?
De module telt bij voorkeur via de verkoopregels, dus ze telt de verkochte commerciële SKU en niet die van de componenten. De SKU die met Amazon moet overeenkomen, is die van het verkochte product.
Zo helpt FlexigoTech je
Als je op Amazon verkoopt en met Odoo werkt, kunnen we samen met jou nakijken hoe de SKU's zijn aangemaakt voordat je tracking verstuurt. FlexigoTech implementeert Odoo 17, 18, 19 en 20 en ontwikkelt connectoren en integraties op maat. Je kunt de connector bekijken op zijn pagina op flexigotech.com of op de Odoo Apps-pagina.
Lees verder
Gecontroleerd in de broncode van de connector (versie 20.0) en in de gelinkte bronnen
Bronnen
- Broncode van de module: flexigobe_amazon_seller_connector 20.0 (8576afa5): models/stock_picking.py
- Broncode van de module: flexigobe_amazon_seller_connector 20.0 (8576afa5): views/stock_picking_views.xml
- apps.odoo.com/apps/modules/20.0/flexigobe_amazon_seller_connector
- flexigotech.com/en/services.html
