Preços por País, Loja e Moeda
Instalar, criar regras, compreender o cálculo do preço, recalcular em massa e automatizar por cron.
Os Preços por País, Loja e Moeda aplicam um coeficiente de margem e um arredondamento psicológico por mercado e materializam depois o resultado em preços específicos nativos do PrestaShop. Este guia cobre a instalação, a criação de regras, o funcionamento do cálculo, o recálculo em massa e a automatização por cron.
Instalação
O módulo é compatível com PrestaShop 8.0 a 9.x, em loja única ou multiloja.
- No back-office, vá a Módulos > Gestor de módulos, clique em Carregar um módulo e selecione o ficheiro ZIP.
- Na instalação, o módulo cria as suas duas tabelas, um separador DF Multi Price em Catálogo e gera automaticamente um token de cron.
- Abra a configuração do módulo para definir a aplicação automática, a dimensão dos lotes e obter o URL de cron.
Criar uma regra de preço
Vá a Catálogo > DF Multi Price e clique em Adicionar uma regra. Uma regra visa uma combinação de dimensões e descreve como construir o preço final.
Âmbito
- Loja: uma loja específica ou «Todas». Com «Todas», os preços de base são lidos a partir da loja predefinida.
- País: o país cujo IVA serve para o cálculo do arredondamento com imposto.
- Moeda: a moeda em que o arredondamento psicológico é aplicado.
- Categoria: limita a regra a uma categoria e às suas subcategorias, ou «Todo o catálogo».
Cálculo
- Base de preço: preço de venda sem IVA ou preço de compra (os produtos sem preço de compra são ignorados neste modo).
- Coeficiente de margem: multiplicador aplicado à base. Por exemplo, 1,20 para +20 %. Use 1,00 para aplicar apenas o arredondamento.
- Modo de arredondamento: ao mais próximo, sempre por excesso, sempre por defeito ou nenhum.
- Terminação psicológica: x,90, x,95, x,99, x,50 ou x,00.
- Arredondar sobre o preço com IVA: recomendado, porque é o preço com IVA que o cliente vê. É usado o IVA do país da regra.
- Preço mínimo: preço mínimo com IVA na moeda da regra. 0 significa sem mínimo.
- Prioridade: os valores mais baixos são tratados primeiro num recálculo global.
Como o preço final é calculado
O arredondamento psicológico só faz sentido sobre o montante apresentado ao cliente, ou seja, o preço com IVA. O motor segue, por isso, esta sequência:
- Preço de base sem IVA multiplicado pelo coeficiente de margem.
- Conversão para a moeda da regra, segundo a respetiva taxa de câmbio.
- Passagem a preço com IVA, acrescentando o IVA do país da regra.
- Arredondamento à terminação escolhida, segundo o modo definido.
- Aplicação do eventual preço mínimo.
- Regresso ao preço sem IVA e à moeda predefinida, para armazenamento.
Exemplo: um preço de base de 69,99 € sem IVA, um coeficiente de 1,20, um IVA de 19 % e uma terminação x,99 dão um preço apresentado de 99,99 € com IVA. O preço é guardado sem IVA na moeda predefinida, mas a apresentação na loja respeita a terminação pretendida.
Os preços gerados são escritos como preços específicos nativos do PrestaShop. São lidos pelo núcleo como qualquer preço específico: não há cálculo dinâmico no momento da apresentação, pelo que não existe impacto no desempenho do front-office.
O IVA é o do país da regra: a taxa normal portuguesa de 23 % aplica-se ao continente. As taxas mais baixas dos Açores e da Madeira não são distinguíveis por país, porque o PrestaShop trata Portugal como um único país e não fornece estados para o território. Se vende para as ilhas com taxas regionais, valide o resultado com o seu contabilista certificado: uma regra baseada apenas no país não reproduz essa diferenciação.
Recálculo em massa
Depois de criar ou alterar uma regra, aplique-a a todo o catálogo.
- Na lista de regras, a ação Recalcular trata uma regra específica.
- O botão Recalcular todas as regras ativas da barra de ferramentas encadeia todas as regras, por ordem de prioridade.
O tratamento é feito por lotes AJAX, com barra de progresso. Cada passagem mostra o número de preços criados, atualizados e ignorados. A dimensão dos lotes (10 a 500 produtos) define-se na configuração do módulo.
Num catálogo muito grande, aumente a dimensão dos lotes para reduzir o número de idas e voltas, ou reduza-a se o seu servidor limitar o tempo de execução por pedido.
Uma alteração de preços em massa tem consequências no anúncio de reduções: o Decreto-Lei n.º 66/2021 (transposição da diretiva Omnibus) obriga a indicar o preço mais baixo praticado nos 30 dias anteriores sempre que anuncia uma redução. Se combinar este módulo com campanhas promocionais, verifique que o histórico de preços continua coerente e que o preço de referência apresentado é o correto.
Automatizar com o cron
Um controlador de cron volta a executar automaticamente todas as regras ativas. O URL, protegido por um token, está visível na configuração do módulo e apresenta-se assim:
https://asualoja.pt/index.php?fc=module&module=dfmultiprice&controller=cron&token=O_SEU_TOKEN
Agende este URL com a tarefa de cron do seu alojamento, por exemplo uma vez por noite. O controlador devolve um resumo em JSON por regra (total, criados, atualizados, ignorados). Em caso de fuga do token, regenere-o na configuração: o URL antigo deixa então de funcionar.
Aplicação automática
Se a opção estiver ativa, cada criação ou alteração de produto aciona a aplicação das regras ativas correspondentes a esse produto. É útil para manter os preços atualizados sem recálculo global, sobretudo em importações regulares.
Eliminação e desinstalação
O módulo regista cada preço específico que gera. Assim:
- Eliminar uma regra retira automaticamente todos os preços específicos que ela tinha criado.
- Desinstalar o módulo elimina todos os preços que gerou, sem deixar resíduos.
O módulo nunca substitui um preço específico manual que não tenha as mesmas dimensões. Em contrapartida, se já existir um preço específico com dimensões idênticas (mesma loja, país e moeda, sem redução nem intervalo de datas), adota-o para evitar duplicações.
Resolução de problemas
Um produto não é atualizado
Confirme que está ativo na loja da regra, que pertence mesmo à categoria visada e que, na base «preço de compra», tem um preço de compra preenchido.
O preço apresentado não tem a terminação certa
Certifique-se de que a opção «Arredondar sobre o preço com IVA» está ativa e de que o país da regra corresponde ao IVA esperado. A terminação é aplicada sobre o preço com IVA, não sobre o preço sem IVA.
O cron devolve «Invalid token»
O token do URL já não corresponde ao token guardado. Obtenha o URL atualizado na configuração, ou regenere o token.