9. How to Manage Transactions The Transactions section is designed to view and monitor all transactions that were created in CRM via other modules or automatically. You can do the following: Select the information that will be displayed about the transaction. Change the transaction status. Edit the transaction description (permission-based). Search and filter transactions. View the transaction history. Download a list of transactions in .csv format. By default, the transaction list displays all transaction information, from basic as  Type (In or Out) to advanced as assigned Desk . The Transactions module shows a table of every transaction in your system, with the following columns (possibly to add more): Amount – Positive (green) for inbound, negative (red) for outbound. Type – Direction icon (⤴ for withdrawal, ⤵ for deposit). Project – Linked project (clickable). Account type – The type of account (e.g. Demo, Personal). ID – Internal UUID of the transaction. UID – Auto-incrementing transaction code (e.g. cbtr00002q). Asset ID – Clickable link to the asset record. Account ID – Clickable link to the account. Source email – Remitter’s email (if available). Source – Origin of funds (e.g. External, deposit-source). Beneficiary – Destination tag or account/crypto address. Status – Transaction state (Completed, Processing, etc.). Actions – View full transaction history or edit the transaction (permission-based). To select which transaction information to display: 1. Open the Filters window and click Customize Columns at the top of the Transactions tab. 2. Check the boxes next to the fields you want to be displayed. 3. Click  Save to select columns. You can view additional information on the field values that are highlighted in blue. To do this: 1. Click on the field value in the  Currency column. 2. A drawer with information about the field opens. You can change all transaction statuses, except  Completed and Canceled . Accordingly, you can approve or cancel transactions in Processing , Pending , and other custom statuses. To change the status: 1. Click on the status in the corresponding row. 2. Select a new status from the dropdown. Custom statuses (e.g., “Review,” “Escalated”) appear here too. Warning : After selecting the Completed or Canceled transaction status, the transaction history ends. It is not possible to cancel this action. Edit Transaction Description If your role includes the appropriate permission, you can edit the transaction description. To edit a transaction: Click the Edit icon in the Actions column. A right-side drawer opens. Modify the Description field. Click Save to apply changes. Notes: The Description field is pre-filled with the existing value. Only users with the required permission can see the Edit action. All edits are logged in the transaction history. Core financial data (amount, currency, IDs) cannot be modified. Transaction Visibility & Role-Based Access Transaction visibility is strictly controlled by role permissions and follows the same access logic used in the Clients, Projects, and Desks modules. Access is determined at backend level and cannot be bypassed by frontend filtering. Transaction visibility follows these rules: Clients permissions If a user has View all clients , they can see transactions for all clients. If a user has View own clients , they can only see transactions for clients assigned to them. Projects permissions If a user has View all projects , they can see transactions across all projects. If a user has View own projects , transactions are limited to projects they are assigned to. Desks permissions If a user has View all desks , transactions from all desks are visible. If a user has View own desks , only transactions from assigned desks are shown. Combined Permissions Behavior When permissions are mixed, visibility is calculated as the intersection of allowed scopes. Example : View all projects + View own clients → User sees transactions only for their own clients across all projects. Users without “View all” permissions will never see unrelated transaction data. This behavior ensures: Full compliance with role-based access rules No overexposure of financial data Consistency with other modules To search for a transaction: Type into the Search field located above the Transactions table to live-filter by any visible text field (e.g., ID, asset code, remitter email, amount). Matches substrings, case-insensitive. The Search field works independently from Fast Filters and is not stored in saved filter configurations. Manager Snapshot Persistence Each transaction permanently stores the manager who was assigned to the client at the moment the transaction was created or updated. This ensures historical accountability and prevents retroactive changes if the client’s manager is reassigned later. When the Manager Snapshot Is Applied The manager snapshot logic runs automatically in transaction write operations: On transaction creation On save On findOneAndUpdate On updateOne On any other transaction write path Bulk update operations (updateMany) must explicitly support this logic if used in the codebase. Important Behavior If the client’s manager changes later, previously created transactions retain the original manager value . If a transaction is updated later, the manager field is refreshed from the current client manager. If the client does not exist, the system does not overwrite the existing manager value. If the client exists but has no assigned manager: The system sets manager to null (if following null convention), or preserves existing value (based on platform-wide consistency rules). Performance & Integrity Client lookup uses minimal projection: { manager: 1 } No recursive writes are triggered. No historical transaction records are mutated by later client edits. The manager snapshot is immutable unless the transaction itself is updated. To filter transactions: 1. Click the Filter button. 2. Enter or select from the drop-down list one or more parameters for filtering. Main filters include: Field Type Project dropdown (available projects) Desks dropdown (available desks inside the project) Owner Manager dropdown (name) Owners dropdown (name) Account free-text UUID Asset ID free-text UUID Currency dropdown (e.g., CAD, EUR) Owner dropdown (client name/email) Created Date date-range picker Account Type dropdown (Personal, Demo…) Sub-type dropdown (from integrations) Status dropdown (all statuses) Type dropdown (IN / OUT) Operation Manager free-text 3. Click Apply to apply filters. You can also save selected filters and quickly reuse them the next time you open the Transactions table. To do this: Select the required filters Click Create view Enter the name Click Submit To clear a single filter, hover its field and click ×; to reset all, close and reopen the panel. To view the transaction history: 1. Click the Show transaction history icon in the Actions column in the corresponding row. 2. You will see the logs of the transaction from inception to completion (who took what actions, how and when). A side-drawer lists each state change and user action in chronological order. Tip: You can also jump directly to history from the Transactions module’s own drawer (see next section). Inspect Full Transaction Details Click any Transaction ID cell to open the Transaction Information drawer: General (Currency, Amount, Type IN/OUT, Provider, IDs, Dates, Description) Owner (Client name, email, profile link) Source (Remitter details, External ID, Order ID, Hash, Fees) Destination (Beneficiary, Destination address or account) Use the ☰ chevrons to expand/collapse each section. To export the transactions list in .csv format: Click the CSV icon in the upper-right of the Transactions tab to download every row currently visible (respecting your filters, columns, and pagination) as a comma-separated file. By mastering Columns , Search , Filter , Status , and Drawer controls, you can tailor the Transactions view to any reconciliation, audit, or support workflow—then export or update statuses in just a few clicks.