Skip to content

OrderHistory Criar Fatura

Technical Documenter (Manager) edited this page Aug 20, 2026 · 1 revision

Order History — Criar fatura

Documentação técnica da feature Botão "Criar fatura" no histórico de compras (OrderHistoryPage), entregue em app-community#329 (RC 1.4.20).

Visão e escopo

Item Valor
Issue app-community#329
Módulo principal ui-orders
Rotas / telas /order-history-page (Histórico de compras)
Visões (APP_TYPE) POS / PDV, MANAGER (dispositivo tipo web com modo PDV)
Publicação RC 1.4.20 (ui-orders master @c687275, pin em app-community)

O que faz

Na linha de cada pedido no histórico, ao lado da ação de cancelar, o operador pode abrir um modal "Criar fatura" que:

  1. Reutiliza a lógica existente de criação de fatura + troca/adição de produtos.
  2. Pré-preenche:
    • data de vencimento = hoje
    • status da fatura = pago (editável antes de gravar)
    • wallet e forma de pagamento já selecionados (editáveis)
  3. O valor é derivado dos produtos (não digitável).
  4. Só grava se houver produto(s) e valor > 0.

O que não faz

  • Não substitui o fluxo de checkout/POS completo.
  • Não cria fatura sem produtos/valor.
  • Não altera regras de cobrança no backend; apenas consome APIs/contratos já existentes de invoice.

Arquivos e modularização (pós-rework)

Limite absoluto ≤ 500 linhas por arquivo. Principais pontos tocados no rework task-329:

Arquivo Papel
OrderHistoryPage.js Ação de linha + abertura do modal (≤ 500)
Fluxo de checkout / POS Componentes e hooks reutilizados para o modal de fatura + produtos (Checkout*, usePosCartSession, etc.)
Admin / device config Dispositivo tipo web expõe opção de modo do PDV (ex.: single-item) quando aplicável

Merge de referência: task-329devstagingmaster (RC 1.4.20).

Fluxo resumido

flowchart LR
  A[OrderHistoryPage linha] --> B[Botão Criar fatura]
  B --> C[Modal fatura + produtos]
  C --> D{produtos e valor > 0?}
  D -->|sim| E[Gravar invoice]
  D -->|não| F[Bloqueia gravação]
  E --> G[Histórico / listagem atualizada]
Loading

Critérios de aceite (referência)

  • Botão visível apenas quando o pedido tem produtos/valor.
  • Modal com seção de produtos (reuso) + campos de fatura pré-preenchidos e editáveis (exceto valor).
  • Due date = hoje; status = pago; wallet/payment method pré-selecionados.
  • Dispositivo web no admin permite configurar modo PDV se ainda não existia.
  • Código modularizado e pin do submódulo no app-community alinhado.

Links relacionados

Manutenção

Ao alterar o modal de fatura ou o histórico de pedidos, atualize esta página e mantenha o link na Home do módulo.

Clone this wiki locally