Wat je ziet en wanneer het verschijnt
Als je in de wizard met die knop op Aanmelden bij Octopia klikt, kan Odoo Fulfilmentorders verzenden zichzelf -- er een aanmelden zou door Octopia worden geweigerd (409). tonen. Het is een fout: de actie stopt en er wordt niets opgeslagen van wat de knop zou wijzigen.
De knop is in die wizard altijd zichtbaar, in Odoo 17, 18, 19 en 20, en de melding staat in de gepubliceerde code van alle vier de versies. Je komt erbij door op die knop te klikken.


De exacte voorwaarde in de code
In de code van Odoo 20 verschijnt de melding wanneer twee dingen tegelijk gelden voor de Octopia-order die je aanmeldt:
- de order heeft een ingevulde leveringswijze (niet leeg);
- die leveringswijze is niet die van de verkoper.
Omgekeerd gelezen: als de leveringswijze leeg is, verschijnt de melding niet; als ze ingevuld is en die van de verkoper is, ook niet. Alleen bij een ingevulde leveringswijze die afwijkt van die van de verkoper stopt de actie.
Wat eerst wordt gecontroleerd en wat daarna
De volgorde doet ertoe. Volgens de code van Odoo 20 eist de wizard eerst dat er minstens één pakket is. De controle van de leveringswijze komt direct daarna en vóór het één voor één nakijken van de pakketten, het aanmaken van het zendingsrecord en het aanroepen van Octopia.
Daarom maakt het, zodra er een pakket in de wizard staat, niet uit hoe de gegevens ervan zijn ingevuld: de melding hangt af van de order, niet van wat je in de wizard typt.
Wat het betekent
Het bericht zegt twee dingen: dat Fulfilmentorders zichzelf verzenden en dat het aanmelden van een order door Octopia met een 409 zou worden geweigerd. De module wacht die weigering niet af: ze komt je voor en breekt de actie af voordat er iets wordt verstuurd. Voor die order valt er via deze knop geen zending aan te melden.

Een illustratief voorbeeld: twee orders, twee uitkomsten
Voorbeeld Fictief geval: het bedrijf en de cijfers zijn verzonnen om de werkwijze uit te leggen.
Tienda Aurora is een verzonnen bedrijf dat verkoopt op de marketplace van Cdiscount en zijn Octopia-orders vanuit Odoo beheert. Beatriz, van logistiek, heeft twee orders voor zich die ze al heeft klaargemaakt.
Met de eerste opent ze de wizard, voegt het pakket toe, vult de gegevens in en klikt op Aanmelden bij Octopia. De order heeft geen ingevulde leveringswijze, of wel en dan is het die van de verkoper, dus de controle slaagt en de wizard gaat verder.
Met de tweede doet ze precies hetzelfde, maar Odoo antwoordt met Fulfilmentorders verzenden zichzelf -- er een aanmelden zou door Octopia worden geweigerd (409). Die order heeft een ingevulde leveringswijze die afwijkt van die van de verkoper. Beatriz probeert een ander pakket en typt een andere vervoerder, en het resultaat is hetzelfde, omdat de controle plaatsvindt voordat daar iets van wordt bekeken.
Wat je van het voorbeeld leert:
- Met een pakket in de wizard gaat de melding over de order, niet over het pakket.
- Bij die poging is er geen zendingsrecord aangemaakt en is Octopia niet aangeroepen.
- Beatriz hoeft niets te corrigeren in de pakketgegevens: die order wordt niet vanaf daar aangemeld.
Wat er gebeurt als de controle wel slaagt
Om het contrast te begrijpen, dit doet de wizard met een order die de melding niet veroorzaakt, volgens de code van Odoo 20, in volgorde:
- Eist minstens één pakket en controleert daarna de leveringswijze van de order.
- Loopt elk pakket na (pakketnummer en vervoerder) en stelt de lijst samen die wordt verstuurd.
- Maakt het zendingsrecord aan met die pakketten.
- Roept de Octopia-client aan met de order en de lijst met pakketten.
- Als Octopia een fout teruggeeft, wordt het zendingsrecord als fout gemarkeerd, met de tekst van de fout en de details, en wordt de fout opnieuw opgegooid zodat je haar ziet.
- Als alles goed gaat, wordt het record verzonden met datum en tijd, wordt de order verzonden, wordt een succesvermelding toegevoegd aan het synchronisatielogboek van zendingen en sluit de wizard.
Bij de Fulfilment-melding gebeurt geen van de stappen die na de controle komen.
Wat je doet als de melding verschijnt
- Sluit de wizard: via deze knop wordt die order niet aangemeld.
- Besteed geen tijd aan pakketnummer, vervoerder of tracking: de controle komt eerder en kijkt daar niet naar.
- Als je verwachtte dat je hem zelf kon aanmelden: het gegeven dat beslist is de leveringswijze van de order. De module leest die uit de order zelf en laat je niet doorgaan als ze is ingevuld en niet die van de verkoper is.
Concrete vragen over de melding
Wordt er iets opgeslagen als de melding verschijnt?
Nee. Het is een fout die de actie stopt: er wordt geen zendingsrecord aangemaakt, Octopia wordt niet aangeroepen en de order verandert niet van status.
Verschijnt ze in alle versies hetzelfde?
Het bericht staat in de gepubliceerde code van Odoo 17, 18, 19 en 20.
Kan ze verschijnen als de order geen leveringswijze heeft?
Niet met een lege leveringswijze: de voorwaarde eist dat ze is ingevuld en afwijkt van die van de verkoper.
Maakt het uit hoe het pakket is ingevuld?
Voor deze melding niet: de controle van de leveringswijze komt vóór het nakijken van de gegevens van elk pakket. In de code van Odoo 20 wordt daarvoor alleen geëist dat er minstens één pakket in de wizard staat.
Hoe FlexigoTech helpt
FlexigoTech implementeert Odoo 17, 18, 19 en 20 en ontwikkelt connectoren en maatwerkintegraties. Als je orders hebt met verschillende leveringswijzen en wilt ordenen hoe ze in Odoo worden behandeld, kunnen we dat samen met je bekijken. De module is voor alle vier de versies gepubliceerd 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_octopia_connector 20.0 (4848da6a): wizard/octopia_shipment_wizard.py
- Broncode van de module: flexigobe_octopia_connector 20.0 (4848da6a): views/octopia_completeness2_views.xml
- apps.odoo.com/apps/modules/20.0/flexigobe_octopia_connector
- flexigotech.com/en/services.html
