Salta al contingut principal
Shopify

Què fa el botó «Devolver Stock» de Shopify Connector, pas a pas

El botó Devolver Stock d'un reemborsament de Shopify crea a Odoo una o diverses transferències de devolució ja validades amb el que queda per retornar del que Shopify va reposar a l'estoc; si Odoo ja ho havia retornat, no en crea cap altra i obre el lliurament. Només es veu amb determinats valors del camp Stock Return i, si alguna cosa falla, s'atura amb un missatge de productes sense vincular o amb un error de creació.

FlexigoTech · Responsable: Víctor Gómez · Actualitzat el 5 de novembre de 2026

L'essencial

Mòdul
Shopify
Versions
Odoo 17, 18, 19 i 20
Comprovat
al codi del connector, versió 20.0 · a les fonts enllaçades al final
Lectura
5 min

El detall del mètode que segueix és el del codi d'Odoo 20. El botó és a les branques 17, 18, 19 i 20, amb la mateixa condició de visibilitat.

On és i quan es veu

On és el botó Devolver Stock i quan apareix?

És a la fitxa de Shopify Refunds, que s'obre des de Vendes › Shopify › Operations › Refunds. La vista el mostra només quan el camp Stock Return és en pendent, en revisió o en fallit; amb qualsevol altre valor l'amaga. Amb els valors per defecte no es veu, perquè aquest camp arrenca en un valor que no és cap d'aquests. A Odoo en castellà el botó es diu Devolver Stock; el segon esquema recull com es rotula en altres idiomes.

Esquema amb el menú de reemborsaments, el botó Devolver Stock i els missatges que el poden aturar
Esquema fet amb codi a partir del codi publicat del mòdul, no és una captura d'Odoo.
Esquema amb el text del botó Devolver Stock en castellà, alemany, francès, italià i portuguès
Esquema fet amb codi a partir de les traduccions publicades del mòdul, no és una captura d'Odoo: en castellà Devolver Stock, en alemany Lager zurückgeben, en francès Retourner au stock, en italià Restituisci al magazzino i en portuguès Devolver ao stock.

Què passa si la devolució d'estoc ja estava feta?

El mètode ho mira abans que res. Si el camp era en fallit però la transferència de devolució ja estava feta, el deixa com a fet i esborra el text de l'error. Si ja era fet i hi ha Return Transfer, obre aquesta transferència; si no n'hi ha cap, no fa res més.

Your Odoo doesn't talk to Amazon, Temu or Shopify?
Vídeo: Your Odoo doesn't talk to Amazon, Temu or Shopify? (vídeo en anglès)

Què comprova i què crea

Com decideix quins productes retorna?

Llegeix les línies de reposició del reemborsament, és a dir, el que Shopify va reposar a l'estoc. Descarta les de quantitat zero o menor. Per a cadascuna cerca primer el producte per l'ID de variant de Shopify i, si no el troba, per l'SKU. Les línies que no es resolen no entren a la devolució i deixen un avís al log. Si no queda cap producte, el mètode s'atura amb el missatge que veuràs més avall.

Què fa si el reemborsament té una comanda de venda amb lliuraments validats?

A la fitxa, el camp Sale Order és al grup Amounts. El codi cerca els lliuraments de sortida d'aquesta comanda que ja estan fets. Si n'hi ha algun, calcula què queda per retornar de cada producte: el que Shopify va reposar en tots els reemborsaments d'aquesta comanda, menys el que ja van tornar les devolucions no cancel·lades (també les que va fer el mateix Odoo), i mai més del que es va lliurar. El repartiment va del lliurament més antic al més nou, sense passar del que va enviar cadascun menys el que ja n'ha tornat.

Crea una devolució validada per cada lliurament afectat, de manera que en poden ser diverses. Quan el lliurament té el moviment d'aquest producte, la devolució queda enllaçada a aquest moviment com una devolució del mateix Odoo, de manera que el lliurament la compta com a retornada.

Si no queda res per retornar, no crea cap transferència: marca la devolució d'estoc com a feta, esborra l'error, deixa als lliuraments que van enviar aquests productes la nota Shopify refund …: nothing left to return from this delivery, Odoo already returned it. i obre el primer d'aquests.

I si no hi ha comanda o cap lliurament validat?

Llavors crea una transferència d'entrada manual, amb origen a la ubicació de clients i destí a la ubicació d'estoc del magatzem. El magatzem és el configurat a la instància de Shopify o, si no n'hi ha cap, el primer que trobi de l'empresa de la instància. Fa servir un tipus d'operació d'entrada d'aquest magatzem, posa a cada moviment la descripció Return: … amb el nom del producte, confirma la transferència, la reserva, dona com a feta la quantitat demanada i la valida.

Què canvia quan acaba bé?

La devolució d'estoc queda com a feta, el text d'error s'esborra i el camp Return Transfer, al grup Amounts de la fitxa, apunta a la primera transferència creada. Aquest camp s'amaga mentre és buit i l'omple el botó, no l'usuari. Totes les transferències porten com a origen Shopify Refund … amb el nom del reemborsament (el camp Name, grup Shopify).

El botó deixa notes a les transferències: a cada devolució, Stock returned from Shopify refund …. Transfer: … i, si ve d'un lliurament, en aquest lliurament, Shopify refund …: returned in …. Al final s'obre la primera transferència de devolució.

Errors i què fer

Què faig amb No restockable products found for this refund. Make sure products are linked by SKU or Shopify variant ID.?

És el missatge que dona el botó quan, després de llegir les línies, no queda cap producte: línies amb quantitat zero o menor, o productes que ni l'ID de variant ni l'SKU localitzen. Salta abans de crear res i no canvia el camp Stock Return. Revisa que els productes del reemborsament estiguin vinculats a Odoo per SKU o per ID de variant de Shopify, com demana el missatge, i torna a prémer.

Què vol dir Failed to create stock return: …?

És el missatge que surt quan falla alguna cosa mentre el mètode cerca lliuraments o crea i valida les transferències. Després dels dos punts hi va el text de l'error original, i és aquest text el que diu què corregir. Abans de mostrar-lo, el mètode deixa Stock Return en fallit i guarda el text de l'error. Com que la condició de la vista inclou el valor fallit, el botó segueix visible un cop corregida la causa.

Què costa i què necessito per fer-lo servir?

Shopify Connector costa 9 € per versió d'Odoo, per a 17, 18, 19 i 20, en pagament únic sense IVA (consulta la fitxa d'Odoo Apps). A més, necessita la subscripció a FlexigoTech Cloud: el pla Connector costa 49 €/mes o 490 €/any sense IVA, amb fins a 3 comptes de la plataforma. Si vols que el flux de devolucions encaixi amb els teus magatzems, FlexigoTech implanta Odoo i desenvolupa connectors i integracions a mida.

Continua llegint

Què fa el botó Pull Stock de Shopify Connector, pas a pasQuè fa el botó Pull Stock de Shopify Connector a Odoo 20: quan apareix, què comprova, quins ajustos d'inventari crea i quins errors pot donar.
Comprovat al codi del connector (versió 20.0) i a les fonts enllaçades

Fonts