Transacciones generales (Diario)
Requisitos previos de acceso
- Permiso (módulo):
viewGeneralJournal - Licencia/Feature: Ninguna
- Contenedor del menú: GENERAL → grupo Diarios de transacciones → Transacciones generales (
/general-journal)
Qué es / cuándo usar
Es el libro mayor consolidado de las transacciones financieras de los usuarios: cada fila es un asiento (crédito o débito) registrado por el Finance Management Service (FMS). El operador utiliza esta pantalla para auditar movimientos, verificar el flujo de una transacción específica, identificar la moneda transaccionada y abrir el "recibo" completo de un asiento durante atenciones de soporte o conciliaciones.
A diferencia de las pantallas de Operaciones (que ejecutan acciones), el foco aquí es la consulta y trazabilidad — ningún asiento se crea ni se modifica desde esta pantalla.
Requisitos previos
- Permiso:
viewGeneralJournalregistrado para el rol del operador (recordatorio: el permiso es doble — enum CPM en el backend + módulo dinámico en la BD). - Licencia/Feature: ninguna — el ítem aparece en el menú únicamente en función del permiso.
- Dependencias de otras pantallas: Ninguna. Los asientos ya existen en el FMS; esta pantalla solo los lee.
Paso a paso
- Acceda al menú Diarios de transacciones → Transacciones generales.
- El listado carga ya ordenado del más reciente al más antiguo (
DESC, devuelto por el backend). - Use el campo de búsqueda para filtrar por estado de la transacción.
- Use el selector de tipo/moneda para restringir a un token específico (la lista se llena dinámicamente con los tokens del tenant) o déjelo en
all. - Haga clic en el ícono de recibo en la fila para abrir el detalle completo del asiento.
Filtros y columnas
| Filtro / Columna | Qué muestra / hace | Origen del dato |
|---|---|---|
| Búsqueda (estado) | Filtra los asientos por estado de transacción. Texto vacío limpia el filtro. | Parámetro selectedStatus enviado al FMS (getUserTransactionHistoryAdmin). |
| Selector de tipo/moneda | Restringe a un token específico; all trae todos. La lista se arma con los IDs de tokens del tenant. | TokensService.getTokens() + parámetro selectedDepositType. |
Fecha/hora (date) | Fecha y hora del asiento, en el idioma de la sesión. | Campo when del asiento. |
E-mail (name) | E-mail del cliente de origen de la transacción. | customerFromEmail. |
Nombre (identifier) | Nombre del cliente de origen. | customerFromName. |
Tipo (type) | Sentido de la transacción (flujo: acreditado/debitado). | transactionFlow. |
Monto (amount) | Monto total transaccionado. | totalAmount. |
Moneda transaccionada (unitOfMoney) | Unidad monetaria del asiento. | monetaryamount.unitOfMoney. |
| Recibo (acción) | Abre el modal de detalles con el asiento completo (incluida la billetera de destino). | openFullScreenReceipt(element). |
La paginación es del lado del servidor: el cambio de página dispara una nueva consulta al FMS con limit/offset.
Acciones y modales
- Recibo (ícono): abre el modal de detalle del asiento (
DetailsViewComponent), mostrando todos los campos de la transacción seleccionada, inclusive la billetera de destino. Solo lectura.
Reglas de negocio / consideraciones
Atención
- La pantalla viene paginada y ordenada desde el backend (
DESC). La longitud del paginador es estimada (no es el total exacto de registros); navegue por las páginas para recorrer el historial completo. - El filtro de búsqueda actúa sobre el estado, no sobre nombre/e-mail. Para localizar por usuario, prefiera la pantalla de Detalles del usuario o los diarios específicos (Sincronizaciones, Retiros).
- Valores financieros: tratados como BigNumber en el backend (FMS) — sin redondeo; la columna de monto refleja la precisión del token. No tome el número mostrado como definitivo para conciliación contable sin verificar los decimales del token.
- Idempotencia: los asientos pueden tener origen en procesos idempotentes por
externalId. En reintentos, el errorCodeE00021("already processed") significa éxito (transacción ya contabilizada), no fallo — no trate una repetición como un error.