Uma oferta liga um produto do Odoo a um contrato de vendedor do ManoMano. Há uma por produto e contrato. Se voltar a publicar um produto que já tinha oferta, o assistente atualiza-a.
Antes da primeira oferta
Há três dados sem os quais nenhuma oferta sai:
- A referência interna do produto. É o SKU da oferta. Se algum produto não a tiver, o assistente para sem criar nenhuma oferta e diz-o com
The following products have no Internal Reference (SKU) and cannot be published to ManoMano. Please set one first:e a lista desses produtos. - A grelha de transporte do contrato. Em ManoMano › Configuration › Contracts, o campo «Carrier grid» tem o nome da grelha tal como aparece na Toolbox do ManoMano. Viaja em cada oferta, com «Delivery days (min)» e «Delivery days (max)», que vêm definidos para 2 e 5 dias. O assistente não o verifica: se faltar, a oferta é criada e fica em Error com o motivo.
- Um preço superior a zero. Se o preço de um produto sair a 0, o assistente para com
Product '…' has a price of 0. ManoMano requires a positive price., com o nome do produto, e com um preço manual de 0 para comManual price must be greater than zero.Também não cria nenhuma oferta.
Uma oferta que já existe passa pelos seus próprios controlos sempre que é enviada: se depois perder a referência ou o preço, fica em Error com The product has no Internal Reference: it is the SKU of the offer. ou com ManoMano requires a price greater than zero.
Se o produto tiver código de barras, sai como EAN, e o peso do produto segue com a oferta.
Publicar passo a passo
- Abra uma lista de variantes de produto. Nas versões 17, 18, 19 e 20 do Odoo existe Inventory › Reporting › Stock, que só veem os administradores de Inventário; nas versões 17, 18 e 19, também os menus «Product Variants» de Vendas, Inventário e Compras, se tiver as variantes ativadas. Na lista «Products» de Vendas ou de Inventário a ação não aparece.
- Marque pelo menos um produto, para que apareça o menu de ações, e escolha «Publish on ManoMano». Abre-se o assistente «Publish offers».
- Em «Products», acrescente os produtos que quer vender no ManoMano. O assistente não recolhe os que marcou na lista: se o deixar vazio, ao publicar para com
Select at least one product to publish. - Escolha o contrato e, se quiser, a categoria. A categoria é apenas de referência: o ManoMano toma-a do seu catálogo, pelo EAN, ou do catálogo de produtos que carrega na Toolbox.
- Escolha de onde vem o preço: «Sales price, plus the product taxes», que é como vem definido, «Public price, plus the product taxes» ou «Manual, VAT included». Nos dois primeiros, o assistente soma ao preço do produto os seus impostos da empresa do contrato, porque o ManoMano recebe o preço que o cliente paga.
- Clique em «Publish». O Odoo cria ou atualiza as ofertas, com a quantidade em mão de cada produto como stock, e envia-as para o ManoMano 20 de cada vez.

Que estado fica em cada oferta
| Estado | O que aconteceu | O que faz |
|---|---|---|
| Draft | Criada e ainda não enviada | Nada: a tarefa diária envia-a, ou publique-a você |
| Published | O ManoMano aceitou-a | Veja «Online» para saber se os clientes a veem |
| Error | Falta-lhe um dado ou o ManoMano recusou-a | Leia a mensagem: com ManoMano refused it: vêm os motivos do ManoMano |
| Unpublished | Retirada da venda | Volte a publicá-la se quiser vendê-la outra vez |
Uma oferta aceite nem sempre está à vista: «Online» é o que diz o ManoMano, e os avisos que envia ficam na mensagem da oferta. Se uma oferta publicada não mudou desde o último envio, o Odoo não a volta a enviar.
Retirar uma oferta
O ManoMano não tem uma chamada para apagar ofertas. Ao clicar em «Unpublish», o Odoo envia a oferta com stock 0 e só a passa a Unpublished quando o ManoMano responde que já não está online. Se o ManoMano a continuar a mostrar, a oferta mantém-se como estava, com esta mensagem: ManoMano took the stock at 0 but still shows the offer online: it is not unpublished yet.
Uma oferta que nunca chegou a ser enviada passa a Unpublished sem chamar o ManoMano.

O que acontece sozinho todos os dias
- «ManoMano: sync offers» publica as ofertas em Draft e volta a enviar as Published que tenham mudado desde o último envio. Envia o «Stock» guardado na oferta, não a quantidade em mão de hoje. As que estão em Error esperam que as corrija e as publique você.
- «ManoMano: pull offer status» pergunta ao ManoMano pelas ofertas enviadas, 50 referências de cada vez. As que o ManoMano lista ficam «Online», com o seu «ManoMano product ID», e em Published, salvo se a última atualização tiver acabado em erro. As que não lista ficam fora de linha.
De onde vem o stock da oferta?
É a quantidade que o produto tinha em mão quando o publicou com o assistente, e não muda sozinha: as vendas no Odoo, também as que chegam de outros canais, não a baixam. Para enviar o número de hoje, volte a passar o produto pelo assistente. Também pode alterar «Stock» na oferta: se estiver em Draft ou em Error, clique em «Publish»; se já estiver publicada, esse botão não aparece e a alteração é enviada pela tarefa diária.
Posso vender o mesmo produto com dois contratos?
Sim. Há uma oferta por produto e contrato, pelo que cada contrato tem a sua, com o seu preço e a sua grelha.
Porque é que uma oferta publicada não aparece no ManoMano?
Porque aceite não é o mesmo que visível. Veja a caixa «Online» e a mensagem da oferta após a verificação diária: aí ficam os avisos e os motivos que o ManoMano indica.
Continue a ler
Verificado no código do conector (versão 17.0, 18.0, 19.0 e 20.0) e nas fontes indicadas
Fontes
- Código do módulo: 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
- Código do módulo: 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
- Código do módulo: 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)
- Código do módulo: flexigobe_manomano_connector · 17.0 af39294 · 18.0 ace8d3a · 19.0 57d3f8e · 20.0 093b2e3: models/manomano_offer.py (action_unpublish)
- Código do módulo: 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
