User Guide
Interface Overview
- Sidebar: "Dashboard", "Files", "Payouts", "Tickets", "My company", "Users", "Settings", language toggle RU/EN. Visible items depend on permissions and organization linkage (e.g. "Users" only with the right roles; "My company" when an organization is linked).
- Header/mobile: offcanvas menu, quick actions: "Create Payout", "Upload File" (hidden if you lack rights or payout types are disabled for the org).
- Dashboard: metrics cards, success/error payout chart, recent files.
Tickets (Support)
The ticket system lets you contact Support from the dashboard: create tickets, exchange messages, and attach files.
Where to find
- Tickets list:
/index.php?view=tickets - Ticket page:
/index.php?view=ticket&id=ID
Statuses
- open — created, waiting for Support reaction
- in_progress — Support is working on it
- answered — Support responded; your reaction expected
- waiting_user — your answer is required (highlighted in the menu)
- closed — closed
Default filter is “All except closed”.
Create a ticket
- Open “Tickets” and click “Create ticket”
- Fill subject and describe the issue
- Optionally attach files
- Submit — the ticket appears with status
open
Tickets list
Rendered as a table: #, Subject, Status, Priority, Messages, Created, Updated.
- Status: including “All except closed”
- Date: “From/To” filters by creation time
- Search: by subject and message text
- Navigation: click a row to open ticket
waiting_user. In expanded sidebar — number; in collapsed — a dot.
Ticket page
- Conversation with Support, attachments download (owner only)
- Reply to ticket (text + files)
- Close ticket when resolved
Notifications
- In‑app indicator on the “Tickets” menu item
- Optionally — email/Telegram (if enabled by admin)
Security
- Tickets access is limited to your account
- Files are accessible to the owner and only within the ticket
- All actions are logged
FAQ
Can't see old tickets
File won't download
Status did not change after reply
open. Auto change only from waiting_user to answered.My company
Organization profile: KYC, documents, bank details, and signatories. The menu item appears when your account is linked to an organization.
Documents
Required documents depend on legal form (sole proprietor vs legal entity): registry extracts, ID copies, service agreement, beneficial owners (for legal entities), power of attorney when applicable.
Bank details and signatories
You can maintain company bank details and signatory data as required for payout onboarding.
When the section is unavailable: if no organization is linked or company data fails to load, you will see an error — contact your administrator.
Users
Manage accounts in your organization: list, filters by role and status, search, create users and assign permissions (for roles that allow it).
- Access: users with user-management or user-view permissions; others do not see the menu item.
- Limits: administrators may set per-operation limits for users.
- 2FA: some management actions may require 2FA per organization policy.
Dashboard
Section with key metrics for uploads and payouts. Contains aggregated metrics, chart dynamics, and list of recent files for quick access.
- Metrics cards: number of files, number of payouts, total amount, conversion rate (successful/all).
- Chart: trend of successful and failed payouts by periods; legend allows comparing curves.
- Recent files: table with name, date, processing status, brief statistics and amount.
- Filters: payout status for the chart; period (today, yesterday, week, month, quarter, custom from/to); when multiple users exist in the org — filter by user for aggregated stats.
Authorization and Session
- Login through login page. On successful login — redirect to dashboard.
- Inactivity timeout: 30 minutes; after — logout and session end notification.
- CSRF token for protected operations, session ID regeneration after login.
Uploading Payout Files
Upload Process
- Click "Upload File" (button available on Dashboard, in "Files", "Payouts", and in mobile menu).
- Select CSV file in one of the supported formats and confirm upload. Upload indicator shows progress.
- After upload, an entry appears in files list with status: created → processing → completed.
Tips: drag&drop available on supported screens; recent files visible on dashboard.
Supported File Formats
CSV must use semicolon as the separator. Supported layouts:
— card-only payouts;
— SBP-only payouts (VTB);
— SBP-only payouts for Alfa Bank (dedicated column header);
— unified file with row types card, sbp, and optionally sbp_alfa.
An optional channel column applies to the templates below (except the standalone Alfa-SBP-only file).
Parameters used in files:
- card_number - recipient's card number;
- sbp_phone - recipient's phone number;
- sbp_bank_id - recipient's bank identifier;
- sbp_full_name - recipient's full name;
- amount - payout amount;
- description - payout description;
- channel (optional column in the header row) — bank channel:
vtboralfa. If the header includes this column, each data row must include the channel; an empty cell defaults tovtb. Alfa SBP and Alfa card require the corresponding integrations for your organization.
File Examples
Used for uploading payouts only to bank cards. 💾 Download Example
card_number;amount;description;channel
4111111111111111;1500,50;Refund for goods;vtb
5555555555554444;2300,00;Expense compensation;vtb
Files without a channel column are still supported (defaults to VTB).
Used for uploading payouts only through the Fast Payment System (SBP). 💾 Download Example
sbp_phone;sbp_bank_id;sbp_full_name;amount;description;channel
79001234567;100000000004;Ivanov Ivan Ivanovich;1500,50;Expense refund;vtb
79123456789;100000000008;Petrova Maria Sergeevna;2300,00;Delivery compensation;vtb
Files without a channel column are still supported (defaults to VTB).
Used for uploading different types of payouts in one file. 💾 Download Example
type;pan;sbp_phone;sbp_bank_id;sbp_full_name;amount;description;channel
card;4111111111111111;;;;1500,50;Refund for goods;vtb
sbp;;79001234567;100000000004;Ivanov Ivan Ivanovich;2300,00;Expense compensation;vtb
sbp_alfa;;79001234567;100000000004;Ivanov Ivan Ivanovich;500,00;Alfa SBP row;alfa
The seven-column header without channel is still supported (defaults to VTB).
Alfa Bank SBP-only file
Separate format for bulk SBP payouts via Alfa integration. Header row:
sbp_alfa_phone;sbp_alfa_bank_id;sbp_alfa_full_name;amount;description
sbp_alfa_phone;sbp_alfa_bank_id;sbp_alfa_full_name;amount;description
79001234567;100000000004;Ivanov Ivan Ivanovich;1500,50;Expense refund
- Cards: first column
card, thenpan, empty SBP fields, amount and description; optional trailingchannel(vtboralfa). - SBP (VTB): first column
sbp, phone, bank ID, full name, amount, description; optionalchannel. - SBP Alfa in unified file: first column
sbp_alfa, then the same SBP fields; optionalchannel.
Explanation: Column names are shared across row types. For cards, only pan is filled; for SBP, SBP fields are filled and pan is empty.
Validation and Restrictions
Card Payouts
- Card number: 13-19 digits, passes Luhn algorithm check
- Amount: from 1.00 to 9,999,999.99 rubles
- Description: up to 256 characters
SBP Payouts
- Phone number: format 7XXXXXXXXXX (11 digits, starts with 7)
- Bank ID: 9 to 12 digits
- Full name: first and last name in Russian (2-255 characters)
- Amount: from 1.00 to 9,999,999.99 rubles
- Description: up to 256 characters
General Limitations
- Maximum rows per file: 5,000 (excluding header)
- File size: recommended up to 5 MB
- Encoding: UTF-8
- Separator: semicolon (;)
- Decimal separator: comma (,) or dot (.)
File Details
Open file from list to see aggregated metrics (sum, count, success/error/ignore) and line-by-line payouts.
- Confirm payouts: if there are positions with "uploaded" status, click "Confirm"; your organization may require TOTP and/or Quantum ID confirmation.
- File download: available for a limited time (usually 3 days) if you have download permission.
Payouts List
Contains all payouts: from files and single. For SBP — phone masking and bank; for cards — number mask, payment system and bank. The channel (VTB or Alfa) is shown. Status badge success helps quickly distinguish statuses.
Quick payout retry available per row (retry icon).
Filters include status, period, last card digits, recipient bank, payment system, payment type (card/SBP), channel (VTB/Alfa), source (file, manual, API), and confirmation user fields where available.
Single Payout
- Click "Create Payout" (on dashboard/lists when permitted). Modal opens.
- Choose card or SBP; with Alfa integration, separate flows may appear for Alfa card and Alfa SBP.
- Select channel (VTB or Alfa) when shown; Alfa is available only if configured for your organization.
- Fill details and amount; Alfa card flows may have specific description requirements.
- Confirm with TOTP and/or Quantum ID per policy.
Card number validation by Luhn algorithm, amount formatting, SBP bank suggestions.
When the button or tabs are missing: check payouts.create_manual, org payout features, and personal card/SBP permissions.
Filters, Search, Export
- Files: status, period (including custom dates), search by name, list export. Filter chip example Status: all.
- Payouts: status, dates, last 4 card digits, recipient bank (suggestions), payment system, payment type (card/SBP), channel (VTB/Alfa), source (file, manual, API), confirmation user filters when shown.
- Dashboard: quick period, status filter, user filter for org statistics, success/error chart.
Settings and Integrations
One place for profile, bank integrations, security, API, notifications, and webhook.
Not every tab is visible to every user: access depends on roles and permissions (e.g. integrations, API, webhook, Telegram, Email).
Tab index (matches the Settings screen):
- Profile
- General
- Integrations (sub-tabs: VTB — cards, VTB — SBP, Alfa — cards, Alfa — SBP)
- 2FA
- Security
- API
- Webhook
- Telegram
Profile tab
Theme (light / dark / system), account details (login, name, role, organization), and language where applicable.
General tab
App-wide options such as compact large amounts and creating a new file for single payouts.
Integrations tab
Bank connections for card and SBP payouts (VTB and, when contracted, Alfa Bank). Sub-tabs group settings by bank and product.
VTB — cards
- Client ID and Client Secret — API credentials
- Public PAN key — for encrypting card data
- Connection status — current integration state
VTB — SBP
- Client ID and Client Secret — SBP API credentials
- Merchant authorization — merchant token
- Test environments — switch prod/uat/dev where applicable
Alfa Bank — SBP
- Organization fields for SBP payouts via Alfa (as shown in the integrations UI).
- The Alfa channel in forms and files appears when integration is configured and organization features allow it.
Alfa Bank — cards
- Connection parameters for card payouts through Alfa (per your contract).
Note: If you lack permission for a payout type (cards or SBP), the sub-tab shows an unavailable message with an option to request access from support. Alfa tabs and fields do not appear without integration and enabled organization features.
2FA tab
TOTP setup and Quantum ID linking for sign-in and confirmations. See 2FA and Security and Quantum ID for details.
Security tab
Password change and read-only permission overview (see also Permission system).
API tab
Create and manage API tokens. Request/response details are in Developer API.
Webhook tab
HTTPS URL for payout status events, enable/disable, optional signing (secret), test send. Saving uses the portal session and CSRF. Payload format is described in the API docs (Webhook section).
Telegram tab
Bot linking, alerts, and daily stats. Full guide: Telegram integration below.
Email tab
Bind address, verification, scheduled reports (similar in spirit to Telegram digests).
Permission system
Permissions control access to platform features. An administrator can set them per user.
Permission types
- Card payouts — create and process card payouts (together with org settings).
- SBP payouts — create and process SBP payouts.
- File download — export CSV with results.
- File upload — upload bulk files.
- Confirm file payouts — move rows from “uploaded” to processing.
- Single payouts — access to “Create payout”.
- View payouts/files — own vs all org records depending on role.
- Users — view or manage org users.
- Settings — separate keys for API, integrations, Telegram, Email, Webhook, etc.
Limits
An administrator can set per-operation amount, daily amount, and daily count limits. When exceeded, the system rejects the payout or file row with an error.
How permissions work
- Shown under Settings → Security → Permissions
- Status uses color indicators: allowed / denied
- Missing permissions hide or disable UI elements
- Only system administrators can change permissions
UI impact
- If card payouts are denied — “Card payout” tab is hidden when creating a payout
- If SBP payouts are denied — “SBP payout” tab is hidden
- If both are denied — “Create payout” buttons are hidden
- If download is denied — download buttons are disabled
- If upload is denied — “Upload file” is unavailable
Telegram integration
Telegram delivers notifications and daily statistics.
Linking your Telegram account
- Open Settings → Telegram
- Click “Link Telegram account”
- Copy the authorization code from the UI
- Open the bot in Telegram and send
/start YOUR_CODE - After success, the account appears in the linked list
Features
- Automatic alerts for payout errors and critical events
- Daily digest for the previous day
- Bot commands:
/start CODE— link account/stats— today’s stats/logout— unlink account
Daily digest settings
- Enable/disable toggle
- Send time — preferred time (default 07:00)
- Timezone — Moscow time (UTC+3)
Sample daily message format
📊 Daily stats for 2024-01-15
👋 Hello, Ivan!
💳 Payouts:
• Total: 25
• Success: 22
• Errors: 2
• Processing: 1
• Total amount: 125,000.00 ₽
• Success amount: 110,000.00 ₽
📁 Files:
• Uploaded: 3
• Completed: 2
• Processing: 1
📈 Conversion: 88%
🕐 Report: 15.01.2024 07:00
Security: Telegram traffic uses a protected API. Bot tokens and sensitive data are stored outside the main app.
2FA and Security
Multi-layer protection for accounts and sensitive operations.
Two-factor authentication (2FA)
- Setup: enable via an authenticator app (Google Authenticator, Authy, etc.)
- Usage: protects login and critical actions
- Operations that may require 2FA:
- Confirming payouts from files
- Creating single payouts
- Password change
- Security settings changes
- Org policy may require Quantum ID instead of or together with TOTP — see Quantum ID.
Additional measures
- Session timeout: logout after 30 minutes of inactivity
- CSRF: tokens on critical operations
- Session fixation: session ID regenerated after login
- Audit logging of important actions
- IP monitoring for suspicious activity
Security tips
- Use strong passwords (8+ chars, mixed case, digits, symbols)
- Enable 2FA where possible
- Do not share credentials
- Review activity under Security regularly
- If compromised, change password immediately
Quantum ID
Quantum ID is Quantum Labs’ identity and security service for portal sign-in and confirming operations. The Quantum ID SSO combines WebAuthn-based keys with optional corporate SSO (similar in spirit to common enterprise passkey and SSO approaches).
Availability: on some deployments (e.g. dedicated whitelabel instances) Quantum ID sign-in and linking may be disabled in configuration — then use password and TOTP per org policy.
Technology:
- WebAuthn / FIDO2 — keys on the device; the server verifies possession without reusable passwords.
- SSO — corporate IdP flows (same idea as SAML 2.0 in typical enterprise setups).
- Integrations — token exchange and profile linking (OAuth/OpenID-style flows).
In Settings → 2FA you can link Quantum ID and register a key for payouts and sign-in. Where the key is stored depends on OS and browser:
- Apple — often iCloud Keychain across Apple devices.
- Android — Google account or local secure storage.
- Windows — Windows Hello; corporate policies may apply.
- Browser — Chromium profile (Chrome, Edge, Yandex Browser, etc.), usually not portable to another browser.
- Password managers (Bitwarden, 1Password, etc.) — encrypted vault and browser extensions.
Retry policy
Automatic retries improve reliability when failures are transient.
How it works
- Automatic retries after unsuccessful attempts
- Separate limits: different max retries for cards (5) and SBP (3)
- Smart counting: counters advance on real failures
- Stop: when the limit is reached, the payout is marked failed
Retry limits
- Cards: up to 5 attempts (counter increments by 3 per failed attempt per system rules)
- SBP: up to 3 attempts (similar increment rules)
- Typical causes: bank connectivity, temporary service issues
Where to see attempts
- Payout details — attempt count
- Error messages — last failure reason
- Admin logs — full detail for operators
Note: Retries run automatically. If the bank rejects due to bad data (wrong card, closed account), further automatic retries may not apply.
Common Issues and Solutions
- Statuses not updating: wait for background check or refresh page; ensure status check process is active.
- File unavailable for download: after time limit (≈3 days) download is disabled.
- Single payout error: check card number/phone correctness, amount, 2FA, integration access.
- No bank suggestions: check network or try typing more characters.
FAQ
What file formats are supported?
;) as separator:
- Cards only — optional
channelcolumn - SBP (VTB) — SBP via VTB; optional
channel - SBP Alfa — dedicated column header for Alfa SBP bulk file
- Unified file — row types
card,sbp, and optionallysbp_alfa; optionalchannel
alfa requires a configured integration.
Can I resend a payout?
How do I enable dark theme?
Why are “Create payout” buttons missing?
How do I connect Telegram for notifications?
- Settings → Telegram
- Click link account
- Copy the authorization code
- Message the bot with
/startand your code - Configure alerts and daily digest as needed
Why was a payout rejected after several attempts?
Can I download payout files?
How do I set daily Telegram digest time?
Telegram notifications not arriving?
- Confirm Telegram is linked and active
- Check notification settings under Telegram
- Ensure the bot is not blocked
- Try unlinking and linking again