Pular para o conteúdo
Skillpedia
APIs e servidores (backend)48 mil · #3741

odoo-woocommerce-bridge

Ajuda seu agente a conectar o Odoo com o WooCommerce. Ele sincroniza informações de produtos, estoque, pedidos e clientes entre as duas plataformas.

O que ela faz

Esta ferramenta conecta sua loja online (WooCommerce) ao seu sistema de gestão (Odoo). Ela sincroniza informações como produtos, estoque, pedidos e clientes entre os dois sistemas.

Quando usar

  • ✓Quando você usa o Odoo para gerenciar seu estoque e quer que ele seja atualizado automaticamente na sua loja WooCommerce.
  • ✓Para que os pedidos feitos na sua loja WooCommerce apareçam automaticamente no Odoo.
  • ✓Para garantir que a quantidade de produtos em estoque no Odoo seja a mesma exibida na sua loja WooCommerce.

Exemplo do que pedir para a IA

“Conecte meu Odoo com minha loja WooCommerce para sincronizar produtos e pedidos.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/odoo-woocommerce-bridge/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/odoo-woocommerce-bridge/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Você informa quais dados quer conectar (como produtos e pedidos). A ferramenta então cria um 'mapa' para que os sistemas entendam um ao outro e gera códigos para fazer essa conexão funcionar.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill odoo-woocommerce-bridge

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/odoo-woocommerce-bridge/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Ponte Odoo ↔ WooCommerce

Visão Geral

Esta habilidade guia você na construção de uma ponte de sincronização confiável entre Odoo (o ERP de back-office) e WooCommerce (a loja online do WordPress). Ela abrange a sincronização do catálogo de produtos, atualizações de estoque em tempo real, importação de pedidos e gerenciamento de registros de clientes.

Quando Usar Esta Habilidade

  • Gerenciando uma loja WooCommerce com Odoo para estoque e processamento.
  • Puxando automaticamente pedidos do WooCommerce para o Odoo como pedidos de venda.
  • Mantendo o estoque de produtos do WooCommerce sincronizado com o armazém do Odoo.
  • Mapeando status de pedidos do WooCommerce para estados de entrega do Odoo.

Como Funciona

  1. Ativar: Mencione @odoo-woocommerce-bridge e descreva seus requisitos de sincronização.
  2. Projetar: Obtenha a tabela de mapeamento de campos entre os objetos do WooCommerce e do Odoo.
  3. Construir: Receba scripts de integração em Python usando a API REST do WooCommerce.

Mapeamento de Campos: WooCommerce → Odoo

WooCommerce Odoo
products product.template + product.product
orders sale.order + sale.order.line
customers res.partner
stock_quantity stock.quant
sku product.product.default_code
order status: processing Pedido de Venda: sale (confirmado)
order status: completed Entrega: done

Exemplos

Exemplo 1: Puxar Pedidos do WooCommerce para o Odoo (Python)

from woocommerce import API
import xmlrpc.client
import os

# WooCommerce client
wcapi = API(
    url=os.getenv("WC_URL", "https://mystore.com"),
    consumer_key=os.getenv("WC_KEY"),
    consumer_secret=os.getenv("WC_SECRET"),
    version="wc/v3"
)

# Odoo client
odoo_url = os.getenv("ODOO_URL", "https://myodoo.example.com")
db = os.getenv("ODOO_DB", "my_db")
uid = int(os.getenv("ODOO_UID", "2"))
pwd = os.getenv("ODOO_PASSWORD")
models = xmlrpc.client.ServerProxy(f"{odoo_url}/xmlrpc/2/object")


def sync_orders():
    # Get unprocessed WooCommerce orders
    orders = wcapi.get("orders", params={"status": "processing", "per_page": 50}).json()

    for wc_order in orders:
        # Find or create Odoo partner
        email = wc_order['billing']['email']
        partner = models.execute_kw(db, uid, pwd, 'res.partner', 'search',
            [[['email', '=', email]]])
        if not partner:
            partner_id = models.execute_kw(db, uid, pwd, 'res.partner', 'create', [{
                'name': f"{wc_order['billing']['first_name']} {wc_order['billing']['last_name']}",
                'email': email,
                'phone': wc_order['billing']['phone'],
                'street': wc_order['billing']['address_1'],
                'city': wc_order['billing']['city'],
            }])
        else:
            partner_id = partner[0]

        # Create Sale Order in Odoo
        order_lines = []
        for item in wc_order['line_items']:
            product = models.execute_kw(db, uid, pwd, 'product.product', 'search',
                [[['default_code', '=', item['sku']]]])
            if product:
                order_lines.append((0, 0, {
                    'product_id': product[0],
                    'product_uom_qty': item['quantity'],
                    'price_unit': float(item['price']),
                }))

        models.execute_kw(db, uid, pwd, 'sale.order', 'create', [{
            'partner_id': partner_id,
            'client_order_ref': f"WC-{wc_order['number']}",
            'order_line': order_lines,
        }])

        # Mark WooCommerce order as on-hold (processed by Odoo)
        wcapi.put(f"orders/{wc_order['id']}", {"status": "on-hold"})

Exemplo 2: Enviar Estoque do Odoo para o WooCommerce

def sync_inventory_to_woocommerce():
    # Get all products with a SKU from Odoo
    products = models.execute_kw(db, uid, pwd, 'product.product', 'search_read',
        [[['default_code', '!=', False], ['type', '=', 'product']]],
        {'fields': ['default_code', 'qty_available']}
    )

    for product in products:
        sku = product['default_code']
        qty = int(product['qty_available'])

        # Update WooCommerce by SKU
        wc_products = wcapi.get("products", params={"sku": sku}).json()
        if wc_products:
            wcapi.put(f"products/{wc_products[0]['id']}", {
                "stock_quantity": qty,
                "manage_stock": True,
            })

Melhores Práticas

  • ✅ Fazer: Use SKU como o identificador único que vincula produtos do WooCommerce a produtos do Odoo.

…

Perguntas frequentes

O que é SKU e por que é importante?

SKU é um código único para cada produto. Usar o mesmo SKU no Odoo e no WooCommerce é a melhor forma de garantir que os produtos sejam corretamente identificados e sincronizados entre os sistemas.

Com que frequência devo sincronizar o estoque?

É recomendado sincronizar o estoque a cada 15-30 minutos. Fazer isso com muita frequência pode sobrecarregar os sistemas.

Posso sincronizar todos os pedidos da WooCommerce?

Não é recomendado. É melhor sincronizar apenas os pedidos que estão em andamento ('processing') ou concluídos ('completed') para evitar problemas.

Detalhes

Descrição original do autor

Sync Odoo with WooCommerce: products, inventory, orders, and customers via WooCommerce REST API and Odoo external API.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#3741
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas