# DataFirefly Inflation Pricing para WooCommerce

> Guia completo do plugin DataFirefly Inflation Pricing para WooCommerce: instalação, escalões de arredondamento psicológico, âmbito das campanhas, pré-visualização, aplicação por lotes, anulação e comandos WP-CLI.

- Página: <https://www.datafirefly.com/pt/documentation/df-inflation-pricing/>
- Idioma: pt
- Atualizado em: 2026-09-02
- Outros idiomas: [fr](https://www.datafirefly.com/documentation/df-inflation-pricing/index.md), [en](https://www.datafirefly.com/en/documentation/df-inflation-pricing/index.md), [es](https://www.datafirefly.com/es/documentation/df-inflation-pricing/index.md), [de](https://www.datafirefly.com/de/documentation/df-inflation-pricing/index.md), [it](https://www.datafirefly.com/it/documentation/df-inflation-pricing/index.md), [pl](https://www.datafirefly.com/pl/documentation/df-inflation-pricing/index.md), [nl](https://www.datafirefly.com/nl/documentation/df-inflation-pricing/index.md)
- Índice: <https://www.datafirefly.com/pt/documentation/llms.txt>

## O que o plugin faz

O DataFirefly Inflation Pricing aplica uma percentagem a todo o seu catálogo WooCommerce, ou a parte dele, e depois ajusta cada preço obtido a uma escala de preços psicológicos que você define. Um aumento de 3% num produto de 59 € não dá 60,77 € mas 60,90 €, ou 69 € se preferir inteiros terminados em 9.

O percurso completo faz-se em três tempos: descreve o âmbito e a percentagem, o plugin calcula todos os novos preços e apresenta-os numa tabela, e depois valida. Nada é gravado na base de dados antes dessa validação, e cada preço antigo é conservado para permitir uma anulação.

## Instalação

1. Descarregue o arquivo ZIP a partir da sua conta de cliente DataFirefly.
2. Na administração do WordPress, vá a Plugins, depois Adicionar plugin, e clique em Carregar plugin.
3. Selecione o ficheiro ZIP, instale e ative.
4. Aparece um novo menu em WooCommerce, Inflation Pricing.

A ativação cria duas tabelas: `wp_df_inflation_campaigns` para as campanhas e `wp_df_inflation_items` para as linhas de preço. O prefixo segue o da sua instalação.

**Requisitos**: WordPress 5.8 ou superior, WooCommerce 6.0 ou superior, PHP 7.4 ou superior. O plugin declara a compatibilidade com HPOS e com os blocos de carrinho e de encomenda logo na inicialização.

## Os três ecrãs

### Nova campanha

É o ecrã de trabalho principal. Reúne três cartões: Aumento, Âmbito e Arredondamento. Aí constrói a campanha e depois lança a pré-visualização.

### Histórico

A lista de todas as campanhas com o respetivo estado. A partir desta página consulta o detalhe linha a linha de uma campanha, aplica uma campanha que ficou pendente, anula uma campanha aplicada ou elimina uma campanha que deixou de ser útil.

### Regras de arredondamento

As definições globais: escalões de arredondamento, sentido, garantia de aumento, base de cálculo com ou sem IVA, tamanho dos lotes e comportamento na desinstalação. Um simulador no fundo da página mostra o resultado em preços de exemplo.

## Compreender os escalões de arredondamento

Um escalão define-se por três valores:

- **Aplica-se até**: o limite superior da faixa de preços em causa. O valor 0 significa sem limite, e designa portanto o escalão que trata todos os preços acima dos outros escalões.
- **Passo**: o intervalo entre dois preços possíveis.
- **Terminação**: o desvio aplicado a esse intervalo.

O preço final é sempre o passo multiplicado por um inteiro, mais a terminação. Alguns exemplos:

- Passo 10, terminação 9 dá 9, 19, 29, 59, 89, 569, 899
- Passo 1, terminação 0,90 dá 9,90, 14,90, 60,90, 99,90
- Passo 5, terminação 4 dá 24, 29, 124, 129, 134
- Passo 0,50, terminação 0,40 dá 4,40, 4,90, 9,40, 9,90
- Passo 100, terminação 99 dá 599, 1299, 2499

A terminação tem de ficar abaixo do passo, caso contrário deixa de ter efeito visível. Um passo de 1 com uma terminação de 9 produz simplesmente todos os inteiros.

### O escalão é escolhido sobre o preço de origem

Para evitar que um produto situado logo abaixo de um limite passe para uma faixa muito mais grosseira, o escalão escolhido é o do preço atual do produto, e não o do preço calculado. Um artigo de 19,90 € continua portanto a ser tratado pelo escalão dos preços baixos mesmo que o aumento o faça passar acima de 20 €.

## O compromisso entre legibilidade e precisão

É o ponto mais importante a compreender antes de lançar uma campanha. Quanto mais grosseira for a escala de arredondamento, mais a variação real se afasta da percentagem pedida.

Tomemos um aumento de 3% num produto de 59 €. O preço bruto calculado é 60,77 €. Consoante a escala escolhida:

- Passo 1, terminação 0,90 dá 60,90 €, ou seja +3,2%
- Passo 5, terminação 4 dá 64 €, ou seja +8,5%
- Passo 10, terminação 9 dá 69 €, ou seja +16,9%

Nenhum plugin consegue contornar esta aritmética: se exigir preços inteiros terminados em 9, o intervalo mínimo entre dois preços é de 10 €, o que representa 17% a 59 €. O plugin não esconde este facto, torna-o visível antes da gravação graças ao simulador, à coluna Variação da pré-visualização e ao limite por campanha.

Uma regra simples: o passo deve manter-se pequeno face aos preços da faixa. Um passo de 1 em preços entre 20 e 100 € dá desvios de 1 a 5%, o que se mantém coerente com uma inflação anual. Um passo de 10 nessa mesma faixa não.

## As predefinições

Cinco predefinições preenchem a tabela de escalões num clique a partir do separador Regras de arredondamento.

- **Equilibrado**: a definição por omissão. Até 10 €, passo 0,50 e terminação 0,40; até 100 €, passo 1 e terminação 0,90; até 300 €, passo 5 e terminação 4; acima, passo 10 e terminação 9. A variação real fica entre 2 e 5% para uma instrução de 3%.
- **Inteiros terminados em 9**: até 100 € e acima, passo 10 e terminação 9. Obtém exatamente 59, 89, 569, 899. Os desvios nos preços baixos são grandes.
- **Inteiros terminados em 4 ou 9**: passo 5 e terminação 4 abaixo de 100 €, passo 10 e terminação 9 acima. Um compromisso corrente no retalho.
- **Decimais terminados em ,90**: passo 1 e terminação 0,90 abaixo de 100 €, passo 10 e terminação 9,90 acima.
- **Sem arredondamento psicológico**: passo 0,01 e terminação 0. A percentagem é aplicada ao cêntimo.

As predefinições são apenas um ponto de partida. Pode acrescentar, retirar ou alterar escalões livremente e depois guardar.

## Sentido do arredondamento e garantia de aumento

### Sentido

- **Preço psicológico mais próximo**: o comportamento recomendado. O preço calculado passa para o valor mais próximo do seu escalão, acima ou abaixo.
- **Sempre para cima**: o preço sobe sistematicamente para o patamar superior. As margens ficam protegidas, mas os aumentos reais ultrapassam muitas vezes a instrução.
- **Sempre para baixo**: o preço desce para o patamar inferior. A reservar para as descidas de preço.

### Garantia de aumento

Com o sentido ao mais próximo, uma percentagem pequena pode ser totalmente absorvida pelo arredondamento. Um aumento de 3% sobre 59 € dá 60,77 €, e o preço mais próximo numa escala de 10 continua a ser 59 €: o preço não se mexe.

A opção _Nunca deixar o arredondamento anular o aumento_ corrige este caso empurrando para o patamar seguinte enquanto o resultado ficar inferior ou igual ao preço de partida. Só atua nas percentagens positivas. Numa descida de preço, desative-a.

## Arredondamento sobre o preço com IVA ou sobre o preço guardado

O WooCommerce guarda os preços sem impostos ou com impostos incluídos consoante a definição _Introduzir os preços com o imposto_. Se a sua loja guarda preços sem IVA e apresenta preços com IVA, arredondar o valor guardado não produz nada de legível do lado do cliente: 49,17 € sem IVA apresentado com 20% de IVA dá 59,00 € com IVA, mas 49,00 € sem IVA dá 58,80 € com IVA.

A definição **Arredondar sobre** propõe dois comportamentos:

- **O preço visto pelo cliente, com IVA**: o plugin converte o preço guardado para preço com IVA através da classe de imposto do produto, aplica o arredondamento sobre esse valor e reconverte para preço sem IVA com quatro decimais antes de gravar. É a definição por omissão.
- **O preço guardado**: o arredondamento aplica-se diretamente ao valor registado na base de dados, sem conversão.

Se a sua loja já guarda preços com IVA, ou se o imposto estiver desativado, as duas definições produzem o mesmo resultado. Os produtos marcados como não tributáveis não sofrem qualquer conversão.

## Construir uma campanha

### Cartão Aumento

- **Nome da campanha**: facultativo; é gerado um nome com data e hora se o deixar vazio.
- **Percentagem**: positiva para um aumento, negativa para uma descida. Aceita duas decimais.
- **Preço promocional**: ver a secção dedicada mais abaixo.
- **Ignorar um produto se a variação real ultrapassar X%**: a salvaguarda principal. Com uma instrução de 3% e um limite de 6%, qualquer produto cujo arredondamento produzisse um aumento superior a 6% é afastado da campanha, com o motivo indicado na pré-visualização. Deixe o campo vazio para desativar este controlo.

### Cartão Âmbito

- **Categorias a incluir**: deixe vazio para tratar todo o catálogo. As subcategorias das categorias escolhidas são incluídas automaticamente.
- **Categorias a excluir**: prioritário sobre a inclusão, subcategorias incluídas.
- **Etiquetas**: restringe aos produtos com uma das etiquetas assinaladas.
- **Tipos de produtos**: simples, variável, externo, agrupado. Assinalar variável trata as variações, e não o produto principal, que não tem preço próprio.
- **Estado dos produtos**: publicado, rascunho, privado, pendente. Nas variações, é avaliado o estado do produto principal.
- **Preço base entre**: dois limites facultativos avaliados sobre o preço base registado.
- **Ignorar os produtos atualmente em promoção**: afasta os produtos com um preço promocional definido.
- **Excluir estes ID ou SKU** e **Limitar a estes ID ou SKU**: listas livres separadas por vírgulas, espaços ou mudanças de linha. Os SKU são resolvidos em identificadores no momento da seleção. Num produto variável, indicar o ID do produto principal cobre todas as suas variações.

### Cartão Arredondamento

Por predefinição, a campanha usa as regras globais, recordadas no topo do cartão. Assinale _Substituir as regras globais nesta campanha_ para ajustar o sentido, a garantia de aumento e a base de cálculo apenas nesta campanha. Os próprios escalões continuam a ser os das definições globais.

A caixa _Numa anulação, ignorar os produtos alterados depois da aplicação_ determina o comportamento do rollback. Deixe-a assinalada na grande maioria dos casos.

## Os preços promocionais

São propostos quatro modos. Só se aplicam aos produtos que tenham mesmo um preço promocional definido.

- **Recalcular mantendo a mesma taxa de desconto**: o modo por omissão. Um produto de 100 € apresentado a 80 € mantém o desconto de 20% depois do aumento. O novo preço promocional também passa pelo arredondamento.
- **Aplicar a mesma percentagem**: o preço promocional sofre exatamente o mesmo tratamento que o preço base.
- **Não tocar**: o preço promocional fica estritamente inalterado. O desconto apresentado aumenta portanto mecanicamente.
- **Eliminar o preço promocional**: a promoção é retirada, bem como as datas de início e de fim.

Em todos os casos, se o novo preço promocional atingisse ou ultrapassasse o novo preço base, é eliminado automaticamente para evitar uma incoerência na loja.

## Pré-visualização e aplicação

O botão **Pré-visualizar os novos preços** desencadeia três operações sucessivas, com uma barra de progresso:

1. Seleção dos produtos que correspondem ao âmbito e registo da fila de espera.
2. Cálculo do novo preço de cada linha, por lotes.
3. Apresentação da tabela e das estatísticas.

A tabela mostra, para cada linha, o produto com uma ligação para a sua ficha, o SKU, o preço atual, o novo preço, a variação real em percentagem, o preço promocional antes e depois, e o estado. As linhas afastadas têm o estado _skipped_ e um motivo: produto gratuito, sem preço base, preço já no valor alvo, ou variação superior ao limite permitido.

O botão **Carregar mais 50 linhas** pagina a tabela. **Descarregar o CSV** exporta a totalidade da campanha, incluindo as linhas afastadas, o que permite uma releitura offline ou uma validação por terceiros.

Enquanto não clicar em **Aplicar ao catálogo**, nenhum preço é alterado. A campanha fica consultável no histórico com o estado _Pronta a aplicar_, e pode ser aplicada mais tarde.

A aplicação é feita por lotes através da API de produto do WooCommerce, o que garante a atualização do preço apresentado, da tabela de pesquisa interna e das caches. Após cada lote, os produtos variáveis em causa são ressincronizados para que os preços mínimo e máximo apresentados na loja se mantenham corretos.

## Anular uma campanha

No ecrã Histórico, uma campanha no estado _Aplicada_ propõe um botão **Anular**. O restauro é feito por lotes e repõe em cada produto o preço base e o preço promocional de origem.

Se a opção de segurança estava ativa na criação da campanha, cada produto é verificado antes do restauro: se o preço atual já não corresponder ao preço aplicado pela campanha, a linha é deixada de lado com uma mensagem explícita. Isso evita sobrepor uma alteração manual feita entretanto.

Eliminar uma campanha apaga também os seus dados de restauro. Uma campanha aplicada e depois eliminada já não pode ser anulada.

## Comandos WP-CLI

Quatro comandos cobrem o mesmo percurso sem passar pelo navegador, o que convém a catálogos muito grandes e a scripts de implantação.

```
wp df-inflation preview --percent=3 --categories=15,22
wp df-inflation apply --campaign=12 --yes
wp df-inflation apply --percent=4.5 --types=simple,variable --sale=ratio --yes
wp df-inflation revert --campaign=12 --yes
wp df-inflation campaigns
```

Opções disponíveis: `--percent`, `--name`, `--categories`, `--types`, `--sale` (keep, percent, ratio ou remove), `--campaign` e `--yes`. O comando _preview_ constrói a campanha e mostra as estatísticas sem gravar nada, e devolve o identificador a reutilizar com _apply_.

## Definições globais

- **Escalões de preço**: a tabela descrita acima, com os botões de adição e de remoção e as predefinições.
- **Sentido** e **Garantia de aumento**: valores por omissão propostos em cada nova campanha.
- **Arredondar sobre**: base de cálculo com IVA ou preço guardado.
- **Tamanho dos lotes**: número de produtos tratados por pedido, de 1 a 200. O valor por omissão de 25 convém à maioria dos alojamentos. Desça para 10 em caso de tempo de execução excedido, suba para 50 ou 100 num servidor dedicado.
- **Desinstalação**: se a caixa estiver assinalada, a remoção da extensão apaga as duas tabelas e as opções. Desassinalada, os dados de campanha sobrevivem a uma reinstalação.

## Personalização para programadores

Dois filtros permitem intervir no comportamento do motor.

```
// Ajustar um preço arredondado.
add_filter( 'df_inflation_rounded_price', function ( $result, $raw_price, $tier ) {
    return $result;
}, 10, 3 );

// Alterar a lista de produtos selecionados por uma campanha.
add_filter( 'df_inflation_scope_rows', function ( $rows, $filters ) {
    return $rows;
}, 10, 2 );
```

Todas as ações de administração exigem a permissão `manage_woocommerce`. Os pedidos AJAX estão protegidos por um nonce e verificam essa permissão no servidor.

## Resolução de problemas

### Nenhum produto corresponde ao âmbito

Verifique que os tipos de produtos assinalados correspondem mesmo ao seu catálogo e que os produtos visados têm um preço base definido. Um produto variável em que só as variações têm preço exige assinalar o tipo variável, e não o tipo simples.

### A barra de progresso bloqueia

Reduza o tamanho dos lotes nas definições e volte a lançar. Um lote de 10 produtos chega nos alojamentos mais limitados. A consola do navegador mostra o detalhe do pedido que falhou.

### Os novos preços não aparecem na loja

Limpe a cache da sua extensão de cache e a cache do servidor. O plugin limpa os transientes do WooCommerce dos produtos alterados, mas não controla uma cache de página de terceiros.

### Os preços dos produtos variáveis estão incoerentes

Os preços mínimo e máximo apresentados na ficha do produto principal vêm de uma sincronização do WooCommerce. O plugin aciona-a após cada lote. Se persistir um desvio, a ferramenta WooCommerce, Estado, Ferramentas, Limpar os transientes dos produtos força um recálculo completo.

### Uma variação real muito superior à instrução

É o comportamento esperado numa escala grosseira. Preencha o campo de limite por campanha para afastar esses produtos, ou acrescente um escalão mais fino na faixa de preços em causa.

## Desinstalação

Desativar a extensão não elimina nada: as campanhas e os dados de restauro ficam na base de dados. A remoção completa a partir da lista de plugins só desencadeia a limpeza se a opção correspondente tiver sido assinalada nas definições antes da remoção.
