Menú Responsive con Submenús

Integrar SAP S/4HANA com Magento: pedidos, stock e preços

Integrar o SAP S/4HANA com o Magento é fazer com que o ERP e a loja partilhem o mesmo estado de pedidos, stock e preços, sem ninguém a copiar dados entre ecrãs. O SAP continua a ser a fonte de verdade; o Magento mostra o catálogo, recebe encomendas e devolve-as ao ERP para faturação e expedição.

Na prática, esta ligação resolve três problemas que se repetem: encomendas que chegam tarde ao ERP, stock que a loja mostra e o armazém não tem, e preços que mudam no SAP mas não na loja. Na Avafa acompanhamos estes projetos dentro da nossa área de integração de SAP com ecommerce.

Este guia explica quando a integração compensa, como se desenha, como tratar pedidos, stock e preços, que limites técnicos existem e que lista validar antes de contratar.

Quando faz sentido ligar o SAP S/4HANA ao Magento?

Faz sentido quando o ERP já gere preços, stock e clientes e a loja deixou de ser um canal pequeno. Quatro situações pedem a integração:

  • As encomendas online são reintroduzidas à mão no SAP.
  • O stock é atualizado por ficheiro, uma ou duas vezes por dia, e há vendas sem disponibilidade.
  • Existem tabelas de preços, descontos por cliente ou condições de pagamento no ERP.
  • A equipa de armazém e de faturação depende das encomendas da loja para trabalhar.

Se a loja tem poucas referências e os preços são iguais para todos, comece por um fluxo simples e só automatize o resto quando houver volume que o justifique.

Que arquitetura usar entre o SAP e o Magento?

O desenho mais seguro coloca uma camada de integração entre os dois sistemas, em vez de ligar o Magento diretamente ao SAP. Essa camada recebe, transforma, guarda em fila e reenvia, e é onde se vê o que falhou e porquê.

O SAP S/4HANA disponibiliza os dados por serviços OData. Quando se escreve no SAP, o serviço pede normalmente um token CSRF, obtido com um GET prévio que leva o cabeçalho x-csrf-token com o valor fetch. Nas versões em cloud, o acesso de sistemas externos define-se com acordos de comunicação, e o método de autenticação recomendado para produção é o OAuth 2.0, não o utilizador e palavra-passe.

Do lado do Magento, a ligação usa a API REST. A documentação da Adobe para o Commerce, cuja base técnica o Magento Open Source partilha, descreve pontos de acesso assíncronos: o pedido é gravado numa fila de mensagens e um consumidor executa-o mais tarde. Confirme sempre a versão e os módulos instalados na sua loja antes de assumir que estão disponíveis.

Como tratar pedidos, stock e preços

Cada um destes três dados tem um ritmo e um risco diferentes, por isso não devem partilhar o mesmo fluxo.

DadoSentidoModo recomendadoRisco principal
EncomendasMagento para SAPEvento, em filaDuplicados
StockSAP para MagentoEvento e reconciliaçãoVenda sem stock
PreçosSAP para MagentoLote ou eventoPreço desatualizado
Estados de expediçãoSAP para MagentoEventoCliente sem informação

Pedidos

A encomenda deve ser enviada ao SAP com uma chave única da loja. Se o envio falhar e for repetido, o SAP reconhece a chave e não cria um segundo documento. Os estados de volta (em preparação, expedido, faturado) devem seguir o caminho inverso, para o cliente não ter de ligar a perguntar.

Stock

O stock vendável não é o stock físico. Convém decidir se a loja mostra o disponível do SAP, descontadas as reservas, e por armazém. O Magento permite trabalhar com várias origens de stock, mas só compensa se o SAP também as distinguir.

Preços

Se os preços dependem do cliente, defina quem calcula: o SAP devolve o preço final ou o Magento aplica regras próprias. Misturar as duas abordagens é a causa mais comum de preços diferentes entre o orçamento e a loja.

Limites técnicos a conhecer

Os pontos de acesso em lote não confirmam sucesso, apenas receção. Segundo a documentação da Adobe, a resposta devolve um identificador de lote (bulk_uuid) e o estado “accepted”, mesmo quando o item falha depois no processamento. A integração tem de consultar o estado da operação e registar o que não correu bem.

  • Os pedidos em lote aceitam POST, PUT e DELETE, mas não GET.
  • Nas instalações próprias, os consumidores de fila dependem de RabbitMQ e de tarefas cron configuradas.
  • O código da vista de loja na rota define onde se aplica a alteração; sem ele, aplica-se à vista predefinida.
  • Importar descrições e preços por idioma exige decidir antes se a alteração vale para todas as vistas.

Lote ou eventos: como decidir

A sincronização por lote é mais simples e a por eventos é mais rápida; a escolha depende do dado, não da preferência técnica. Esta é a matriz de decisão que usamos no levantamento.

PerguntaSe a resposta é simModo
Muda várias vezes por dia?Atraso custa vendasEventos
Afeta o que o cliente vê agora?Erro é visívelEventos
Muda por campanha ou época?Atraso é aceitávelLote
Há milhares de linhas de uma vez?Carga pesadaLote em fila

Passo a passo de um arranque seguro

Um arranque bem feito é gradual: primeiro leitura, depois escrita, e só no fim os dados que mexem em dinheiro.

  1. Ligar em modo de leitura: trazer artigos, stock e preços do SAP para o Magento num ambiente de staging.
  2. Comparar, para uma amostra de referências, o que a loja mostra com o que o SAP indica.
  3. Ativar o envio de encomendas de teste e confirmar que o documento no SAP está completo: moradas, IVA, portes e condições de pagamento.
  4. Simular falhas de propósito, como o SAP indisponível, para ver se a fila guarda e reenvia sem duplicar.
  5. Entrar em produção por fases, com acompanhamento diário das primeiras semanas e um relatório de diferenças.

Riscos e como evitá-los

  • Dados mestre sujos no SAP: unidades, IVA e descrições incompletas aparecem logo na loja.
  • Sem monitorização: um fluxo pára e só se descobre quando um cliente reclama.
  • Falta de ambiente de testes: alterar preços em produção para testar é um erro caro.
  • Personalizações do Magento que mudam o formato dos dados e partem a ligação nas atualizações.
  • Ninguém responsável pelo fluxo depois de entrar em produção.

Lista de verificação antes de contratar

  1. Quem manda em cada dado está definido por escrito.
  2. Os artigos têm SKU único igual nos dois sistemas.
  3. Existe um ambiente de testes do SAP e um de staging do Magento.
  4. Está decidido como se tratam falhas e quem as corrige.
  5. Os preços por cliente têm uma regra de cálculo única.
  6. Há reconciliação periódica de stock e de encomendas.
  7. A versão do Magento e das extensões está suportada e atualizada.

Como trabalhamos na Avafa

Começamos por mapear os dados e os responsáveis antes de falar de ferramentas. Depois propomos a camada de ligação, os fluxos prioritários e o plano de testes. Pode ver como organizamos estes projetos na nossa página de integração de SAP com ecommerce.

Outras plataformas ligadas ao SAP

Perguntas frequentes

O Magento liga-se diretamente ao SAP S/4HANA?

Pode ligar-se, mas não é o mais aconselhável. Uma camada intermédia trata filas, repetições e registo de erros, e evita que a lógica fique dentro de um dos dois sistemas.

Qual é o primeiro fluxo a automatizar?

Normalmente o stock e as encomendas, porque são os que mais erros visíveis causam. Preços por cliente e clientes novos seguem depois, quando a ligação base estiver estável.

Preciso de RabbitMQ?

Para usar os pontos de acesso assíncronos e em lote numa instalação própria, a documentação da Adobe indica que o RabbitMQ deve estar instalado e configurado. Em serviços geridos, esta parte pode vir tratada pela plataforma.

Como evito encomendas duplicadas?

Enviando cada encomenda com uma chave única e fazendo o SAP recusar repetições dessa chave. Assim, repetir um envio falhado não cria um segundo documento.

Quem deve ser o dono dos preços?

Em regra, o SAP. A loja mostra o que o ERP calcula; se a loja aplicar regras próprias por cima, os preços começam a divergir da faturação.

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.