General Transactions (Journal)
Access Prerequisites
- Permission (module):
viewGeneralJournal - License/Feature: None
- Menu container: GENERAL → group Transaction Journals → General Transactions (
/general-journal)
What it is / when to use
This is the consolidated ledger of users' financial transactions: each row is an entry (credit or debit) recorded by the Finance Management Service (FMS). Operators use this screen to audit movements, trace the flow of a specific transaction, identify the currency transacted, and open the full "receipt" of an entry during support calls or reconciliations.
Unlike the Operations screens (which execute actions), the focus here is inquiry and traceability — no entry is created or modified from this screen.
Prerequisites
- Permission:
viewGeneralJournalregistered for the operator's role (reminder: permission is dual — CPM enum on the backend + dynamic module in the DB). - License/Feature: none — the menu item appears solely based on the permission.
- Dependencies on other screens: None. The entries already exist in the FMS; this screen only reads them.
Step by step
- Go to the Transaction Journals → General Transactions menu.
- The list loads already sorted from most recent to oldest (
DESC, returned by the backend). - Use the search field to filter by transaction status.
- Use the type/currency selector to restrict to a specific token (the list is populated dynamically with the tenant's tokens) or leave it at
all. - Click the receipt icon on a row to open the full detail of the entry.
Filters and columns
| Filter / Column | What it shows / does | Data source |
|---|---|---|
| Search (status) | Filters entries by transaction status. Empty text clears the filter. | selectedStatus parameter sent to the FMS (getUserTransactionHistoryAdmin). |
| Type/currency selector | Restricts to a specific token; all returns all. The list is built with the tenant's token IDs. | TokensService.getTokens() + selectedDepositType parameter. |
Date/time (date) | Date and time of the entry, in the session language. | when field of the entry. |
E-mail (name) | E-mail of the source customer of the transaction. | customerFromEmail. |
Name (identifier) | Name of the source customer. | customerFromName. |
Type (type) | Direction of the transaction (flow: credited/debited). | transactionFlow. |
Amount (amount) | Total amount transacted. | totalAmount. |
Currency transacted (unitOfMoney) | Monetary unit of the entry. | monetaryamount.unitOfMoney. |
| Receipt (action) | Opens the detail modal with the complete entry (including destination wallet). | openFullScreenReceipt(element). |
Pagination is server-side: changing pages triggers a new query to the FMS with limit/offset.
Actions and modals
- Receipt (icon): opens the entry detail modal (
DetailsViewComponent), displaying all fields of the selected transaction, including the destination wallet. Read-only.
Business rules / notes
Attention
- The screen is paginated and sorted by the backend (
DESC). The paginator length is an estimate (not the exact total number of records); navigate through pages to scan the full history. - The search filter acts on status, not on name/e-mail. To locate by user, prefer the User Details screen or the specific journals (Synchronizations, Withdrawals).
- Financial values: handled as BigNumber in the backend (FMS) — no rounding; the amount column reflects the token's precision. Do not treat the displayed number as definitive for accounting reconciliation without checking the token's decimal places.
- Idempotency: entries may originate from processes that are idempotent by
externalId. On retries, errorCodeE00021("already processed") means success (transaction already recorded), not failure — do not treat a repeat as an error.