Montaj dövrləri və cut-off
1) Konsepsiya bazası
Settlement (settlement) - PSP/Acquirer və merchant (operator) arasında hesablaşma, hansı ki, uğurla ələ keçirilən əməliyyatlar üzrə pul merchant hesabına köçürülür.
Cut-off - müəyyən bir hesablaşma dövrünə düşən əməliyyatların gündəlik «kəsilməsi» (adətən provayder taymzonunda sabit vaxt).
T + N - vəsaitlərin yayılmasının gecikməsinin tipik notasiyası: T - kəsilmə tarixi, N - faktiki hesablaşmadan əvvəlki iş günlərinin sayı.
- Kartlar (Visa/Mastercard): tez-tez T + 2/T + 3 banking days, cut-off 23:00 UTC (təxminən).
- A2A/Open Banking: T + 0-dan T + 1-ə qədər.
- SEPA Credit Transfer: T+1/T+2 (Instant — T+0).
- ACH (US): T+2/T+3; Same Day ACH — T+0/T+1.
- RTP (US): T + 0, lakin hesabatlar üzrə cut-off mümkündür.
- Kripto: əslində T + 0 şəbəkədə, lakin PSP öz maliyyə pəncərələrini tətbiq edə bilər (T + 0/1).
2) Cut-off necə işləyir və ona nə düşür
1. Provayder yığım pəncərəsini qeyd edir (məsələn, 00: 00-23: 00 UTC).
2. Bu pəncərədəki bütün settled/captured əməliyyatlar paketə (batch) düşür.
3. Paketə qaytarmalar, çarjbeklər, gross və net funding hesablamaq üçün düzəlişlər toplanır.
4. Cut-off-dan sonra settlement file formalaşır və hesaba alınana qədər T + N taymer başlayır.
Vacibdir: capture olmadan avtorizasiya paket daxil deyil. Ləğv edilmiş nəticələr də yoxdur.
3) Hesablama növləri: gross vs net, ehtiyatlar və komissiyalar
Gross settlement - capture ümumi məbləği köçürülür (mənfi ayrı-ayrı komissiyaların silinməsi).
Net settlement - provayder fees, chargebacks, refunds, rolling reserve saxlayır və net amount sadalayır.
Rolling reserve - riski ödəmək üçün N gün ərzində dövriyyənin% -ni saxlamaq (məsələn, 180 gün üçün 10%).
Negative carry-over - gün ərzində «net» mənfi gedirsə, kəsir aşağıdakı dövrlərdə köçürülür və ödənilir.
Tövsiyə: hər iki təyyarənin deşifrini saxlamaq - operational gross (əməliyyatlar üzrə) və funding net (provayder faylları üzrə).
4) Tayms, yerli həftə sonu və DST
Cut-off sizin fərqli ola bilər vaxt provayder tərəfindən müəyyən edilir.
DST-ni (yay vaxtına keçid) nəzərə alın - kəsiklər yerli vaxtla müqayisədə ± 1 saata keçə bilər.
Alıcı bankın yurisdiksiyasında olan bayram/həftə sonları T + N-də N-ə təsir göstərir (məsələn, T + 2 banking days bayramlar ətrafında T + 4-ə çevrilir).
Təcrübə: UTC-də bütün texniki vaxtları normallaşdırın, paralel olaraq 'provider _ tz _ cutoff _ at' və 'local _ tz _ posted _ at' saxlayın.
5) Settlement təqvimi (funding calendar) və SLA
Hər rüb üçün bir təqvim tərtib edin:- hər üsul/PSP üçün cut-off vaxt və tz,
- standart T + N və istisnalar (bayramlar),
- gözlənilən məbləğlər (proqnozlar),
- SLA almaq: məsələn, «ən geci 12:00 Europe/Kyiv gün T + 2».
Hər hansı bir sapma SLA → alert və Ops/Finance bilet.
6) Net Deposits və nəticələr ilə əlaqə
ND (xalis ödənişlər) settled əməliyyatlar sayılır (əlaqəli məqaləyə baxın).
Nəticələr (withdrawals) depozitlər üzrə PSP-nin maliyyələşdirilməsində iştirak etmir, lakin ticarət kassasına təsir göstərir.
Likvidliyin planlaşdırılması: inflow off outflow ödənişlər/vergilər/əməliyyat xərcləri.
7) Provayderlərin müqayisəsi (reconciliation) və artefaktları
Hər bir partiya üçün minimum dəst (batch):- 'batch _ id/ settlement_id', tz provayderində cut-off tarixi,
- суммы по типам: `captured_deposits`, `refunds`, `chargeback_debits`, `chargeback_credits`, `fees`, `reserve_delta`, `net_funding`,
- metodları/merchant hesabları ('MID', 'descriptor', 'MCC'),
- tranzaksiya referansları ('provider _ tx _ id', 'rrn', 'arn' - kartlar olduqda),
- fayl (lar): CSV/XML/JSON + insan oxunan statement (PDF/HTML).
1. Əməliyyatlardan fayllara (hesab etdiyimiz hər şey fayla daxil oldu?)
2. Fayllardan əməliyyatlara (fayldakı hər şey bizim vitrinimizdədir? statuslar üst-üstə düşür?)
8) Ödəniş relslərinin xüsusiyyətləri (ümumi şəkildə)
Kart: tez-tez ssenarilər presentment delay; gec 'chargeback' mümkündür (120-540 günə qədər); interchange & scheme fees fayllarda görünür, ND-də çıxılmır.
SEPA/ACH: batches bank pəncərələrindən asılıdır; ləğv/geri qaytarma öz kodları var; Same Day variantları - ayrı-ayrı cut-off.
Open Banking/A2A: T + 0/1, lakin fayllar post-factum gedə bilər; matçlar üçün ciddi RPP/Unique ID ehtiyacı.
RTP/Instant: pul tez gəlir, lakin hesabat faylı - cədvəl üzrə.
Crypto: ani satış, lakin provayder edir 'payout windows'; saxla 'fx _ at _ settle'.
9) Uçot, kabel və hesabat (FI/Hesabat)
9. 1. Accrual vs cache metodu
İdarəetmə hesabatları üçün tez-tez accrual istifadə olunur: «settled _ at» anında gəliri/hərəkəti tanıyırıq.
Xəzinədarlıq/DDS üçün - cash metodu: 'funded _ at' daxil olma faktı üzrə tanınır.
9. 2. Tipik naqillər (sadələşdirilmiş)
Zaman 'DEPOSIT _ CAPTURED':- Dt: PSP (AR: PSP) ilə hesablaşmalarda pul vəsaitləri
- Ct: Oyunçu qarşısında öhdəliklər (pul kisəsi/oyunçu balansı)
- Dt: Bank (ticarət kassası)
- Ct: PSP ilə hesablaşmalarda pul vəsaitləri
- Dt: Xərclər (PSP fees), Dt/Ct: Ehtiyatlar (dəyişsə)
Tracking üçün 'transaction _ id → batch_id → funding_id' paketini saxlayın.
10) Risk menecmenti və risklər
Missed file: X: YY - P1-ə qədər heç bir settlement faylı yoxdur.
Funding delay: T + N müddəti bitdi, pul yoxdur - P1.
Delta thresholds: uyğunsuzluq 'our _ gross' vs 'file _ gross'> 0. 5% - P2; 'fees' - P2.
Negative carry-over: mənfi net paket seriyası - istintaq.
Holiday impact: təqvimi nəzərə alaraq avtomatik proqnoz; fakt <80% proqnoz - bilet.
11) Data modeli (sadələşdirilmiş)
finance. payment_transactions (
id, user_id, method, provider, mid, mcc,
type, status, amount_original, currency_original,
amount_reporting, reporting_currency, fx_rate_at_settle,
authorized_at, captured_at, settled_at,
provider_tx_id, arn, rrn, meta
)
finance. settlement_batches (
batch_id, provider, mid, method,
provider_cutoff_at, provider_tz,
period_start_at, period_end_at,
gross_captured, refunds, cb_debits, cb_credits,
fees, reserve_delta, net_funding_expected,
file_name, file_hash, file_type, meta
)
finance. funding_receipts (
funding_id, provider, bank_account,
received_at, value_date,
currency, amount_received,
batch_id, statement_ref, meta
)
-- Binding showcase:
finance. recon_links (
id, transaction_id, batch_id, funding_id, link_type, created_at
)
12) SQL şablon nümunələri
12. 1. Cut-off vasitəsilə «kəsmə» qeydiyyatı
sql
INSERT INTO finance. settlement_batches (
batch_id, provider, mid, method,
provider_cutoff_at, provider_tz,
period_start_at, period_end_at,
gross_captured, refunds, cb_debits, cb_credits,
fees, reserve_delta, net_funding_expected,
file_name, file_hash, file_type, meta
)
VALUES (:batch_id,:provider,:mid,:method,
:cutoff_at,:tz,
:start_at,:end_at,
:gross,:refunds,:cb_deb,:cb_cr,
:fees,:reserve_delta,:net_expected,
:file_name,:file_hash,:file_type,:meta::jsonb);
12. 2. «Əməliyyatlardan fayllara» müqayisə
sql
WITH tx AS (
SELECT provider, mid, method,
SUM(CASE WHEN type='DEPOSIT' AND status IN ('CAPTURED','SETTLED') THEN amount_reporting ELSE 0 END) AS gross,
SUM(CASE WHEN type='REFUND' AND status='SETTLED' THEN amount_reporting ELSE 0 END) AS refunds,
SUM(CASE WHEN type='CHARGEBACK_DEBIT' AND status='SETTLED' THEN amount_reporting ELSE 0 END) AS cb_deb,
SUM(CASE WHEN type='CHARGEBACK_CREDIT' AND status='SETTLED' THEN amount_reporting ELSE 0 END) AS cb_cr
FROM finance. payment_transactions
WHERE settled_at >=:start_at AND settled_at <:end_at
GROUP BY 1,2,3
)
SELECT b. batch_id, b. provider, b. mid, b. method,
tx. gross AS our_gross, b. gross_captured AS file_gross,
tx. refunds AS our_refunds, b. refunds AS file_refunds,
tx. cb_deb AS our_cb_deb, b. cb_debits AS file_cb_deb,
tx. cb_cr AS our_cb_cr, b. cb_credits AS file_cb_cr
FROM finance. settlement_batches b
LEFT JOIN tx
ON tx. provider=b. provider AND tx. mid=b. mid AND tx. method=b. method
WHERE b. provider_cutoff_at BETWEEN:cutoff_from AND:cutoff_to;
12. 3. Gəlirlərin proqnozu (cash-flow T + N)
sql
SELECT provider, mid, method,
DATE(provider_cutoff_at) AS t_date,
net_funding_expected,
CASE
WHEN EXTRACT (DOW FROM provider_cutoff_at)::int IN (5,6) THEN provider_cutoff_at + INTERVAL '3day' -- conditional example
ELSE provider_cutoff_at + INTERVAL '2 day'
END AS expected_funding_at
FROM finance. settlement_batches
WHERE provider_cutoff_at BETWEEN:from AND:to;
13) Proseslər və SLO
SLO 1: settlement faylları idxal - T + 0, qədər 08:00 Europe/Kyiv.
SLO 2: ilkin yoxlama - 09: 00-a qədər, fərqlərə görə alertlər> 0. 5%.
SLO 3: cash-flow proqnozun yenilənməsi - 10: 00-a qədər.
SLO 4: günün bağlanması - bütün funding matçları DWH-də açılır.
14) Edge-cases və onları necə emal etmək olar
Late presentment: əməliyyat növbəti batch daxil - «mənbə faktı» saxlayın ('presented _ in _ batch _ id').
Partial capture: Bir icazəyə bir neçə capture - batch-də düzgün yığın.
Multi-MID: bir provayder, geo/marka müxtəlif MIDs - bir partiyada qarışdırmaq deyil.
Reprocessing: faylın cızılması ilə - 'batch _ revision' versiyası və tam yenidən yoxlama.
FX yarışları: kurslar - 'settled _ at'; digər valyutada funding - 'fx _ at _ funding' və delta başlayın.
15) Daşbordlar və KPI
Funding ETA: gözlənilən tarix/qəbul vaxtı vs fakt.
Hit-rate SLA: vaxtında gələn faylların payı.
Delta gross/net provayderləri, metodları, MIDs.
Fees % of volume, Reserve balance, Negative carry-over streak.
Holiday impact: proqnoz vs fakt həftə tətil ilə.
16) Best practices (qısa)
1. UTC-də vaxtı normallaşdırın, lakin provider_tz qapalı saxlayın.
2. Operational gross və funding net; ND və maliyyə qarışdırmayın.
3. Funding calendar 'ı əvvəlcədən banklara daxil edilmiş bayramlarla tətbiq edin.
4. SLA/Deltada settlement faylların + alertlərin idxalı və müqayisəsini avtomatlaşdırın.
5. Partiyanın versiyasını ('batch _ revision') və müəyyən edilmiş reprocess həyata keçirin.
6. daxil edin single source of truth: links 'transaction batch funding'.
7. ARN/RRN və kart ekvayrinq sahələrini saxlayın - mübahisələr üçün kritik.
8. Həftə sonu/tətillər, ehtiyatlar və komissiyalar nəzərə alınmaqla cash-flow proqnozlaşdırın.
17) Giriş yoxlama vərəqləri
Verilənlər və sxemlər
- Таблицы `payment_transactions`, `settlement_batches`, `funding_receipts`, `recon_links`.
- Taymzon sahələri: UTC + provider_tz.
- Поля FX: `fx_rate_at_settle`, `fx_at_funding`.
İdxal və validasiya
- CSV/XML/JSON + hash faylları.
- Məbləğlərin/valyutaların/tarixlərin validasiyası; match по `provider_tx_id/ARN`.
- Hendlerlər «late presentment», «partial capture», «reversal».
Əməliyyatlar və alertlər
- SLA-monitor cut-off, missed files, funding delays.
- Delta-eşik alertləri (gross, fees, net).
- Holiday impact və negative carry-over haqqında hesabat.
18) FAQ
Q: T + 2 niyə T + 4 oldu?
A: Müxbir bankda və ya alıcı bankda həftə sonları/bayramlar var idi; см. funding calendar.
Q: Net faylında bizim net hesablamamızdan daha azdır. Nə görmək lazımdır?
A: fees yoxlayın, reserve_delta, gec refund/chargeback, və düzgün kurslar.
S: Kriptovalyutanı necə nəzərə almaq olar?
A: fiat ekvivalenti üzrə 'settled _ at'; funding USDT/fiat gələ bilər - ayrı saxlayın 'fx _ at _ funding'.
Q: Bütün provayderlər üçün bir ümumi cut-off mümkündür?
A: Yox, hər PSP-nin öz tz/saatı var. Onların dilimləri üzərində yığma vitrin edin.
Xülasə
Montaj dövrləri və cut-off pul logistikasının «skeletidir». T + N, vaxt zonaları, bayramlar, ehtiyatlar və komissiyaların düzgün uçotu imkan verir:- provayderləri dəqiq yoxlamaq,
- likvidliyi proqnozlaşdırmaq və ödənişləri ödəmək,
- SLA-ya riayət etmək və əməliyyat risklərini azaltmaq,
- maliyyə və komplayens ilə eyni dildə danışmaq.
Vahid funding calendar, ciddi data modeli və avtomatlaşdırılmış yoxlama tətbiq etməklə pul axını proqnozlaşdırıla bilən və idarə oluna bilər.