Il dettaglio del metodo che segue è quello del codice di Odoo 20. Il pulsante è presente nei rami 17, 18, 19 e 20, con la stessa condizione di visibilità.
Dove si trova e quando si vede
Dove si trova il pulsante Restituisci al magazzino e quando compare?
Si trova nella scheda di Rimborsi Shopify, che si apre da Vendite › Shopify › Operations › Rimborsi. La vista lo mostra solo quando il campo Reso a magazzino è in sospeso, in revisione o fallito; con qualsiasi altro valore lo nasconde. Con i valori predefiniti non si vede, perché quel campo parte da un valore che non è nessuno di questi. In Odoo in italiano il pulsante si chiama Restituisci al magazzino; il secondo schema riporta come si chiama nelle altre lingue.


Restituisci al magazzino, in tedesco Lager zurückgeben, in francese Retourner au stock, in italiano Restituisci al magazzino e in portoghese Devolver ao stock.Cosa succede se il reso a magazzino era già stato fatto?
Il metodo lo controlla prima di tutto. Se il campo era fallito ma il trasferimento di reso era già stato fatto, lo segna come completato e cancella il testo dell'errore. Se era già completato e c'è un Trasferimento di reso, apre quel trasferimento; se non ce n'è nessuno, non fa altro.

Cosa controlla e cosa crea
Come decide quali prodotti restituire?
Legge le righe di reintegro del rimborso, cioè ciò che Shopify ha rimesso in giacenza. Scarta quelle con quantità zero o minore. Per ciascuna cerca prima il prodotto tramite l'ID variante di Shopify e, se non lo trova, tramite lo SKU. Le righe che non vengono risolte non entrano nel reso e lasciano un avviso nel log. Se non rimane nessun prodotto, il metodo si ferma con il messaggio che vedrai più sotto.
Cosa fa se il rimborso ha un ordine di vendita con consegne convalidate?
Nella scheda, il campo Ordine di vendita si trova nel gruppo Amounts. Il codice cerca le consegne in uscita di quell'ordine che sono già state completate. Se ce n'è qualcuna, calcola cosa resta da restituire per ogni prodotto: ciò che Shopify ha rimesso in giacenza in tutti i rimborsi di quell'ordine, meno ciò che hanno già riportato indietro i resi non annullati (anche quelli fatti da Odoo stesso), e mai più di quanto consegnato. La ripartizione va dalla consegna più vecchia alla più recente, senza superare quanto ha spedito ciascuna meno quanto ne è già tornato.
Crea un reso convalidato per ogni consegna interessata, quindi possono essere più d'uno. Quando la consegna contiene il movimento di quel prodotto, il reso resta collegato a esso come un reso di Odoo stesso, in modo che la consegna lo conti come restituito.
Se non resta nulla da restituire, non crea alcun trasferimento: segna il reso a magazzino come completato, cancella l'errore, lascia nelle consegne che avevano spedito quei prodotti la nota Rimborso Shopify …: non resta nulla da restituire da questa consegna, Odoo lo ha già restituito. e apre la prima di esse.
E se non c'è un ordine o nessuna consegna convalidata?
Allora crea un trasferimento in entrata manuale, con origine nell'ubicazione clienti e destinazione nell'ubicazione di giacenza del magazzino. Il magazzino è quello configurato nell'istanza di Shopify o, se non ce n'è nessuno, il primo che trova dell'azienda dell'istanza. Usa un tipo di operazione di entrata di quel magazzino, assegna a ogni movimento la descrizione Reso: … con il nome del prodotto, conferma il trasferimento, lo prenota, imposta come fatta la quantità richiesta e lo convalida.
Cosa cambia quando finisce bene?
Il reso a magazzino risulta completato, il testo dell'errore si cancella e il campo Trasferimento di reso, nel gruppo Amounts della scheda, punta al primo trasferimento creato. Quel campo resta nascosto finché è vuoto e lo compila il pulsante, non l'utente. Tutti i trasferimenti hanno come origine Rimborso Shopify … con il nome del rimborso (il campo Name, gruppo Shopify).
Il pulsante lascia delle note nei trasferimenti: in ogni reso, Magazzino restituito dal rimborso Shopify …. Trasferimento: … e, se proviene da una consegna, in quella consegna, Rimborso Shopify …: restituito in …. Alla fine si apre il primo trasferimento di reso.
Errori e cosa fare
Cosa faccio con Nessun prodotto da reintegrare trovato per questo rimborso. Assicurati che i prodotti siano collegati tramite SKU o ID variante Shopify.?
È il messaggio (No restockable products found for this refund. Make sure products are linked by SKU or Shopify variant ID.) che dà il pulsante quando, dopo aver letto le righe, non rimane nessun prodotto: righe con quantità zero o minore, o prodotti che né l'ID variante né lo SKU riescono a individuare. Scatta prima di creare qualsiasi cosa e non cambia il campo Reso a magazzino. Controlla che i prodotti del rimborso siano collegati in Odoo tramite SKU o ID variante di Shopify, come chiede il messaggio, e premi di nuovo.
Cosa significa Errore nella creazione del reso a magazzino: …?
È il messaggio (Failed to create stock return: …) che compare quando qualcosa va storto mentre il metodo cerca le consegne o crea e convalida i trasferimenti. Dopo i due punti c'è il testo dell'errore originale, ed è quel testo a dirti cosa correggere. Prima di mostrarlo, il metodo imposta Reso a magazzino su fallito e salva il testo dell'errore. Poiché la condizione della vista include il valore fallito, il pulsante resta visibile una volta corretta la causa.
Quanto costa e cosa mi serve per usarlo?
Shopify Connector costa 9 € per versione di Odoo, per 17, 18, 19 e 20, con pagamento unico IVA esclusa (consulta la scheda di Odoo Apps). In più richiede l'abbonamento a FlexigoTech Cloud: il piano Connettore costa 49 €/mese o 490 €/anno IVA esclusa, con fino a 3 account della piattaforma. Se vuoi che il flusso dei resi si adatti ai tuoi magazzini, FlexigoTech implementa Odoo e sviluppa connettori e integrazioni su misura.
Continua a leggere
Verificato nel codice del connettore (versione 20.0) e nelle fonti collegate
Fonti
- Codice del modulo: flexigobe_shopify_connector 20.0 (c7078cd8): views/shopify_refund_views.xml
- Codice del modulo: flexigobe_shopify_connector 20.0 (c7078cd8): models/shopify_refund.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/17.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/18.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/19.0/flexigobe_shopify_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
