Il caso
Un negozio di bricolage vende sul proprio Shopify, su Leroy Merlin e su Cdiscount, e spedisce con Correos Express. Non ha un ERP: ogni canale ha il suo pannello e le spedizioni si prenotano dal sito del corriere.
Ecco com'è un ordine qualsiasi:
- L'ordine arriva in uno dei tre pannelli.
- Qualcuno copia nome, indirizzo e telefono dell'acquirente sul sito di Correos Express e sceglie il servizio.
- Stampa l'etichetta e la applica sulla scatola.
- Copia il numero di tracking che gli dà il corriere.
- Torna al pannello del negozio, trova l'ordine e incolla il numero.
- Su Leroy Merlin, inoltre, segna l'ordine come spedito.
Con pochi ordini si regge. Il problema arriva quando gli ordini si accumulano all'ultimo momento, quando chi prepara non è chi fattura o quando un numero viene incollato nell'ordine sbagliato.

Cosa chiede ogni negozio
| Negozio | Cosa si aspetta | Fonte |
|---|---|---|
| Shopify | Che segni gli articoli come evasi quando sono pronti per la spedizione, con i dati di tracking e se avvisi il cliente | Documentazione dell'API di Shopify (fulfillmentCreate) |
| Leroy Merlin e Decathlon (Mirakl) | Il tracking appena hai il numero del corriere, e la convalida della spedizione ogni volta che lo inserisci | Documentazione dell'API di Mirakl (OR23 e OR24) |
| Cdiscount | Una conferma di spedizione con il numero di tracking | Condizioni di Cdiscount per i venditori |
Su Cdiscount, inoltre, la spedizione viene misurata. Il venditore si impegna a un tasso di spedizione del 97,5% o superiore, e se non comunica la spedizione dopo che l'acquirente ha convalidato l'ordine, l'ordine viene annullato automaticamente e quel tasso peggiora. Un numero che non viene mai incollato non è una piccola svista.
E alla base di tutto c'è il termine con il cliente. Secondo la direttiva europea sui diritti dei consumatori, salvo diverso accordo, il commerciante consegna senza ingiustificato ritardo e al più tardi entro 30 giorni. Se non consegna, il consumatore può fissare un termine supplementare e, se anche questo scade, risolvere il contratto e recuperare tutto quanto pagato.

Lo stesso ordine con Odoo
In Odoo 17, 18, 19 e 20, quando convalidi una consegna in uscita con un corriere integrato, Odoo invia la spedizione al corriere. Le operazioni in uscita ce l'hanno attivo di serie.
Con il connettore di Correos Express, quella spedizione viene registrata presso Correos Express e il connettore lascia sul documento di consegna:
- L'etichetta in PDF, da stampare direttamente da lì.
- Il numero di tracking e il link pubblico di Correos Express.
- Lo stato della spedizione: Pendiente, Enviado, Etiqueta OK o Error CEX.
L'azione pianificata «CEX - Sincronizar tracking API» aggiorna il tracking ogni 30 minuti.
Resta la strada di ritorno, dalla consegna al negozio. Qui entrano in gioco i connettori di ogni canale, e ognuno ha il suo interruttore:
- Shopify: con l'opzione di inviare l'evasione alla convalida attivata nel negozio, Odoo la invia con il suo tracking. È disattivata di default.
- Leroy Merlin e Decathlon: con il profilo dell'operatore, alla convalida della consegna Odoo invia il tracking e segna l'ordine come spedito su Mirakl, senza altre impostazioni.
- Cdiscount: con «Push Tracking on Delivery Validation» selezionata sull'account Octopia, Odoo dichiara la spedizione alla convalida. Anche questa è disattivata di default.
Il percorso passo passo di ciascuno è nelle sue guide: il tracking di Shopify, la dichiarazione di spedizione di Cdiscount e il profilo di Leroy Merlin e Decathlon.

Cosa cambia in magazzino
Chi prepara l'ordine convalida la consegna e stampa l'etichetta dal documento. Non copia più indirizzi né numeri, e il negozio riceve il tracking senza che nessuno apra il suo pannello. Se qualcosa va storto, resta scritto sulla consegna o nel log del connettore, invece di emergere quando il cliente chiede.
Come lo impostiamo
In FlexigoTech implementiamo Odoo 17, 18, 19 o 20 con i nostri connettori per negozi e corrieri, così che i tuoi negozi lavorino collegati. Odoo Online non accetta moduli di terze parti, quindi lavoriamo su Odoo.sh o su un server proprio. Ogni connettore si può provare per 14 giorni da Odoo, gratis e senza carta di credito, e il piano Connector parte da 49 € al mese, IVA esclusa. Ciò che va fatto su misura è soggetto a preventivo dopo un'analisi gratuita del perimetro, e nulla entra in fattura senza la tua approvazione scritta.
Scrivici a comercial@flexigobe.com, lascia i tuoi dati nella pagina contatti o prenota una chiamata e lo guardiamo con una settimana dei tuoi invii davanti.
Continua a leggere
Verificato nel codice del connettore (versione 17.0, 18.0, 19.0 e 20.0) e nelle fonti collegate
Fonti
- developer.mirakl.com/content/product/mmp/rest/seller/openapi3/orders/or23.md
- developer.mirakl.com/content/product/mmp/rest/seller/openapi3/orders/or24.md
- shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentCreate
- marketplace.cdiscount.com/wp-content/uploads/2025/08/2025.08.25-CGMAD-FR.pdf
- publications.europa.eu/resource/cellar/6c8e7593-7a75-4b58-b709-542f06ee7a28.0012.03/DOC_1
- github.com/odoo/odoo/blob/20.0/addons/stock_delivery/models/stock_picking.py
- Codice del modulo: flexigobe_correos_express · 17.0 56f6f9f · 18.0 7fcdd81 · 19.0 edec9c0 · 20.0 24075e3: models/delivery_carrier.py (cex_send_shipping, _cex_create_shipment, _cex_fetch_and_store_label, cex_get_tracking_link), models/stock_picking.py, data/cex_cron_data.xml
- Codice del modulo: flexigobe_shopify_seller_connector · 17.0 2c06264 · 18.0 0272d17 · 19.0 19422d4 · 20.0 2950bdc: models/stock_picking.py, models/shopify_instance.py, views/shopify_instance_views.xml
- Codice del modulo: flexigobe_mirakl_connector · 17.0 f10058e · 18.0 0d42567 · 19.0 9939dcd · 20.0 5c53911: models/stock_picking.py (button_validate, _mirakl_sync_sale_shipping_contacts, action_mirakl_push_tracking), models/mirakl_instance.py (_mirakl_auto_push_tracking_on_validate), views/stock_picking_views.xml; proveedores Leroy Merlin y Decathlon: _mirakl_auto_push_tracking_on_validate y _mirakl_repair_shipping_before_validate devuelven True
- Codice del modulo: flexigobe_octopia_connector · 17.0 6c9bfab · 18.0 aff6741 · 19.0 d15e273 · 20.0 27d9c64: models/octopia_account.py (auto_push_tracking), models/octopia_order_actions.py (button_validate, _declare_for_picking)
- flexigotech.com/precios.html
- flexigotech.com/services.html
- flexigotech.com/en/services.html
- flexigotech.com/services/desarrollo-a-medida.html
