Un'offerta collega un prodotto di Odoo a un contratto di venditore di ManoMano. Ce n'è una per prodotto e contratto. Se ripubblichi un prodotto che aveva già un'offerta, la procedura guidata la aggiorna.
Prima della prima offerta
Ci sono tre dati senza i quali nessuna offerta parte:
- Il riferimento interno del prodotto. È lo SKU dell'offerta. Se a qualche prodotto manca, la procedura guidata si ferma senza creare alcuna offerta e lo segnala con
The following products have no Internal Reference (SKU) and cannot be published to ManoMano. Please set one first:e l'elenco di quei prodotti. - La griglia di trasporto del contratto. In ManoMano › Configuration › Contracts, il campo «Carrier grid» riporta il nome della griglia esattamente come appare nella Toolbox di ManoMano. Accompagna ogni offerta, insieme a «Delivery days (min)» e «Delivery days (max)», che sono impostati a 2 e 5 giorni. La procedura guidata non lo verifica: se manca, l'offerta viene creata e finisce in Error con il motivo.
- Un prezzo maggiore di zero. Se il prezzo di un prodotto risulta 0, la procedura guidata si ferma con
Product '…' has a price of 0. ManoMano requires a positive price., con il nome del prodotto, e con un prezzo manuale di 0 si ferma conManual price must be greater than zero.Anche in questo caso non crea alcuna offerta.
Un'offerta già esistente supera i propri controlli ogni volta che viene inviata: se in seguito perde il riferimento o il prezzo, finisce in Error con The product has no Internal Reference: it is the SKU of the offer. oppure con ManoMano requires a price greater than zero.
Se il prodotto ha un codice a barre, viene inviato come EAN, e il peso del prodotto accompagna l'offerta.
Pubblicare passo dopo passo
- Apri un elenco di varianti di prodotto. In Odoo 17, 18, 19 e 20 c'è Inventory › Reporting › Stock, che vedono solo gli amministratori di Inventario; in 17, 18 e 19, anche i menu «Product Variants» di Vendite, Inventario e Acquisti, se le varianti sono attivate. Nell'elenco «Products» di Vendite o di Inventario l'azione non compare.
- Seleziona almeno un prodotto, così compare il menu delle azioni, e scegli «Publish on ManoMano». Si apre la procedura guidata «Publish offers».
- In «Products», aggiungi i prodotti che vuoi vendere su ManoMano. La procedura guidata non riprende quelli che hai selezionato nell'elenco: se lo lasci vuoto, la pubblicazione si ferma con
Select at least one product to publish. - Scegli il contratto e, se vuoi, la categoria. La categoria è solo di riferimento: ManoMano la prende dal proprio catalogo, tramite EAN, oppure dal catalogo prodotti che carichi nella Toolbox.
- Scegli da dove viene il prezzo: «Sales price, plus the product taxes», che è l'impostazione predefinita, «Public price, plus the product taxes» oppure «Manual, VAT included». Nei primi due casi, la procedura guidata somma al prezzo del prodotto le sue imposte per l'azienda del contratto, perché ManoMano riceve il prezzo che paga il cliente.
- Premi «Publish». Odoo crea o aggiorna le offerte, con la quantità disponibile di ogni prodotto come stock, e le invia a ManoMano 20 alla volta.

Lo stato in cui finisce ogni offerta
| Stato | Cosa è successo | Cosa fai |
|---|---|---|
| Draft | Creata e non ancora inviata | Niente: l'attività giornaliera la invia, oppure pubblicala tu |
| Published | ManoMano l'ha accettata | Controlla «Online» per sapere se i clienti la vedono |
| Error | Manca un dato oppure ManoMano l'ha rifiutata | Leggi il messaggio: i motivi di ManoMano arrivano dopo ManoMano refused it: |
| Unpublished | Ritirata dalla vendita | Ripubblicala se vuoi venderla di nuovo |
Un'offerta accettata non sempre è visibile: «Online» è ciò che comunica ManoMano, e gli avvisi che invia restano nel messaggio dell'offerta. Se un'offerta pubblicata non è cambiata dall'ultimo invio, Odoo non la rinvia.
Ritirare un'offerta
ManoMano non ha una chiamata per eliminare le offerte. Quando premi «Unpublish», Odoo invia l'offerta con stock 0 e la porta in Unpublished solo quando ManoMano risponde che non è più online. Se ManoMano continua a mostrarla, l'offerta mantiene il suo stato, con questo messaggio: ManoMano took the stock at 0 but still shows the offer online: it is not unpublished yet.
Un'offerta che non è mai stata inviata passa a Unpublished senza chiamare ManoMano.

Cosa succede da solo ogni giorno
- «ManoMano: sync offers» pubblica le offerte in Draft e rinvia quelle Published che sono cambiate dall'ultimo invio. Invia lo «Stock» salvato nell'offerta, non la quantità disponibile di oggi. Quelle in Error aspettano che tu le corregga e le pubblichi.
- «ManoMano: pull offer status» chiede a ManoMano le offerte inviate, 50 riferimenti alla volta. Quelle che ManoMano elenca diventano «Online», con il loro «ManoMano product ID», e Published, a meno che il loro ultimo aggiornamento non sia finito in errore. Quelle che non elenca risultano fuori linea.
Da dove viene lo stock dell'offerta?
È la quantità che il prodotto aveva disponibile quando l'hai pubblicato con la procedura guidata, e non cambia da sola: le vendite in Odoo, comprese quelle che arrivano da altri canali, non la abbassano. Per inviare la cifra di oggi, fai passare di nuovo il prodotto dalla procedura guidata. Puoi anche modificare «Stock» nell'offerta: se è in Draft o in Error, premi «Publish»; se è già pubblicata, quel pulsante non compare e la modifica viene inviata dall'attività giornaliera.
Posso vendere lo stesso prodotto con due contratti?
Sì. C'è un'offerta per prodotto e contratto, quindi ogni contratto ha la sua, con il proprio prezzo e la propria griglia.
Perché un'offerta pubblicata non compare su ManoMano?
Perché accettata non significa visibile. Controlla la casella «Online» e il messaggio dell'offerta dopo il controllo giornaliero: lì restano gli avvisi e i motivi comunicati da ManoMano.
Continua a leggere
Verificato nel codice del connettore (versione 17.0, 18.0, 19.0 e 20.0) e nelle fonti collegate
Fonti
- Codice del modulo: flexigobe_manomano_connector · 17.0 af39294 · 18.0 ace8d3a · 19.0 57d3f8e · 20.0 093b2e3: wizard/offer_publish_wizard.py, wizard/offer_publish_wizard_views.xml, models/manomano_offer.py, views/manomano_offer_views.xml
- Codice del modulo: flexigobe_manomano_connector · 17.0 af39294 · 18.0 ace8d3a · 19.0 57d3f8e · 20.0 093b2e3: models/manomano_contract.py, models/manomano_offer.py (_build_payload), views/menu.xml
- Codice del modulo: flexigobe_manomano_connector · 17.0 af39294 · 18.0 ace8d3a · 19.0 57d3f8e · 20.0 093b2e3: models/manomano_offer.py (_payload_problem, _put, _row_outcome, action_publish)
- Codice del modulo: flexigobe_manomano_connector · 17.0 af39294 · 18.0 ace8d3a · 19.0 57d3f8e · 20.0 093b2e3: models/manomano_offer.py (action_unpublish)
- Codice del modulo: flexigobe_manomano_connector · 17.0 af39294 · 18.0 ace8d3a · 19.0 57d3f8e · 20.0 093b2e3: data/manomano_cron.xml, models/manomano_offer.py (_cron_sync_offers, _pull_status)
- github.com/odoo/odoo/blob/20.0/addons/stock/views/product_views.xml
