Modernização WooCommerce B2B: regras de preços, subscrições e integrações sem mudar de plataforma

Modernização WooCommerce B2B: regras de preços, subscrições e integrações sem mudar de plataforma

7 min de leitura
Guia

O WooCommerce serve para B2B?

Muitas lojas WooCommerce em Portugal começaram por vender ao consumidor final e foram acumulando clientes empresariais: tabelas de preços próprias, pagamento por transferência a 30 dias, um desconto preso a um perfil de utilizador. A certa altura surge a pergunta sobre se é preciso passar para o Shopify Plus ou para o Adobe Commerce. Muitas vezes não é, desde que o WooCommerce receba as peças B2B que lhe faltam.

Chamo-me Mariusz Szatkowski e desenvolvo para WordPress desde 2006. Faço este trabalho pessoalmente: leio o código, configuro preços e integrações e testo tudo em staging. Não tenho equipa nem subcontratados, por isso o código que recebe foi escrito por mim. Se o aspeto da loja mudar, o design e os wireframes são seus e eu implemento-os.

A venda para vários países da UE com o balcão único OSS está tratada na revisão do WooCommerce face às regras da UE.

Como configurar preços B2B por cliente no WooCommerce

De origem, o WooCommerce tem preço normal e preço promocional. Preços por grupo, descontos por quantidade e preços acordados têm de ser acrescentados. O caminho certo depende de quantas tabelas de preços existem de facto.

SituaçãoUm plugin chegaÉ preciso código próprio
Até três grupos de clientes com desconto fixosimnão
Preços acordados diferentes para cada clientenãosim
Descontos por quantidade combinados com grupos e moedasraramentequase sempre
Preços lidos em tempo real do ERPnãosim
Catálogo visível só para um clienteem partesim

Os preços por cliente ficam numa tabela própria, alimentada pelo ERP e indexada por cliente e artigo. Milhares de preços em wp_postmeta tornam lenta qualquer consulta de produto.

Pedido de orçamento em vez de preço no carrinho

No comércio por grosso, alguns artigos só têm preço depois de alguém o calcular: quantidades à palete, produção por medida, transporte. Para esses casos uso o meu próprio plugin, o Quotlet da plogins.com. Acrescenta um botão para juntar o produto a um pedido de orçamento, oculta preços, permite a visitantes sem conta montar uma lista e envia-lhe o pedido por e-mail. A versão gratuita está no diretório do WordPress.org. Para descontos por quantidade existe o Tiers, da mesma família.

Ocultar preços não tira as páginas de produto dos motores de pesquisa. Descrição, dados técnicos e fichas continuam visíveis, e o preço só aparece ao cliente empresarial com sessão iniciada.

Integração com PHC CS, PRIMAVERA e Moloni

Nas empresas de distribuição portuguesas encontro sobretudo o PHC CS, o PRIMAVERA e, nas mais pequenas, o Moloni. Cada um expõe os dados de forma diferente, por isso começo por verificar que API a sua instalação oferece e o que permite.

O que costumo sincronizar:

  • stocks, em tempo real ou com intervalo fixo,
  • dados de cliente: NIF, moradas de entrega, condições de pagamento, limite de crédito,
  • encomendas com número de documento e estado de entrega,
  • números de fatura atribuídos pelo ERP.

As chamadas ao ERP não ficam dentro do checkout. Cada encomenda entra numa fila do Action Scheduler, a mesma biblioteca com que o WooCommerce entrega webhooks e o WooCommerce Subscriptions cobra renovações. Se o ERP estiver parado para manutenção, as tarefas esperam e correm depois. Cada tarefa falhada fica no registo com o erro, para se saber que encomenda precisa de ser vista.

A fatura é emitida pelo ERP ou pelo programa de faturação que já utiliza, não pelo WooCommerce. A minha parte é que lhe chegue a encomenda completa: NIF do comprador, morada, linhas, taxas de IVA e meio de pagamento, seja transferência, referência Multibanco ou MB WAY. Os números de IVA de clientes de outros países da UE são verificados no VIES na criação da conta.

Encomendas B2B recorrentes com WooCommerce Subscriptions

Na distribuição, uma subscrição é mais vezes a entrega mensal de consumíveis ou uma licença anual do que um acesso premium. O WooCommerce Subscriptions tem dois modos de renovação. No automático, o gateway cobra sozinho e, se o pagamento falhar, o sistema volta a tentar segundo regras: por predefinição, cinco tentativas ao longo de uma semana. No manual, o cliente recebe uma encomenda de renovação e paga com qualquer meio ativo na loja, incluindo transferência.

Os clientes que pagam por transferência a 30 dias ficam fora das novas tentativas automáticas. Para esses configuro lembretes e estados de modo que uma renovação em atraso chegue à contabilidade e a subscrição não caduque no primeiro dia de atraso.

Aprovação de encomendas e limites de crédito

Nenhuma das duas existe no núcleo do WooCommerce. Se forem precisas, desenvolvo-as:

  • aprovação de encomendas: um comprador prepara o carrinho, a encomenda recebe um estado próprio e espera até alguém com permissão a aprovar ou rejeitar a partir de uma ligação no e-mail ou do painel,
  • limite de crédito: a conta mostra o crédito disponível, a loja bloqueia encomendas acima do limite e o valor é atualizado a partir do ERP quando um recebimento é lançado,
  • centros de custo: cada encomenda pode ser associada a uma filial ou a um projeto.

O que muda o HPOS numa loja B2B?

O HPOS (High-Performance Order Storage) tira as encomendas de wp_posts e wp_postmeta e guarda-as em quatro tabelas próprias: wc_orders, wc_order_addresses, wc_order_operational_data e wc_orders_meta. Desde o WooCommerce 8.2, lançado em outubro de 2023, é a predefinição nas instalações novas. Lojas mais antigas guardam muitas vezes as encomendas na tabela de artigos, ao lado de produtos e páginas.

Antes da mudança, verifico cada plugin e todo o código próprio. O código compatível carrega encomendas com wc_get_order(), altera metadados através do objeto da encomenda e grava com save(), e o plugin declara a compatibilidade com FeaturesUtil::declare_compatibility. As consultas diretas a wp_postmeta são reescritas. Depois ativo o modo de compatibilidade, em que o WooCommerce mantém sincronizadas as tabelas antigas e as novas, e só torno o HPOS a fonte principal quando ambas coincidem.

Fonte: documentação do HPOS em developer.woocommerce.com.

Otimizar a base de dados evita a mudança de plataforma?

Antes de pagar uma migração, vale a pena olhar para a base de dados. Em lojas B2B encontro habitualmente:

  • uma tabela wp_options cheia de linhas de carregamento automático deixadas por plugins removidos há anos,
  • metadados de encomendas de extensões que já não existem,
  • consultas de plugins e do tema executadas uma vez por variação,
  • encomendas ainda em wp_postmeta porque ninguém ativou o HPOS.

Mudar de plataforma faz sentido quando precisa de um marketplace com muitos vendedores, quando o fornecedor do ERP só oferece um conector certificado para outra plataforma, ou quando um teste de carga sobre uma cópia da loja mostra que o WooCommerce não aguenta num servidor razoável. Nesse caso deixo por escrito quanto custa migrar os dados e o que acontece aos seus URL.

Testes e entrega

Cada alteração é testada em staging com uma cópia dos dados sem informação pessoal:

  • o percurso de compra para cada grupo de clientes, ou seja, se cada cliente vê o seu preço e as suas condições,
  • uma encomenda exatamente no limite de um desconto por quantidade,
  • o comportamento da loja quando o ERP não responde,
  • pagamentos em modo de teste do gateway.

O código fica num repositório Git privado. Com cada alteração recebe uma nota escrita sobre o que mudou e como verificar. Trabalho por e-mail e em documentos, para que as decisões fiquem registadas. Antes de ter acesso a uma loja com dados de clientes, assinamos um contrato de subcontratação nos termos do artigo 28.º do RGPD. Faturo como empresa polaca com número de IVA europeu PL7393037445, com autoliquidação, e o contrato rege-se pela lei polaca.

Serviços relacionados

Descreva a sua loja e o que precisa de mudar no formulário de contacto. Respondo com perguntas sobre o âmbito e depois envio um orçamento com os pressupostos em que assenta.

Explorar outros serviços WordPress e base de conhecimento

Recomendações do LinkedIn

Recomendações e opiniões sobre o trabalho com a WPPoland

Recomendações de pessoas das comunidades WordPress, WordCamp e e-commerce. Escrevem sobre cumprimento de prazos, profundidade técnica e uma abordagem orientada ao negócio no desenvolvimento de sites.

Karolina Czapla

Karolina Czapla

Estratega de Marketing, Performance & Digital Strategy

“Trabalhar com o Mariusz no WordCamp mostrou‑me como é raro combinar competências técnicas profundas com verdadeira liderança. Planeia, coordena e entrega com precisão, dando ao mesmo tempo espaço para a equipa crescer. Quando outros dizem 'não dá', ele encontra uma solução.”

Co‑organizadora, WordCamp Gdynia 2024 & 2025

Anna Kamińska

Anna Kamińska

Talent Acquisition Specialist / HR People Partner

“O portefólio do Mariusz fala por si. Reflete precisão, versatilidade e um forte sentido de responsabilidade. Pode confiar nele para conduzir um projeto da ideia até à entrega, mantendo todas as partes informadas.”

Trabalhámos na mesma equipa

Sarah‑Luisa Kwolek

Sarah‑Luisa Kwolek

Gestora de Projetos TI & Product Owner, Web/App

“Durante mais de dois anos pude sempre contar com o Mariusz para tarefas WordPress, desde styling e templates até integrações. Traz estabilidade à equipa e mantém a parte de frontend sob controlo.”

Mariusz foi seu cliente em projetos WordPress

Argert Boja

Argert Boja

Senior Full‑Stack Developer

“Mariusz é o colega de equipa que todos gostariam de ter: fortes competências full‑stack em WordPress, explicações claras e uma atitude positiva mesmo sob pressão. Move‑se facilmente entre plugins, performance e layouts Gutenberg, sem perder a visão do todo.”

Trabalhámos juntos em projetos WordPress

Varun Patil

Varun Patil

Líder de Growth & CRM

“Para além do desenvolvimento, o Mariusz entende SEO, analytics e growth. Fala diretamente com stakeholders, faz as perguntas certas e entrega soluções que mexem nos indicadores de negócio, de AMP a tracking e performance.”

Foi gestor do Mariusz em iniciativas de growth

Rafał Osiński

Rafał Osiński

Founder @ EasyTrips.pl, Senior WordPress Dev

“Conheço o Mariusz da comunidade WordPress há muitos anos. É fiável, muito envolvido e está sempre presente, em meetups, WordCamps e projetos. Se procura colaboração a longo prazo e alguém que trate o seu site como se fosse dele, ele é a pessoa certa.”

Co‑organizador da comunidade WordUp Trójmiasto & WordCamp

Daniel Blossfeld

Daniel Blossfeld

Consultor de Otimização de Processos e Digitalização

“Tive o prazer de trabalhar com o Mariusz por quase três anos. Durante esse tempo, as suas habilidades de desenvolvimento WordPress provaram ser inestimáveis em uma variedade de projetos, desde a construção de websites até áreas de membros online e até mesmo integrações Shopify. Ele é um desenvolvedor confiável e capaz.”

Mariusz foi seu cliente em projetos WordPress

Natalie Wiszczor

Natalie Wiszczor

Gestora de CRM e E-mail Marketing

“Tive o grande prazer de trabalhar com o Mariusz por mais de 4 anos na área técnica. Durante esse tempo, ele provou ser um colega competente e confiável. O que se destacou em particular foi a sua natureza amigável e a sua notável perseverança na resolução de desafios técnicos complexos. Mesmo em situações de stress, ele sempre manteve a cabeça fria e contribuiu significativamente para uma atmosfera de trabalho positiva e produtiva com a sua atitude otimista. 🙏🏻🚀”

Trabalhou com Mariusz em equipas diferentes

Mark Chalklen

Mark Chalklen

Head of Design & Build na Itineris Limited

“Mariusz é um ótimo membro da equipa, sempre feliz em se dedicar a qualquer tarefa e aprender coisas novas. Um ótimo comunicador e um cara legal para trabalhar. Difícil de vencer na nossa tabela de classificação semanal do Strava!”

Geriu Mariusz diretamente

Jessica Di Pasquale

Jessica Di Pasquale

Liderando iniciativas de SEO com estratégias de crescimento baseadas em dados.

“Mariusz é um cara muito habilidoso, paciente e experiente. Sempre pronto para ajudar e corrigir erros, eu realmente apreciei trabalhar com ele. Ele é um ótimo colega!”

Geriu Mariusz diretamente

Biki John

Biki John

Apaixonado por Marketing de Conteúdo e Entusiasta de SEO

“Foi ótimo trabalhar com o Mariusz. Eu realmente apreciei o seu vasto conhecimento de WordPress e como isso foi útil sempre que precisei de suporte para navegar no CMS. Elogio totalmente o Mariusz pela sua paciência, bom humor e experiência no seu ofício, ele fará muita falta a todos.”

Trabalhou com Mariusz em equipas diferentes

Rafal Borowiec

Rafal Borowiec

Desenvolvedor de Software, Consultor, Gerente e Professor

“Tive a oportunidade de trabalhar com o Mariusz por 7 meses. Ele se destaca na otimização técnica para motores de busca (SEO). Mariusz também possui forte experiência em desenvolvimento AMP, GTM e GA. Mariusz se sente muito confortável com o WordPress - ele trabalhou em uma variedade de projetos e tarefas relacionadas ao WordPress, incluindo desenvolvimento de landing pages, melhorias de desempenho e muito mais. Se você está procurando um especialista sólido em WordPress especializado em SEO, rastreamento, desempenho e desenvolvimento - não hesite em entrar em contato com o Mariusz.”

Geriu Mariusz diretamente

Belinda Koch

Belinda Koch

Analista de Web-Tracking na TUI

“Mariusz é uma ótima pessoa para trabalhar. Ele é extremamente motivado para aprender coisas novas e compartilhar o seu conhecimento, e é muito experiente em uma ampla gama de tópicos. Trabalhamos juntos em tópicos de análise digital e rastreamento e sou muito grata por toda a energia, apoio e insights que ele trouxe para os projetos.”

Trabalhou com Mariusz em tópicos de análise digital e rastreamento

Ali Nezamolmaleki

Ali Nezamolmaleki

Crescimento, SEO, Pensamento Analítico, AMP

“Mariusz é uma pessoa extremamente talentosa na sua área de trabalho. Ele é sempre capaz de dar uma nova perspetiva para resolver problemas e pensar fora da caixa em situações onde tudo parece estar bloqueado. Trabalhar com ele é sempre um prazer devido à sua personalidade positiva e atitude de 'posso fazer'.”

Trabalhou com Mariusz na mesma equipa

Karol Jakubcewicz

Karol Jakubcewicz

Desenvolvedor Front-end / JavaScript

“Mariusz é um desenvolvedor WordPress e especialista SEO/SEM incrivelmente experiente com quem tive o prazer de trabalhar por quase dois anos. Ele foi uma das figuras-chave responsáveis pela melhoria constante do tempo de carregamento e ranking de páginas. Admiro as suas competências e conhecimento vitais para um projeto WordPress tão complexo e multilingue. Muita experiência, toneladas de atitude positiva - recomendo muito a colaboração com o Mariusz.”

Trabalhou com Mariusz na mesma equipa

Paweł Lewczuk

Paweł Lewczuk

Desenvolvedor Front-end, Desenvolvedor WordPress

“Colaborei com o Mariusz em vários projetos e a nossa cooperação foi sempre exemplar. Acredito que há muitos mais projetos conjuntos à nossa frente. Altamente recomendado!”

Mariusz foi cliente do Paweł

Przemek Wroblewski

Przemek Wroblewski

Desenvolvedor de Software com mais de 20 anos de experiência

“Encontrei no Mariusz alguém com grande experiência e conhecimento profundo de soluções frontend. Um desenvolvedor WordPress poderoso, experiente e responsável. Tem facilidade em construir relações interpessoais. Tinha a visão para ver os benefícios e a paixão para transformar isso em resultados mensuráveis. Definitivamente alguém que eu gostaria de ter na minha equipa.”

Trabalhou com Mariusz em equipas diferentes

Todas as recomendações no LinkedIn

Perguntas frequentes

Perguntas sobre escopo, entrega, custos e qualidade.

O WooCommerce serve para vendas B2B?#
Sim, desde que preços, perfis e integrações estejam preparados para a venda a empresas. O WooCommerce não traz de origem tabelas de preços por cliente, aprovação de encomendas nem limites de crédito; acrescento-os com plugins ou código próprio. Onde fica o limite de desempenho para o seu catálogo, mostra-o um teste de carga sobre uma cópia da loja.
Como se gere um preço diferente para cada cliente empresarial?#
Com poucos grupos e um desconto fixo, basta um plugin de preços por escalões, por exemplo o Tiers da plogins.com. Quando cada cliente tem o seu próprio acordo, construo uma camada de preços alimentada pelo ERP e guardada numa tabela própria em vez de wp_postmeta.
Quem emite a fatura de uma encomenda B2B?#
O WooCommerce não é um programa de faturação. Recomendo que a fatura seja emitida no ERP ou no programa de faturação que já utiliza, com a loja a enviar-lhe os dados completos da encomenda: NIF do comprador, morada, linhas, taxas de IVA e meio de pagamento.
Como funcionam as subscrições para clientes empresariais?#
O WooCommerce Subscriptions suporta renovações automáticas e manuais. Uma renovação manual pode ser paga com qualquer meio ativo na loja, incluindo transferência. As novas tentativas automáticas de pagamentos falhados só abrangem renovações automáticas, por isso para clientes com fatura configuro lembretes e estados à parte.
Tenho de mudar de plataforma se o WooCommerce estiver lento?#
Normalmente não. As causas habituais são uma tabela wp_options inchada, metadados de encomendas órfãos, consultas lentas de plugins e o alojamento. Uma revisão da base de dados e a passagem para HPOS mostram se o problema se resolve na loja atual antes de pagar uma migração.
Como é orçamentado o trabalho?#
Individualmente, depois de analisar a loja. Depende do número de integrações, das regras de preços, da dimensão do catálogo e das subscrições. Primeiro recebe um âmbito escrito com os pressupostos e depois o orçamento. Envie uma descrição pelo formulário de contacto.