Integrar o SAP Business One com o WooCommerce é ligar o ERP, onde vivem artigos, preços, stock e documentos, à loja WordPress, para que ambos troquem dados sem folhas de Excel pelo meio. A ligação faz-se com a API do Service Layer do SAP Business One e com a API REST do WooCommerce, normalmente através de uma camada intermédia que valida e regista cada troca.
Para a empresa, o Excel é o ponto fraco: cada exportação é uma fotografia que fica velha em horas, e cada importação manual é uma oportunidade de erro em preço, IVA ou stock. Quando a loja vende todos os dias, estes desfasamentos traduzem-se em encomendas sem stock, preços errados e faturas feitas à mão. Tratamos este tipo de ligação na nossa área de integração de SAP com ecommerce.
Neste guia vê quando o Excel deixa de servir, como funciona a ligação, que dados vão em cada sentido, o que o WooCommerce exige do lado da loja, os erros mais comuns e uma lista de verificação para validar antes de arrancar.
Quando é que o Excel deixa de servir?
O Excel deixa de servir quando o tempo gasto a atualizar a loja é maior do que o tempo gasto a vender. Não existe um número mágico de encomendas; existem sinais práticos que se repetem nas empresas que nos pedem ajuda:
- O stock da loja é atualizado uma ou duas vezes por dia e há vendas de artigos já esgotados.
- As encomendas são copiadas da loja para o SAP à mão, e há quem se esqueça de uma ou duplique outra.
- Os preços por cliente ou por lista só existem no ERP e a loja mostra um preço único.
- Quem gere o ficheiro é sempre a mesma pessoa, e as férias dela são um risco para o negócio.
- A faturação atrasa porque a encomenda ainda não chegou ao SAP.
Como se liga o SAP Business One ao WooCommerce?
A ligação usa duas interfaces oficiais: o Service Layer do SAP Business One, do lado do ERP, e a API REST do WooCommerce, do lado da loja. Segundo a formação oficial da SAP sobre o Service Layer, as operações de criar, ler, atualizar e apagar seguem o mesmo modelo em todos os objetos de negócio: POST cria, GET lê, PATCH atualiza e DELETE apaga.
Na prática, uma encomenda criada no WooCommerce pode ser enviada ao SAP com um POST para o recurso Orders, indicando o código do cliente (CardCode), a data de entrega (DocDueDate) e as linhas do documento (DocumentLines). Um pedido bem-sucedido devolve o código 201. A mesma documentação mostra que é possível fechar uma ordem e criar a fatura a partir dela, indicando o documento de origem.
Do lado do WooCommerce, a documentação oficial da API REST indica que a autenticação base usa uma chave e um segredo de consumidor, gerados em WooCommerce, Definições, Avançado, API REST, e que o HTTPS é recomendado. Os recursos de produtos e encomendas aceitam operações em lote, o que reduz o número de chamadas quando há muitas referências a atualizar.
Entre os dois sistemas costuma existir uma camada intermédia, que pode ser uma plataforma de integração ou um serviço feito à medida. É ela que guarda o estado de cada mensagem, repete o que falhou e avisa quando algo precisa de atenção. Ligar os dois sistemas diretamente, sem esta camada, funciona numa demonstração e costuma falhar na primeira semana de produção.
Que dados vão em cada sentido?
A regra é que cada dado tem um único sistema mestre, e o outro apenas o recebe. Esta tabela é o ponto de partida que usamos nos projetos com SAP Business One e WooCommerce:
| Dado | Sistema mestre | Sentido | Nota |
|---|---|---|---|
| Artigos e descrições | SAP | SAP para loja | Textos comerciais podem ficar na loja |
| Preços e listas | SAP | SAP para loja | Preços por cliente exigem regra própria |
| Stock disponível | SAP | SAP para loja | Definir se conta reservas |
| Encomendas | WooCommerce | Loja para SAP | Uma encomenda, um documento |
| Clientes | Definir | Ambos | Evitar duplicados por NIF |
| Estado e expedição | SAP | SAP para loja | A loja mostra, não decide |
| Faturas | SAP | SAP para loja | Emitidas no ERP |
Dois pontos exigem decisão escrita antes de qualquer desenvolvimento. O primeiro é quem manda nos clientes: se um cliente se regista na loja e já existe no SAP, a integração tem de o reconhecer, por exemplo pelo NIF, em vez de criar um duplicado. O segundo é o que significa stock disponível: o stock físico, o stock menos reservas ou o stock de um armazém específico.
Como substituir o Excel passo a passo
Substituir o Excel faz-se por fases, começando pelo fluxo que mais custa e terminando no que menos risco tem. Esta é a ordem que recomendamos:
- Listar os ficheiros Excel em uso, quem os mexe, com que frequência e que decisões dependem deles.
- Atribuir um sistema mestre a cada dado e escrever as exceções.
- Montar um ambiente de ensaio do SAP Business One e outro do WooCommerce, com dados de teste.
- Automatizar primeiro o stock e os preços, do SAP para a loja, porque é o fluxo com menos risco financeiro.
- Automatizar depois as encomendas, da loja para o SAP, com validação de cliente, IVA e unidades.
- Ligar o estado da encomenda e a fatura de volta à loja.
- Manter o Excel em paralelo durante um período curto, comparar resultados e só então desligar o processo manual.
O que o WooCommerce exige do seu lado?
O WooCommerce exige uma configuração mínima para que a API funcione e uma atenção especial ao armazenamento de encomendas. Segundo a documentação oficial da API REST, é preciso WooCommerce 3.5 ou superior, WordPress 4.4 ou superior e ligações permanentes ativas, porque as ligações predefinidas não funcionam.
Há ainda dois detalhes que afetam integrações com muitas referências. A paginação predefinida é de 10 resultados por página, controlada pelo parâmetro per_page, e os totais vêm nos cabeçalhos X-WP-Total e X-WP-TotalPages. Uma integração que não percorra as páginas lê apenas uma fração do catálogo.
O segundo detalhe é o HPOS (High-Performance Order Storage). Segundo a documentação do WooCommerce, o HPOS guarda as encomendas em tabelas próprias e está ativo por omissão em novas instalações desde o WooCommerce 8.2, de outubro de 2023. Em lojas existentes tem de ser ativado manualmente, e se um plugin ativo for incompatível, a opção fica desativada. Antes de ligar o SAP, confirme que os plugins de pagamento, faturação e envio da loja são compatíveis, e que a integração lê as encomendas pela API e não diretamente da base de dados.
Erros que vemos com mais frequência
- Sem registo de erros. A integração falha em silêncio e só se descobre quando um cliente reclama.
- Unidades e variantes mal mapeadas. Uma caixa de 12 no SAP vira uma unidade na loja.
- Preços com e sem IVA misturados. O SAP e a loja guardam o preço de formas diferentes.
- Credenciais partilhadas. A chave da API deve ter o acesso mínimo e ser de uso exclusivo da integração.
- Ausência de plano para o SAP indisponível. As encomendas devem ficar em fila e seguir quando o ERP voltar.
Lista de verificação antes de arrancar
Use esta lista para decidir se o projeto está pronto. Se faltar uma resposta, resolva-a primeiro:
- Cada dado tem um sistema mestre escrito e aprovado.
- Os ficheiros Excel atuais estão listados, com dono e frequência.
- Existe ambiente de ensaio do SAP Business One e do WooCommerce.
- A chave da API do WooCommerce tem permissões mínimas e o site usa HTTPS.
- Os plugins da loja foram verificados quanto à compatibilidade com HPOS.
- As regras de IVA, moeda, unidades e variantes estão escritas.
- Há registo de erros e uma pessoa que o recebe e resolve.
- Está definido o que acontece quando o SAP ou a loja ficam indisponíveis.
Como trabalhamos na Avafa
Começamos por mapear os ficheiros Excel e os responsáveis, depois escolhemos a forma de ligação. Revemos o desenho do fluxo antes de qualquer desenvolvimento, para que o projeto não arranque com dois sistemas a reclamar o mesmo dado. Se quiser ver como abordamos estes 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, ou ERP semelhantes, com outras opções:
- SAP S/4HANA com WooCommerce: quando compensa e riscos
- SAP Business One com PrestaShop: stock e preços
- SAP Business One com Magento: mapeamento e pagamentos
- SAP Business One com Adobe Commerce Cloud
- Odoo com WooCommerce: vantagens e plugins
- SAP Business One com BigCommerce
Perguntas frequentes
O SAP Business One tem ligação nativa ao WooCommerce?
A documentação oficial do Service Layer e a da API REST do WooCommerce descrevem duas interfaces independentes, não um conector entre ambos. A ligação faz-se por desenvolvimento ou através de uma plataforma de integração.
Posso começar só pelo stock e pelos preços?
Sim, e é o que aconselhamos. Estes dados seguem do SAP para a loja, têm menos risco financeiro do que as encomendas e permitem testar a camada de integração antes de automatizar o resto.
O que acontece se o SAP ficar indisponível?
Com uma camada intermédia, as encomendas ficam em fila e seguem quando o ERP voltar. Sem ela, perdem-se ou ficam a meio. Por isso a regra de indisponibilidade deve estar escrita antes de arrancar.
O HPOS afeta a integração?
Afeta se algum plugin ou código ler as encomendas diretamente da base de dados. Se a integração usar a API REST, o armazenamento de encomendas é transparente, mas convém testar com o HPOS ativo.