Saltar al contenido principal

Datos Financieros

Ozzie almacena datos financieros en dos niveles de granularidad. Entender la diferencia es clave para construir integraciones precisas.

Dos niveles: agregado y granular​

Intake Mensual (agregado) Transacciones (granular)
───────────────────────── ──────────────────────────
monthly_income: $5.000 2024-01-03 Supermercado $45
monthly_expenses: $3.200 2024-01-05 Gasolina $60
financial_goal: "savings" 2024-01-08 Netflix $15
2024-01-12 Almuerzo $18
...

El intake mensual es el snapshot macro — la "visión general" que impulsa la generación del plan. Lo envías una vez (y lo actualizas cuando cambia la situación del usuario). Le dice a Ozzie cuánto margen tiene el usuario para trabajar cada mes.

Las transacciones son el nivel micro — eventos individuales de gastos e ingresos que construyen un panorama real de gastos a lo largo del tiempo. Son analizadas desde lenguaje natural, imágenes, PDFs o hojas de cálculo usando GPT-4o.

Cómo funcionan juntos​

RolTipo de datoUsado para
GeneraciĂłn del planIntake mensualCalcular cronograma, asignaciones, elementos de acciĂłn
Insight y coachingTransaccionesTendencias de gasto, desglose por categorĂ­as, detecciĂłn de anomalĂ­as
Seguimiento de metasAmbosProgreso = ahorro/pago de deuda real vs. objetivo del plan
Contexto del chatAmbosEl coach de IA ve ambos al responder preguntas

El intake establece el plan. Las transacciones revelan la realidad. Ozzie los compara para generar retroalimentaciĂłn significativa.

Inmutabilidad e historial​

Los snapshots de intake mensual nunca se sobrescriben. Cada POST /financial-intake crea un nuevo registro. El snapshot más reciente siempre se usa para cálculos del plan. Esto proporciona un historial completo de cómo cambió la situación financiera del usuario a lo largo del tiempo.

Manejo de moneda​

Ozzie almacena la moneda por transacción (código ISO 4217: USD, BRL, EUR, etc.) inferida de la entrada por GPT-4o. El intake mensual no tiene un campo de moneda explícito — se asume que está en la moneda local del usuario. Si tu producto atiende múltiples monedas, incluye contexto de moneda en la entrada de texto (ej: "gasté $45 en el supermercado").

Lo que esto significa para tu integración​

  • Llama a POST /financial-intake una vez durante el onboarding, luego actualĂ­zalo cuando el perfil de ingresos o gastos del usuario cambie significativamente.
  • Llama a POST /transactions continuamente — cada vez que un usuario envĂ­e un gasto, suba un recibo o envĂ­e un mensaje por WhatsApp.
  • Cuantas más transacciones, más ricos los insights de coaching.

→ Ver Referencia de la API de Intake Financiero y Referencia de la API de Transacciones