WordPress e WooCommerce

como importar feeds de atacadistas para produtos e estoque do WooCommerce

por que os feeds CSV de atacadistas continuam quebrando o estoque do WooCommerce

Fornecedores atacadistas deixam arquivos CSV ou XML durante a noite com novos preços, tamanhos de pacote e estoque. Alguém baixa o arquivo, abre o Excel, corrige vírgulas decimais e cola em um plugin de importação WooCommerce. À metade da manhã, metade do catálogo mostra estoque zero porque uma coluna de quantidade em branco foi tratada como uma atualização, ou um fornecedor renomeou um código de fabricante e todas as correspondências falharam. Lojas que vendem o mesmo SKU de dois atacadistas brigam sobre qual feed prevalece, e o ERP no Comarch Optima ou Subiekt ainda mantém uma terceira quantidade que a área de compras confia mais do que a loja. Importações manuais também destroem o enriquecimento. Editores passaram semanas nas descrições em PL e EN, traduções de atributos e imagens principais; uma substituição completa do catálogo pelo atacadista sobrescreve títulos com strings de fornecedor TODAS EM MAIÚSCULAS e remove categorias. As regras de margem desaparecem quando o feed envia preços brutos e a loja espera preços líquidos, ou vice-versa. Comerciantes B2B sentem isso como saltos súbitos de preços que violam contratos com contas-chave que receberam a promessa de uma lista de preços líquidos fixos. Os modos de falha se acumulam sob carga. Um feed de 40.000 linhas importado de forma síncrona pelo WP-Admin expira, deixa uma aplicação parcial e ninguém sabe quais SKUs foram confirmados. O Action Scheduler ajuda apenas se o trabalho for projetado como upserts em blocos com um ID de execução. Sem uma tabela de quarentena, um único EAN mal formado pode abortar todo o lote em importadores mais rigorosos, ou pior, ser bem-sucedido com unidades erradas, fazendo você vender peças como pacotes. O impacto no negócio se apresenta como vendas em excesso, vazamentos de margem e gerentes de conta irritados. O suporte promete despacho no dia seguinte com base no estoque disponível na loja enquanto a API do atacadista já retornou zero uma hora antes. O marketing lança uma campanha em um SKU cujo preço de feed subiu da noite para o dia. O financeiro não consegue explicar por que a receita da loja e os preços de compra da Optima não se reconciliam mais para o mesmo código de artigo. Automação aqui não é "executar o plugin de importação no cron". É um pipeline controlado: buscar, validar, mapear, aplicar deltas com buffers, colocar exceções em quarentena e gerar relatórios. Atualizações de estoque e preço devem ser separáveis das atualizações de conteúdo para que o trabalho editorial sobreviva. Quando um ERP é o verdadeiro livro-caixa de inventário, o feed do atacadista deve atualizar a compra ou o ERP primeiro, e então permitir que a loja receba um push validado - não correr contra o ERP com uma colagem paralela de CSV. A sazonalidade adiciona outra camada. Antes da Black Friday, um atacadista pode enviar estoque otimista que evapora até o meio-dia; sem limites atrelados a pedidos de compra confirmados, a loja vende kits em excesso que o departamento de compras nunca pediu. Por outro lado, após a chegada de um contêiner, a alimentação pode atrasar seis horas enquanto o armazém já escaneou os pallets no Subiekt, fazendo com que a loja venda menos. A automação deve saber se a quantidade do atacadista é promessa de venda ou apenas boato do armazém do fornecedor, e rotular os metadados de acordo para macros de suporte. A equipe de compras deve revisar as linhas em quarentena durante uma reunião diária nas semanas de integração da alimentação e, depois, semanalmente quando estiver estável. Fotografe ou arquive arquivos brutos de amostra para cada versão de esquema enviada pelo fornecedor, para que disputas sobre o significado das colunas sejam baseadas em evidências. Quando os prazos de entrega excederem duas semanas, aumente a margem de segurança e informe ao marketing quais SKUs são limitados por promessa versus disponíveis em estoque. Detalhes operacionais para verificação de soma de verificação e proteção de arquivos truncados: documente os responsáveis, exemplos de falha e a métrica que comprova que o controle funciona em produção para esta automação do WooCommerce. Escreva a etapa do runbook, o destino do alerta e a ação de reversão ou compensação para que o suporte do turno da noite possa agir sem adivinhar. Inclua o nome do sistema de registro e o campo de ID de correlação usado nos logs. Marcador de sequência en-wholesaler-feed-to-products-stock-pad-1.

quando um feed de atacadista cair, deve atualizar os dados do catálogo da loja

Execute após o atacadista postar um novo arquivo no SFTP ou quando a API deles expuser um timestamp `feed.updated` mais recente do que seu último ID de execução bem-sucedida. A cadência típica é de uma a quatro horas para estoque, diariamente para listas completas de preços. Também permita um `replay_feed` manual com uma versão de arquivo específica para recuperação de incidentes. Não dispare em cada pequena alteração de timestamp do FTP sem mudança de checksum, ou você irá consumir os limites da API reescrevendo linhas idênticas.

etapas para mapear linhas de atacadistas em produtos do WooCommerce com segurança

  1. Busque o feed para o armazenamento de objetos ou um disco de preparação, calcule o checksum e recuse processar se o arquivo estiver vazio, truncado abaixo de um limite de linha ou idêntico ao último checksum bem-sucedido.
  2. Analise linhas com regras explícitas de decimal e codificação. Normalize o SKU do fornecedor, EAN e seu SKU interno por meio da tabela de mapeamento. Marque SKUs desconhecidos para uma fila de onboarding em vez de criar automaticamente produtos inúteis, a menos que a política permita a criação controlada com status de rascunho.
  3. Validar regras de negócio: percentual máximo de variação de preço, unidade de medida, quantidade mínima de pedido e estoque não negativo. Aplicar uma margem de segurança que mantenha o estoque da loja abaixo do estoque do atacadista quando os prazos de entrega forem longos.
  4. Atualize ou insira produtos do WooCommerce em blocos via REST ou um endpoint interno privilegiado: apenas preço, estoque, flags de encomenda e meta de compra. Pule os campos de conteúdo, a menos que uma flag explícita de sincronização de conteúdo esteja definida para esse fornecedor.
  5. Escreva um relatório de execução: linhas ok, em quarentena, SKUs desconhecidos e SKUs que atingiram o limite de variação de preço. Notifique o departamento de compras quando a quarentena exceder um limite, e armazene o ID da execução nos produtos atualizados para auditoria.
  6. Publique um evento pós-execução para que os feeds do Google Merchant, envios de estoque em marketplaces e alertas de estoque baixo utilizem o novo ID de execução somente após o commit, evitando leituras de catálogo parcialmente atualizadas.

Sistemas

  • WooCommerce
  • Wholesaler SFTP/API
  • Comarch Optima
  • Subiekt

Ferramentas

  • n8n
  • WP-Cron
  • Action Scheduler
  • WooCommerce REST

como o API FTP e o n8n movem os dados do atacadista para a loja

n8n ou um pequeno worker puxa SFTP/API, armazena o arquivo bruto e o converte em uma tabela de preparação. O mapeamento fica em uma planilha versionada ou tabela de banco de dados que a equipe de operações de produto possui. As atualizações do WooCommerce passam por REST com Senhas de Aplicação ou por uma rota personalizada que ignora os importadores da interface, usando o Action Scheduler dentro do WordPress apenas para as escritas finais em partes, se você precisar de bloqueios do lado da loja. Quando Comarch Optima ou enova possui o estoque, o feed atualiza primeiro os cartões de compras do ERP; a loja escuta as deltas do ERP em vez de aplicar o estoque do fornecedor diretamente - isso evita conflitos de escrita dupla. Make.com pode substituir o n8n para casos simples de CSV com um único fornecedor, mas quarentena complexa e deltas são mais claros no n8n ou em workers PHP personalizados. Nunca deixe as credenciais de FTP do fornecedor em uma opção de plugin pública sem criptografia. O tamanho do lote deve corresponder aos limites de hospedagem: algumas centenas de atualizações REST por onda com variação são melhores do que uma única importação gigante via admin-ajax. Armazene o último hash do feed por SKU para que linhas não alteradas pulem a gravação e a invalidação do cache de objetos permaneça tranquila. Quando a sincronização do Google Merchant ou do marketplace depende do estoque da loja, sequencie esses trabalhos após a conclusão do ID de execução do feed, em vez de competir durante a aplicação. Para o feed de atacadista para o estoque de produtos, mantenha os IDs de execução nos painéis de operadores e notifique o responsável pelo mapeamento, em vez de uma caixa de entrada genérica, quando as taxas de falha aumentarem. Detalhe operacional para regras de normalização de vírgula decimal: documente os responsáveis, exemplos de falhas e a métrica que comprova que o controle funciona em produção para esta automação do WooCommerce. Escreva o passo do manual de execução, o destino do alerta e a ação de reversão ou compensação para que o suporte do turno da noite possa agir sem precisar adivinhar. Inclua o nome do sistema de registro e o campo de ID de correlação usado nos logs. Marcador de sequência en-wholesaler-feed-to-products-stock-pad-2. Mantenha evidência de tratamento alinhada com orientações da CNPD quando dados pessoais saem do WordPress.

como colocar em quarentena linhas de atacadista problemáticas sem limpar o estoque

Se o arquivo falhar na verificação de checksum ou nas checagens de row-floor, interrompa a execução e mantenha o estoque da loja de ontem intacto. Coloque em quarentena linhas individuais ruins sem falhar todo o lote quando o erro for local (preço incorreto, UOM desconhecida). Se o WooCommerce REST retornar 429, pause o trabalhador de chunks com backoff e retome o mesmo ID de execução. Em caso de falha parcial da loja, não marque a execução como bem-sucedida: persista os offsets do cursor para que a reprodução continue. Freios de delta de preço devem exigir ação de aprovação humana antes de aplicar outliers, registrando quem aprovou. Alerta quando mais de uma determinada parcela de linhas estiver em quarentena, pois isso normalmente significa que o fornecedor alterou colunas. Para SKUs de fonte dupla, resolva conflitos com uma lista de prioridade explícita em vez de last-write-wins. Se a versão da tabela de mapeamento não corresponder à versão do cabeçalho do feed, falhe de forma fechada e notifique compras. Rollback raramente é uma restauração completa do catálogo; prefira transações compensatórias que revertam apenas os SKUs afetados pelo ID de execução que falhou usando o snapshot de pré-imagem capturado no início da execução.

quando a sincronização de feed de um atacadista ainda não vale a pena automatizar

Você tem menos de algumas centenas de SKUs atualizados semanalmente e um único fornecedor que já envia CSV limpo pronto para WooCommerce com colunas estáveis. Nesse caso, uma importação semanal supervisionada pode ser melhor do que construir ferramentas de quarentena. Além disso, espere se o fornecedor substituir todo o esquema todo mês sem aviso - estabilize o contrato primeiro.

KPIs para o distribuidor alimentar para a saúde do estoque do WooCommerce

  • Tempo desde o checksum do feed até o último fragmento confirmado
  • Participação de linhas quarentenadas por execução
  • Vendas excedentes atribuíveis a estoque obsoleto de atacadista
  • Contagem de campos de conteúdo sobrescritos acidentalmente por mês

Calculadora de ROI da automação

Indique execuções por mês, minutos por execução e o custo horário carregado. O resultado é uma simulação, não um orçamento do nosso trabalho.

Horas = execuções × minutos / 60 × recuperação %. Valor do tempo = horas × taxa × realização %. Erros evitados = execuções × erro % × custo do erro × realização %. Líquido = soma − manutenção. Retorno = implementação / líquido, só quando líquido > 0.

Horas recuperadas / mês: -

Horas recuperadas / ano: -

Valor do tempo / mês: -

Custo de erros evitado / mês: -

Líquido / mês: -

Retorno (meses): -

Resultado no primeiro ano: -

FAQ do artigo

Perguntas frequentes

Respostas práticas para aplicar o tema na execução real.

SEO-readyGEO-readyAEO-ready3 Q&A
O feed deve criar novos produtos automaticamente?#
Apenas em rascunho ou pendente de revisão, e somente quando o EAN e a classe tributária podem ser inferidos com segurança. Publicar completamente sem revisão editorial enche a loja com páginas superficiais e atributos quebrados.
Como você lida com dois atacadistas para um SKU?#
Mantenha uma regra de prioridade e alocação: estoque do fornecedor primário primeiro, secundário como excedente, com custos de compra separados. Nunca faça uma média dos estoques cegamente entre fornecedores com tamanhos de embalagem diferentes.
Você atualiza o estoque e o preço na mesma execução?#
Prefira cadências separadas: estoque com frequência, preços em uma programação controlada com freios delta. Acoplá-los cria um bloco de coluna de preços ruim que torna urgentes as correções de estoque.

Precisa de FAQ adaptado ao setor e mercado? Criamos uma versão alinhada com os seus objetivos de negócio.

Fale connosco

Casos relacionados