# 🔧 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!**