10 Módulo de inversiones / patrimonio (diseño preliminar) #27

Open
opened 2026-07-28 11:43:41 +00:00 by jkuijperm · 0 comments
Owner

Módulo de inversiones / patrimonio (diseño preliminar)

Idea de gran alcance para más adelante. Este documento recoge las decisiones de
diseño razonadas durante la fase de ideación, para no perder el contexto. No es
para implementar ya
; es la base para cuando se retome.


Dos ideas relacionadas pero distintas

Surgieron juntas pero conviene separarlas:

Idea A — Clasificar el tipo de gasto (fijo / variable)

No es de inversiones, es de análisis de gastos: etiquetar cada gasto o categoría
como "fijo" (alquiler, seguros, suscripciones) o "variable" (ocio, caprichos), para
ver qué parte del dinero es comprometida y qué parte flexible.

  • Esfuerzo: 🟢/🟡 — probablemente un atributo nuevo en Category (p. ej.
    expense_type) + mostrarlo/agruparlo en el dashboard.
  • Es independiente del módulo de inversiones; se puede hacer antes y por separado.

Idea B — Módulo de patrimonio / inversiones

Lo grande y nuevo. El resto de este documento va sobre esto.


Alcance elegido

Tipos de inversión a registrar (los cuatro):

  • Cuentas remuneradas / depósitos — valor estable, crece por intereses.
  • Acciones / fondos — unidades × precio que fluctúa.
  • Cripto — unidades × precio que fluctúa.
  • Inmuebles / otros bienes — valor actualizado a mano.

Qué se quiere VER: todo — valor total actual (patrimonio), ganancia/pérdida
respecto a lo aportado, evolución en el tiempo (gráficos), e integración con el
saldo global
de la app.

Actualización de precios: mezcla — cripto/acciones automático, lo demás manual.


Decisión de modelado clave

Los cuatro tipos se comportan distinto, pero comparten un patrón:
una inversión tiene coste (lo aportado), valoración (lo que vale ahora) y,
en algunos casos, unidades. La diferencia coste↔valoración es la
plusvalía/minusvalía.

Esto es justo lo que el modelo Account actual NO captura, y por lo que las cuentas
remuneradas se quedan cortas hoy (se registran como una cuenta más y se les mete la
ganancia a fin de mes: sirve para el saldo, no para distinguir aportación de
rendimiento ni para valores que fluctúan solos).

Diseño sugerido (a concretar): un modelo tipo Investment (o Asset) con:

  • kind (remunerada / acción / fondo / cripto / inmueble / otro)
  • units (nullable — solo acciones/cripto/fondos)
  • current_price / current_value según tipo
  • coste acumulado de aportaciones
  • forma de actualización (manual / automática)

Probablemente un modelo de aportaciones/movimientos de la inversión (para
distinguir "he metido más dinero" de "ha subido de precio"). Esto conecta con la
nota que quedó en Goal: el tipo "ahorro" hoy se mide con el saldo de la cuenta
asociada, y es la rama a sustituir cuando exista este módulo.


Precios automáticos — aviso de realidad

"Automático" = la app llama a APIs externas de cotizaciones.

  • Cripto: relativamente fácil, hay APIs gratuitas y abiertas.
  • Acciones/fondos: más difícil; las buenas APIs suelen ser de pago o muy
    limitadas.

Recomendación: diseñar el modelo para que el precio se pueda actualizar manual O
automáticamente desde el principio, pero implementar primero el manual (siempre
funciona) y añadir el automático como capa posterior, empezando por cripto. Así
hay algo funcionando pronto sin bloquearse en integraciones externas ni claves de API.


Integración con el saldo global

Es lo que convierte la app de "gestor de gastos" en "gestor de patrimonio".

Decisión de fondo a tomar: ¿el patrimonio invertido suma al mismo número que el
dinero en cuentas, o son dos vistas separadas ("líquido" vs "invertido")?

  • Enfoque recomendado (el de la mayoría de apps buenas): mantener ambos conceptos
    separados
    (dinero disponible vs invertido) pero poder verlos sumados en un
    total de patrimonio neto. Evita confundir "dinero que puedo gastar hoy" con "valor
    de cosas que tendría que vender primero".

Sugerencia de orden de implementación

  1. Modelo base Investment + registro/valoración manual de los cuatro tipos.
  2. Cálculo de plusvalía (coste vs valoración) y vista de patrimonio total.
  3. Integración con el saldo global (líquido vs invertido vs neto).
  4. Gráficos de evolución en el tiempo.
  5. Precios automáticos, empezando por cripto, luego (si compensa) acciones.
  6. Enganchar el objetivo tipo "ahorro" de Goal a este módulo (sustituir la
    medición provisional por saldo de cuenta).

La Idea A (fijo/variable) puede ir en cualquier momento, es independiente.

# Módulo de inversiones / patrimonio (diseño preliminar) Idea de gran alcance para más adelante. Este documento recoge las decisiones de diseño razonadas durante la fase de ideación, para no perder el contexto. **No es para implementar ya**; es la base para cuando se retome. --- ## Dos ideas relacionadas pero distintas Surgieron juntas pero conviene separarlas: ### Idea A — Clasificar el tipo de gasto (fijo / variable) No es de inversiones, es de **análisis de gastos**: etiquetar cada gasto o categoría como "fijo" (alquiler, seguros, suscripciones) o "variable" (ocio, caprichos), para ver qué parte del dinero es comprometida y qué parte flexible. - Esfuerzo: 🟢/🟡 — probablemente un atributo nuevo en `Category` (p. ej. `expense_type`) + mostrarlo/agruparlo en el dashboard. - Es independiente del módulo de inversiones; se puede hacer antes y por separado. ### Idea B — Módulo de patrimonio / inversiones Lo grande y nuevo. El resto de este documento va sobre esto. --- ## Alcance elegido Tipos de inversión a registrar (los cuatro): - **Cuentas remuneradas / depósitos** — valor estable, crece por intereses. - **Acciones / fondos** — unidades × precio que fluctúa. - **Cripto** — unidades × precio que fluctúa. - **Inmuebles / otros bienes** — valor actualizado a mano. Qué se quiere VER: **todo** — valor total actual (patrimonio), ganancia/pérdida respecto a lo aportado, evolución en el tiempo (gráficos), e **integración con el saldo global** de la app. Actualización de precios: **mezcla** — cripto/acciones automático, lo demás manual. --- ## Decisión de modelado clave Los cuatro tipos se comportan distinto, pero comparten un patrón: una inversión tiene **coste** (lo aportado), **valoración** (lo que vale ahora) y, en algunos casos, **unidades**. La diferencia coste↔valoración es la plusvalía/minusvalía. Esto es justo lo que el modelo `Account` actual NO captura, y por lo que las cuentas remuneradas se quedan cortas hoy (se registran como una cuenta más y se les mete la ganancia a fin de mes: sirve para el saldo, no para distinguir aportación de rendimiento ni para valores que fluctúan solos). Diseño sugerido (a concretar): un modelo tipo `Investment` (o `Asset`) con: - `kind` (remunerada / acción / fondo / cripto / inmueble / otro) - `units` (nullable — solo acciones/cripto/fondos) - `current_price` / `current_value` según tipo - coste acumulado de aportaciones - forma de actualización (manual / automática) Probablemente un modelo de **aportaciones/movimientos** de la inversión (para distinguir "he metido más dinero" de "ha subido de precio"). Esto conecta con la nota que quedó en `Goal`: el tipo "ahorro" hoy se mide con el saldo de la cuenta asociada, y es la rama a sustituir cuando exista este módulo. --- ## Precios automáticos — aviso de realidad "Automático" = la app llama a APIs externas de cotizaciones. - **Cripto**: relativamente fácil, hay APIs gratuitas y abiertas. - **Acciones/fondos**: más difícil; las buenas APIs suelen ser de pago o muy limitadas. **Recomendación:** diseñar el modelo para que el precio se pueda actualizar manual O automáticamente desde el principio, pero **implementar primero el manual** (siempre funciona) y añadir el automático como capa posterior, **empezando por cripto**. Así hay algo funcionando pronto sin bloquearse en integraciones externas ni claves de API. --- ## Integración con el saldo global Es lo que convierte la app de "gestor de gastos" en "gestor de patrimonio". Decisión de fondo a tomar: ¿el patrimonio invertido suma al mismo número que el dinero en cuentas, o son dos vistas separadas ("líquido" vs "invertido")? - Enfoque recomendado (el de la mayoría de apps buenas): **mantener ambos conceptos separados** (dinero disponible vs invertido) pero poder verlos **sumados** en un total de patrimonio neto. Evita confundir "dinero que puedo gastar hoy" con "valor de cosas que tendría que vender primero". --- ## Sugerencia de orden de implementación 1. Modelo base `Investment` + registro/valoración **manual** de los cuatro tipos. 2. Cálculo de plusvalía (coste vs valoración) y vista de patrimonio total. 3. Integración con el saldo global (líquido vs invertido vs neto). 4. Gráficos de evolución en el tiempo. 5. Precios **automáticos**, empezando por cripto, luego (si compensa) acciones. 6. Enganchar el objetivo tipo "ahorro" de `Goal` a este módulo (sustituir la medición provisional por saldo de cuenta). La Idea A (fijo/variable) puede ir en cualquier momento, es independiente.
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: jkuijperm/expenses_manager#27
No description provided.