# dfproforma: geração automática de faturas proforma

> Apresentação O dfproforma automatiza a geração de faturas proforma no PrestaShop 8. Assim que uma encomenda atinge um estado configurado, o módulo cria um PDF personalizado (logótipo, numeração, rodapé multilingue)…

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

## Apresentação

O dfproforma automatiza a geração de faturas proforma no PrestaShop 8. Assim que uma encomenda atinge um estado configurado, o módulo cria um PDF personalizado (logótipo, numeração, rodapé multilingue) e disponibiliza-o ao cliente a partir da sua área de conta. A geração manual a partir da ficha da encomenda continua disponível a qualquer momento.

**Caso de utilização principal:** contextos B2B em que o cliente precisa de obter uma proforma antes de confirmar o pagamento ou de mandar validar uma despesa internamente.

**Nota fiscal para Portugal:** a proforma gerada por este módulo é um documento comercial sem valor fiscal. Não substitui a fatura emitida por software certificado pela AT (com ATCUD e código QR) nem é comunicada ao e-Fatura. Use-a como orçamento ou pedido de pagamento antecipado, e emita a fatura definitiva no seu software de faturação certificado.

## Instalação

1. No back-office PrestaShop, vá a **Módulos > Gestor de módulos**.
2. Clique em **Carregar um módulo** e selecione o ficheiro `dfproforma.zip`.
3. Clique em **Instalar**. As tabelas SQL são criadas automaticamente.
4. O módulo aparece na lista com o nome _Proforma Invoice Generator_.

Compatibilidade: PrestaShop 8.0 a 8.x, PHP 7.4 a 8.3, multiloja.

## Configuração geral

Aceda à configuração através de **Módulos > Gestor de módulos > dfproforma > Configurar**.

### Estados de ativação

Marque os estados de encomenda que devem desencadear a geração automática da proforma. Assim que uma encomenda passa a um destes estados, o PDF é criado e guardado no servidor.

Recomendação: ativar no estado _Pagamento aceite_ para os fluxos padrão, ou em _À espera de pagamento_ para os contextos B2B (a proforma precede o pagamento).

### Logótipo do PDF

Carregue um logótipo dedicado às proformas (formatos aceites: PNG, JPG). Se este campo ficar vazio, é usado o logótipo da loja por defeito.

### Anexo de e-mail

Ative a opção **Anexar a proforma aos e-mails de confirmação** para que o PDF seja automaticamente anexado aos e-mails de encomenda (`order_conf`, `bankwire`, `cheque`, `payment`).

## Numeração das proformas

A numeração é configurável por idioma instalado. Para cada idioma:

- **Prefixo**: texto acrescentado antes do número (ex. `PROFORMA`, `PRO`).
- **Número inicial**: inteiro a partir do qual o contador começa (ex. `1` ou `1000`).
- **Número de algarismos**: comprimento do contador com zeros de preenchimento (ex. `6` → `000001`).

Exemplo: prefixo `PROFORMA`, início `1`, 6 algarismos → primeira proforma numerada `PROFORMA-000001`.

Em multiloja, a numeração é isolada por loja: a chave composta `proforma_number + id_shop` garante a unicidade sem duplicados entre lojas.

### Rodapé do PDF

Introduza o texto de rodapé para cada idioma ativo. Este texto aparece no fundo de cada proforma gerada no idioma correspondente. É o local indicado para a menção « Documento sem valor fiscal. Não serve de fatura. »

## Geração manual a partir do back-office

Em cada ficha de encomenda, um cartão **Fatura proforma** aparece no painel lateral:

- Se existir uma proforma: ligação de descarregamento direto do PDF.
- Se não existir nenhuma proforma: botão **Gerar a proforma** para a criar imediatamente, qualquer que seja o estado da encomenda.

## Descarregamento pelo cliente

O cliente acede às suas proformas a partir da sua área de conta:

- **Página de detalhe da encomenda**: um botão _Descarregar a proforma_ aparece diretamente sob as informações da encomenda.
- **Histórico de encomendas**: as ligações para a proforma são integradas via JavaScript sem pedido AJAX adicional (acrescentado na v1.0.2).

O acesso é protegido pela chave segura da encomenda (`secure_key`): um cliente só pode descarregar as suas próprias proformas.

## Estrutura do PDF

Cada proforma gerada contém:

- Número da proforma (segundo a numeração configurada)
- Data de geração
- Logótipo da loja (ou logótipo personalizado)
- Dados da loja e do comprador
- Tabela dos produtos com quantidades e preços unitários sem e com IVA
- Totais (sem IVA, IVA, com IVA, portes)
- Rodapé personalizado no idioma da encomenda

## Multiloja

O dfproforma é nativamente compatível com o modo multiloja do PrestaShop 8:

- A configuração (estados, logótipo, numeração, rodapé) é independente por loja.
- Os ficheiros PDF são guardados numa pasta separada por loja.
- A numeração é única por combinação número + loja.

## Desinstalação

A desinstalação elimina a tabela SQL `df_proforma` e todas as chaves de configuração com o prefixo `DFPROFORMA_`. Os ficheiros PDF já gerados são conservados no servidor.

## Changelog

- **v1.0.2**: integração no histórico de encomendas através do hook `actionFrontControllerSetMedia`; apresentação das ligações sem AJAX adicional.
- **v1.0.1**: correções menores de estabilidade.
- **v1.0.0**: versão inicial: geração por estado, PDF personalizável, anexo de e-mail, descarregamento pelo cliente.
