# Pedido de Orçamento B2B: guia completo

> Apresentação O módulo Pedido de Orçamento B2B (dfb2bquote) acrescenta um verdadeiro circuito de venda por orçamento à sua loja PrestaShop. Um botão «Orçamento» substitui ou complementa a adição ao carrinho:…

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

## Apresentação

O módulo **Pedido de Orçamento B2B** (`dfb2bquote`) acrescenta um verdadeiro circuito de venda por orçamento à sua loja PrestaShop. Um botão **«Orçamento»** substitui ou complementa a adição ao carrinho: os seus clientes profissionais compõem o seu pedido num **carrinho de orçamento dedicado**, enviam-no, e a loja retoma o controlo no back-office para **negociar os preços linha a linha**, aplicar um desconto, fixar uma validade e gerar um **PDF** no estilo da sua loja. Uma vez o orçamento aceite pelo cliente, um clique **converte-o numa encomenda real** com os preços negociados fixados.

Pensado para o B2B e a venda à medida: grossistas, fornecimentos profissionais, grandes volumes, produtos configuráveis. O percurso de compra clássico dos seus clientes particulares permanece intacto: o botão Orçamento pode substituir a compra, ou simplesmente juntar-se ao lado.

**Adaptação para Portugal:** os e-mails do módulo são fornecidos em francês e inglês; crie a pasta `mails/pt/` a partir da versão inglesa e traduza os sete estados em **Internacional → Traduções**. O PDF de orçamento gerado pelo módulo é um documento comercial sem valor fiscal: a fatura final continua a ser emitida pelo seu software certificado pela AT após a conversão em encomenda.

## Compatibilidade

- PrestaShop 8.0 a 9.x
- PHP 7.4 a 8.3
- Loja única e multiloja
- Multilingue (estados traduzidos, e-mails fornecidos em FR e EN)
- Tema Classic e temas personalizados (o botão é injetado mesmo que o tema não chame o hook)
- Nenhuma dependência (nem Composer nem framework)

## Instalação

1. No back-office, abra **Módulos > Gestor de módulos**.
2. Clique em **Instalar um módulo** e selecione o ficheiro `dfb2bquote.zip`.
3. Uma vez instalado, clique em **Configurar**.

Na instalação, o módulo cria as suas tabelas (orçamentos, linhas, estados, carrinho de orçamento, histórico), inicializa os **sete estados** por defeito, regista os seus hooks (página de produto, cabeçalho, área de cliente, autenticação) e adiciona o separador **Orçamentos** em _Encomendas_ no menu de administração. Aparece uma ligação **Os meus orçamentos** na área de cliente.

## Configuração

### Botão e apresentação

- **Ativar o módulo**: ativa ou desativa todo o circuito de orçamento do lado do front-office.
- **Modo do botão**: _Substituição_ (o botão Orçamento toma o lugar da adição ao carrinho, para uma loja 100% por orçamento) ou _Complemento_ (o botão junta-se ao lado da compra clássica, para servir ao mesmo tempo B2C e B2B).
- **Etiqueta do botão**: texto apresentado no botão («Orçamento», «Pedir um preço»…).
- **Ocultar os preços**: oculta os preços de catálogo do lado do front-office, para uma lógica inteiramente por orçamento.
- **Grupos de clientes**: deixe vazio para mostrar o botão a toda a gente, ou selecione os grupos (por exemplo os seus grupos profissionais) para o reservar ao B2B.

### Pedido e regras

- **Permitir convidados**: permite a um visitante sem sessão iniciada submeter um pedido preenchendo os seus dados (nome, e-mail, empresa, telefone). Desative para só aceitar clientes com sessão iniciada.
- **Montante mínimo**: limiar sem IVA exigido para poder submeter um pedido.
- **Validade (dias)**: duração de validade aplicada por defeito aos orçamentos.
- **Mostrar a ligação «Os meus orçamentos»**: mostra o indicador de orçamento e a ligação de acesso no cabeçalho.

### Conversão e documentos

- **E-mail do administrador**: endereço que recebe a notificação a cada novo pedido.
- **Estado de encomenda na conversão**: estado aplicado à encomenda gerada na conversão de um orçamento aceite.
- **Condições (CGV)**: texto apresentado no fundo do PDF de orçamento.

## Utilização: do lado do cliente

### Pedir um orçamento

Na página de produto e nas listagens, o cliente clica no botão **Orçamento**. O produto (e a sua combinação) é adicionado ao seu **carrinho de orçamento**, independente do carrinho de compra. Um indicador «O meu orçamento» atualiza-se no cabeçalho.

### O carrinho de orçamento

Na página do carrinho de orçamento, o cliente ajusta as quantidades, retira linhas, acrescenta uma mensagem e submete depois o seu pedido. Se não tiver sessão iniciada e o modo convidado estiver autorizado, preenche os seus dados. Na submissão, o orçamento é criado no estado **Novo pedido** e é enviada uma notificação à sua equipa.

O carrinho de orçamento está associado à sessão do visitante e **persiste entre páginas**. No início de sessão, um carrinho constituído como convidado é automaticamente **transferido** para a conta de cliente.

### A área «Os meus orçamentos»

A partir da sua conta, o cliente encontra a lista dos seus orçamentos com o seu estado. No detalhe de um orçamento, consulta as linhas e os totais, **transfere o PDF** e, quando o orçamento lhe foi enviado, pode **aceitá-lo** ou **recusá-lo**. Um convidado acede ao seu orçamento através de uma ligação protegida por chave única.

## Utilização: back-office

### Lista dos orçamentos

O separador **Orçamentos** (em _Encomendas_) lista todos os pedidos com a sua referência, o cliente, um emblema de estado colorido, o total sem IVA e a data. Um clique abre o ecrã de gestão.

### Negociar o orçamento

No ecrã de detalhe, para cada linha, o **preço de catálogo** é recordado e introduz o **preço negociado sem IVA**. Pode também:

- aplicar um **desconto global** em montante sem IVA ou em percentagem;
- acrescentar **portes indicativos**;
- introduzir uma **mensagem destinada ao cliente**;
- fixar ou ajustar a **data de validade**.

### Estado e notificação

Muda o **estado** do orçamento e, assinalando **Notificar o cliente**, aciona o envio de um e-mail. Passe o orçamento a **Orçamento enviado** para que o cliente o possa aceitar a partir da sua área. Todo o histórico dos estados é conservado, com carimbo temporal.

### Converter em encomenda

Quando o orçamento está **Aceite**, aparece o botão **Converter em encomenda**. A conversão cria um carrinho, aplica cada preço negociado através de um `SpecificPrice` associado a esse carrinho, acrescenta o eventual desconto global através de uma regra de carrinho (`CartRule`), e cria depois a encomenda através de `validateOrder` com o estado configurado.

Os preços específicos e as regras temporárias são **limpos automaticamente** após a criação da encomenda: o seu catálogo nunca é modificado, e a encomenda tem exatamente os montantes negociados.

## Os estados de orçamento

- **Novo pedido**: orçamento recebido, a tratar.
- **Em curso**: em preparação do lado da loja.
- **Orçamento enviado**: transmitido ao cliente, que o pode aceitar ou recusar.
- **Aceite**: validado pelo cliente, pronto a converter em encomenda.
- **Recusado**: declinado pelo cliente.
- **Expirado**: data de validade ultrapassada.
- **Convertido em encomenda**: transformado em encomenda real.

## FAQ e resolução de problemas

### O botão «Orçamento» não aparece

Verifique que o módulo está ativo, que o visitante pertence a um grupo autorizado (se restringiu a apresentação), e esvazie a cache do PrestaShop. O módulo sabe injetar o botão mesmo que o seu tema não chame o hook da página de produto; no caso de um tema muito personalizado, verifique a presença do contentor de compra.

### Página em branco ou erro «JSON inválido» na adição

Esvazie a cache (Parâmetros avançados > Desempenho) e, durante os seus testes, desative a combinação/compressão dos ficheiros (CCC). As respostas AJAX do módulo são JSON estrito, devolvido diretamente para se manter compatível com o PrestaShop 9.

### Os preços não são ocultados

Ative a opção **Ocultar os preços**. Consoante o seu tema, alguns locais de preço muito específicos podem exigir um ajuste; o módulo oculta os locais padrão do PrestaShop.

### O cliente não consegue aceitar o seu orçamento

A aceitação e a recusa só são possíveis quando o orçamento está no estado **Orçamento enviado**. Passe o orçamento a esse estado a partir do back-office.

### Os e-mails não são recebidos

Verifique o endereço indicado em **E-mail do administrador** e a configuração de e-mail do PrestaShop (Parâmetros avançados > E-mail). Os modelos são fornecidos em francês e em inglês e continuam personalizáveis.

### É compatível com PrestaShop 9 e multiloja?

Sim. O módulo é compatível com PrestaShop 8 e 9, tanto em loja única como em multiloja. Os orçamentos estão associados à loja e ao idioma do cliente.
