# 🔧 CORREÇÃO: Data de Vencimento para Vendas "A Prazo"

## ❌ Problema
Quando criava uma venda "a prazo" com data de vencimento **07/11/2025**, o sistema mostrava a **data de hoje** (18/10/2025) na coluna Vencimento.

---

## ✅ Solução Implementada

### 1. **Banco de Dados - Adicionar Coluna**

A tabela `vendas` precisa ter a coluna `data_vencimento`. Execute este SQL no Supabase:

```sql
-- Adicionar coluna data_vencimento na tabela vendas
ALTER TABLE vendas 
ADD COLUMN IF NOT EXISTS data_vencimento DATE;

-- Comentário da coluna
COMMENT ON COLUMN vendas.data_vencimento IS 'Data de vencimento para vendas a prazo';
```

**Como executar:**
1. Acesse o Supabase Dashboard
2. Vá em **SQL Editor**
3. Cole o código acima
4. Clique em **Run**

---

### 2. **Código Atualizado**

#### Frontend (`/client/src/pages/Vendas.js`):
- ✅ Adicionado campo `data_vencimento` no estado inicial
- ✅ Campo de data separado para vendas "a prazo"
- ✅ Exibição correta na tabela (mostra data_vencimento em vez de data_venda)
- ✅ Badge alterado para "⏳ A Prazo" em vez de "✅ Pago"

#### Backend (`/server-supabase.js`):
- ✅ Recebe campo `data_vencimento` do frontend
- ✅ Salva no banco apenas quando `tipo_pagamento === 'prazo'`
- ✅ Validação incluída

---

## 🎯 Como Funciona Agora

### Criar Venda "A Prazo":

1. Acesse **Vendas** → **Nova Venda**
2. Selecione tipo de pagamento: **"A Prazo"**
3. Aparece campo: **"Data de Vencimento"**
4. Selecione a data desejada (ex: 07/11/2025)
5. Adicione produtos e finalize

### Resultado na Tabela:

| ID Venda | Data | Cliente | Produtos | Parcela/Pagamento | Valor | **Vencimento** | Status |
|----------|------|---------|----------|-------------------|-------|----------------|--------|
| VD... | 18/10/2025 | Tiago | Produto X | A Prazo | R$ 65,24 | **07/11/2025** | ⏳ A Prazo |

---

## 📊 Diferenças por Tipo de Pagamento

### À Vista:
- **Vencimento:** Mostra data da venda
- **Status:** ✅ Pago (verde)
- **Campo:** Não pede data de vencimento

### Parcelado:
- **Vencimento:** Mostra data de cada parcela individual
- **Status:** Varia por parcela (Pendente/Pago)
- **Campo:** Data do 1º vencimento

### A Prazo:
- **Vencimento:** Mostra `data_vencimento` específica
- **Status:** ⏳ A Prazo (amarelo)
- **Campo:** Data de vencimento única

---

## 🧪 Para Testar

1. **Execute o SQL no Supabase** (passo 1 acima)
2. **Reinicie o servidor** (já feito automaticamente)
3. **Crie uma venda "A Prazo":**
   - Tipo: A Prazo
   - Data de Vencimento: 07/11/2025
   - Produto: Qualquer
   - Valor: R$ 65,24

4. **Verifique a tabela:**
   - Coluna "Vencimento" deve mostrar: **07/11/2025** ✅
   - Status deve mostrar: **⏳ A Prazo** ✅

---

## ⚠️ IMPORTANTE

**Execute o SQL no Supabase antes de testar!**

Sem a coluna `data_vencimento` na tabela, o sistema não conseguirá salvar a data.

---

## 📁 Arquivos Modificados

### Frontend:
- `/client/src/pages/Vendas.js`
  - Linha 163: Adicionado `data_vencimento` ao estado
  - Linhas 1482-1493: Campo específico para tipo "prazo"
  - Linhas 1321-1329: Exibição correta na tabela

### Backend:
- `/server-supabase.js`
  - Linha 1614: Recebe `data_vencimento` do frontend
  - Linha 1657: Salva no banco quando tipo = "prazo"

### SQL:
- `/sql/add-data-vencimento-vendas.sql` (NOVO)
  - Script para adicionar coluna ao banco

---

## ✅ Status

- ✅ Frontend atualizado e build gerado
- ✅ Backend atualizado
- ✅ Servidor reiniciado
- ⏳ **Aguardando:** Executar SQL no Supabase

**Após executar o SQL, o sistema estará 100% funcional!**
