Het geval: een Mirakl-order zonder verkooporder
Voorbeeld Fictief geval: het bedrijf en de cijfers zijn verzonnen om de werkwijze uit te leggen.
Muebles Ribera is een verzonnen winkel die verkoopt op een Mirakl-marketplace en werkt met Odoo en Mirakl Connector. De verantwoordelijke voor orders opent Mirakl › Bewerkingen › Orders (Mirakl › Operations › Orders) en vindt een Mirakl-order waarvan het veld Verkooporder (Sale Order) leeg is. De connector had hem tegengehouden: de knop is bedoeld voor orders die de verkoper heeft verwijderd, die al verzonden zijn of die van vóór de startdatum zijn. Zij besluit dat deze order wel als verkooporder in Odoo moet bestaan en klikt op Verkooporder aanmaken. De verkooporder opent en blijft een offerte; zij bevestigt hem zelf.


De automatische route en het vakje dat erbij hoort
De routine die de knop gebruikt, wordt niet alleen aangeroepen als je klikt. De module breidt de standaardknop voor het valideren van leveringen uit: als enkele eigen controles van de module kloppen en de levering bij een verkooporder uit Mirakl hoort, roept de validatie dezelfde routine aan, maar zonder de opdracht om de controle op tegenhouden over te slaan. Als die aanroep mislukt, noteert de module een waarschuwing in het logboek en gaat verder met de rest van zijn routine voor leveringscontacten.
Het vakje dat die route bepaalt is Verkoop automatisch bevestigen (Auto Confirm Sale), op het formulier van Mirakl instanties (Mirakl Instances), tabblad Orders en retouren (Orders and Returns), groep Synchronisatiebeleid (Sync Policy). Het staat standaard uit en de helptekst zegt: Geïmporteerde verkooporders automatisch bevestigen na synchronisatie.
De knop blijft de uitzondering, voor de order die de connector heeft tegengehouden. Die verkooporder blijft een offerte en de verkoper bevestigt hem.
Wanneer de knop verschijnt
Op het formulier van Mirakl orders (Mirakl Orders) is de knop Verkooporder aanmaken verborgen in twee gevallen: als het veld Verkooporder al een waarde heeft of als het veld Status (State) aangeeft dat de order geannuleerd is. Met de standaardwaarden is hij zichtbaar. De knop zit in alle vier de gepubliceerde branches: Odoo 17, 18, 19 en 20.
Verkooporder staat ook in de lijst van Mirakl orders, alleen-lezen. Jij vult het niet in: het wordt geschreven door de routine voor aanmaken of bijwerken, die je bereikt via deze knop en via de hierboven beschreven validatie van de levering.
De module levert vertalingen van de knop mee. Zo heet hij, afhankelijk van de taal van je Odoo:
| Taal van Odoo | Tekst van de knop |
|---|---|
| Spaans | Verkooporder aanmaken |
| Duits | Verkaufsauftrag erstellen |
| Frans | Créer la commande de vente |
| Italiaans | Crea ordine di vendita |
| Portugees | Criar encomenda de venda |

Stap voor stap: wat er gebeurt als je klikt in Odoo 20
- Je opent het formulier van de Mirakl-order via
Mirakl › Bewerkingen › Orders. De knop is zichtbaar als de order geen verkooporder heeft en niet geannuleerd is. - Je klikt op
Verkooporder aanmaken. Had de order al een verkooporder, dan slaat de knop dat over zonder iets aan te raken. - Heeft hij er geen, dan haalt de knop de markering van tegenhouden van de order en noteert dat de verkooporder handmatig is aangemaakt.
- Hij roept de routine voor aanmaken of bijwerken aan met de opdracht om de controle op tegenhouden over te slaan. Die controle kan, als ze niet wordt overgeslagen, het aanmaken stoppen en de reden in de order noteren.
- De routine zoekt eerst een verkooporder met dezelfde Mirakl-orderidentificatie in dezelfde instantie. Vindt ze die, dan hergebruikt ze hem en schrijft de gegevens erin in plaats van een nieuwe aan te maken.
- Vindt ze die niet, dan bereidt ze de regels en de kopgegevens van de nieuwe verkooporder voor, die een offerte blijft.
- Aan het eind opent het formulier van de verkooporder.
Het tegenhouden bestaat om een reden die de module zelf in een opmerking vertelt: eerder werd bij een nieuwe synchronisatie een door de verkoper verwijderde verkooporder opnieuw aangemaakt, en maakte de eerste import van reeds handmatig verzonden orders nieuwe leveringen, waardoor de goederen twee keer vertrokken. Op de knop klikken betekent die bescherming voor deze order omzeilen, dus kijk eerst of de order al is verzonden.
Welke gegevens de code voor de verkooporder voorbereidt
Onder andere deze:
- de klant en het afleveradrescontact (een reeds bevestigde verkooporder behoudt zijn klant en, als het adres van de koper niet verandert, zijn afleveradrescontact), en als factuuradres de klant zelf;
- het bedrijf van de instantie en de valuta van de Mirakl-order;
- als klantreferentie de naam van de Mirakl-order;
- de instantie, de Mirakl-orderidentificatie, de status ervan en het moment van de laatste synchronisatie;
- het label van de verzendmethode die de koper koos;
- het telefoonnummer en de contactpersoon van de koper, wanneer de verkooporder die velden heeft;
- de orderdatum, als de Mirakl-order er een heeft, en het verkoopteam en het magazijn van de instantie, als die zijn ingesteld.
Als er nog geen verkooporder bestaat, bereidt de code daarnaast de orderregels voor.
Als iets niet gaat zoals je verwacht
- Je ziet de knop niet: kijk naar het veld
Verkooporder(heeft het een waarde, dan is er al een gekoppeld) en naar het veldStatus(is de order geannuleerd, dan is de knop verborgen). - Je klikt en er opent geen formulier: de verkooporder opent alleen als de Mirakl-order hem na de aanroep gekoppeld heeft. Controleer het veld
Verkooporder. - Fout bij het valideren van een levering: op die route wordt de fout van de routine opgevangen en als waarschuwing in het logboek genoteerd.
Twijfel je of de instantie goed verbonden is, bekijk dan eerst wat de knop Test Connection doet.
Zo helpt FlexigoTech
FlexigoTech implementeert Odoo 17, 18, 19 en 20 en ontwikkelt connectoren en integraties op maat. Mirakl Connector is gepubliceerd in Odoo Apps voor die vier versies: je vindt de productpagina en de pagina van de module.
Lees verder
Gecontroleerd in de broncode van de connector (versie 20.0) en in de gelinkte bronnen
Bronnen
- Broncode van de module: flexigobe_mirakl_connector 20.0 (aa05e537): views/mirakl_order_views.xml
- Broncode van de module: flexigobe_mirakl_connector 20.0 (aa05e537): models/mirakl_order.py
- Broncode van de module: flexigobe_mirakl_connector 20.0 (aa05e537): models/stock_picking.py
- Broncode van de module: flexigobe_mirakl_connector 20.0 (aa05e537): models/mirakl_instance.py
- apps.odoo.com/apps/modules/20.0/flexigobe_mirakl_connector
- flexigotech.com/en/services.html
