Settlement siklleri we kesmek
1) Düşünje binýady
Settlement (settlement) - PSP/Acquirer bilen merçantyň (operatoryň) arasyndaky hasaplaşyk, onda üstünlikli ele salnan amallar boýunça pul merçant hasabyna geçirilýär.
Kesmek - belli bir hasaplaşyk sikline düşýän amallaryň gündelik "kesilmegi" (adatça üpjün edijiniň taýmzonynda kesgitlenen wagt).
T + N - serişdeleriň ýaýramagynyň gijikdirilmeginiň nusgawy belligi: T - kesilen senesi, N - hakyky hasaba alynýança iş günleriniň sany.
- Kartlar (Visa/Mastercard): köplenç T + 2/T + 3 banking days, cut-off 23:00 UTC (takmynan).
- A2A/Açyk Banking: T + 0-dan T + 1-e çenli.
- 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, ýöne hasabatlar boýunça ýapylyp bilner.
- Kripto: aslynda T + 0 torda, ýöne PSP öz maliýe penjirelerini ulanyp biler (T + 0/1).
2) Cut-off nähili işleýär we oňa näme girýär
1. Üpjün ediji ýygym penjiresini düzedýär (mysal üçin 00: 00-23: 00 UTC).
2. Bu penjiredäki ähli settled/captured amallar bukjada (batch) bolýar.
3. Bukjada gross we net funding hasaplamak üçin yzyna gaýtarmalar, çarjbekler, düzedişler jemlenýär.
4. Cut-off başlanandan soň, settlement file emele gelýär we ýazylýança T + N taýmer başlaýar.
Möhüm: capture bolmasa ygtyýarnama bukjada ýok. Ýatyrylan netijeler hem ýok.
3) Hasaplamalaryň görnüşleri: gross vs net, ätiýaçlyklar we komissiýalar
Gross settlement - capture-yň umumy mukdary geçirilýär (minus komissiýalaryň aýratyn hasapdan çykarylmagy).
Net settlement - üpjün ediji fees, chargebacks, refunds, rolling reserve saklaýar we net amount sanap geçýär.
Rolling reserve - töwekgelçiligi ýapmak üçin N gün dolanyşygyň% -ini saklamak (mysal üçin 180 gün üçin 10%).
Negative carry-over - eger "netto" bir günde minusa düşse, defisit indiki sikller bilen geçirilýär we öwezini dolýar.
Maslahat: iki uçaryň hem açylmagyny saklamak - operational gross (amallar boýunça) we funding net (üpjün edijiniň faýllary boýunça).
4) Wagt zolaklary, ýerli dynç günleri we DST
Kesmek, üpjün edijiniň seniňkiden tapawutlanyp bilýän wagt aralygy bilen kesgitlenýär.
DST-ni (tomus wagtyna geçiş) göz öňünde tutuň - kesikler ýerli wagt bilen deňeşdirilende ± 1 sagat üýtgäp biler.
Alyjy bankyň ýurisdiksiýasyndaky dynç alyş/dynç günleri N-de T + N-e täsir edýär (mysal üçin, T + 2 banking days baýramçylyklaryň töwereginde T + 4-e öwrülýär).
Amal: UTC-de ähli tehniki döwürleri kadalaşdyryň, şol bir wagtyň özünde 'provider _ tz _ cutoff _ at' we 'local _ tz _ posted _ at' saklaň.
5) Settlement kalendar (funding calendar) we SLA
Çärýek üçin senenamany düzüň:- her usul/PSP üçin wagt we tz,
- standart T + N we kadadan çykmalar (baýramçylyklar),
- garaşylýan mukdar (çaklamalar),
- SLA almak: mysal üçin, "12: 00-dan gijä galman Europeewropa/Kiýew günde T + 2".
Islendik SLA gyşarmalary → Ops/Finans-da alert we bilet.
6) Net Deposits we netijeler bilen baglanyşyk
ND (arassa goşantlar) settled amallar boýunça hasaplanýar (baglanyşyk maddasyna serediň).
Netijeler (withdrawals) PSP-den goýumlar boýunça maliýeleşdirmäge gatnaşmaýar, ýöne söwdanyň kassasyna täsir edýär.
Likwidligi meýilleşdirmek: tölegler/salgytlar/amal çykdajylary boýunça inflow settlment minus outflow.
7) Üpjün edijileriň barlagy (reconciliation) we artefaktlary
Her partiýa üçin iň az toplum (batch):- 'batch _ id/ settlement_id', tz-de kesilen senesi,
- суммы по типам: `captured_deposits`, `refunds`, `chargeback_debits`, `chargeback_credits`, `fees`, `reserve_delta`, `net_funding`,
- usullar/söwda hasaplary ('MID', 'descriptor', 'MCC'),
- geleşikleriň salgylanmalary ('provider _ tx _ id', 'rrn', 'arn' - kartoçkalar bar bolsa),
- faýl (ler): CSV/XML/JSON + adam okalýan statement (PDF/HTML).
1. Amallardan faýllara (sanadygymyzyň hemmesi faýlda?)
2. Faýllardan amallara çenli (faýldaky hemme zat biziň penjirämizde barmy? statuslary gabat gelýärmi?)
8) Töleg relsleri boýunça aýratynlyklar (umumy görnüşde)
Kartlar: ýygy-ýygydan ssenariler presentment delay; giç "chargeback" bolup biler (120-540 güne çenli); interchange & scheme fees faýllarda peýda bolýar, ND-de aýyrylmaýar.
SEPA/ACH: batches bank penjirelerine baglydyr; ýatyryş/yzyna gaýtarmagyň öz kodlary bar; Same Day wariantlary - aýratyn kesmek.
Açyk banking/A2A: T + 0/1, ýöne faýllar post-factum bolup biler; oýunlar üçin berk RPP/Unique ID zerurlygy.
RTP/Instant: pul çalt gelýär, ýöne hasabat faýly - meýilnama boýunça.
Kripto: onchain-setlment derrew, ýöne üpjün ediji 'payout windows'; 'fx _ at _ settle' -ni saklamak.
9) Buhgalteriýa, geçirimler we hasabatlylyk (FI/Accounting)
9. 1. Akkrual vs kesh usuly
Dolandyryş hasabatlylygy üçin köplenç akkrual ulanylýar: "settled _ at" pursatynda girdejini/hereketini ykrar edýäris.
Gazna/DDS üçin - keş usuly: "funded _ at" -yň gelip gowuşmagy boýunça ykrar edýäris.
9. 2. Adaty geçirişler (ýönekeýleşdirilen)
Haçan 'DEPOSIT _ CAPTURED':- Dt: PSP (AR: PSP) bilen hasaplaşyklardaky pul serişdeleri
- Kt: Oýunçynyň öňündäki borçlar (gapjyk/oýunçynyň balansy)
- Dt: Bank (söwda kassasy)
- Kt: PSP bilen hasaplaşyklardaky pul serişdeleri
- Dt: Çykdajylar (PSP fees), Dt/Kt: Ätiýaçlyklar (üýtgän bolsa)
Yzarlamak üçin 'transaction _ id → batch_id → funding_id' saklaň.
10) Töwekgelçilik-dolandyryş we alertler
Missed file: X: YY - P1 çenli settlement faýly ýok.
Funding delay: T + N gutardy, pul ýok - P1.
Delta thresholds: tapawut 'our _ gross' vs 'file _ gross'> 0. 5% - P2; 'fees' aralykdan daşda - P2.
Negative carry-over: negatiw arassa paketleriň tapgyry - derňew.
Holiday impact: senenamany göz öňünde tutup awtomatiki çaklama; eger hakykat <80% çaklama - bilet.
11) Maglumatlaryň nusgasy (ýönekeýleşdirilen)
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 şablonlarynyň mysallary
12. 1. Kesmek boýunça "kesmek"
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. Amallardan faýla deňeşdirme
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. Girdejileriň çaklamasy (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) Prosesler we SLO
SLO 1: Import settlement-faýllar - T + 0, çenli 08:00 Europeewropa/Kyiv.
SLO 2: ilkinji deňeşdirme - 09: 00-a çenli, tapawutlar boýunça alertler> 0. 5%.
SLO 3: cash-flow çaklamasyny täzelemek - 10: 00-a çenli.
SLO 4: Günüň ýapylmagy - ähli maliýe oýunlary DWH-de açylýar.
14) Edge-cases we olary gaýtadan işlemek
Late presentment: geleşik indiki batch-a düşdi - "çeşme faktyny" saklaň ('presented _ in _ batch _ id').
Partial capture: bir ygtyýarnama üçin birnäçe capture - batch-de dogry jemläň.
Multi-MID: bir üpjün ediji, geo/marka boýunça dürli MIDleri - bir partiýada garyşdyrmaň.
Reprocessing: faýl jübütlenende - 'batch _ revision' wersiýasy we doly gaýtadan barlamak.
FX-at çapyşyklary: kurslar - 'settled _ at'; funding başga bir walýutada - 'fx _ at _ funding' we deltany açyň.
15) Daşbordlar we KPI
Maliýe ETA: garaşylýan senesi/wagty vs hakykat.
Hit-rate SLA: wagtynda gelen faýllaryň paýy.
Delta gross/net üpjün edijiler, usullar, MIDs.
Fees % of volume, Reserve balance, Negative carry-over streak.
Holiday impact: çaklama vs dynç alyş hepdeleri boýunça hakykat.
16) Iň oňat amallar (gysgaça)
1. UTC-de wagty kadalaşdyryň, ýöne provider_tz ýapyň.
2. Operational gross we funding net bölüň; ND we funding bilen garyşdyrmaň.
3. Banklar boýunça öňünden girizilen baýramçylyklar bilen funding calendar giriziň.
4. SLA/deltada settlement faýllarynyň importyny we deňeşdirmesini awtomatlaşdyryň.
5. Partiýa wersiýasyny ('batch _ revision') we kesgitlenen reprocess amala aşyryň.
6. Birli source of truth: communications 'transaction, batch, funding' giriň.
7. ARN/RRN we kartlar üçin ekwaýring meýdançalaryny saklaň - jedeller üçin möhümdir.
8. Dynç alyş/dynç alyş günlerini, ätiýaçlyklary we komissiýalary göz öňünde tutup, nagt-akymy çaklaň.
17) Girizmegiň çek-listleri
Maglumatlar we shemalar
- Таблицы `payment_transactions`, `settlement_batches`, `funding_receipts`, `recon_links`.
- Wagt çäkleri: UTC + provider_tz.
- Поля FX: `fx_rate_at_settle`, `fx_at_funding`.
Import we tassyklamalar
- CSV/XML/JSON + heş faýl parserleri.
- Pul/walýuta/seneleri tassyklamak; match по `provider_tx_id/ARN`.
- Hendlerler "late presentment", "partial capture", "reversal".
Amallar we alertler
- SLA-monitor cut-off, missed files, funding delays.
- Delta-bosagaly alertler (gross, fees, net).
- Holiday impact we negative carry-over boýunça hasabat.
18) FAQ
S: Näme üçin T + 2 T + 4 boldy?
A: Habarçy bankda ýa-da alyjy bankda dynç alyş/dynç alyş günleri boldy; см. funding calendar.
Q: "net" faýlynda "net" hasaplamamyzdan az. Näme görmeli?
A: fees, reserve_delta, giç refund/chargeback we kurslaryň dogrulygyny barlaň.
Q: Kripto nädip göz öňünde tutulmaly?
A: fiat ekwiwalenti boýunça 'settled _ at'; funding USDT/fiata gelip biler - aýratyn saklaň 'fx _ at _ funding'.
Q: Ähli üpjün edijiler üçin bir umumy kesmek mümkinmi?
A:, ok, her PSP-iň öz tz/sagady bar. Bölümleriniň üstünde jemleýji vitrinany ýasaň.
Gysgaça maglumat
Settlement-siklleri we cut-off - bu pul logistikasynyň "skeleti". T + N, wagt zolaklarynyň, baýramçylyklaryň, ätiýaçlyklaryň we komissiýalaryň dogry hasaba alynmagy:- üpjün edijileri takyk barlamak,
- likwidligi çaklamak we tölegleri ýapmak,
- SLA-ny berjaý etmek we amal töwekgelçiligini azaltmak,
- maliýe we komplayens bilen bir dilde gürlemek.
Bitewi maliýe senenamasyny, berk maglumat modelini we awtomatlaşdyrylan deňeşdirmäni girizmek bilen, pul akymyny öňünden aýdyp boljak we dolandyryp boljak edersiňiz.