7. How to Manage Accounts

The Accounts module is designed to manage client accounts and is closely integrated with the Clients module. While accounts are visible from client profiles, all core account management actions are performed in the Accounts module.

In this module, you can:

  1. View all accounts in the system (for clients visible to you).

  2. Add new accounts.

  3. Activate and deactivate accounts.

  4. Filter and search for accounts.

  5. Edit account properties and manage related assets and wallets.

You’ll land on a table showing all accounts you have permission to view.

Columns:
Status — Toggle switch (Active / Inactive)
Account ID — System‐generated UUID
UID — System-generated unique identifier
Type — Account type defined in system configuration
External ID — Integrator’s reference (if any)
Project — Linked project
Owner — Client name (clickable). The owner of an account cannot be changed after the account is created.
Created — Timestamp
Actions — Context actions such as adding assets, editing the account, deposits, and withdrawals

When you enter the Accounts module, you'll see a list of all accounts. To view details about the client who owns an account, click on the name in the Owner column of the corresponding row:

To view client details, click the client name in the Owner column. This opens the client’s profile.

To add a new account:

1. Click the Add Account button in the upper-right corner of the Accounts tab.

2. Enter or select the following:
Type: The type of account (e.g., Business, Personal, Crypto, Fiat). If no types are available, go to Core Banking > Configurations to create them.
Owner: The client to whom the account belongs. If no clients are listed, go to the Clients module to create one.
External ID: (Optional) An identifier for linking the account to a third-party platform via API.

3. Click Save. The system generates a unique Account ID (UUID). 

Note: A unique ID is automatically assigned to each account upon creation. Account status can be managed using the Status toggle after creation.

To activate or deactivate an account:

To activate an account, toggle the switch in the Status column of the corresponding row. The switch will turn blue.
Blue (on) = Active
Gray (off) = Inactive
To deactivate the account, toggle the switch again.

To search for an account:

Type the Account ID in the Search field located above the Accounts table.
Press Enter or click the magnifier to filter the list in real time.

To filter accounts:

The Search field operates independently from structured filters. Search terms are not stored in saved filter views.

1. Click Filter next to the search field:

2. Select one or more parameters for filtering:
Created Date: The period during which the account was created. If you know a specific date, set it as the End Date and select a Start Date before that.
Type: The account type, based on the types you’ve set in Configurations.
Owner: The specific client, searchable by email.
Active or Inactive: Filter by account status using the checkbox.

To delete a specific filter, hover over the field and click the x icon.

3. Click Save to apply the filters.

To edit the account, click the Edit icon in the corresponding row of the account.

In the Edit Account tab, you can:
Change the account’s Type.
Enter or update the External ID.

Note: You cannot change the owner of the account.

To view and manage account assets:

1. Click the Expand icon in the corresponding account row to view all assets associated with the account.

2. If you need to add an asset, click the Add Asset icon.

To add an asset:

1. In the Add asset window, select:
Currency: Once selected, its type (fiat or crypto) will be automatically detected.
Balance: The initial balance of the asset.
(For fiat currencies) Address, External ID, and Bank (optional fields). If you are doing integration with a bank, you do not need to specify an address. If there is no integration with the bank, you should specify IBAN in the Address field.
Platform. Non-mandatory field. It is only filled in when integrating with third-party platforms. Read more about platforms in [How to Set Platforms].

2. Click Save to add the asset.

Note: Once added, the asset will need to be activated. Activation can be done in the Assets module.

For cryptocurrencies with several different networks, you can also add wallets.

How to add a wallet:

1. Click the Expand icon in the corresponding account row to view all assets associated with the account.
2. Click on the asset. If the asset is clickable, it will be highlighted in blue.
3. Click the Add button in the upper-right corner.
4. Enter or select from the drop-down list Network and Address.
5. Click Save to apply changes.

Note: You cannot change the network of the wallet.

Account Deletion (Permission-Based with Financial Safety Validation)

In Core Banking, account deletion is strictly controlled to protect financial integrity, audit history, and ledger consistency.

Deletion is permanent and cannot be undone.

Permission Requirement

To delete an account, a role must have:
Accounts → Delete

Location:
Roles → Edit Role → Accounts section → Delete

Behavior:

  1. If the role does not have this permission, the Delete action is not visible in the UI.
  2. Any direct API/backend attempt without permission returns 403 Forbidden.
Where Delete Appears

If permission is granted:

  1. A Delete (trash) icon appears in the Actions column for each account.
  2. The action follows the standard confirmation modal pattern.

On click:

A confirmation modal appears:

Title: Delete Account
Body: This action cannot be undone.

Buttons:
Confirm
Cancel

If confirmed, the backend performs eligibility validation before deletion.

Backend Eligibility Rules (Mandatory)

An account can be deleted only if ALL conditions below are met:

  1. All assets under the account have:
    No linked transactions
    Available balance = 0
    Bonus balance = 0
    On hold balance = 0

  2. The account itself has no additional system constraints (if applicable).

If any asset under the account contains transactions or non-zero balances:

Deletion is rejected.

Example error responses:

  1. Account cannot be deleted: it contains assets with transactions
  2. Account cannot be deleted: it contains assets with balance

Status codes:

  1. 403 — missing permission
  2. 409 — state conflict (financial data exists)

Important: Eligibility is validated server-side at the moment of deletion to prevent race conditions.

After Successful Deletion
If the account meets all eligibility conditions:
  1. The account is permanently removed from the system.
  2. It disappears from the Accounts table immediately.
  3. A success notification is displayed.

No orphan assets or ledger inconsistencies remain.

Why This Restriction Exists
Accounts serve as containers for financial assets.

If assets with balances or transaction history exist, deleting the account would break:

  1. Financial reporting
  2. Audit trails
  3. Reconciliation workflows
  4. Compliance obligations

Therefore, accounts with financial history are immutable.
If operational removal is required, the recommended approach is:
Deactivate the account instead of deleting it.

Extra Information

Bulk Import/Export: Available via the CRM API for large-scale onboarding.

API Endpoints:

  1. GET /accounts
  2. POST /accounts
  3. PATCH /accounts/{id}

Pagination & Performance: The UI loads 50 accounts per page; use filters/search for quicker lookup.

Audit Logs: Changes to accounts, assets, and wallets are logged under System → Audit Trails.

Troubleshooting:
If you cannot see an account, verify your role permissions.
“Cannot save” errors often mean a required field is empty or mis-typed.
Wallet creation failures may indicate an unsupported network—ensure network names match those in Configurations.






Revision #26
Created 24 September 2024 09:50:04
Updated 6 March 2026 18:36:13