> ## Documentation Index
> Fetch the complete documentation index at: https://docs.brindehub.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Pedidos e orçamentos gerados pelo PDV

> Fluxo de criação de pedidos e orçamentos a partir do PDV

# Pedidos e orçamentos gerados pelo PDV

## Alternar entre modos

No topo do painel lateral há abas que definem o modo de operação:

* **Orçamento** — envia o orçamento por e-mail e notificação WhatsApp.
* **Pedido** — cria o pedido com status inicial de produção.

> **Aviso:** Orçamentos e pedidos usam schemas de validação distintos (`posOrderSchema` e `posEstimateSchema`). Certifique-se de preencher os campos obrigatórios do modo selecionado.

## Criação de pedido

A ação `createPosOrderAction` executa as seguintes etapas:

1. Valida a permissão `orders:create`.
2. Valida o cliente e as variações do carrinho.
3. Recalcula preços com markup tiers do tenant, fornecedor e do produto.
4. Resolve promoções ativas para cada item.
5. Aplica o cupom, se informado.
6. Calcula total, descontos e comissão do vendedor.
7. Insere o pedido com `status = "vectorization"`, `paymentStatus = "pending"` e `shippingStatus = "pending"`.
8. Cria os itens do pedido, salvando preços originais e descontados.
9. Registra o uso do cupom, quando houver.
10. Envia e-mail de criação e notificação WhatsApp.
11. Gera um código no formato `PED-{ANO}-{6 DÍGITOS}`.

## Criação de orçamento

A ação `createPosEstimateAction` segue fluxo semelhante, com as diferenças abaixo:

* Usa a permissão `estimates:create`.
* Insere o orçamento com `status = "pending_review"`.
* Armazena a mensagem do cliente.
* Não possui endereço de entrega, rastreamento nem notas internas.
* Gera um código no formato `ORC-{ANO}-{6 DÍGITOS}`.
* Revalida a rota `/orcamentos`.
* Envia notificação WhatsApp de orçamento criado.

## Campos enviados no formulário

O `PosOrderPanel` envia campos ocultos para a ação correspondente: `customerId`, `lineItemsJson`, `shippingCost`, `discount`, `couponCode`, `customizationPrice`, `productionDays`, `deliveryDays`, e, no modo pedido, `shippingAddressJson`, `trackingCode`, `trackingUrl` e `internalNotes`. No modo orçamento, envia `customerMessage`.

## Após a criação

Ao confirmar, o sistema limpa a sessão do PDV automaticamente e o operador recebe um toast de sucesso.

## Leitura complementar

* [Visão geral do PDV](./index)
* [Usando o PDV](./using-pos)
* [Cliente e valores](./customer-and-payments)
* [Estoque baixo](./low-stock)
