Operator guideENtransactionsbankinggridanalytics

Transactions / Banking

Filterable banking transaction dashboard with weekly summary cards, backend stats charts, CSV export, and a detailed ledger-style table.

Reader view

Clean portal guidance

This page keeps the operator explanation, field and action descriptions, and screenshots visible without exposing repo paths, raw sidecars, or editorial-only implementation details.

Narrative content

Page body

What this surface shows

Transactions / Banking is the main ledger-style view for payment and wallet-side transaction history. It combines:

  • weekly summary cards
  • two charts for transaction mix and trend
  • a filterable table
  • a shared “More Info” modal
  • filter chips plus Reset / Export controls for the current query state

Use this page when the question is about deposits, withdrawals, bonus money movement, provider references, or balance impact on a banking transaction row.

How to read it

The upper part of the page is a quick snapshot. Those cards and charts come from GET /api/admin/get-banking-stats, not from the visible table query:

  • Weekly Transactions
  • Weekly Volume (EUR)
  • Weekly Success Rate
  • Weekly Avg Value

The table below is the actual operator work surface. It is best for:

  • looking up a payment transaction id
  • checking amount and amount in EUR
  • checking before/after balances
  • checking type and status
  • checking affiliate payload columns such as Aff PID and Sub ID 2
  • following tag-based investigation

Filters that change the list

The visible filters are:

  • Provider
  • ClickID or PID
  • Affiliate PID
  • Sub ID 2
  • Payment Transaction ID
  • Currency
  • Type
  • Status
  • Search by tag
  • From
  • To

Search by tag also works by clicking chips directly in the table.

The page also exposes:

  • Show Filters / Hide Filters
  • Reset
  • Export

Common questions

Why does this page show charts as well as a table?

Because the route acts as an operational dashboard, not just a raw list. Operators can inspect weekly movement quickly before drilling into a specific row.

Are the summary cards calculated from the visible table rows?

No. The summary cards and charts come from GetBankingStatsService, while the table uses GET /api/admin/get-transactions.

What does ClickID or PID really search?

That filter matches affiliate_link_payload.click_id or affiliate_link_payload.pid on the joined affiliate-link payload. It is broader than the dedicated Affiliate PID field.

Why can I see UTC hints on Updated and Date?

Because those timestamps are explicitly labeled as UTC in the grid.

Known caveats

  • The stats section uses a separate frontend helper call named getBankingStats, but the confirmed backend owner is GetBankingStatsService.
  • If the trend dataset is empty, the frontend falls back to placeholder weekly points for chart continuity.
  • The page exposes a “More Info” action, but it is read-only and uses the shared transaction detail modal.
Operator actions

Screen actions

action

Show Filters / Hide Filters

Expands or collapses the filter form.

action

Apply Filters

Re-runs the banking list query with the current filter values.

action

Reset

Resets the filter form and submits the default range again.

action

Export

Exports the current banking query result set.

Operator actions

Row actions

action

Open Actionee

Opens the linked player profile from the Actionee email button.

action

Filter by Tag

Clicking a tag chip writes that tag into the filter form and resubmits the page.

action

More Info

Opens the shared transaction detail modal when the row carries a `moreDetails` payload.

Operational notes

Notes

item

No inline mutation buttons are visible in the current banking grid.

Calculation notes

Backend calculations

calculation

weekly_transactions

Formula
Count all `transaction_bankings` rows whose `created_at` falls in the current week.
calculation

weekly_success_rate

Formula
Count current-week rows with `actionee_type='user'`, `is_success=true`, and `status=1`, then divide by all current-week rows and multiply by 100.
calculation

weekly_volume_eur

Formula
Sum `amount / conversion_rate` for current-week rows where `conversion_rate` is present and non-zero.
Currency Basis
Reporting currency is the configured primary currency (currencies.is_primary = true), labeled EUR. Conversion uses the per-row conversion_rate column on transaction_bankings, which is captured and frozen when the banking row is written (transaction-time / booking rate from the currencies table), not a current or report-time snapshot. Rows with a NULL or zero conversion_rate contribute 0 to the sum via the SQL CASE ELSE 0 branch rather than being filtered out.
calculation

weekly_avg_value

Formula
`weekly_volume_eur / weekly_transactions`.
calculation

click_id_or_pid_filter

Formula
Match `affiliate_link_payload.click_id = :clickId` or `affiliate_link_payload.pid = :clickId` on the joined affiliate-link payload.
calculation

affiliate_sub_id_2_filter

Formula
Partial match on `affiliate_link_payload.sub_id2` using a case-insensitive SQL `ILIKE` pattern.
Grid columns

Columns

field

ID

field

Transaction

field

Actionee

field

Provider

field

Currency

field

Amount

Data Type
amount
field

Amount EUR

Data Type
amount
field

Type

field

Role

field

Bonus ID

field

Aff PID

field

Sub ID 2

field

Method

field

Status

field

Balance Before

Data Type
amount
field

Balance After

Data Type
amount
field

Updated

Rendered in UTC with an explicit tooltip.

Note
Rendered in UTC with an explicit tooltip.
field

Date

Rendered in UTC with an explicit tooltip.

Note
Rendered in UTC with an explicit tooltip.
field

User Tags

field

Country

field

Action

Filter dictionary

Filters

field

Provider

Type
text
field

ClickID or PID

Matches either affiliate payload `click_id` or affiliate payload `pid`.

Type
text
Note
Matches either affiliate payload `click_id` or affiliate payload `pid`.
field

Affiliate PID

Type
text
field

Sub ID 2

Type
text
field

Payment Transaction ID

Type
text
field

Currency

Type
select
field

Type

Type
select
field

Status

Type
select
field

Search by tag

Type
text
field

From

Type
date
field

To

Type
date
Summary cards

Summary cards

field

Weekly Transactions

field

Weekly Volume (EUR)

field

Weekly Success Rate

field

Weekly Avg Value

Chart blocks

Charts

field

Transaction Type Distribution

field

Weekly Transaction Trend

Metric dictionary

Metrics

metric

Weekly Transactions

Count-style headline for the current weekly banking snapshot.

Aliases
total weekly transactions, banking transactions this week
Filter Dependencies
stats_section_scope
Frontend Transforms
display-safe string normalization
Backend Formula
Count all `transaction_bankings` rows whose `created_at` falls in the current week.
Last Verified At
2026-06-29
metric

Weekly Volume (EUR)

EUR-normalized volume headline shown in the stats area.

Aliases
weekly volume, banking volume eur
Filter Dependencies
stats_section_scope
Backend Formula
Sum `amount / conversion_rate` for current-week rows with a non-zero conversion rate.
Currency Basis
Reporting Currency: EUR | Reporting Currency Note: Reporting currency is the configured primary currency (currencies.is_primary = true), formatted with a euro sign in the stats card. | Exchange Rate Source: Per-row conversion_rate column on transaction_bankings (NUMERIC 38,18); converted value is amount / conversion_rate. | Rate Basis: transaction-time | Rate Basis Note: conversion_rate is captured when the banking row is written and frozen on the row, so the EUR total uses the booking-time rate, not a current or report-time snapshot. It is not re-fetched at query time. | Rate Capture Note: On write the rate is set from getPrimaryCurrencyAmount as source-currency exchangeRate divided by primary-currency exchangeRate from the currencies table. | Missing Rate Fallback: Rows with a NULL or zero conversion_rate contribute 0 to the EUR sum (SQL CASE ... ELSE 0); they are not excluded from the row set.
Last Verified At
2026-06-29
metric

Weekly Success Rate

Success-rate headline shown next to the volume and count cards.

Aliases
success rate, banking success rate
Filter Dependencies
stats_section_scope
Backend Formula
`weeklySuccessfulTransactions / weeklyTransactions * 100`, where success requires `actioneeType='user'`, `isSuccess=true`, and `status=1`.
Last Verified At
2026-06-29
metric

Weekly Avg Value

Average value headline for the weekly banking stats section.

Aliases
average transaction value, avg banking transaction
Filter Dependencies
stats_section_scope
Backend Formula
`weeklyVolumeEUR / weeklyTransactions`.
Currency Basis
Reporting Currency: EUR | Reporting Currency Note: Inherits the EUR basis of weekly_volume_eur (configured primary currency, currencies.is_primary = true). | Exchange Rate Source: Same per-row conversion_rate column on transaction_bankings used by weekly_volume_eur. | Rate Basis: transaction-time | Rate Basis Note: Numerator uses the booking-time per-row conversion_rate frozen on each row, not a current or report-time snapshot. | Missing Rate Fallback: Denominator (weekly_transactions) counts every current-week row, including rows whose NULL or zero conversion_rate contributed 0 EUR to the numerator, so the average can be understated when rates are missing.
Last Verified At
2026-06-29
Operational notes

Notes

item

Table data and stats cards/charts use different FE fetch paths.

item

The table query uses `get-transactions`; the cards and charts use `get-banking-stats`.

item

`ClickID or PID` is broader than `Affiliate PID` because it checks two affiliate payload keys.

Related references

Related pages

pageTransactions / Casino

Game transaction dashboard with real-time list mode, monthly analytics mode, filterable table, and a dedicated transaction detail route.

pageTransactions / Casino Transaction Detail

Read-only detail page for a single casino transaction identified by `casinoTransactionId`.

pageTransactions / Failed Deposit

Triage grid for failed deposit rows, their provider reasons, and the error-group classification used for later analysis.

pageTransactions / Failed Deposit Error Groups

Configuration surface for creating, editing, importing, exporting, and assigning failed-deposit error groups and their reasons.

pageTransactions / KYC

Action-heavy KYC document queue exposed under the transactions area for document review, verification, re-request, download, and third-party checks.

pageTransactions / Shared Detail Modals

Reusable read-only transaction payload modals for banking-style rows on banking, withdrawals, and failed-deposit surfaces.