Um ETL que tirou o encarte de varejo do trabalho manual
8níveis de fórmula viraram código testável
Toda campanha de varejo farmacêutico começa numa planilha e termina em arte. No meio, alguém precisa buscar a descrição de cada produto, baixar cada imagem, padronizar cada texto e repartir tudo pelos recortes comerciais certos. Quando são milhares de itens por campanha, esse meio vira o gargalo.
O problema
O processo era manual e vivia em Excel. Para cada produto, uma pessoa procurava a descrição atualizada na página pública do item, copiava, limpava o texto à mão, baixava a imagem, salvava na pasta certa e repetia. A mecânica promocional era resolvida por uma fórmula com oito níveis de condicional aninhada dentro de uma célula — funcionava, mas ninguém além de quem escreveu conseguia manter.
No fim, o mesmo arquivo tinha de virar várias planilhas diferentes, uma por recorte comercial, cada uma com a seleção certa de produtos.
Erro de digitação numa descrição vira erro impresso em encarte. E encarte impresso
não tem Ctrl+Z.
O que fizemos
Um processador de planilhas em Python, empacotado em Docker, que executa o ciclo completo de ETL sem intervenção manual.
- Extract — lê a planilha de entrada e busca dados atualizados nas páginas públicas dos produtos, usando o código do item como chave
- Transform — normaliza descrições segundo o padrão editorial do cliente, padroniza a grafia das marcas, resolve o agrupamento de ofertas combinadas, deriva a mecânica promocional a partir das colunas de preço e monta os links de destino. As regras saíram da fórmula de planilha e viraram código versionado, com teste
- Imagens — baixa a imagem de cada produto quando ela ainda não existe, preservando o formato original e organizando o acervo numa estrutura de pastas que evita diretório com dezenas de milhares de arquivos
- Load — gera automaticamente as planilhas de saída, já separadas pelos recortes comerciais, seguindo a regra de cobertura de cada um
Rodou em contêiner desde o primeiro dia, com black, ruff e mypy no
caminho — porque automação que produz material impresso não pode falhar em
silêncio.
O resultado
O que era trabalho manual repetido a cada campanha virou uma execução. As planilhas de saída saem prontas, com descrição padronizada e imagem no lugar certo.
O ganho maior é menos visível: a regra de negócio deixou de morar numa fórmula dentro de uma célula. Está em código, legível, versionado e testável — e pode ser alterada por quem chegar depois, sem precisar decifrar oito condicionais encaixadas.
Case publicado sem identificação do cliente, por acordo de confidencialidade.
