# ETL Supabase - Upload + Base enriquecida

## Esta batendo com o que precisamos?

Sim. O projeto cobre o fluxo combinado:

- **Subir as bases**: Upload em lote (ate 40 arquivos). Deteccao automatica: Pedidos, Produtos, Clientes.
- **Clientes em 20 partes**: Os 20 arquivos de clientes vao para a mesma tabela `clientes` (base unificada).
- **Cruzar para enriquecer**: SKU com Produtos; single_id com Clientes.
- **1 tabela cruzando todas**: View `pedidos_enriquecida` (Pedidos x Produtos x Clientes). Botao "Criar/atualizar view pedidos_enriquecida" ou POST /setup-enriquecida.
- **Pedidos trocado diariamente**: Checkbox "Substituir pedidos (troca diaria)" - esvazia a tabela pedidos antes de inserir o arquivo do dia.

## Fluxo

1. Subir Clientes (as 20 partes), Produtos e Pedidos.
2. Clicar em "Criar/atualizar view pedidos_enriquecida".
3. Para troca diaria: marcar "Substituir pedidos" e enviar o novo arquivo de pedidos.

## Cruzamento

- Pedidos x Produtos: pedidos.sku = produtos.sku
- Pedidos x Clientes: pedidos.single_id = clientes.single_id

## API

**Na Vercel** (rotas nativas, evita 404):

- POST /api/upload (files; opcional replace_pedidos=true)
- POST /api/setup_enriquecida (cria view pedidos_enriquecida)
- GET /api/health

**Local** (uvicorn main:app): /upload, /setup-enriquecida, /health. O index.html na raiz usa /api/* para funcionar igual na Vercel.
