Transações
Uma transação é um único evento financeiro — uma despesa, uma compra ou um registro de receita. O Ozzie usa GPT-4o para extrair dados estruturados de transações a partir de linguagem natural, imagens, PDFs e planilhas.
O que uma transação contém
| Campo | Tipo | Descrição |
|---|---|---|
id | UUID | Identificador atribuído pelo Ozzie |
amount_cents | inteiro | Valor em centavos (sempre positivo) |
currency | string | Código ISO 4217 (ex: USD, BRL, EUR) |
category | enum | Categoria de gasto (veja abaixo) |
description | string | Rótulo curto extraído pela IA (máx. 60 chars) |
transaction_date | date | AAAA-MM-DD — extraído da entrada ou padrão para hoje |
source | enum | Como a transação foi enviada |
ai_confidence | float | Pontuação de confiança da IA de 0,0 a 1,0 |
created_at | datetime | Quando o Ozzie recebeu |
Categorias
O Ozzie classifica cada transação em uma de 10 categorias:
| Categoria | Exemplos |
|---|---|
food | Supermercado, restaurantes, café, delivery |
transport | Gasolina, Uber, ônibus, estacionamento, manutenção do carro |
housing | Aluguel, hipoteca, reformas |
utilities | Eletricidade, internet, água, conta de telefone |
health | Médico, farmácia, academia, dentista |
entertainment | Streaming, cinema, jogos, shows |
education | Cursos, livros, mensalidade, material escolar |
clothing | Roupas, sapatos, acessórios |
income | Salário, freelance, dividendos, reembolsos |
other | Qualquer coisa que não se encaixe nas categorias acima |
Fontes de entrada
As transações podem vir de 6 fontes diferentes:
| Fonte | Canal | Formato de entrada |
|---|---|---|
api_text | API direta | String em linguagem natural |
api_image | API direta | Imagem codificada em base64 (recibo/extrato) |
api_pdf | API direta | Texto extraído de um PDF |
api_spreadsheet | API direta | Linhas CSV como texto simples |
whatsapp_text | Webhook WhatsApp | Texto da mensagem via Evolution API |
whatsapp_image | Webhook WhatsApp | Foto de recibo via Evolution API |
Análise por IA
Quando você envia "Gastei R$45 no supermercado e R$5 no café", o Ozzie retorna duas transações — não uma. O GPT-4o extrai cada evento financeiro mencionado.
A pontuação ai_confidence informa o quão certo a IA estava:
| Pontuação | Significado |
|---|---|
| 0,9 – 1,0 | Alta confiança — valor, categoria e data claros |
| 0,7 – 0,89 | Boa — alguma inferência foi necessária (ex: moeda pelo contexto) |
| 0,5 – 0,69 | Moderada — entrada ambígua, pode querer confirmar com o usuário |
| < 0,5 | Baixa — não foi possível extrair de forma confiável; considere re-solicitar |
Como as transações alimentam os insights
Toda transação armazenada alimenta:
- Contexto do chat — o coach de IA sabe que o usuário gastou R$X em comida este mês
- Rastreamento do plano — gasto real vs. alocações orçadas
- Progresso da meta — o usuário economizou/pagou o que o plano dizia?
- Tendências de gastos — detalhamentos por categoria ao longo do tempo (acessível via
GET /transactions)