El cas: una comanda de Mirakl que no té comanda de venda
Exemple Cas il·lustratiu: l'empresa i les seves dades són inventades per explicar el flux.
Muebles Ribera és una botiga inventada que ven en un marketplace Mirakl i treballa amb Odoo i Mirakl Connector. La responsable de comandes obre Mirakl › Operations › Orders i troba una comanda de Mirakl amb el camp Sale Order buit. El connector l'havia retingut: el botó està pensat per a comandes que el venedor va esborrar, que ja van sortir o que són anteriors a la data d'inici. Ella decideix que aquesta comanda sí que ha d'existir com a comanda de venda a Odoo i prem Create Sales Order. S'obre la comanda de venda, que continua com a pressupost, i és ella qui la confirma.


El camí automàtic i la casella que l'acompanya
La rutina que fa servir el botó no es crida només en prémer-lo. El mòdul amplia el botó estàndard de validar dels albarans: quan es compleixen unes comprovacions pròpies del mòdul i l'albarà és d'una comanda de venda que ve de Mirakl, la validació crida aquesta mateixa rutina, però sense l'ordre de saltar-se la comprovació de retenció. Si aquesta crida falla, el mòdul anota un avís al registre i continua amb la resta de la seva rutina de contactes de lliurament.
La casella que decideix aquest camí és Auto Confirm Sale, a la fitxa de Mirakl Instances, pestanya Orders and Returns, grup Sync Policy. Ve desactivada per defecte i la seva ajuda diu: Automatically confirm imported sale orders after sync.
El botó queda com a excepció, per a la comanda que el connector va retenir. Aquesta comanda de venda es queda com a pressupost i la confirma el venedor.
Quan apareix el botó
A la fitxa de Mirakl Orders el botó Create Sales Order s'amaga en dos casos: quan el camp Sale Order ja té valor o quan el camp State indica que la comanda està cancel·lada. Amb els valors per defecte es veu. El botó és a les quatre branques publicades, Odoo 17, 18, 19 i 20.
Sale Order també surt a la llista de Mirakl Orders, només en lectura. No l'omples tu: l'escriu la rutina de crear o actualitzar, a la qual s'arriba des d'aquest botó i des de la validació de l'albarà que s'ha descrit.
El mòdul porta traduccions del botó. Així es diu segons l'idioma del teu Odoo:
| Idioma d'Odoo | Text del botó |
|---|---|
| Castellà | Create Sales Order |
| Alemany | Verkaufsauftrag erstellen |
| Francès | Créer la commande de vente |
| Italià | Crea ordine di vendita |
| Portuguès | Criar encomenda de venda |

Pas a pas: què fa en prémer-lo a Odoo 20
- Entres a la fitxa de la comanda de Mirakl des de
Mirakl › Operations › Orders. El botó es veu si la comanda no té comanda de venda i no està cancel·lada. - Prems
Create Sales Order. Si la comanda ja tingués comanda de venda, el botó se la salta sense tocar res. - Si no en té, treu la marca de retenció de la comanda i deixa anotat que la comanda de venda es va crear a mà.
- Crida la rutina de crear o actualitzar amb l'ordre de saltar-se la comprovació de retenció. Aquesta comprovació, quan no se salta, pot frenar la creació i anotar el motiu a la comanda.
- La rutina busca abans una comanda de venda amb el mateix identificador de comanda de Mirakl a la mateixa instància. Si la troba, la reutilitza i hi escriu les dades en lloc de crear-ne una altra.
- Si no la troba, prepara les línies i les dades de capçalera de la nova comanda de venda, que queda com a pressupost.
- En acabar, obre la fitxa de la comanda de venda.
La retenció existeix per una raó que explica el mateix mòdul en un comentari: abans, en sincronitzar de nou es recreava una comanda de venda que el venedor havia esborrat, i la primera importació convertia en lliuraments nous comandes ja enviades a mà, de manera que la mercaderia sortia dues vegades. Prémer el botó és saltar-se aquesta protecció per a aquesta comanda, així que convé mirar abans si la comanda ja va sortir.
Quines dades prepara el codi per a la comanda de venda
Entre d'altres, aquestes:
- el client i el contacte de lliurament (una comanda de venda ja confirmada conserva el seu client i, si l'adreça del comprador no canvia, el seu contacte de lliurament), i com a adreça de facturació el mateix client;
- la companyia de la instància i la divisa de la comanda de Mirakl;
- com a referència del client, el nom de la comanda de Mirakl;
- la instància, l'identificador de la comanda de Mirakl, el seu estat i el moment de l'última sincronització;
- l'etiqueta del mètode d'enviament que va triar el comprador;
- el telèfon i la persona de contacte del comprador, quan la comanda de venda té aquests camps;
- la data de la comanda, si la comanda de Mirakl la té, i l'equip de vendes i el magatzem de la instància, si els té configurats.
Quan encara no existeix comanda de venda, el codi prepara a més les línies de la comanda.
Si alguna cosa no surt com esperes
- No veus el botó: mira el camp
Sale Order(si té valor, ja n'hi ha una d'enllaçada) i el campState(si la comanda està cancel·lada, s'amaga). - Prems i no s'obre cap fitxa: la comanda de venda només s'obre si la comanda de Mirakl la té enllaçada després de la crida. Comprova el camp
Sale Order. - Error en validar un albarà: en aquest camí l'error de la rutina es captura i s'anota com a avís al registre.
Si dubtes que la instància estigui ben connectada, revisa abans què fa el botó Test Connection.
Com t'ajuda FlexigoTech
FlexigoTech implanta Odoo 17, 18, 19 i 20 i desenvolupa connectors i integracions a mida. Mirakl Connector està publicat a Odoo Apps per a aquestes quatre versions: tens la seva fitxa i la pàgina del mòdul.
Continua llegint
Comprovat al codi del connector (versió 20.0) i a les fonts enllaçades
Fonts
- Codi del mòdul: flexigobe_mirakl_connector 20.0 (aa05e537): views/mirakl_order_views.xml
- Codi del mòdul: flexigobe_mirakl_connector 20.0 (aa05e537): models/mirakl_order.py
- Codi del mòdul: flexigobe_mirakl_connector 20.0 (aa05e537): models/stock_picking.py
- Codi del mòdul: 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
