Menú Responsive con Submenús

Integrar SAP Business One Com WooCommerce e Deixar o Excel Para Trás

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:

DadoSistema mestreSentidoNota
Artigos e descriçõesSAPSAP para lojaTextos comerciais podem ficar na loja
Preços e listasSAPSAP para lojaPreços por cliente exigem regra própria
Stock disponívelSAPSAP para lojaDefinir se conta reservas
EncomendasWooCommerceLoja para SAPUma encomenda, um documento
ClientesDefinirAmbosEvitar duplicados por NIF
Estado e expediçãoSAPSAP para lojaA loja mostra, não decide
FaturasSAPSAP para lojaEmitidas 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:

  1. Listar os ficheiros Excel em uso, quem os mexe, com que frequência e que decisões dependem deles.
  2. Atribuir um sistema mestre a cada dado e escrever as exceções.
  3. Montar um ambiente de ensaio do SAP Business One e outro do WooCommerce, com dados de teste.
  4. Automatizar primeiro o stock e os preços, do SAP para a loja, porque é o fluxo com menos risco financeiro.
  5. Automatizar depois as encomendas, da loja para o SAP, com validação de cliente, IVA e unidades.
  6. Ligar o estado da encomenda e a fatura de volta à loja.
  7. 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:

  1. Cada dado tem um sistema mestre escrito e aprovado.
  2. Os ficheiros Excel atuais estão listados, com dono e frequência.
  3. Existe ambiente de ensaio do SAP Business One e do WooCommerce.
  4. A chave da API do WooCommerce tem permissões mínimas e o site usa HTTPS.
  5. Os plugins da loja foram verificados quanto à compatibilidade com HPOS.
  6. As regras de IVA, moeda, unidades e variantes estão escritas.
  7. Há registo de erros e uma pessoa que o recebe e resolve.
  8. 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:

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.

Scroll to Top
Gratuito

Diagnóstico gratuito do seu catálogo ERP/PIM

    Indique o seu ERP/PIM e a sua loja online e preparamos um diagnóstico gratuito de como o ACE pode gerar e sincronizar o conteúdo do seu catálogo.