# 📝 Configuração de Campos Livres para Despesas

## 🎯 Objetivo
Permitir que os campos "Tipo de Despesa" e "Fornecedor" sejam campos de texto livre, onde você pode digitar qualquer nome sem precisar cadastrar previamente.

## 🔧 Passo a Passo

### 1. Adicionar Colunas no Supabase Dashboard

Acesse o **Supabase Dashboard** → **Table Editor** → **despesas** e adicione as seguintes colunas:

#### Coluna: `tipo_nome`
- **Nome:** `tipo_nome`
- **Tipo:** `text`
- **Nullable:** ✅ Sim
- **Default:** (vazio)

#### Coluna: `fornecedor_nome`
- **Nome:** `fornecedor_nome`
- **Tipo:** `text`
- **Nullable:** ✅ Sim
- **Default:** (vazio)

### 2. SQL Alternativo (se preferir)

Se preferir executar via SQL Editor no Supabase:

```sql
-- Adicionar colunas de texto livre
ALTER TABLE despesas ADD COLUMN IF NOT EXISTS tipo_nome TEXT;
ALTER TABLE despesas ADD COLUMN IF NOT EXISTS fornecedor_nome TEXT;

-- Migrar dados existentes (opcional)
UPDATE despesas 
SET tipo_nome = (
    SELECT nome FROM tipos_despesas 
    WHERE tipos_despesas.id = despesas.tipo_despesa_id
)
WHERE tipo_despesa_id IS NOT NULL AND tipo_nome IS NULL;

UPDATE despesas 
SET fornecedor_nome = (
    SELECT razao_social FROM fornecedores 
    WHERE fornecedores.id = despesas.fornecedor_id
)
WHERE fornecedor_id IS NOT NULL AND fornecedor_nome IS NULL;

-- Criar índices para performance
CREATE INDEX IF NOT EXISTS idx_despesas_tipo_nome ON despesas(tipo_nome);
CREATE INDEX IF NOT EXISTS idx_despesas_fornecedor_nome ON despesas(fornecedor_nome);
```

## ✅ Verificação

Após adicionar as colunas, teste criando uma nova despesa:

1. Vá para **Despesas** → **Nova Despesa**
2. Digite qualquer nome no campo **Tipo de Despesa** (ex: "Manutenção do Ar")
3. Digite qualquer nome no campo **Fornecedor** (ex: "João Técnico")
4. Preencha os outros campos e salve

## 🎉 Resultado

Agora você pode:
- ✅ Digitar qualquer tipo de despesa sem cadastrar previamente
- ✅ Digitar qualquer fornecedor sem cadastrar previamente
- ✅ Ter total liberdade nos nomes
- ✅ Continuar usando a interface normalmente

## 🔄 Status da Implementação

- ✅ **Frontend:** Campos alterados para input de texto livre
- ✅ **Backend:** APIs atualizadas para aceitar texto livre
- ⏳ **Banco:** Aguardando adição das colunas (manual)

## 📞 Suporte

Após adicionar as colunas, o sistema funcionará automaticamente. Se houver algum problema, verifique se:
1. As colunas foram criadas corretamente
2. O servidor foi reiniciado
3. Não há erros no console do navegador
