Nordlet

Dokumentacija / Vadovai

Banko ir mokėjimų importai

„camt.053“ išrašai, „Stripe“ CSV, mokėjimo paslaugų teikėjų (PSP) atsiskaitymų derinimas ir pasirinktiniai JSON srautai.

Visi importuoti duomenys įrašomi kaip banko operacijos banko sąskaitoje (bank/accounts/create). Operacijos turi externalId; pakartotinai importuoti tą patį failą yra saugu — eilutės, kurių (bankAccountId, externalId) jau egzistuoja, yra praleidžiamos ir parodomos skipped skaitiklyje. Importuotos operacijos gauna pradinį statusą new ir į didžiąją knygą įtraukiamos tik tada, kai yra susiejamos (bank/transactions/match, o kandidatus susiejimui galima rasti per bank/transactions/suggest-matches).

Internetinėje programoje šiuos pačius importus galima rasti skiltyje Bankas → Importuoti išrašą (failo įkėlimas, formato pasirinkimas).

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

Lietuvos bankai (Swedbank, SEB, Luminor, Šiaulių bankas ir kt.) leidžia atsisiųsti sąskaitų išrašus ISO 20022 camt.053 XML formatu iš savo interneto bankų — dažniausiai išrašų eksporto / atsisiuntimo skiltyje, 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 sutapti su banko sąskaitos IBAN (išrašai be IBAN arba sąskaitos, neturinčios nurodyto IBAN, priimami tokie, kokie yra).
  • Įrašų nuorodos (AcctSvcrRef/NtryRef, arba turinio maiša, jei nuorodų nėra) tampa externalId.
  • Atsakyme pateikiami kiekvieno išrašo metaduomenys: išrašo ID, laikotarpis, pradinis / galutinis likutis, operacijų skaičius.
  • Kontragento pavadinimas, IBAN ir mokėjimo paskirtis išskiriami iš kiekvieno įrašo ir naudojami susiejimui.

Mokėjimai į kitą pusę eksportuojami pain.001 formatu per bank/payments/export.

Stripe CSV

Eksportuokite iš „Stripe“ valdymo skydelio — tinka bet kuri iš ataskaitų:

  • 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ą sistemai „Stripe“ (pvz., pavadinimas „Stripe“, didžiosios knygos sąskaita 2710 ar kita atskira subsąskaita) — „Stripe“ likutis veikia kaip banko sąskaita: įplaukos kaupiasi, mokesčiai atskaitomi, o išmokėjimai perveda likutį į jūsų tikrąjį banką.

Importavimo elgsena:

  • Kiekviena likučio operacija tampa viena banko operacija su bruto (gross) suma (externalId = likučio operacijos ID).
  • Nelygus nuliui mokestis (fee) tampa antra operacija su priešingu ženklu (externalId = <id>:fee, kontragentas „Stripe“) — taip mokesčius galima susieti / įtraukti į apskaitą kaip sąnaudas atskirai nuo pajamų. Grąžinamų pinigų metu sugrįžę mokesčiai pateikiami kaip teigiamos sumos.
  • Išmokėjimų (payout) eilutės importuojamos kaip atskiros neigiamos operacijos; susiekite jas su atitinkama įeinančia operacija savo tikrojo banko išraše.
  • Nulinės sumos eilutės yra praleidžiamos; data imama iš created_utc (UTC laiku).
  • Mokėjimų eksporto eilutės, kuriose nebuvo pinigų judėjimo, yra praleidžiamos: Captured = false (autorizacijos / atidėti nuskaitymai) ir Status reikšmė Failed / Canceled.
  • Nelygi nuliui grąžinta suma (Amount Refunded) tampa trečia, neigiama operacija (externalId = <id>:refund), kurios data yra Refunded date (UTC) — taigi mokėjimo eilutėse esantys daliniai ir visiški grąžinimai neprarandami.

Mokėjimo paslaugų teikėjų (PSP) atsiskaitymų derinimas („Stripe“ išmokėjimų ataskaitos)

Norėdami išskaidyti vienkartinio išmokėjimo sumą į atitinkamus užsakymus, grąžinimus, mokesčius ir atšauktus mokėjimus (chargebacks), naudokite atsiskaitymų galinius punktus (endpoints) užuot paprastai importavę išrašą. Priimami du „Stripe“ eksporto formatai (aptinkami automatiškai):

  • Reports → Payouts → Payout reconciliation, itemized (ataskaitų tipai payout_reconciliation.itemized.* arba payout_reconciliation.by_id.itemized.*) — tikslus, viena eilutė vienai likučio operacijai; rekomenduojamas dirbant su veikiančiomis paskyromis (live accounts).
  • Payments → Export (unified payments) — nuskaitymų (charge) lygio eksportas; veikia testavimo (sandbox) režimu, kai išmokėjimų derinimo ataskaitos (payout reconciliation) nėra. Įvykdyti nuskaitymai grupuojami pagal išmokėjimo ID Transfer stulpelyje; neįvykdytos / nepavykusios eilutės praleidžiamos (skippedNotSettled); nelygi nuliui reikšmė stulpelyje Amount Refunded tampa sintetine grąžinimo eilute to nuskaitymo išmokėjimų partijoje — tai tik apytikslis duomenų atvaizdavimas, nes grąžinimas iš tikrųjų galėjo būti apdorotas vėlesniame išmokėjime. Susiejimo nuorodos imamos iš nuskaitymo ID, PaymentIntent ID, Invoice Number, Client Reference ID bei visų … (metadata) stulpelių (pvz., užsakymo numerio metaduomenyse).

Vienas CSV failas gali apimti kelis išmokėjimus. Iš „Stripe“ detali ataskaita atsiunčiama po vieną failą kiekvienai sekcijai (…_charge_…, …_refund_…, …_fee_…); importuokite juos visus — eilutės, priklausančios jau importuotam išmokėjimui, susilieja su esama partija (rodoma updated skaitiklyje), jeigu ji dar neįtraukta į didžiąją knygą, o partijos bendrosios 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ų partijas — po vieną partiją kiekvienam išmokėjimui su priskaičiuotomis bruto / mokesčių / neto sumomis (eilutės net suma = suma, kuri patenka į jūsų banką). Pakartotinis to paties išmokėjimo importavimas praleidžiamas (skipped skaitiklis). Eilutės, dar nepriskirtos išmokėjimui, bei pačios payout eilutės yra praleidžiamos ir skaičiuojamos atskirai.
  • Kiekviena nuskaitymo, grąžinimo ar ginčo eilutė yra automatiškai susiejama su pardavimo sąskaita faktūra, eilės tvarka naudojant: el. prekybos užsakymo externalRef (bet kokia reikšmė iš order_id, payment_intent_id, source_id, charge_id arba bet kurio *_metadata[...] stulpelio), tuose stulpeliuose esantį sąskaitos faktūros fullNumber, o grąžinimams ir atšauktiems mokėjimams — anksčiau susieto nuskaitymo (tame pačiame faile arba ankstesniuose importuose) charge_id.
  • Peržiūrėkite atsiskaitymus su bank/settlements/list / bank/settlements/get; nesusietus likučius pataisykite naudodami bank/settlements/match { lineId, invoiceId } (arba naudokite invoiceId: null, kad atsietumėte).

POST /v1/bank/settlements/post { id, date?, commissionPercent? } įtraukia į apskaitą visą partiją kaip vieną subalansuotą dvejybinį įrašą ir padengia susietas sąskaitas faktūras (paidAmount/paymentStatus, sale_invoice.paid iškviečiamieji adresai („webhooks“)):

  • Debetuojama banko sąskaita didžiojoje knygoje neto išmokėjimo sumai; debetuojamos PSP mokesčių sąnaudos (settlements.fees, numatytoji sąskaita 6800) už išskaitytus mokesčius ir mokesčių eilutes.
  • Kredituojamos pirkėjų skolos (accounts receivable) už kiekvieną susietą nuskaitymą; grąžinimai ir atšaukti mokėjimai šį įrašą stornuoja. Dengimas ribojamas pagal kiekvienos sąskaitos faktūros likusią nesumokėtą sumą — bet koks perviršis su įspėjimu nukreipiamas į tarpinę sąskaitą (suspense account).
  • Nesusieti nuskaitymai: nustačius commissionPercent, jie išskaidomi į komisinių pajamas (settlements.commissionRevenue, numatytoji sąskaita 5001) ir įsipareigojimą pardavėjui (settlements.sellerPayable, numatytoji 4499) — tai prekyvietės (marketplace) modelis, kur surinkti pinigai dažniausiai priklauso pardavėjams. Nenurodžius šio procento, sumos perkeliamos į tarpinę settlements.suspense sąskaitą (numatytoji 4440, gauti avansai).
  • platform_earning eilutės („Stripe Connect“ taikomieji mokesčiai) įtraukiamos į komisinių pajamas; transfer eilutės (išmokos prijungtiems pardavėjams) mažina įsipareigojimą pardavėjui.
  • Visas keturias sąskaitas galima perrašyti kiekvienai įmonei atskirai, naudojant registravimo taisykles (ledger/posting-rules).

PVM nuo pačių komisinių sąskaitose faktūrose išrašomas atskirai (išrašykite pardavėjui komisinių sąskaitą faktūrą); skaidant tik paskirstomi surinkti pinigai. Atsiskaitymai registruojami įmonės bazine valiuta — išmokėjimai užsienio valiuta šiuo metu turi būti įtraukiami rankiniu būdu.

Rankiniai / pasirinktiniai duomenų srautai

Bet kokius kitus duomenis galima persiųsti kaip paprastą JSON formato struktūrą:

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

Kiekvienai operacijai priskirkite pastovų externalId, kad pakartotiniai importai išliktų idempotentiniai.