← Dokumentacija / Vodiči
Uvoz podatkov o bančnih in plačilnih transakcijah
Izpisi v formatu camt.053, datoteke CSV za Stripe, usklajevanje poravnav ponudnikov plačilnih storitev in nastavljivi viri JSON.
Vsi uvozi se zabeležijo kot bančne transakcije na bančnem računu (bank/accounts/create). Transakcije vsebujejo identifikator externalId; ponovni uvoz iste datoteke je varen, saj se vrstice, katerih kombinacija vrednosti (bankAccountId, externalId) že obstaja, preskočijo in zabeležijo v števcu preskočenih vnosov (skipped). Uvožene transakcije imajo najprej status new in se knjižijo v glavno knjigo šele takrat, ko so usklajene (bank/transactions/match, pri čemer so kandidati na voljo prek bank/transactions/suggest-matches).
Spletna aplikacija ponuja iste uvoze pod menijem Banka → Uvoz datoteke (nalaganje datotek, izbira predloge).
Napačno uskladitev je mogoče razveljaviti s klicem bank/transactions/unmatch (v vmesniku Banka → Transakcije kot Razveljavi uskladitev). Knjižene postavke se nikoli ne urejajo ali brišejo: plačilo, usklajeno z računom, ali postavka, ki jo je predloga za uvoz knjižila na konto, prejme stornacijski temeljni dokument z vsemi postavkami na nasprotni strani, z datumom date (privzeto: danes, pri čemer datum ne sme biti pred datumom prvotnega knjiženja). Znesek plačila in status plačila računa se zmanjšata za znesek zadevne bančne postavke. Postavka, povezana s poravnavo ponudnika plačilnih storitev, se samo razveže, ker knjiženje poravnave spada k seriji. Postavka se vrne v status new in jo je mogoče ponovno uskladiti. Datum stornacije mora spadati v odprto obračunsko obdobje.
Predloge za uvoz
Predloga za uvoz opredeljuje vir podatkov, navaja polja, ki jih vir posreduje, in preslikava polja z zneski na konte v glavni knjigi. Predloge se upravljajo pod menijem Banka → Predloge za uvoz ter prek virov 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"]
}
- Vrednost
typeje ena od naslednjih:stripe,iso20022,bank_connectionalirevolut. - Vsako polje ima
namein opcijsko kodo kontaaccountCode. Konte je dovoljeno določiti samo za polja, ki vsebujejo denarne zneske:Amount,FeeinAmount Refundedza Stripe;Ntry/Amtza camt.053;transaction_amount.amountza bančni vir. Konto mora obstajati v kontnem načrtu (ustvarite ga zledger/accounts/create). - Polje
fieldsse lahko izpusti; v tem primeru se privzamejo standardna polja za posamezno vrsto: imena stolpcev v datoteki za izvoz plačil Payments → Export sistema Stripe (brez 19 stolpcevCard …, ki jih obrazec privzeto pusti neoznačene), elementi camt.053, ki jih vsebuje vsak izpisek (Stmt/Id,Stmt/Acct/Id/IBAN,Stmt/Bal/…,Ntry/Amt,Ntry/CdtDbtInd,Ntry/Sts,Ntry/BookgDt), ali atributi, ki jih bančni vir PSD2 vrne za posamezno transakcijo. Vnose lahko dodate ali odstranite, da ustrezajo vaši datoteki: uvoznik prebere tudi opcijske elemente camt.053Ntry/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/UstrdinTxDtls/AddtlTxInf. - Polje
Customer Emailv sistemu Stripe lahko vsebuje nastavitev"createPartner": true. V tem primeru uvoz ustvari kupca (poslovnega partnerja tipa fizična oseba, označenega kot kupec) za vsak e-poštni naslov v datoteki, ki še ne obstaja med partnerji. Kot naziv se uporabiCustomer Description(ali e-poštni naslov, če je ta prazen), kot naslov pa stolpciCard Address …, če jih datoteka vsebuje. Obstoječi partnerji se iščejo po e-poštnem naslovu, ne glede na velike/male črke. Odgovor vrne število v poljucustomersCreated. - Polje
metaFields(velja samo za Stripe) navaja ključe metapodatkov, ki jih nosijo vaša bremenitve. Stripe izvozi vsak ključ kot stolpec<key> (metadata); seznam je proste oblike in je lahko dolg. - Polje
invoiceItemId(velja samo za Stripe, opcijsko) je artikel v katalogu. Ko je nastavljeno, se vsaka vrstica izdanega računa in dobropisa, ki jo uvoz ustvari, sklicuje na ta artikel (njegovo knjiženje in, če je poljeinvoiceVatRatePercentprazno, njegovo stopnjo DDV); besedilo vrstice pa še vedno izhaja iz bremenitve. - Polje
companyMetaField(velja samo za Stripe) določa enega od teh ključev kot oznako podjetja. Ko bremenitev v tem stolpcu vsebuje vrednosttrue,1,yes,company,businessalib2b, je zanje ustvarjen kupec poslovni partner tipa pravna oseba namesto fizične osebe. - Polje
invoiceMetaField(velja samo za Stripe) določa enega od teh ključev, na primer številko naročila,invoiceVatRatePercentpa določa stopnjo DDV za račune, ustvarjene iz njega. Ob uvozu se vsaka vrstica bremenitve in vračila združi glede na vrednost tega ključa:- vrednost, ki se ujema z obstoječim izdanim računom – prodajnim naročilom, katerih
externalRefje ta vrednost (ecommerce/orders/create, kateri koli kanal), ali računom, kateregafullNumberje ta vrednost – poveže skupino s tem računom; - vrednost brez ustreznega računa ustvari novega: partner iz polja
Customer Email(ustvarjen, če manjka, podobno kot pricreatePartner), ena vrstica na bremenitev (Checkout Line Item SummaryaliDescriptionkot besedilo, znesek bremenitve kot cena z vključenim DDV po stopnjiinvoiceVatRatePercent), datum izdaje = datum prve bremenitve, obravnava DDV pa izhaja iz družbe in države kartice. Račun se izda in knjiži takoj, hkrati pa se zabeleži prodajno naročilo s kanalomstripein to vrednostjo kotexternalRef, tako da kasnejši uvozi izvedejo povezavo namesto ustvarjanja; - vsaka bremenitev v skupini se nato uskladi z računom kot plačilo (knjiženje prejetega zneska); vsako vračilo ustvari izdan dobropis k računu za vrnjeni znesek in z njim uskladi vračilo.
Rezultati se vrnejo v števcih
invoicesCreated,invoicesLinked,creditNotesCreatedinpaymentsMatched; skupine, ki jih ni bilo mogoče obdelati (ni e-poštnega naslova kupca, mešane valute, povezan račun je še vedno osnutek ali je že v celoti plačan), so navedene v poljuwarningsin ostanejo kot nove bančne transakcije (new). V isti predeli prav tako ne preslikajte poljaAmountna konto v glavni knjigi: bremenitev, usklajena z računom, se ne knjiži dvakrat, neusklajena pa bi se.
- vrednost, ki se ujema z obstoječim izdanim računom – prodajnim naročilom, katerih
- Imena predolog so enolična znotraj posamezne družbe.
- Predloge za camt.053 in bančne povezave vsebujejo same možnosti, le da se berejo iz izpiska namesto iz stolpcev sistema Stripe:
- Ustvarjanje manjkajočih partnerjev: Nastavitev
createPartnerv vrstici z nazivom dolžnika (TxDtls/RltdPties/Dbtr/Nm, virdebtor.name) ustvari kupca za vsakega neznanega plačnika priliva; v vrstici z nazivom upnika (TxDtls/RltdPties/Cdtr/Nm, vircreditor.name) pa dobavitelja za vsakega neznanega prejemnika odliva. Partnerji se prepoznajo po IBAN-u (shranjenem vpartner_bank_accounts), nato pa po natančnem imenu. Nov partner je pravna oseba, če naziv vsebuje pravno obliko (UAB, MB, SIA, GmbH, Ltd, …), sicer pa fizična oseba. Števec se vrne kotcustomersCreated(uvoz datoteke) alipartnersCreated(sinhronizacija vira). - Povezovanje računov po sklicu: Polje
invoiceMetaField, nastavljeno na vrstico s podatki o plačilu ali sklicem (TxDtls/RmtInf/Ustrd,TxDtls/RmtInf/Strd/CdtrRefInf/Ref,TxDtls/Refs/EndToEndId; virremittance_information,reference_number), uskladi vsako novo bančno vrstico, katere sklic, namen ali opis vsebuje številko odprtega izdanega prodajnega računa (priliv) ali knjiženega prejetega nabavnega računa (odliv), ter knjiži plačilo. Ko je IBAN plačnika shranjen pri partnerju ali se ime/šifra plačnika ujema s partnerjevim, mora račun pripadati temu partnerju. Plačilo neznanega plačnika se poveže samo takrat, ko je enako preostanku dolga na računu in številka računa vsebuje predpono serije, tako da se gola številka, kot je znesek, nikoli ne obravnava kot sklic. Plačilo, večje od preostalega zneska, se nikoli ne poveže. Vrstice, ki ne prestanejo teh preverjanj, ostanejo v statusu novih za ročno usklajevanje in so navedene v opozorilih. Z nastavitvijoadvanceInvoices: trueneusklajeni priliv od znanega partnerja ustvari izdan prejet predujem (vrstaadvance) za znesek po stopnjiinvoiceVatRatePercentali stopnji artiklainvoiceItemIdter z njim uskladi plačilo. Partner mora biti znan, zato označite tudi vrstico dolžnika. - Pravila knjiženja glede na transakcijsko kodo: Poleg
Ntry/Amt/transaction_amount.amountseznam polj vsebuje vrstice s praviliNtry/BkTxCd=CHRG,=INTR,=TAXE,Ntry/CdtDbtInd=DBIT,=CRDT(vir:bank_transaction_code=…,credit_debit_indicator=…). Vrstica se knjiži na konto prvega pravila, s katerim se ujema: najprej družina transakcijske kode, nato smer in nazadnje navadna vrstica z zneskom. Vrstice s pravili se ne preverjajo glede na datoteko. - Partner za bančne stroške: Nastavitev
createPartnerv vrstici pravila…=CHRGustvari dobavitelja, poimenovanega po banki (izpisekStmt/Acct/Svcr/FinInstnId/Nm, banka povezave ali naziv bančnega računa v glavni knjigi), in knjiži vsak strošek s tem partnerjem. - Predloge za bančne povezave se izberejo za posamezen račun vira z ukazom
bank/feeds/accounts/configure(v aplikaciji Banka → Povezave), kjer se nastavi tudisyncSchedule(manual,daily,weekly,monthly): API samodejno sinhronizira račune z urnikom, ko preteče njihovo obdobje. Predloge se uporabijo ob vsakem klicubank/feeds/sync; odgovor sinhronizacije nato poroča tudi o števcu knjiženj (posted), ustvarjenih partnerjih (partnersCreated), povezanih računih (invoicesLinked), ustvarjenih računih (invoicesCreated), usklajenih plačilih (paymentsMatched) in opozorilih (warnings).
- Ustvarjanje manjkajočih partnerjev: Nastavitev
Funkciji bank/statements/import namesto parametra format posredujte templateId: vrsta predloge določa razčlenjevalnik, datoteka pa mora vsebovati vsa polja, navedena v predlogi. Če v datoteki manjka katero koli polje, je zavrnjena s kodo HTTP 422 in imeni manjkajočih stolpcev ali elementov. Polja metapodatkov ni obvezno vključiti. Predloge za bančne povezave opisujejo vir PSD2 v živo in se ne uporabljajo za uvoz datotek.
Predloga ISO 20022 bere tudi datoteke MT940: datoteka, ki se začne z {1: ali :20: (ali je poslana z "format": "mt940"), se razčleni kot MT940, pri čemer se na njenih vrsticah uporabijo ujemanje sklicev in pravila knjiženja iz predloge. Preverjanje elementov se za MT940 preskoči, pravila Ntry/BkTxCd=… pa za vrstice MT940 nikoli ne veljajo, ker format MT940 ne vsebuje bančne transakcije kode ISO 20022; namesto tega uporabite pravila Ntry/CdtDbtInd=….
Bančni račun ima natanko eno valuto. Izpisek v drugi valuti se zavrne s kodo HTTP 422 (v datoteki camt.053 z izpiski v več valutah za isti IBAN se uvozi samo izpisek v valuti računa), prav tako pa se zavrne vrstica, poslana na bank/transactions/import z valuto, ki se razlikuje od valute računa.
Vsak denarni tok, proizveden iz polja s kodo konta (accountCode), se ob uvozu knjiži kot en temeljni dokument: priliv v breme konta v glavni knjigi bančnega računa in v korist preslikanega konta; odliv v breme preslikanega konta in v korist konta v glavni knjigi bančnega računa. Zneski se na datum dogodka pretvorijo v osnovno valuto. Bančna transakcija se nato uskladi (matched) s tem temeljnim dokumentom (matchedDocumentType = journal_transaction) in ni več ponujena za usklajevanje z računi. Odgovor vrne število v polju posted. Denarni toki iz nepreslikanih polj ostanejo v statusu novih (new) in se uskladijo z računi kot doslej – na primer, če Fee preslikate na konto stroškov provizij PSP, Amount pa pustite nepreslikan, se bremenitve še naprej usklajujejo s prodajnimi računi.
POST /v1/bank/statements/import
{
"bankAccountId": "…",
"templateId": "…",
"content": "id,Created date (UTC),Amount,…"
}
ISO 20022 camt.053 (odprti bančni XML)
Litovske banke (Swedbank, SEB, Luminor, Šiaulių bankas, …) omogočajo prenos bančnih izpiskov v formatu XML camt.053 prek spletne banke – običajno pod izvozom/prenosom izpiskov v formatu "ISO XML" ali "camt.053". Isti format vračajo tudi vmesniki API za informiranje o računih PSD2.
POST /v1/bank/statements/import
{
"bankAccountId": "…",
"format": "camt053",
"content": "<?xml version=\"1.0\"…>…"
}
- Datoteka lahko vsebuje več izpiskov; IBAN vsakega izpiska se mora ujemati z IBAN-om bančne računa (izpiski brez IBAN-a ali računi brez njega se sprejmejo takšni, kot so).
- Sklici vnosov (
AcctSvcrRef/NtryRef, z nadomestno vrednostjo zgoščene vrednosti vsebine) postanejo vrednostexternalId. - Odgovor vrne metapodatke za posamezen izpisek: ID izpiska, obdobje, začetni/končni saldo, število transakcij.
- Naziv nasprotne stranke, IBAN in namen plačila se za namene usklajevanja izluščijo iz vsakega vnosa.
Plačila v obratni smeri se izvozijo kot pain.001 prek vmesnika bank/payments/export.
Revolut Business CSV
Prenesite izpisek transakcij računa Revolut Business kot datoteko CSV in jo uvozite s privzeto predlogo Revolut Business (templateId: "builtin-revolut"). Vsaka družba ima to predlogo na voljo brez predhodnega ustvarjanja: bank/import-templates/list-builtin jo vrne na seznamu, bank/import-templates/get jo pridobi, medtem ko klica bank/import-templates/update in bank/import-templates/delete vrneta napako HTTP 400. V aplikaciji je prikazana na vrhu pod menijem Banka → Predloge za uvoz; ob odprtju so vidne njene nastavitve, shranjevanje pa ustvari lastno predlogo družbe, ki jo lahko poljubno spreminjate.
POST /v1/bank/statements/import
{
"bankAccountId": "…",
"templateId": "builtin-revolut",
"content": "Date started (UTC),Date completed (UTC),ID,Type,State,…"
}
- Uvozijo se samo vrstice, kjer je
StateenakCOMPLETED. Druge vrstice (na primerPENDING) se izpustijo in prištejejo k opozorilom (warnings); uvozijo se ob kasnejšem uvozu datoteke, v kateri so zaključene. - Vsaka vrstica postane bančna transakcija z datumom iz polja
Date completed (UTC), zneskom izTotal amount, valuto izPayment currency, poljemIDkotexternalIdinDescriptionkot opisom. - Nasprotna stranka pri odlivanju denarja sta polji
Beneficiary nameinBeneficiary IBAN; pri plačilu s kartico brez prejemnika pa trgovec v poljuDescription. Nasprotna stranka pri prilivanju denarja staSender nameinSender account. - Vrstice so združene po računu in valuti. Stolpec
International account numberse mora ujemati z IBAN-om bančnega računa, uvozijo pa se samo vrstice v valuti bančnega računa. - Uvoznik za vsako vrstico preveri, ali saldo prejšnje vrstice, povečan za
Total amount, ustreza vrednostiBalance, ter vsa neskladja navede v opozorilih (warnings). - Datoteka mora vsebovati stolpce
Date completed (UTC),ID,Type,State,Description,Payment currency,Total amount,Reference,Sender nameinBeneficiary name.
Ob vsakem uvozu vgrajena predloga izvede naslednje:
ustvari kupca za vsakega neznanega pošiljatelja priliva ter dobavitelja za vsakega neznanega prejemnika ali kartičnega trgovca odliva, kot je opisano v poglavju Ustvarjanje manjkajočih partnerjev zgoraj;
uskladi vsako vrstico, katere sklic (
Reference) ali opis (Description) vsebuje številko odprtega prodajnega ali nabavnega računa, ter knjiži plačilo ob upoštevanju preverjanj iz poglavja Povezovanje računov po sklicu zgoraj;knjiži vrstice, ki se niso unesle z nobenim računom, glede na njihov
Typena konto pravila knjiženja:TypePravilo knjiženja Privzeti konto Romunski kontni načrt Knjiženje FEEbank.fees6800 627 v breme konta pravila, v korist konta v glavni knjigi bančnega računa; partner: dobavitelj, poimenovan po bančnem računu CARD_PAYMENTbank.cardPayments6209 628 v breme konta pravila, v korist konta v glavni knjigi bančnega računa, brez DDV TOPUPbank.topUps3010 1012 v breme konta v glavni knjigi bančnega računa, v korist konta pravila Vrstice drugih vrst, kot je npr.
TRANSFER, ostanejo v statusunewza ročno usklajevanje.
Konte lahko spremenite prek vmesnika ledger/posting-rules/update; vgrajena predloga bo nove konte začela uporabljati pri naslednjem uvozu. Pravila knjiženja ni mogoče izklopiti: če želite kartična plačila ali polog sredstev uvoziti brez knjiženja, ustvarite predlogo družbe vrste revolut brez vrstic Type=CARD_PAYMENT ali Type=TOPUP in uvoz izvedite z njo. Kartično plačilo, knjiženo na ta način, se kasneje ne uskladi z dobaviteljevim računom, ko je ta registriran; knjižite le enega od obeh dokazil, ne obeh.
Predloga družbe vrste revolut uporablja iste stolpce in lahko knjiži vrstice glede na vrsto prek vrstic pravil Type=FEE, Type=CARD_PAYMENT, Type=TRANSFER in Type=TOPUP. Uvoz s parametrom "format": "revolut-csv" brez predloge uvozi vrstice brez katere koli od teh stopenj.
Stripe CSV
Izvozite podatke iz nadzorne plošče Stripe – uporabno je katerokoli poročilo:
- Reports → Balance → Itemized balance change from activity (priporočeno): stolpci
balance_transaction_id, created_utc, currency, gross, fee, net, reporting_category, description. - Payments → Export: stolpci
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,…"
}
Za Stripe ustvarite namenski bančni račun (npr. z nazivom "Stripe", konto glavne knjige 2710 ali lastni podkonto) – saldo sistema Stripe deluje kot bančni račun: prilivajo se bremenitve, odštevajo se provizije, izplačila pa prenašajo sredstva na vaš pravi bančni račun.
Vedenje pri uvozu:
- Vsaka transakcija salda postane ena bančna transakcija za bruto znesek (
externalId= ID transakcije salda). - Provizija, ki ni enaka nič, postane druga transakcija z nasprotnim predznakom (
externalId=<id>:fee, nasprotna stranka "Stripe"), kar omogoča ločeno usklajevanje/knjiženje provizij kot stroškov ločeno od prihodkov. Provizije, vrnjene pri vračilih, se uvozijo kot pozitivni zneski. - Vrstice izplačil (
Payout) se uvozijo kot posamezne negativne transakcije; uskladite jih z ustreznimi prilivi na izpisu vašega pravega bančnega računa. - Vrstice z zneskom nič se preskočijo; datum se prevzame iz polja
created_utc(UTC). - Vrstice izvoza plačil, ki niso premaknile denarja, se preskočijo:
Captured = false(avtorizacije/zakasnjene zajezitve) ter statusiFailed/Canceled. - Znesek Amount Refunded, ki ni enak nič, postane tretja, negativna transakcija (
externalId=<id>:refund) z datumom iz poljaRefunded date (UTC), s čimer so delna in celotna vračila, vključena v plačilne vrstice, ohranjena.
Usklajevanje poravnav PSP (poročila o izplačilih Stripe)
Za razbijanje skupnega zneska izplačila na pripadajoča naročila, vračila, provizije in vračila bremenitev (chargebacks) uporabite končne točke za poravnave namesto navadnega uvoza izpiskov. Podprta sta dva izvoza iz sistema Stripe (samodejno prepoznavanje):
- Reports → Payouts → Payout reconciliation, itemized (vrste poročil
payout_reconciliation.itemized.*alipayout_reconciliation.by_id.itemized.*) – natančno, ena vrstica na transakcijo salda; priporočeno za žive račune. - Payments → Export (unified payments) – izvoz na ravni bremenititev; deluje v testnem/razvojnem načinu, kjer usklajevanje poravnav ni na voljo. Zajete bremenititve so združene po ID-ju izplačila v stolpcu
Transfer; nezajete/neuspešne vrstice se preskočijo (skippedNotSettled); nenielniAmount Refundedpostane sintetična vrstica vračila v seriji izplačil bremenitve – kar je približek, saj je bilo vračilo morda dejansko poravnano v kasnejšem izplačilu. Sklici za ujemanje izvirajo iz ID-ja bremenitve,PaymentIntent ID,Invoice Number,Client Reference IDin vseh stolpcev… (metadata)(npr. številka naročila v metapodatkih).
Ena datoteka CSV lahko zajema več izplačil. Stripe prenaša postavkovno poročilo v obliki ene datoteke na odsek (…_charge_…, …_refund_…, …_fee_…); uvozite vse – vrstice za že uvoženo izplačilo se združijo v obstoječo serijo (zabeleženo v števcu updated), če ta še ni bila knjižena, skupne vrednosti serije pa se ponovno izračunajo.
POST /v1/bank/settlements/import
{
"bankAccountId": "…",
"provider": "stripe",
"content": "balance_transaction_id,created_utc,…,reporting_category,…,automatic_payout_id,…"
}
Vedenje pri uvozu:
- Vrstice so združene prek stolpca
automatic_payout_idv serije poravnav – ena serija na izplačilo, z bruto/provizijskimi/neto seštevki (vsota stolpcanet= znesek, ki prispije na vaš bančni račun). Ponovni uvoz izplačila se preskoči (števecskipped). Vrstice, ki še niso dodeljene izplačilu, in same vrsticepayoutse preskočijo in štejejo ločeno. - Vsaka vrstica bremenitve, vračila ali spora se samodejno uskladi s prodajnim računom z uporabo naslednjih kriterijev v tem vrstnem redu:
externalRefe-komerc naročila (katera koli vrednost izorder_id,payment_intent_id,source_id,charge_idali kateregakoli stolpca*_metadata[...]),fullNumberračuna, ki se pojavi v teh stolpcih, ter – za vračila in spore –charge_idpredhodno usklajene bremenitve (iz iste datoteke ali prejšnjih uvozov). - Stanje preverite s klicem
bank/settlements/list/bank/settlements/get; preostanke odpravite s klicembank/settlements/match { lineId, invoiceId }(ali zinvoiceId: nullza preklic uskladitve).
Klic POST /v1/bank/settlements/post { id, date?, commissionPercent? } knjiži celotno serijo kot en uravnotežen temeljni dokument in poravna usklajene račune (paidAmount/paymentStatus, spletni kljukici sale_invoice.paid):
- V breme konta glavne knjige bančnega računa za neto izplačilo; v breme provizij PSP (
settlements.fees, privzeto 6800) za zadržane provizije in vrstice provizij. - V korist terjatev do kupcev za vsako usklajeno bremenitev; vračila in spori to obrnejo. Uporaba je omejena na preostali znesek posameznega računa – vsak presežek se ob opozorilu knjiži na prehodni konto.
- Neusklajene bremenitve: z nastavljenim parametrom
commissionPercentse razdelijo na prihodke od provizij (settlements.commissionRevenue, privzeto 5001) in obveznosti do prodajalcev (settlements.sellerPayable, privzeto 4499) – kar ustreza tržničnemu toku (marketplace), kjer zbrani denar večinoma pripada prodajalcem. Brez tega parametra se uvrstijo na prehodni kontosettlements.suspense(privzeto 4440, prejeti predujmi). - Vrstice
platform_earning(provizije aplikacije Stripe Connect) se knjižijo med prihodke od provizij; vrsticetransfer(izplačila povezanim prodajalcem) zmanjšujejo obveznosti do prodajalcev. - Vse štiri konte je mogoče preglasiti na ravni družbe prek pravil knjiženja (
ledger/posting-rules). - Vrstica, katere bremenitev, provizija ali vračilo je bilo že uvoženo na drug bančni račun prek izvoza plačil Stripe (
bank/statements/import), se ne knjiži med provizije, terjatve ali prehodne postavke. Njen neto znesek (net) se v korist knjiži na konto v glavni knjigi tistega bančnega računa, tako da se bančni račun Stripe čisti izplačilo za izplačilom. Vrednostsummary.clearedAmountpredstavlja skupni znesek, prenešen na ta način; vrstica, katere znesek se razlikuje od stanja na tistem računu, je imensko navedena v opozorilih (warnings). Če ni ničesar več za knjiženje, se serija knjiži z vrednostjojournalTransactionIdenakonull.
Klica bank/settlements/list in /get vračata za vsako serijo vrednosti clearedNet, clearingDifference (postavke izplačil minus zneski, ki jih zanje drži drug bančni račun; nič, ko se ujemata) in clearingOpenCount (postavke z razliko ali neknjiženim gibanjem); klic /get vrača enake podatke na posamezno vrstico kot clearingBankAccountId, clearingBooked, clearingDifference in clearingUnposted. Vrstice vračil posamezne bremenitve se primerjajo skupaj, ker izvoz plačil vsebuje le skupni vračani znesek. Izvoz plačil Stripe, uvožen potem, ko je bilo njegovo izplačilo že knjiženo, preskoči gibanja tega izplačila in ga navede v opozorilih (warnings).
DDV od same provizije se zaračuna posebej (izdati je treba račun za provizijo prodajalcu); razdelitev zgolj razporeja zbrana denarna sredstva.
Izplačila v drugi valuti
Temeljni dokument se vedno izpiše v osnovni valuti družbe, vendar se izplačilo v drugi valuti knjiži samodejno – ročni vnos ni potreben:
- Serija se pretvori po tečaju na datum knjiženja (
date, z nadomestitvijo z datumom izplačila in nato z današnjim dnem). Tečaj je lastni tečaj družbe za to valuto (reference/exchange-rates/set), če je vsaj tako svež kot uradni tečaj, sicer pa se uporabi zadnji uradni tečaj na ali pred tem datumom. Če na ali pred tem datumom ni tečaja, klic vrne napako 422 in navede klicreference/exchange-rates/sync. - Vsak konto se pretvori po tečaju serije, razen terjatev do kupcev, ki se razbremenijo po tečaju
fxRate, po katerem je bil posamezni račun izdan. Presežek med obema tečajema se knjiži nabank.fxGain(privzeto 5803) alibank.fxLoss(privzeto 6803) kot ugotovljena tečajna razlika, kar zagotavlja, da je temeljni dokument še vedno uravnotežen. - Odgovor
summaryvrne uporabljeni tečajfxRatein nastalo tečajno razlikoexchangeDifference, serija pa ohrani tečaj, po katerem je bila knjižena. Usklajeni račun, katerega valuta se razlikuje od valute serije, se ne poravna: njegov znesek se ob opozorilu prenese na prehodni konto. - Ena omejitev uvoza ostaja: posamezno izplačilo, katerega vrstice mešajo več valut, se zavrne s kodo 422, prav tako pa se zavrne ponovni uvoz, katerega valuta se razlikuje od serije, ki je že shranjena za to izplačilo.
Ročni / prilagojeni viri
Vse ostalo je mogoče poslati kot navaden JSON:
POST /v1/bank/transactions/import
{
"bankAccountId": "…",
"transactions": [
{ "date": "2026-07-01", "amount": "-25.00", "currency": "EUR",
"counterpartyName": "…", "description": "…", "externalId": "unique-ref-1" }
]
}
Zagotovite stabilen identifikator externalId za vsako transakcijo, da ohranite ponovljivost uvozov (idempotentnost).