Integrar o SAP S/4HANA com o WooCommerce é ligar o ERP, que manda em preços, stock, clientes e documentos, a uma loja WordPress que mostra o catálogo e recebe encomendas. É possível, mas a ligação não se faz sozinha: constrói-se sobre as APIs OData do SAP e a API REST do WooCommerce, quase sempre com uma camada intermédia que traduz e controla os dados.
Para a empresa, a diferença está no dia a dia: stock que não bate com o armazém, preços desatualizados, encomendas que ficam por faturar. Quando o volume cresce, estes erros custam mais do que o projeto. Na Avafa tratamos esta ligação dentro da nossa área de integração de SAP com ecommerce, e este guia resume o que decidir antes de arrancar.
Neste artigo vê quando compensa integrar, como se faz tecnicamente, que dados vão em cada sentido, que riscos existem e uma lista de verificação para validar antes de contratar ou desenvolver.
Quando compensa integrar o SAP S/4HANA com o WooCommerce?
Compensa quando a introdução manual de dados já custa mais, em tempo e erros, do que manter uma integração. Os sinais mais claros são estes:
- o stock muda várias vezes por dia e a loja mostra disponibilidade errada;
- existem tabelas de preços, descontos por cliente ou condições comerciais definidas no SAP;
- as encomendas da loja são reintroduzidas à mão no ERP;
- a faturação e a expedição dependem de dados que só existem no SAP;
- o catálogo tem muitas referências e atualizá-lo por ficheiro já é lento.
Não compensa, por agora, com poucas referências, preços estáveis e poucas encomendas por semana. Nesse caso, uma importação agendada de ficheiros, com validação, costuma bastar e custa muito menos a manter.
Como se liga tecnicamente o SAP S/4HANA ao WooCommerce?
Liga-se através das APIs dos dois lados: o SAP expõe serviços OData e o WooCommerce expõe uma API REST. Cada lado tem regras próprias, e convém conhecê-las antes de desenhar o fluxo.
Do lado do SAP, segundo a documentação do SAP Business Accelerator Hub, a API de ordens de venda é o serviço OData V2 API_SALES_ORDER_SRV, ativado através do cenário de comunicação SAP_COM_0109. Requer um acordo de comunicação e um utilizador de comunicação com esse cenário atribuído. A mesma documentação descreve eventos de negócio para ordens de venda criadas, alteradas e eliminadas, úteis para evitar consultas constantes.
Do lado do WooCommerce, a documentação oficial da API REST indica que a versão atual é a v3, que exige WooCommerce 3.5 ou superior e WordPress 4.4 ou superior. Em HTTPS a autenticação usa a chave e o segredo de consumidor; em HTTP é obrigatório OAuth 1.0a. As respostas com várias linhas são paginadas em 10 itens por omissão, com os totais nos cabeçalhos X-WP-Total e X-WP-TotalPages, e existem endpoints de atualização em lote para produtos e encomendas. Os webhooks também são suportados.
Um detalhe com impacto direto no stock: segundo a mesma documentação, ao criar uma encomenda pela API o WooCommerce define o estado como processing e reduz o stock. Se o SAP também reduzir o stock ao receber essa encomenda, a quantidade fica descontada duas vezes, a não ser que o fluxo o preveja.
O fluxo mínimo, por ordem, é este:
- Definir qual sistema é a fonte de cada dado (ver a tabela seguinte).
- Criar no SAP o acordo de comunicação e o utilizador técnico, com permissões mínimas.
- Ativar as chaves da API REST do WooCommerce, só em HTTPS.
- Montar a camada de integração: mapeamento, filas, repetição de falhas e registo de erros.
- Testar com um subconjunto de produtos e encomendas antes de ligar tudo.
Que dados devem ir em cada sentido?
Cada dado deve ter um único sistema mestre, e a integração só o copia para o outro lado. Quando dois sistemas podem alterar o mesmo campo, aparecem os conflitos que mais tempo consomem a resolver.
| Dado | Sistema mestre | Sentido |
|---|---|---|
| Preços e condições | SAP | SAP para loja |
| Stock disponível | SAP | SAP para loja |
| Dados base do produto | SAP ou PIM | Origem para loja |
| Textos e imagens | PIM ou WordPress | Origem para loja |
| Encomendas | WooCommerce | Loja para SAP |
| Clientes novos | WooCommerce | Loja para SAP |
| Estado de expedição e fatura | SAP | SAP para loja |
Se o catálogo é grande e os textos vivem fora do ERP, o mais comum é separar o ERP do PIM: o SAP fica com preço, stock e documentos, e o PIM com conteúdo. O artigo sobre a integração do SAP Business One com WooCommerce mostra uma variante mais leve para operações mais pequenas.
Que riscos tem esta integração e como se evitam?
Os riscos mais frequentes são de desenho, não de tecnologia, e quase todos se evitam com decisões tomadas antes de programar.
| Risco | Onde aparece | Prevenção |
|---|---|---|
| Stock descontado duas vezes | Encomenda criada por API | Um só sistema reduz stock |
| Encomendas duplicadas | Repetição após falha | Chave única por encomenda |
| Listagens incompletas | Paginação por omissão de 10 | Percorrer todas as páginas |
| Plugin sem suporte HPOS | Atualização do WooCommerce | Testar em ambiente de ensaio |
| Credenciais expostas | Ligação em HTTP | Só HTTPS e permissões mínimas |
| Dados base mal mapeados | IVA, unidades, variantes | Tabela de correspondência validada |
Sobre o HPOS, a documentação para programadores do WooCommerce explica que o armazenamento de encomendas em tabelas próprias vem ativo por omissão nas instalações novas desde a versão 8.2, de outubro de 2023, e que nas lojas existentes tem de ser ativado manualmente. Se existir um plugin incompatível, a opção fica desativada em WooCommerce > Definições > Avançado > Funcionalidades. Para a integração, a nossa recomendação é que todo o código que lê ou escreve encomendas use a camada de dados do WooCommerce e nunca as tabelas de artigos diretamente.
Os custos escondidos também contam: manutenção quando o SAP ou o WooCommerce mudam de versão, monitorização de falhas e alguém responsável por resolver divergências. Convém prever estas tarefas no orçamento desde o início.
Ligação direta, plataforma de integração ou importação agendada?
A escolha depende do volume e da criticidade dos dados: quanto mais tempo real e mais regras de negócio, mais se justifica uma camada intermédia. Esta é a matriz de decisão que usamos como ponto de partida.
| Opção | Quando serve | Limitação |
|---|---|---|
| Importação agendada | Catálogo estável, poucas encomendas | Dados sempre com atraso |
| Ligação direta às APIs | Fluxos simples e poucos dados | Difícil de manter e escalar |
| Plataforma de integração | Volume, filas e várias regras | Custo inicial mais alto |
Uma plataforma de integração, por exemplo o SAP Integration Suite, guarda o mapeamento num só local, repete mensagens falhadas e deixa um registo para auditoria. Num projeto que vai crescer, costuma compensar o custo inicial.
Lista de verificação antes de arrancar o projeto
Esta lista é a que usamos para decidir se um projeto está pronto para começar. Se faltar uma resposta, esse ponto deve ser resolvido primeiro:
- Cada dado tem um sistema mestre escrito e aprovado.
- A versão do SAP S/4HANA e o tipo de instalação estão confirmados, bem como os serviços de API disponíveis.
- Existe ambiente de ensaio do SAP e do WooCommerce.
- Está definido quem reduz o stock quando entra uma encomenda.
- Há regras para IVA, moedas, unidades e variantes.
- Os plugins ativos da loja foram verificados quanto à compatibilidade com HPOS.
- Há registo de erros e alguém que o recebe e resolve.
- Está escrito o que acontece quando o SAP está indisponível.
Como trabalhamos na Avafa
Começamos por mapear dados e responsáveis, só depois escolhemos a forma de ligação. Revemos o contrato e o desenho do fluxo antes de qualquer desenvolvimento, para que o projeto não arranque com um conflito de fontes. Se quiser ver como abordamos este tipo de projetos, comece pela página de integração SAP com ecommerce.
Guias relacionados do mesmo cluster
Se a plataforma de destino ainda não está decidida, estes guias comparam o mesmo ERP com outras opções:
- SAP S/4HANA com Adobe Commerce para empresas
- SAP S/4HANA e Magento: pedidos, stock e preços
- SAP S/4HANA como retaguarda do PrestaShop
- SAP S/4HANA com BigCommerce
- SAP S/4HANA com SAP Commerce Cloud
- Odoo com WooCommerce: vantagens e plugins
- Microsoft Dynamics 365 com WooCommerce
Perguntas frequentes
O WooCommerce tem ligação nativa ao SAP S/4HANA?
A documentação oficial da API REST do WooCommerce descreve uma API própria, não um conector para o SAP. A ligação faz-se por programação ou por uma plataforma de integração que usa as APIs dos dois sistemas.
Quais as APIs do SAP usadas para encomendas?
Segundo o SAP Business Accelerator Hub, a API de ordens de venda é o serviço OData API_SALES_ORDER_SRV, com o cenário de comunicação SAP_COM_0109. O SAP indica também eventos de negócio de ordens de venda criadas, alteradas e eliminadas.
A integração pode ser feita em tempo real?
Pode, com webhooks do WooCommerce e eventos de negócio do SAP, mas o tempo real aumenta a complexidade. Para muitos catálogos, uma atualização agendada de preço e stock é suficiente e mais estável.
O HPOS afeta a integração?
Afeta se o código ou um plugin acederem às encomendas fora da camada de dados do WooCommerce. Segundo a documentação do WooCommerce, um plugin incompatível desativa a opção de HPOS nas definições.
Quanto tempo demora um projeto destes?
Depende dos dados envolvidos, das regras de preço e do estado do ambiente de ensaio. Só se pode estimar com o mapeamento de dados e a lista de verificação preenchidos, por isso evitamos prazos genéricos.