# DataFirefly Order Vouchers: guia completo

> Apresentação e pré-requisitos O DataFirefly Order Vouchers acrescenta duas colunas à lista de encomendas do back-office: o ou os códigos promocionais usados em cada encomenda, e o montante total do…

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

## Apresentação e pré-requisitos

O DataFirefly Order Vouchers acrescenta duas colunas à lista de encomendas do back-office: o ou os códigos promocionais usados em cada encomenda, e o montante total do desconto (formatado na moeda da encomenda). O módulo não cria nenhuma tabela, não escreve nada na base de dados e não sobrepõe nenhum controlador: limita-se a ler os vales de desconto já registados nas suas encomendas e a apresentá-los na grelha.

- Compatível com PrestaShop 8.0 a 9.x.
- PHP 7.4 a 8.3.
- Multiloja e multilingue (FR/EN/ES/DE/IT).
- Nenhuma substituição de ficheiros: apenas os hooks nativos da grelha Symfony das encomendas.

Os dados provêm das tabelas `order_cart_rule` e `cart_rule`. Uma encomenda sem vale de desconto mostra simplesmente uma célula vazia nas duas colunas.

**Adaptação para Portugal:** as etiquetas das duas colunas são entregues em FR/EN/ES/DE/IT. Traduza-as em **Internacional → Traduções** (módulo `dfordervouchers`) para que os colaboradores com o back-office em português as vejam no seu idioma.

## Instalação

1. Transfira o arquivo `dfordervouchers.zip` a partir da sua conta de cliente.
2. No back-office, aceda a **Módulos > Gestor de módulos**.
3. Clique em **Instalar um módulo** e envie o arquivo.
4. A instalação regista os dois hooks da grelha de encomendas. Não é necessária nenhuma configuração.

Logo após a instalação, abra **Encomendas > Encomendas**: as duas novas colunas aparecem a seguir à coluna «Total».

O módulo não tem página de configuração: funciona imediatamente após a instalação, sem qualquer definição.

## As duas colunas acrescentadas

### Código(s) promocional(is)

Esta coluna mostra o código de cada vale de desconto realmente aplicado à encomenda. Quando uma encomenda acumula vários códigos, estes são agrupados, desduplicados e separados por vírgulas. As promoções automáticas (regras de carrinho sem código) não são apresentadas nesta coluna, uma vez que não têm código a mostrar.

### Desconto

Esta coluna totaliza o montante descontado na encomenda, tal como foi registado no momento da validação (com IVA por defeito), e apresenta-o na moeda da encomenda. Uma encomenda em libras ou em dólares mostra portanto o seu montante na sua própria moeda. Se não tiver sido aplicado nenhum desconto, a célula fica vazia.

## Funcionamento técnico

A partir do PrestaShop 1.7.7, a lista de encomendas assenta na grelha Symfony. O módulo liga-se a ela através de dois hooks oficiais:

- `actionOrderGridDefinitionModifier`: acrescenta as duas colunas à definição da grelha, logo a seguir à coluna «Total».
- `actionOrderGridQueryBuilderModifier`: enriquece a consulta da grelha com duas subconsultas correlacionadas sobre `order_cart_rule` e `cart_rule`.

Como as subconsultas estão correlacionadas com o identificador da encomenda, não produzem nenhuma duplicação de linhas e não entram em conflito com o agrupamento interno da grelha. O montante reutiliza a moeda já associada pelo núcleo na consulta da grelha.

O módulo é **apenas de leitura**: nunca escreve na base de dados e não modifica nenhuma encomenda. Pode ser instalado e desinstalado sem qualquer impacto nos seus dados.

## Casos particulares

### Vários códigos numa encomenda

Todos os códigos são apresentados, separados por vírgulas. O montante da coluna «Desconto» soma o conjunto dos vales aplicados à encomenda.

### Promoções automáticas sem código

Por defeito, a coluna «Desconto» soma todos os descontos da encomenda, incluindo eventuais promoções automáticas sem código. A coluna «Código(s) promocional(is)», por seu lado, só mostra os vales que têm um código. Está disponível a pedido uma variante que limita o montante apenas aos vales com código.

### Multimoeda

O montante é sempre apresentado na moeda da encomenda em causa, reutilizando a moeda associada pela grelha nativa.

### Multiloja

A apresentação respeita o contexto de loja atual do back-office, exatamente como a grelha nativa das encomendas.

## Ordenação e personalização

As etiquetas das duas colunas são traduzíveis através do sistema de tradução de módulos do PrestaShop, nos cinco idiomas. Como a ordenação nativa da grelha assenta numa lista branca de campos, um clique no cabeçalho destas colunas calculadas não aciona uma ordenação, mas também não provoca nenhum erro.

## FAQ e resolução de problemas

### As colunas não aparecem

Verifique que o módulo está instalado e ativo no Gestor de módulos, e recarregue depois a página **Encomendas > Encomendas**. As colunas aparecem a seguir à coluna «Total».

### A coluna «Desconto» está vazia apesar de haver um código apresentado

Isso pode acontecer se o vale registado na encomenda tiver um valor nulo, por exemplo um vale de portes grátis. O código continua a ser apresentado, mas o montante descontado é igual a zero.

### O módulo funciona no PrestaShop 8 e 9?

Sim. Baseia-se na grelha Symfony das encomendas presente nas duas versões, através dos hooks oficiais de definição e de query builder.

### O que acontece na desinstalação?

A desinstalação remove simplesmente os dois hooks. Como não foi criada nenhuma tabela nem escrito nenhum dado, não fica nada na base de dados.
