Transacciones
Una transacción es un único evento financiero — un gasto, una compra o un registro de ingreso. Ozzie usa GPT-4o para extraer datos estructurados de transacciones desde lenguaje natural, imágenes, PDFs y hojas de cálculo.
Qué contiene una transacción
| Campo | Tipo | Descripción |
|---|---|---|
id | UUID | Identificador asignado por Ozzie |
amount_cents | entero | Monto en centavos (siempre positivo) |
currency | string | Código ISO 4217 (ej: USD, BRL, EUR) |
category | enum | Categoría de gasto (ver abajo) |
description | string | Etiqueta corta extraída por IA (máx. 60 chars) |
transaction_date | date | AAAA-MM-DD — extraído de la entrada o por defecto hoy |
source | enum | Cómo se envió la transacción |
ai_confidence | float | Puntuación de confianza de la IA de 0,0 a 1,0 |
created_at | datetime | Cuándo Ozzie lo recibió |
Categorías
Ozzie clasifica cada transacción en una de 10 categorías:
| Categoría | Ejemplos |
|---|---|
food | Supermercado, restaurantes, café, delivery |
transport | Gasolina, Uber, bus, estacionamiento, mantenimiento del auto |
housing | Alquiler, hipoteca, reparaciones del hogar |
utilities | Electricidad, internet, agua, factura de teléfono |
health | Médico, farmacia, gimnasio, dentista |
entertainment | Streaming, cine, juegos, conciertos |
education | Cursos, libros, matrícula, útiles escolares |
clothing | Ropa, zapatos, accesorios |
income | Salario, freelance, dividendos, reembolsos |
other | Cualquier cosa que no encaje en las categorías anteriores |
Fuentes de entrada
Las transacciones pueden provenir de 6 fuentes diferentes:
| Fuente | Canal | Formato de entrada |
|---|---|---|
api_text | API directa | Cadena en lenguaje natural |
api_image | API directa | Imagen codificada en base64 (recibo/estado de cuenta) |
api_pdf | API directa | Texto extraído de un PDF |
api_spreadsheet | API directa | Filas CSV como texto plano |
whatsapp_text | Webhook WhatsApp | Texto del mensaje vía Evolution API |
whatsapp_image | Webhook WhatsApp | Foto de recibo vía Evolution API |
Análisis por IA
Cuando envías "Gasté $45 en el supermercado y $5 en café", Ozzie devuelve dos transacciones — no una. GPT-4o extrae cada evento financiero mencionado.
La puntuación ai_confidence indica qué tan segura estaba la IA:
| Puntuación | Significado |
|---|---|
| 0,9 – 1,0 | Alta confianza — monto, categoría y fecha claros |
| 0,7 – 0,89 | Buena — se necesitó alguna inferencia (ej: moneda por contexto) |
| 0,5 – 0,69 | Moderada — entrada ambigua, puede querer confirmar con el usuario |
| < 0,5 | Baja — no se pudo extraer de forma confiable; considera re-preguntar |
Cómo las transacciones alimentan los insights
Cada transacción almacenada alimenta:
- Contexto del chat — el coach de IA sabe que el usuario gastó $X en comida este mes
- Seguimiento del plan — gasto real vs. asignaciones presupuestadas
- Progreso de la meta — ¿el usuario ahorró/pagó lo que decía el plan?
- Tendencias de gasto — desgloses por categoría a lo largo del tiempo (accesible vía
GET /transactions)