Nordlet

← Dokumentacija / Vadovai

Bankų ir mokėjimų importas

camt.053 išrašai, „Stripe“ CSV, PSP atsiskaitymų suderinimas ir pasirinktiniai JSON srautai.

Visi importuoti duomenys pateiekiami kaip banko operacijos banko sąskaitoje (bank/accounts/create). Operacijos turi lauką externalId; pakartotinai importuoti tą patį failą yra saugu – eilutės, kurių pora (bankAccountId, externalId) jau egzistuoja, yra praleidžiamos, o apie jas pranešama skipped skaitiklyje. Importuotos operacijos pradedamos būsena new ir į didžiąją knygą įtraukiamos tik tada, kai jos sulyginamos (bank/transactions/match, o kandidatams ieškoti naudojama bank/transactions/suggest-matches).

Žiniatinklio programėlėje tie patys importai pasiekiami per Bankas → Importuoti failą (failo įkėlimas, šablonų parinkiklis).

Klaidingas sulyginimas pašalinamas naudojant bank/transactions/unmatch (skirtukas Nesulyginti dalyje Bankas → Operacijos). Užregistruotų įrašų niekada negalima redaguoti arba trinti: mokėjimas, sulygintas su sąskaita faktūra, arba eilutė, kurią importavimo šablonas užregistravo sąskaitoje, gauna anuliuojamąjį (koreguojamąjį) žurnalo įrašą su visais įrašais kitoje pusėje, o data priskiriama pagal lauką date (numatytoji reikšmė: šiandien, ir niekada anksčiau nei pirminis užregistravimas). Sąskaitos faktūros apmokėta suma ir mokėjimo būsena sumažinama tos banko eilutės suma. Su mokėjimų teikėjo atsiskaitymu susieta eilutė yra tik atšaukiama iš susiejimo, nes atsiskaitymo registravimas priklauso visam paketui. Eilutė grįžta į būseną new ir ją galima sulyginti iš naujo. Anuliavimo data turi patekti į atvirą apskaitos laikotarpį.

Importavimo šablonai

Importavimo šablonas nurodo duomenų šaltinį, išvardija šaltinio pateikiamus laukus ir susieja pinigus išreiškiančius laukus su didžiosios knygos sąskaitomis. Šablonai valdomi per Bankas → Importavimo šablonai bei per bank/import-templates/create|update|delete|get|list.

POST /v1/bank/import-templates/create
{
  "name": "Stripe payments export",
  "type": "stripe",
  "fields": [
    { "name": "id" },
    { "name": "Created date (UTC)" },
    { "name": "Amount" },
    { "name": "Fee", "accountCode": "6800" },
    { "name": "Amount Refunded" }
  ],
  "metaFields": ["order_id"]
}
  • type reikšmė yra viena iš šių: stripe, iso20022 arba bank_connection.
  • Kiekvienas laukas turi lauką name ir neprivalomą lauką accountCode. Sąskaitą priima tik pinigus išreiškiantys laukai: „Stripe“ laukai Amount, Fee ir Amount Refunded; camt.053 laukas Ntry/Amt; banko srauto laukas transaction_amount.amount. Sąskaita turi egzistuoti sąskaitų plane (sukurkite ją per ledger/accounts/create).
  • Lauke fields galima nenurodyti reikšmių; tokiu atveju priskiriamas numatytasis atitinkamo tipo laukų sąrašas: „Stripe“ eksporto failo Payments → Export stulpelių pavadinimai (be 19 stulpelių Card …, kurių parinkimo langelį forma taip pat palieka nepažymėtą), camt.053 elementai, kuriuos turi kiekvienas išrašas (Stmt/Id, Stmt/Acct/Id/IBAN, Stmt/Bal/…, Ntry/Amt, Ntry/CdtDbtInd, Ntry/Sts, Ntry/BookgDt), arba atributai, kuriuos PSD2 banko srautas grąžina kiekvienai operacijai. Pridėkite arba pašalinkite įrašus, kad jie atitiktų jūsų failą: importavimo įrankis taip pat skaito neprivalomus camt.053 elementus Ntry/ValDt, Ntry/NtryRef, Ntry/AcctSvcrRef, Ntry/AddtlNtryInf, TxDtls/Refs/EndToEndId, TxDtls/Refs/TxId, TxDtls/RltdPties/Dbtr/Nm, TxDtls/RltdPties/DbtrAcct/Id/IBAN, TxDtls/RltdPties/Cdtr/Nm, TxDtls/RltdPties/CdtrAcct/Id/IBAN, TxDtls/RmtInf/Ustrd ir TxDtls/AddtlTxInf.
  • „Stripe“ lauke Customer Email gali būti nurodyta "createPartner": true. Tokiu atveju importuojant kiekvienam faile esančiam el. pašto adresui, kurio neturi jokie esami partneriai, sukuriamas kliento partneris (fizinis asmuo, pažymėtas kaip klientas), naudojant lauką Customer Description kaip vardą (arba el. pašto adresą, jei jis tuščias), o stulpelius Card Address … – kaip adresą, jei failas juos turi. Esami partneriai atpažįstami pagal el. pašto adresą, neatsižvelgiant į didžiąsias ir mažąsias raides. Atsakyme pateikiamas sukurtų klientų skaičius lauke customersCreated.
  • metaFields (tik „Stripe“) išvardina metaduomenų raktus, kuriuos turi jūsų mokesčiai (mokėjimų operacijos). „Stripe“ eksportuoja kiekvieną raktą kaip stulpelį <key> (metadata); sąrašas yra laisvos formos ir gali būti ilgas.
  • invoiceItemId (tik „Stripe“, neprivaloma) yra katalogo prekė. Kai nustatyta, kiekviena sąskaitos faktūros ir kreditinės sąskaitos eilutė, kurią sukuria importas, nurodo šią prekę (jos registravimą ir, kai invoiceVatRatePercent yra tuščias, jos PVM tarifą); eilutės tekstas vis tiek imamas iš mokėjimo operacijos.
  • companyMetaField (tik „Stripe“) nurodo vieną iš tų raktų kaip įmonės požymį. Kai operacija tame stulpelyje turi reikšmę true, 1, yes, company, business arba b2b, jai sukurtas klientas yra juridinis asmuo (įmonė), o ne fizinis asmuo.
  • invoiceMetaField (tik „Stripe“) nurodo vieną iš tų raktų, pavyzdžiui, užsakymo numerį, o invoiceVatRatePercent – PVM tarifą sąskaitoms faktūroms, sukurtoms pagal jį. Importuojant kiekviena operacijos ir grąžinimo eilutė sugrupuojama pagal to rakto reikšmę:
    • reikšmė, atitinkanti esamą pardavimo sąskaitą faktūrą – pardavimo užsakymą, kurio externalRef yra ta reikšmė (ecommerce/orders/create, bet koks kanalas), arba sąskaitą faktūrą, kurios fullNumber yra ta reikšmė, susieja grupę su čia sąskaita faktūra;
    • reikšmė be sąskaitos faktūros sukuria naują: partneris iš Customer Email (sukuriamas, jei jo trūksta, kaip ir createPartner atveju), po vieną eilutę kiekvienai operacijai (Checkout Line Item Summary arba Description kaip tekstas, operacijos suma kaip kaina su PVM, taikant invoiceVatRatePercent), išrašymo data = pirmoji operacijos data, PVM apmokestinimo tvarka pagal įmonę ir kortelės šalį. Sąskaita faktūra išrašoma ir užregistruojama iš karto, taip pat užregistruojamas pardavimo užsakymas su kanalu stripe ir ta reikšme kaip externalRef, kad vėlesni importai susietų, o ne kurtų iš naujo;
    • tada kiekviena grupės operacija sulyginama su sąskaita faktūra kaip mokėjimas (užregistruojant įplauką); kiekvienas grąžinimas sukuria išrašytą kreditinę sąskaitą faktūrą pradinės sąskaitos atžvilgiu grąžintai sumai ir sulygina grąžinimą su ja. Skaitikliai grįžta laukuose invoicesCreated, invoicesLinked, creditNotesCreated ir paymentsMatched; grupės, kurių nepavyko apdoroti (nėra klientų el. pašto, mišrios valiutos, susieta sąskaita faktūra vis dar yra juodraštis arba jau visiškai apmokėta), išvardijamos lauke warnings ir paliekamos kaip naujos (new) banko operacijos. Tame pačiame šablone taip pat nesusiekite Amount su didžiosios knygos sąskaita: su sąskaita faktūra sulyginta operacija neregistruojama antrą kartą, tačiau nesulyginta operacija būtų užregistruota.
  • Šablonų pavadinimai įmonės mastu yra unikalūs.
  • camt.053 ir banko ryšio šablonai turi tas pačias parinktis, kurios skaitomos iš išrašo, o ne iš „Stripe“ stulpelių:
    • Kurti trūkstamus partnerius: createPartner debeto pavadinimo eilutėje (TxDtls/RltdPties/Dbtr/Nm, srautas debtor.name) sukuria klientą kiekvienam nežinomam gaunamų pinigų mokėtojui; kredito pavadinimo eilutėje (TxDtls/RltdPties/Cdtr/Nm, srautas creditor.name) – tiekėją kiekvienam nežinomam išmokamų pinigų gavėjui. Partneriai atpažįstami pagal IBAN (saugomą lentelėje partner_bank_accounts), tuomet pagal tikslų pavadinimą; naujas partneris yra įmonė, jei pavadinime yra teisinė forma (UAB, MB, SIA, GmbH, Ltd, …), kitu atveju – fizinis asmuo. Skaitiklis grįžta kaip customersCreated (failo importas) arba partnersCreated (srauto sinchronizavimas).
    • Susieti sąskaitas faktūras pagal nuorodą: invoiceMetaField, nustatytas į mokėjimo paskirties arba nuorodos eilutę (TxDtls/RmtInf/Ustrd, TxDtls/RmtInf/Strd/CdtrRefInf/Ref, TxDtls/Refs/EndToEndId; srautas remittance_information, reference_number), sulygina kiekvieną naują banko eilutę, kurios nuoroda, mokėjimo paskirtis arba aprašymas turi atviros išrašytos pardavimo sąskaitos faktūros (pinigai į) arba registruotos pirkimo sąskaitos faktūros (pinigai iš) numerį, ir užregistruoja mokėjimą. Kai mokėtojo IBAN išsaugotas prie partnerio arba mokėtojo pavadinimas sutampa su partnerio pavadinimu arba kodu, sąskaita faktūra turi priklausyti tam partneriui. Mokėjimas iš nežinomo mokėtojo susiejamas tik tada, kai jis lygus sąskaitos faktūrai likusiam likučiui ir sąskaitos faktūros numeris apima jos serijos priešdėlį, todėl grynas skaičius, pavyzdžiui, suma, niekada nelaikomas nuoroda. Mokėjimas, viršijantis likutį, niekada nesusiejamas. Eilutės, kurių nepavyksta patikrinti, lieka naujos rankiniam sulyginimui ir išvardijamos įspėjimuose. Su parinktimi advanceInvoices: true nesulygintas gaunamas mokėjimas iš žinomo partnerio sukuria išrašytą avansinę sąskaitą faktūrą (tipas advance) sumai, taikant invoiceVatRatePercent arba invoiceItemId tarifą, ir sulygina mokėjimą su ja; partneris turi būti žinomas, todėl pažymėkite ir debeto eilutę.
    • Registravimo taisyklės pagal operacijos kodą: be Ntry/Amt / transaction_amount.amount, laukų sąraše yra taisyklių eilutės Ntry/BkTxCd=CHRG, =INTR, =TAXE, Ntry/CdtDbtInd=DBIT, =CRDT (srautas: bank_transaction_code=…, credit_debit_indicator=…). Eilutė užregistruojama į pirmosios taisyklės, kurią ji atitinka, sąskaitą: jos banko operacijos kodo šeima, tuomet jos kryptis, o tuomet paprasta sumos eilutė. Taisyklių eilutės nėra tikrinamos pagal failą.
    • Banko mokesčių partneris: createPartner eilutėje su taisykle …=CHRG sukuria tiekėją, pavadintą banko vardu (išrašo Stmt/Acct/Svcr/FinInstnId/Nm, arba ryšio bankas, arba didžiosios knygos banko sąskaitos pavadinimas) ir užregistruoja kiekvieną mokestį su šiuo partneriu.
    • Banko ryšio šablonai pasirinkti kiekvienai srauto sąskaitai naudojant bank/feeds/accounts/configure (programėlėje Bankas → Ryšiai), kur taip pat nustatomas syncSchedule (manual, daily, weekly, monthly): API savarankiškai sinchronizuoja sąskaitas pagal grafiką, kai praeina jų laikotarpis. Šablonai taikomi kiekvieno bank/feeds/sync metu; sinchronizavimo atsakymas taip pat praneša apie posted, partnersCreated, invoicesLinked, invoicesCreated, paymentsMatched ir warnings.

Perduokite templateId į bank/statements/import vietoj format: šablono tipas parenka parserį (analizatorių), o faile turi būti kiekvienas šablone išvardytas laukas – failas, kuriame trūksta nors vieno iš jų, atmetamas grąžinant HTTP 422 klaidą ir nurodant trūkstamo stulpelio arba elemento pavadinimus. Metaduomenų laukų buvimas nėra privalomas. Banko ryšio šablonai apibūdina tiesioginį PSD2 srautą ir negali būti naudojami failų importavimui.

ISO 20022 šablonas taip pat nuskaito MT940 failus: failas, prasidedantis {1: arba :20: (arba atsiųstas su "format": "mt940"), analizuojamas kaip MT940, o jo eilutėms taikomas šablono nuorodų sulyginimas bei registravimo taisyklės. Elementų patikrinimas praleidžiamas MT940 failams, o taisyklės Ntry/BkTxCd=… MT940 eilutėms niekada netaikomos, nes MT940 neturi ISO 20022 banko operacijos kodo; vietoj to naudokite Ntry/CdtDbtInd=… taisykles.

Banko sąskaita turi vieną valiutą. Išrašas kita valiuta atmetamas grąžinant HTTP 422 (camt.053 faile, kuriame yra išrašai keliomis valiutomis tai pačiam IBAN, importuojamas tik išrašas, atitinkantis sąskaitos valiutą), taip pat ir eilutė, išsiųsta į bank/transactions/import su kita valiuta nei sąskaitos valiuta.

Kiekvienas judėjimas, sugeneruotas iš lauko, turinčio accountCode, importavimo metu užregistruojamas kaip vienas žurnalo įrašas: įplaukos debetuoja banko sąskaitos didžiosios knygos sąskaitą ir kredituoja susietą sąskaitą; išmokos debetuoja susietą sąskaitą ir kredituoja banko sąskaitos didžiosios knygos sąskaitą. Sumos konvertuojamos į bazinę valiutą judėjimo dieną. Tada banko operacija sulyginama (matched) su tuo žurnalo įrašu (matchedDocumentType = journal_transaction) ir jai nebevaizduojami pasiūlymai sulyginti su sąskaitomis faktūromis. Atsakymas pateikia skaičių lauke posted. Judėjimai iš nesusietų laukų lieka nauji (new) ir yra sulyginami su sąskaitomis faktūromis kaip anksčiau – pavyzdžiui, susiekite Fee su PSP mokesčių sąnaudų sąskaita ir palikite Amount nesusietą, kad mokėjimai vis tiek būtų sulyginami su pardavimo sąskaitomis faktūromis.

POST /v1/bank/statements/import
{
  "bankAccountId": "…",
  "templateId": "…",
  "content": "id,Created date (UTC),Amount,…"
}

ISO 20022 camt.053 (atvirosios bankininkystės XML)

Lietuvos bankai („Swedbank“, „SEB“, „Luminor“, „Šiaulių bankas“, …) leidžia atsisiųsti sąskaitų išrašus ISO 20022 camt.053 XML formatu iš savo interneto banko – paprastai išrašų eksporto / atsisiudinamų skyrelyje, pasirinkus formatą „ISO XML“ arba „camt.053“. Tokį patį formatą grąžina ir PSD2 sąskaitų informacijos API.

POST /v1/bank/statements/import
{
  "bankAccountId": "…",
  "format": "camt053",
  "content": "<?xml version=\"1.0\"…>…"
}
  • Faile gali būti keli išrašai; kiekvieno išrašo IBAN turi atitikti banko sąskaitos IBAN (išrašai be IBAN arba sąskaitos be IBAN priimami tokie, kokie yra).
  • Operacijų nuorodos (AcctSvcrRef/NtryRef, numatytuoju atveju pereinant prie turinio maišos (hash)) tampa lauku externalId.
  • Atsakymas atiduoda kiekvieno išrašo metaduomenis: išrašo ID, laikotarpį, pradinį / galutinį likutį, operacijų skaičių.
  • Kontrahento pavadinimas, IBAN ir mokėjimo paskirtis ištraukiami kiekvienai eilutei sulyginimui.

Mokėjimai priešinga kryptimi eksportuojami kaip pain.001 per bank/payments/export.

„Stripe“ CSV

Eksportas iš „Stripe“ valdymo skydelio – tinka bet kuri ataskaita:

  • Reports → Balance → Itemized balance change from activity (rekomenduojama): stulpeliai balance_transaction_id, created_utc, currency, gross, fee, net, reporting_category, description.
  • Payments → Export: stulpeliai id, Created (UTC), Amount, Fee, Currency, Description, Customer Description.
POST /v1/bank/statements/import
{
  "bankAccountId": "…",
  "format": "stripe-csv",
  "content": "balance_transaction_id,created_utc,currency,gross,fee,net,…"
}

Sukurkite atskirą banko sąskaitą „Stripe“ (pvz., pavadinimu „Stripe“, didžiosios knygos sąskaita 2710 arba jos atskira subskaita) – „Stripe“ likutis veikia kaip banko sąskaita: įplaukia mokėjimai, nuskaitomi mokesčiai, o išmokėjimai perveda likutį į jūsų tikrąją banko sąskaitą.

Importavimo elgsena:

  • Kiekviena balansinė operacija tampa viena banko operacija bruto (neatskaičius mokesčių) sumai (externalId = balansinės operacijos ID).
  • Nulinis mokestis tampa antrta operacija su priešingu ženklu (externalId = <id>:fee, kontrahentas „Stripe“) – todėl mokesčius galima sulyginti / užregistruoti kaip sąnaudas atskirai nuo pajamų. Grąžinimuose grąžinti mokesčiai ateina kaip teigiamos sumos.
  • Išmokėjimų (Payout) eilutės importuojamos kaip vienintelės neigiamos operacijos; sulyginkite jas su atitinkama gaunama operacija jūsų tikrojo banko sąskaitos išraše.
  • Eilutės su nulinėmis sumomis praleidžiamos; data imama iš created_utc (UTC).
  • Mokėjimų eksporto eilutės, kuriose nebuvo judinami pinigai, praleidžiamos: Captured = false (autorizacijos / vėluojantys pinigų nuskaitymai) ir Status Failed/Canceled (nepavyko / atšaukta).
  • Nulinė grąžinta suma (Amount Refunded) tampa trečia, neigiama operacija (externalId = <id>:refund), kurios data yra Refunded date (UTC) – todėl daliniai ir pilni grąžinimai, įterpti į mokėjimo eilutes, nepasimeta.

PSP atsiskaitymų suderinimas („Stripe“ išmokų ataskaitos)

Jei norite išskaidyti vienkartinę išmoką į jos pagrindinius užsakymus, grąžinimus, mokesčius ir pinigų grąžinimo pretenzijas (chargebacks), naudokite atsiskaitymų galinius taškus (endpoints), o ne paprastą išrašo importą. Priimami du „Stripe“ eksportai (aptinkami automatiškai):

  • Reports → Payouts → Payout reconciliation, itemized (ataskaitų tipai payout_reconciliation.itemized.* arba payout_reconciliation.by_id.itemized.*) – tikslus, po vieną eilutę kiekvienai balansinei operacijai; teikiamas pirmenybė gyvose paskyrose.
  • Payments → Export (unified payments) – operacijų lygio eksportas; veikia bandomuoju (sandbox) režimu, kur atsiskaitymo suderinimas nepasiekiamas. Užfiksuotos operacijos sugrupuotos pagal išmokos ID stulpelyje Transfer; neužfiksuotos / nepavykusios eilutės praleidžiamos (skippedNotSettled); nulinė Amount Refunded tampa sintetine grąžinimo eilute operacijos išmokų cikle – tai yra apytikslis įvertinimas, nes pinigų grąžinimas iš tikrųjų galėjo būti išmokėtas vėlesnėje išmokoje. Sulyginimo nuorodos gaunamos iš operacijos ID, PaymentIntent ID, Invoice Number, Client Reference ID ir kiekvieno … (metadata) stulpelio (pvz., užsakymo numeris metaduomenyse).

Vienas CSV failas gali apimti daug išmokų. „Stripe“ atsisiunčia detalizuotą ataskaitą po vieną failą kiekvienai skiltiai (…_charge_…, …_refund_…, …_fee_…); importuokite juos visus – jau importuotos išmokos eilutės susijungia į esamą paketą (apie tai pranešama updated skaitiklyje), kol jis dar nebuvo užregistruotas, o paketo sumos perskaičiuojamos.

POST /v1/bank/settlements/import
{
  "bankAccountId": "…",
  "provider": "stripe",
  "content": "balance_transaction_id,created_utc,…,reporting_category,…,automatic_payout_id,…"
}

Importavimo elgsena:

  • Eilutės sugrupuojamos pagal automatic_payout_id į atsiskaitymų paketus – po vieną paketą išmokai, su bruto / mokesčių / neto sumomis (eilutės net suma = suma, kuri pasiekia jūsų banką). Pakartotinis išmokos importavimas praleidžiamas (skipped skaitiklis). Eilutės, dar nepriskirtos išmokai, ir pačios payout eilutės praleidžiamos ir skaičiuojamos atskirai.
  • Kiekviena operacijos / grąžinimo / pretenzijos eilutė automatiškai sulyginama su pardavimo sąskaita faktūra, naudojant iš eilės: el. komercijos užsakymo externalRef (bet kuri reikšmė iš order_id, payment_intent_id, source_id, charge_id arba bet kurio *_metadata[...] stulpelio), sąskaitos faktūros fullNumber, atsirandantį tuose stulpeliuose, ir – grąžinimams bei pretenzijoms – anksčiau sulygintos operacijos charge_id (tame pačiame faile arba ankstesniuose importuose).
  • Peržiūrėkite per bank/settlements/list / bank/settlements/get; likučius sutvarkykite per bank/settlements/match { lineId, invoiceId } (arba invoiceId: null, kad atšauktumėte sulyginimą).

POST /v1/bank/settlements/post { id, date?, commissionPercent? } užregistruoja visą paketą kaip vieną subalansuotą žurnalo įrašą ir padengia sulygintas sąskaitas faktūras (paidAmount/paymentStatus, žiniatinklio pranešimai sale_invoice.paid):

  • Debetuokite banko sąskaitos didžiąją knygą grynajai išmokai; debetuokite PSP mokesčius (settlements.fees, numatytoji reikšmė 6800) už sulaikytus mokesčius ir mokesčių eilutes.
  • Kredituokite gautinas sumas už kiekvieną sulygintą operaciją; grąžinimai ir pretenzijos tai anuliuoja. Padengimas ribojamas kiekvienos sąskaitos faktūros likučiu – bet koks perteklius patenka į laukiagrupės (pasirodymo) sąskaitą su įspėjimu.
  • Nesulygintos operacijos: nustačius commissionPercent, jos išskaidomos į komisinių pajamas (settlements.commissionRevenue, numatytoji reikšmė 5001) ir pardavėjo įsipareigojimą (settlements.sellerPayable, numatytoji reikšmė 4499) – prekyvietės srautas, kur surinkti pinigai dažniausiai priklauso pardavėjams. Be šio nustatymo jos paliekamos sąskaitoje settlements.suspense (numatytoji reikšmė 4440, gauti avansai).
  • Eilutės platform_earning („Stripe Connect“ programėlės mokesčiai) registruojamos kaip komisinės pajamos; eilutės transfer (išmokos prijungtiems pardavėjams) sumažina pardavėjo įsipareigojimą.
  • Visos keturios sąskaitos gali būti perrašytos įmonės mastu per registravimo taisykles (ledger/posting-rules).
  • Eilutė, kurios operacija, mokestis ar grąžinimas jau buvo importuoti į kitą banko sąskaitą iš „Stripe“ mokėjimų eksporto (bank/statements/import), nėra registruojama mokesčiams, gautinoms sumoms ar laukiagrupei. Jos net vertė kredituojama tos banko sąskaitos didžiosios knygos sąskaitoje, todėl „Stripe“ banko sąskaita išsivalo išmoka po išmokos. summary.clearedAmount yra bendra taip perkelta suma; eilutė, kurios suma skiasi nuo to, ką ši sąskaita laiko, įvardijama lauke warnings. Jei nieko neliko registruoti, paketas registruojamas su nustatyta reikšmė journalTransactionId lygi null.

bank/settlements/list ir /get grąžina kiekvienam paketui šiuos duomenis: clearedNet, clearingDifference (išmokų eilutės minus sumos, kurias kitos banko sąskaitos laiko joms; nulis, kai jos sutampa) ir clearingOpenCount (eilutės su skirtumu arba neužregistruotu judėjimu); /get grąžina tą patį kiekvienai eilutei kaip clearingBankAccountId, clearingBooked, clearingDifference ir clearingUnposted. Vieno mokėjimo grąžinimo eilutės lyginamos kartu, nes mokėjimų eksportas saugo tik grąžintą bendrą sumą. „Stripe“ mokėjimų eksportas, importuotas po to, kai jo išmoka jau buvo užregistruota, praleidžia tos išmokos judėjimus ir įvardija ją įspėjimuose.

PVM už pačius komisinius išrašomas atskirai (išrašykite komisinių sąskaitą faktūrą pardavėjui); skaidymas paskirsto tik surinktus grynuosius pinigus.

Išmokos kita valiuta

Žurnalas visada rašomas įmonės bazine valiuta, tačiau išmoka kita valiuta užregistruojama automatiškai – rankinio įrašo nereikia:

  • Paketas konvertuojamas pagal registravimo datos kursą (date, numatytoju atveju pereinant prie išmokos datos, o vėliau – šiandienos). Kursas yra pačios įmonės kursas tai valiutai (reference/exchange-rates/set), kai jis yra bent toks pat naujas kaip oficialus, kitu atveju – naujausias oficialus kursas tą dieną arba iki jos. Jei nėra kurso tą dieną arba iki jos, iškvietimas baigiasi klaida 422 ir nurodo reference/exchange-rates/sync.
  • Kiekviena sąskaita konvertuojama pagal tą paketo kursą, išskyrus gautinas sumas, kurios sumažinamos tuo valiutos kursu (fxRate), kuriuo kiekviena sąskaita faktūra buvo išrašyta. Skirtumas tarp dviejų kursų registruojamas sąskaitoje bank.fxGain (numatytoji reikšmė 5803) arba bank.fxLoss (numatytoji reikšmė 6803) kaip realizuotas valiutos kursų skirtumas, todėl žurnalas išlieka subalansuotas.
  • Atsakymo summary grąžina naudotą valiutos kursą (fxRate) ir gaunamą valiutos kursų skirtumą (exchangeDifference), o paketas išlaiko kursą, kuriuo jis buvo užregistruotas. Sulyginta sąskaita faktūra, kurios valiuta skiriasi nuo paketo valiutos, nepadengiama: jos suma patenka į laukiagrupės sąskaitą su įspėjimu.
  • Lieka vienas importavimo apribojimas: viena išmoka, kurios eilutėse maišomos kelios valiutos, atmetama su 422 klaida, taip pat ir pakartotinis importas, kurio valiuta skiriasi nuo tam išmokėjimui jau išsaugoto paketo.

Rankiniai / pasirinktiniai srautai

Bet ką kita galima pateikti kaip paprastą JSON:

POST /v1/bank/transactions/import
{
  "bankAccountId": "…",
  "transactions": [
    { "date": "2026-07-01", "amount": "-25.00", "currency": "EUR",
      "counterpartyName": "…", "description": "…", "externalId": "unique-ref-1" }
  ]
}

Pateikite stabilią reikšmę externalId kiekvienai operacijai, kad pakartotinis importavimas išliktų idempotentinis.