Transactions (🧭 FUTURE)
Enhanced transaction records that enriches base transaction data with team and operator ownership information. Identifies transactions involving teams or operators through wallet ownership matchi...
✨ NEW TABLE - December 2025
🛠️ Partner API Alignment Migration
🧭 This table represents the post-migration state for
transactions.1️⃣ Migrate to this table by April 2026
2️⃣ Between April 2026 and July 2026, remove FUTURE__ prefix
Enhanced transaction records that enriches base transaction data with team and operator ownership information. Identifies transactions involving teams or operators through wallet ownership matching and includes deletion status tracking for data quality purposes.
SQL: FUTURE__transactions
Schema
| Column Name | Data Type | Description |
|---|---|---|
| Primary ID | ||
| id | VARCHAR | Primary key |
| Other IDs | ||
| reference_id | VARCHAR | External reference identifier linking this transaction to source systems |
| to_wallet_id | INTEGER | Unique identifier of the destination wallet receiving funds |
| to_wallet_owner_id | INTEGER | Unique identifier of the entity that owns the destination wallet |
| from_wallet_id | INTEGER | Unique identifier of the source wallet sending funds |
| from_wallet_owner_id | INTEGER | Unique identifier of the entity that owns the source wallet |
| performed_by_user_id | INTEGER | Unique identifier of the user who initiated this transaction |
| metadata_id | VARCHAR | Additional metadata identifier associated with the transaction |
| metadata_charge_id | VARCHAR | Identifier linking this transaction to a specific charging session |
| Timestamps | ||
| created_at | TIMESTAMP_NTZ | Timestamp when the transaction record was first created |
| updated_at | TIMESTAMP_NTZ | Timestamp when the transaction record was last modified |
| completed_at | TIMESTAMP_NTZ | Timestamp when the transaction was successfully completed |
| pending_at | TIMESTAMP_NTZ | Timestamp when the transaction entered pending status |
| failed_at | TIMESTAMP_NTZ | Timestamp when the transaction failed to complete |
| deleted_at | TIMESTAMP_NTZ | Timestamp when the transaction record was soft deleted |
| from_wallet_team_deleted_at | TIMESTAMP_NTZ | Deletion timestamp for the team associated with the source wallet |
| to_wallet_team_deleted_at | TIMESTAMP_NTZ | Deletion timestamp for the team associated with the destination wallet |
| from_wallet_operator_deleted_at | TIMESTAMP_NTZ | Deletion timestamp for the operator associated with the source wallet |
| to_wallet_operator_deleted_at | TIMESTAMP_NTZ | Deletion timestamp for the operator associated with the destination wallet |
| Filters | ||
| is_from_team_wallet_match | BOOLEAN | Indicates whether the source wallet owner successfully matched to a team record |
| is_to_team_wallet_match | BOOLEAN | Indicates whether the destination wallet owner successfully matched to a team record |
| is_team_transaction | BOOLEAN | Indicates whether either the source or destination wallet is owned by a team |
| is_from_operator_wallet_match | BOOLEAN | Indicates whether the source wallet owner successfully matched to an operator record |
| is_to_operator_wallet | BOOLEAN | Indicates whether the destination wallet owner successfully matched to an operator record |
| is_operator_transaction | BOOLEAN | Indicates whether either the source or destination wallet is owned by an operator |
| Attributes | ||
| reference_type | VARCHAR | Type or category of the reference identifier |
| to_wallet_owner_type | VARCHAR | Type of entity that owns the destination wallet (TEAM, OPERATOR, etc.) |
| from_wallet_owner_type | VARCHAR | Type of entity that owns the source wallet (TEAM, OPERATOR, etc.) |
| kind | VARCHAR | Classification or category of the transaction type |
| state | VARCHAR | Current processing state of the transaction (pending, completed, failed, etc.) |
| type | VARCHAR | Specific transaction type identifier |
| note | VARCHAR | Additional comments or notes associated with the transaction |
| transaction_country | VARCHAR | Country where the transaction was processed or originated |
| to_currency_code | VARCHAR | ISO currency code for the destination wallet amount |
| from_currency_code | VARCHAR | ISO currency code for the source wallet amount |
| to_amount | NUMBER | Primary amount received by the destination wallet |
| to_sub_amount | NUMBER | Secondary or fractional amount component for destination wallet |
| vat_to_amount | NUMBER | VAT amount applied to the destination wallet transaction |
| from_amount | NUMBER | Primary amount deducted from the source wallet |
| from_sub_amount | NUMBER | Secondary or fractional amount component for source wallet |
| vat_from_amount | NUMBER | VAT amount applied to the source wallet transaction |
| failed_reason | VARCHAR | Explanation or error message when transaction failed |
| vat_percentage | NUMBER | VAT rate applied to this transaction as a percentage |
| to_wallet_operator_name | VARCHAR | Name of the operator associated with the destination wallet |
| from_wallet_operator_name | VARCHAR | Name of the operator associated with the source wallet |
| to_wallet_vat_number | VARCHAR | VAT registration number for the destination wallet entity |
| from_wallet_vat_number | VARCHAR | VAT registration number for the source wallet entity |
| exchange_rate | NUMBER | Currency conversion rate applied between source and destination amounts |
| metadata_kwh | NUMBER | Energy consumption in kilowatt-hours related to this transaction |
| metadata_type | VARCHAR | Type or category of the associated metadata |
Changes from last Version
Summary
- Filter Changes: Extended to include OPERATOR wallet transactions (previously only TEAM wallets); no implicit deleted filter
- Computed Flags: Adds 6 boolean flags to identify transaction type (team/operator) and wallet match direction (from/to)
- Deletion Tracking: Tracks deletion status for both from/to wallet owners (teams and operators)
Added columns (12)
- from_wallet_team_deleted_at
- to_wallet_team_deleted_at
- from_wallet_operator_deleted_at
- to_wallet_operator_deleted_at
- is_from_team_wallet_match
- is_to_team_wallet_match
- is_team_transaction
- is_from_operator_wallet_match
- is_to_operator_wallet
- is_operator_transaction
Removed columns (0)
Renamed columns (0)
Inclusion Criteria
- the
from_wallet_owner_typeorto_wallet_owner_typeequals 'TEAM' and the respective wallet_owner_id is among the operator's non-nullFUTURE_teams.idvalues. - or the
from_wallet_owner_typeorto_wallet_owner_typeequals 'OPERATOR' and the respective wallet_owner_id is among the operator's non-nullFUTURE_operators.idvalues.
Data flow
| Upstream tables | Downstream tables |
|---|---|
FUTURE__teams | --- |
FUTURE__operators | --- |
Alignment
Partner API
- Aligns with Partner API get/wallet-transactions endpoint
- The endpoint only includes non-deleted operator transactions where the operator is not deleted
where deleted_at is null
and is_operator_transaction = true
and (
(is_from_operator_wallet_match = true and from_wallet_operator_deleted_at is null)
or (is_to_operator_wallet_match = true and to_wallet_operator_deleted_at is null)
)The transactions table
transactions table- The legacy table only included non-deleted team transactions where the team is not deleted.
where deleted_at is null
and is_team_transaction = true
and (
(is_from_team_wallet_match = true and from_wallet_team_deleted_at is null)
or (is_to_team_wallet_match = true and to_wallet_team_deleted_at is null)
)Updated 3 days ago
