Wat het bericht zegt en waar je het ziet
Met Odoo in het Nederlands zie je Amazon orderItems cannot be built without a reliable SKU when the order has multiple lines or multiple products..

Je ziet het bericht als je op de knop Enviar tracking Amazon klikt, die in de weergave van de levering staat. De knop is alleen zichtbaar als de levering de status Voltooid (Afgehandeld en Odoo 17.0) heeft en het om een Amazon-bestelling via SP-API gaat; in alle andere gevallen is hij verborgen. Dat geldt voor Odoo 17, 18, 19 en 20, en het bericht staat in de gepubliceerde code van alle vier de versies.

Het is een fout die de actie stopt.

Wat het in de praktijk betekent
Om de verzending aan Amazon door te geven, moet de module aangeven welke regels van de Amazon-bestelling zijn verzonden en in welke hoeveelheid. Dat doet hij door de SKU van wat je in de levering hebt geleverd te koppelen aan de SKU van de regels die Amazon teruggeeft. Het bericht verschijnt wanneer de module uit de levering geen enkele SKU met hoeveelheid kan halen en bovendien zijn terugvaloptie voor bestellingen met één regel niet kan toepassen. Het gaat dus niet om een verbindingsfout, maar om het feit dat de module geen SKU heeft om op te steunen om te weten wat hij moet verzenden.
Wanneer het precies verschijnt
Als je op de knop klikt, komt de module bij een methode die de regels (orderItems) opbouwt die aan Amazon worden doorgegeven. In volgorde doet hij dit:
- Hij berekent welke hoeveelheid per SKU in de levering is afgehandeld en wat de totale afgehandelde hoeveelheid is.
- Hij vraagt de orderregels op bij Amazon.
- Als de berekening per SKU leeg is, probeert hij een terugvaloptie voor bestellingen met één regel.
- Als die terugvaloptie niets oplevert, geeft hij het bericht.
Het bericht verschijnt dus wanneer twee dingen samenkomen: de levering levert geen enkele SKU met hoeveelheid op en de terugvaloptie voor één regel is niet toepasbaar. Als de berekening wel een SKU met hoeveelheid oplevert, is die voorwaarde niet vervuld en gaat de methode verder via een andere weg: hij koppelt elke SKU aan de regels die Amazon heeft teruggegeven.
Wanneer de berekening per SKU leeg is
De hoofdroute vertrekt van de bewegingen van de levering die niet zijn geannuleerd, die een product hebben en die afkomstig zijn van een verkoopregel. Alleen die met een afgehandelde hoeveelheid groter dan nul tellen mee, en als SKU neemt hij de interne code van het product van die verkoopregel. Als die code leeg is, telt die regel niet mee.
Voor het vergelijken normaliseert de module de SKU: hij zet hem om naar hoofdletters, verwijdert spaties, maakt koppeltekens van andere soorten gelijk en verwijdert elk teken dat geen letter van A tot Z of cijfer is. Daarom beletten hoofdletters, spaties of afwijkende koppeltekens niet dat twee SKU's overeenkomen, maar een code die na die filter leeg blijft (bijvoorbeeld een code die alleen uit symbolen bestaat) levert niets op.
Er is ook nog een andere route, bedoeld voor kits, die uitgaat van de verkooporder als die één commerciële regel met code heeft.
Wanneer de terugvaloptie voor één regel niet kan worden toegepast
Bij een lege berekening kijkt de module naar de regels die Amazon heeft teruggegeven. De terugvaloptie geldt alleen als:
- Amazon precies één regel met zijn regelidentificatie heeft teruggegeven;
- ook een andere interne controle van de module op de levering geslaagd is;
- de totale afgehandelde hoeveelheid van de levering, afgerond, groter is dan nul.
Als alles klopt, gebruikt de module die ene Amazon-regel, met een hoeveelheid die niet hoger is dan de daar bestelde, en laat hij een waarschuwing achter in het serverlogboek. Als Amazon meer dan één regel teruggeeft, of een van de andere voorwaarden niet klopt, verschijnt het bericht. Daarom spreekt de tekst over meerdere regels of meerdere producten, maar hij kan ook verschijnen bij een bestelling met één regel als de levering geen bruikbare hoeveelheid heeft.
Zo los je het stap voor stap op
- Controleer of je in dit geval zit: de levering heeft de status
Voltooid, je hebt opEnviar tracking Amazongeklikt en de foutmelding is de tekst hierboven, volledig. - Kijk welke producten in de levering zijn geleverd en van welke verkoopregel ze komen. De hoofdroute telt alleen bewegingen die niet zijn geannuleerd, een product hebben, aan een verkoopregel gekoppeld zijn en een afgehandelde hoeveelheid groter dan nul hebben.
- Controleer of elk verkocht product een interne code heeft die als SKU kan dienen en die na de normalisatie uit het vorige gedeelte niet leeg blijft.
- Controleer of die code overeenkomt met de SKU van de verkoper die Amazon op de orderregel heeft. Als de levering SKU's met hoeveelheid levert, koppelt de module ze met dezelfde normalisatie aan de Amazon-regels.
- Kijk hoeveel regels de bestelling bij Amazon heeft. Bij één regel kan de terugvaloptie voor één regel de verzending redden als aan de voorwaarden is voldaan. Bij meerdere regels is de SKU van de levering onmisbaar.
- Corrigeer wat ontbreekt en klik opnieuw op
Enviar tracking Amazon.
Zo helpt FlexigoTech
De module is gepubliceerd in Odoo Apps voor Odoo 17, 18, 19 en 20, en je kunt de pagina op flexigotech.com bekijken. Als de oorzaak van het probleem ligt in hoe je producten zijn gecodeerd of in hoe je vanuit je Odoo op Amazon verkoopt, implementeert FlexigoTech Odoo 17, 18, 19 en 20 en ontwikkelt het connectoren en integraties op maat, dus we kunnen samen met jou de SKU-codering en de leveringsflow doornemen.
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
