Saldos (Dashboard)
Requisitos previos de acceso
- Permiso (módulo):
manageCorporateAccount - Licencia/Feature: Ninguna para el panel principal; la pestaña Crowdfunding solo carga si la feature
CROWDFUNDINGestá habilitada en la licencia del tenant. - Contenedor del menú: GENERAL → grupo Dashboard
Qué es / cuándo usar
Panel analítico (solo lectura, ruta /dashboard-balances) que consolida los saldos custodiados en la plataforma, separados en cinco pestañas: General, Crypto, Tokenización, Inversiones y Crowdfunding. Es la vista de "cuánto custodia la casa" por clase de activo — cantidad de tenedores, total en activos y movimiento mensual. Úselo para conciliación ejecutiva y seguimiento patrimonial.
Requisitos previos
- Permiso:
manageCorporateAccounten el rol (permiso doble — enum CPM + módulo en la BD). - Licencia/Feature: la pestaña Crowdfunding depende de la feature
CROWDFUNDING(verificada en tiempo de ejecución medianteFeaturesStatusService). Si está deshabilitada, los datos de crowdfunding no se consultan. - Dependencias de otras pantallas: los datos provienen de tres servicios distintos (
TokensService.getGeneralCryptoBalances,OrderService.getAllQuotations,StoreService.getCrowdfundingBalances) — es decir, BSM/OBS + Crowdfunding.
Cómo se ensambla el panel
Una única pantalla con pestañas locales (categoryList = ['general','crypto','tokenization','investment','crowdfunding']). Al abrirse, el panel carga en paralelo los saldos generales de crypto/token/inversión y las cotizaciones; luego, si CROWDFUNDING está activo, consulta los saldos de crowdfunding y recompone las estadísticas. Cambiar de pestaña (setCurrentCategory) solo alterna el componente mostrado — no vuelve a consultar los datos.
| Pestaña | Contenido | Detalle |
|---|---|---|
| General | Consolidado de todas las clases de activos | Tarjetas Crypto/Tokenización/Inversiones/Crowdfunding y gráficos comparativos |
| Crypto | Saldos de criptoactivos | Tenedores, total en token, total en fiat, movimiento mensual |
| Tokenización | Saldos de tokens emitidos | Tenedores, total, fiat, movimiento |
| Inversiones | Cuotas de inversión (staking) | Tenedores, total, fiat, movimiento |
| Crowdfunding | Cuotas de crowdfunding | Tenedores (público/privado/extranjeros), total, movimiento por inversión |
Reglas de negocio / consideraciones
Atención
- La conversión a fiat usa la cotización en USD. El panel multiplica el saldo en token por la cotización correspondiente (
amountUsd) obtenida degetAllQuotations. Si no existe una cotización para un activo, el multiplicador cae a 1 — el "total en fiat" de ese activo queda igual al total en unidades, lo que puede distorsionar el consolidado. Cruce siempre con las cotizaciones vigentes. - El saldo nunca debe leerse como cero por defecto. El panel muestra un spinner mientras carga y una página de error ante fallos; un valor ausente es un estado de carga/error, no un saldo real igual a cero.
- Crowdfunding solo aparece con la feature habilitada. En tenants sin
CROWDFUNDING, la pestaña existe pero no retorna datos.
- Valores financieros: todas las sumatoria se realizan con
BigNumber(multiplicación por cotización y suma de movimientos) — sin redondeo intermedio. Verifique los decimales por activo. - Movimiento mensual considera el
monthlyMovement/balanceByMonthdevuelto por el backend; para crowdfunding, solo cuenta el total del mes en curso.