← Základy / Sady SDK
Bankovní a platební importy
Výpisy camt.053, Stripe CSV, párování vyúčtování od poskytovatelů platebních služeb (PSP) a vlastní JSON feedy.
Všechny importy se ukládají jako bankovní transakce na bankovní účet (bank/accounts/create). Transakce nesou atribut externalId; opakovaný import stejného souboru je bezpečný - řádky, jejichž kombinace (bankAccountId, externalId) již existuje, se přeskočí a zaznamenají se do počítadla skipped. Importované transakce začínají ve stavu new a do hlavní knihy se zaúčtují až po spárování (bank/transactions/match, přičemž kandidáty lze vyhledat pomocí bank/transactions/suggest-matches).
Webová aplikace zpřístupňuje stejné importy v sekci Banka → Import souboru (nahraní souboru, výběr šablony).
Nesprávné spárování lze zrušit pomocí bank/transactions/unmatch (v rozhraní Banka → Transakce pod položkou Zrušit spárování). Zaúčtované položky se nikdy neupravují ani nesmažou: platba spárovaná s fakturou nebo řádek, který importní šablona zaúčtovala na účet, vytvoří stornovací interní doklad se všemi položkami na opačné straně. Datum dokladu odpovídá hodnotě date (výchozí hodnota je dnešek, přičemž datum nesmí předcházet původnímu zaúčtování). Uhrazená částka faktury a její stav úhrady se sníží o částku dané bankovní položky. Řádek propojený s vyúčtováním poskytovatele platebních služeb se pouze odpojí, protože zaúčtování vyúčtování náleží celé dávce. Řádek se vrátí do stavu new a lze jej znovu spárovat. Datum storna musí spadat do otevřeného účetního období.
Importní šablony
Importní šablona definuje zdroj dat, seznam polí, která zdroj poskytuje, a mapování peněžních polí na účty hlavní knihy. Šablony se spravují v sekci Banka → Importní šablony a prostřednictvím 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"]
}
- Parametr
typenabývá jedné z hodnotstripe,iso20022,bank_connectionneborevolut. - Každé pole má atribut
namea volitelný atributaccountCode. Účet lze přiřadit pouze k peněžním polím: v případě Stripe se jedná oAmount,FeeaAmount Refunded; u formátu camt.053 oNtry/Amt; u bankovního feedu otransaction_amount.amount. Účet musí existovat v účtovém rozvrhu (lze jej vytvořit pomocíledger/accounts/create). - Pole
fieldslze vynechat; v takovém případě se použije výchozí seznam polí pro daný typ: názvy sloupců ze souboru Payments → Export ve službě Stripe (bez 19 sloupců začínajících naCard …, které formulář také ve výchozím stavu nechává nezaškrtnuté), elementy camt.053, které obsahuje každý výpis (Stmt/Id,Stmt/Acct/Id/IBAN,Stmt/Bal/…,Ntry/Amt,Ntry/CdtDbtInd,Ntry/Sts,Ntry/BookgDt), nebo atributy vrácené bankovním feedem PSD2 pro jednotlivé transakce. Přidáním nebo odebráním položek můžete šablonu přizpůsobit svému souboru: importér rovněž čte volitelné elementy 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/UstrdaTxDtls/AddtlTxInf. - Pole
Customer Emailve službě Stripe může obsahovat hodnotu"createPartner": true. Import v takovém případě vytvoří pro každý e-mail v souboru, který ještě nemá odpovídajícího partnera, nového zákazníka (partner typu fyzická osoba, označený jako zákazník). Jako název použije hodnotuCustomer Description(nebo e-mail, pokud je prázdný) a jako adresu sloupceCard Address …, pokud je soubor obsahuje. Existující partneři se vyhledávají podle e-mailu bez ohledu na velikost písmen. Odpověď vrátí počet v položcecustomersCreated. metaFields(pouze pro Stripe) uvádí klíče metadat, které vaše platby nesou. Stripe exportuje každý klíč jako sloupec<key> (metadata); tento seznam je volitelný a může být dlouhý.invoiceItemId(pouze pro Stripe, volitelné) představuje položku katalogu. Je-li nastaveno, každý řádek faktury a dobropisu vytvořený importem na tuto položku odkazuje (přebírá její zaúčtování a, pokud jeinvoiceVatRatePercentprázdné, i sazbu DPH); text řádku se nadále přebírá z platby.companyMetaField(pouze pro Stripe) určuje jeden z těchto klíčů jako příznak firemního zákazníka. Pokud platba v daném sloupci obsahuje hodnotutrue,1,yes,company,businessnebob2b, vytvořený zákazník bude partnerem typu firma namísto fyzické osoby.invoiceMetaField(pouze pro Stripe) určuje jeden z těchto klíčů (například číslo objednávky) ainvoiceVatRatePercentudává sazbu DPH pro faktury z nich vytvořené. Při importu se každý řádek platby a vrácení peněz seskupí podle hodnoty tohoto klíče:- hodnota odpovídající existující vydané faktuře - tedy prodejní objednávce, jejíž
externalRefodpovídá této hodnotě (ecommerce/orders/create, libovolný kanál) nebo faktuře, jejížfullNumberodpovídá této hodnotě - propojí skupinu s danou fakturou; - hodnota, která neodpovídá žádné faktuře, vytvoří novou: partner se určí z
Customer Email(vytvoří se, pokud chybí, stejně jako ucreatePartner), vytvoří se jeden řádek na platbu (Checkout Line Item SummaryneboDescriptionjako text, částka platby jako cena včetně DPH při sazběinvoiceVatRatePercent), datum vystavení odpovídá datu první platby a režim DPH se určí podle firmy a země karty. Faktura se okamžitě vystaví a zaúčtuje a zároveň se zaznamená prodejní objednávka s kanálemstripea danou hodnotou jakoexternalRef, aby ji budoucí importy propojily namísto vytváření nových; - každá platba ve skupině se pak spáruje s fakturou jako úhrada (zaúčtuje se příjem); každé vrácení peněz vytvoří k faktuře vydaný dobropis na vrácenou částku a spáruje se s ní.
Počty se vrátí v položkách
invoicesCreated,invoicesLinked,creditNotesCreatedapaymentsMatched; skupiny, které nebylo možné zpracovat (chybějící e-mail zákazníka, smíšené měny, propojená faktura, která je stále v(=) stavu konceptu nebo je již plně uhrazena), jsou uvedeny v poliwarningsa zůstávají jako bankovní transakce ve stavunew. V téže šabloně nemapujte poleAmountna účet hlavní knihy: platba spárovaná s fakturou se nezaúčtuje podruhé, ale nespárupená platba by se zaúčtovala.
- hodnota odpovídající existující vydané faktuře - tedy prodejní objednávce, jejíž
- Názvy šablon jsou v rámci firmy unikátní.
- Šablony pro camt.053 a bankovní připojení disponují stejnými volbami, které se čtou z výpisu namísto sloupců Stripe:
- Vytvořit chybějící partnery: Nastavení
createPartnerna řádku názvu dlužníka (TxDtls/RltdPties/Dbtr/Nm, ve feedudebtor.name) vytvoří zákazníka pro každého neznámého plátce příchozích peněz; na řádku názvu věřitele (TxDtls/RltdPties/Cdtr/Nm, ve feeducreditor.name) vytvoří dodavatele pro každého neznámého příjemce odchozích peněz. Partneři se rozpoznávají podle IBAN (uloženého vpartner_bank_accounts) a následně podle přesného názvu. Nový partner je označen jako firma, pokud jeho název obsahuje právní formu (UAB, MB, SIA, GmbH, Ltd, …), jinak jako fyzická osoba. Počet se vrátí v položcecustomersCreated(import souboru) nebopartnersCreated(synchronizace feedu). - Propojit faktury podle reference: Parametr
invoiceMetaFieldnastavený na řádek zprávy pro příjemce nebo reference (TxDtls/RmtInf/Ustrd,TxDtls/RmtInf/Strd/CdtrRefInf/Ref,TxDtls/Refs/EndToEndId; ve feeduremittance_information,reference_number) spáruje každý nový bankovní řádek, jehož reference, zpráva pro příjemce nebo popis obsahuje číslo otevřené vydané prodejní faktury (příchozí platba) nebo zaevidované přijaté faktury (odchozí platba), a zaúčtuje úhradu. Pokud je IBAN plátce uložen u partnera nebo se název či kód plátce shoduje s názvem či kódem partnera, faktura musí patřit tomuto partnerovi. Platba od neznámého plátce se propojí pouze tehdy, pokud se rovná zbývajícímu zůstatku faktury a číslo faktury obsahuje předponu číselné řady, takže samotné číslo (například částka) se nikdy nepovažuje za referenci. Platba vyšší než zbývající zůstatek se nikdy nepropojí. Řádky, které těmito kontrolami neprojdou, zůstanou ve stavunewpro manuální párování a jsou uvedeny ve varováních. Při nastaveníadvanceInvoices: truevytvoří nespárovaná příchozí platba od známého partnera vydanou zálohovou fakturu (typadvance) na danou částku při sazběinvoiceVatRatePercentnebo sazbě zinvoiceItemIda spáruje s ní platbu. Partner musí být známý, proto zaškrtněte i řádek dlužníka. - Účtovací pravidla podle kódů transakcí: Kromě
Ntry/Amt/transaction_amount.amountobsahuje seznam polí řádky pravidelNtry/BkTxCd=CHRG,=INTR,=TAXE,Ntry/CdtDbtInd=DBIT,=CRDT(ve feedu:bank_transaction_code=…,credit_debit_indicator=…). Řádek se zaúčtuje na účet podle prvního pravidla, kterému vyhovuje: nejprve se zkontroluje rodina kódu bankovní transakce, poté směr transakce a nakonec obecný řádek částky. Řádky pravidel se v souboru nekontrolují. - Partner pro bankovní poplatky: Volba
createPartnerna řádku pravidla…=CHRGvytvoří dodavatele, jehož názvem je název banky (z výpisuStmt/Acct/Svcr/FinInstnId/Nm, případně banka z připojení nebo název bankovního účtu v hlavní knize), a zaúčtuje všechny poplatky s tímto partnerem. - Šablony bankovního připojení se vybírají pro jednotlivé účty feedu pomocí
bank/feeds/accounts/configure(v aplikaci Banka → Připojení), kde se nastavuje také harmonogram synchronizacesyncSchedule(manual,daily,weekly,monthly). API provádí automatickou synchronizaci účtů s nastaveným harmonogramem, jakmile uplyne příslušné období. Šablony se aplikují při každém voláníbank/feeds/sync; odpověď synchronizace následně vrací hodnotyposted,partnersCreated,invoicesLinked,invoicesCreated,paymentsMatchedawarnings.
- Vytvořit chybějící partnery: Nastavení
Zadejte templateId do bank/statements/import namísto format: typ šablony vyžaduje odpovídajícího parser a soubor musí obsahovat všechna pole uvedená v šabloně. Pokud v souboru některé pole chybí, požadavek je zamítnut s kódem HTTP 422 a jsou uvedeny názvy chybějících sloupců nebo elementů. Políčka metadat se nevyžadují. Šablony bankovního připojení popisují živý feed PSD2 a nelze je použít pro import souborů.
Šablona formátu ISO 20022 dokáže číst také soubory MT940: soubor, který začíná řetězcem {1: nebo :20: (nebo je odeslán s parametrem "format": "mt940"), se zpracuje jako MT940 a na jeho řádky se aplikují pravidla pro párování referencí a zaúčtování z dané šablony. Kontrola elementů se pro soubory MT940 přeskakuje a pravidla Ntry/BkTxCd=… se na řádky MT940 nikdy nepoužijí, protože formát MT940 neobsahuje kódy bankovních transakcí dle ISO 20022. Místo toho použijte pravidla Ntry/CdtDbtInd=….
Bankovní účet vede transakce v jedné měně. Výpis v jiné měně je odmítnut s kódem HTTP 422 (v případě souboru camt.053 obsahujícího výpisy ve více měnách pro stejný IBAN se importuje pouze výpis v měně bankovního účtu). Totéž platí pro řádek odeslaný do bank/transactions/import s jinou měnou, než jakou má bankovní účet.
Každý pohyb vygenerovaný z pole, které má přiřazený accountCode, se v okamžiku importu zaúčtuje jako jeden interní doklad: příchozí peníze doplňují (md) účet hlavní knihy bankovního účtu a dávají ve prospěch (d) mapovaný účet; odchozí peníze doplňují (md) mapovaný účet a dávají ve prospěch (d) účet hlavní knihy bankovního účtu. Částky se k datu pohybu přepočítají na měnu účetnictví. Bankovní transakce se následně spáruje (matched) s tímto interním dokladem (matchedDocumentType = journal_transaction) a již se nenabízí k párování s fakturami. Odpověď vrací počet v položce posted. Pohyby z nemapovaných polí zůstávají ve stavu new a párují se s fakturami obvyklým způsobem. Můžete například mapovat pole Fee na účet nákladů na poplatky PSP a ponechat pole Amount nemapované, aby se platby nadále párovaly s prodejními fakturami.
POST /v1/bank/statements/import
{
"bankAccountId": "…",
"templateId": "…",
"content": "id,Created date (UTC),Amount,…"
}
ISO 20022 camt.053 (otevřené bankovnictví XML)
Litvínské banky (Swedbank, SEB, Luminor, Šiaulių bankas, …) umožňují stahovat výpisy z účtů ve formátu ISO 20022 camt.053 XML v rámci internetového bankovnictví – obvykle v sekci exportu nebo stahování výpisů pod formátem „ISO XML“ nebo „camt.053“. Stejný formát vrací také rozhraní API pro informace o účtech PSD2.
POST /v1/bank/statements/import
{
"bankAccountId": "…",
"format": "camt053",
"content": "<?xml version=\"1.0\"…>…"
}
- Soubor může obsahovat několik výpisů; IBAN každého výpisu se musí shodovat s IBANem bankovního účtu (výpisy bez IBANu nebo účty bez IBANu jsou akceptovány tak, jak jsou).
- Reference položek (
AcctSvcrRef/NtryRef, případně s fallbackem na hash obsahu) se použijí jakoexternalId. - Odpověď vrací metadata pro jednotlivé výpisy: ID výpisu, období, počáteční/konečný zůstatek a počet transakcí.
- Pro účely párování se z každé položky extrahuje název protistrany, IBAN a účel platby.
Platby v opačném směru se exportují ve formátu pain.001 prostřednictvím koncového bodu bank/payments/export.
Revolut Business CSV
Stáhněte si výpis transakcí účtu Revolut Business ve formátu CSV a importujte jej pomocí vestavěné šablony Revolut Business (templateId: "builtin-revolut"). Každá firma má tuto šablonu k dispozici bez nutnosti jejího vytváření: bank/import-templates/list-builtin ji vypíše, bank/import-templates/get ji vrátí, zatímco požadavky na bank/import-templates/update a bank/import-templates/delete budou odmítnuty s kódem HTTP 400. V aplikaci je uvedena na prvním místě v sekci Banka → Importní šablony; po jejím otevření se zobrazí její nastavení a jejím uložením vytvoříte vlastní firemní šablonu, kterou můžete upravovat.
POST /v1/bank/statements/import
{
"bankAccountId": "…",
"templateId": "builtin-revolut",
"content": "Date started (UTC),Date completed (UTC),ID,Type,State,…"
}
- Importují se pouze řádky, kde
State=COMPLETED. Ostatní řádky (napříkladPENDING) jsou vynechány a započítány do polewarnings; importují se až při pozdějším importu souboru, ve kterém budou dokončeny. - Každý řádek se stává bankovní transakcí s datem z pole
Date completed (UTC), částkou zTotal amount, měnou zPayment currency, identifikátoremIDjakoexternalIda popisem zDescription. - Protistranou u odchozích peněz je
Beneficiary nameaBeneficiary IBAN; u platby kartou bez příjemce je to obchodník uvedený v poliDescription. Protistranou u příchozích peněz jeSender nameaSender account. - Řádky jsou seskupeny podle účtu a měny.
International account numberse musí shodovat s IBANem bankovního účtu a importují se pouze řádky v měně bankovního účtu. - U každého řádku importér ověřuje, zda zůstatek předchozího řádku plus
Total amountodpovídá hodnotěBalance. Pokud neodpovídá, řádek se zaznamená do polewarnings. - Soubor musí obsahovat sloupce
Date completed (UTC),ID,Type,State,Description,Payment currency,Total amount,Reference,Sender nameaBeneficiary name.
Při každém importu tato vestavěná šablona provede následující akce:
vytvoří zákazníka pro každého neznámého odesílatele příchozích peněz a dodavatele pro každého neznámého příjemce nebo obchodníka platby kartou, jak je popsáno výše v části Vytvořit chybějící partnery;
spáruje každý řádek, jehož pole
ReferenceneboDescriptionobsahuje číslo otevřené prodejní nebo přijaté faktury, a zaúčtuje úhradu za dodržení pravidel uvedených výše v části Propojit faktury podle reference;zaúčtuje řádky, které nebyly spárovány s žádnou fakturou, podle jejich typu (
Type) na účet stanovený účtovacím pravidlem:TypeÚčtovací pravidlo Výchozí účet Rumunský účtový rozvrh Zaúčtování FEEbank.fees6800 627 má dáti účet pravidla, dal účet hlavní knihy bankovního účtu; partner: dodavatel pojmenovaný podle bankovního účtu CARD_PAYMENTbank.cardPayments6209 628 má dáti účet pravidla, dal účet hlavní knihy bankovního účtu, bez DPH TOPUPbank.topUps3010 1012 má dáti účet hlavní knihy bankovního účtu, dal účet pravidla Řádky jiných typů, například
TRANSFER, zůstávají ve stavunewpro ruční párování.
Účty můžete změnit pomocí ledger/posting-rules/update; vestavěná šablona použije nové účty od následujícího importu. Účtovací pravidlo nelze vypnout: pokud chcete importovat platby kartou nebo dobití účtu bez jejich zaúčtování, vytvořte si vlastní firemní šablonu typu revolut bez řádků Type=CARD_PAYMENT nebo Type=TOPUP a použijte ji pro import. Platba kartou zaúčtovaná tímto způsobem se později nespáruje s fakturou dodavatele, pokud bude zaevidována dodatečně; zaúčtujte buď jedno, nebo druhé, nikoliv obojí.
Firemní šablona typu revolut využívá stejné sloupce a dokáže účtovat řádky podle typu pomocí řádků pravidel Type=FEE, Type=CARD_PAYMENT, Type=TRANSFER a Type=TOPUP. Import s parametrem "format": "revolut-csv" bez zadání šablony importuje řádky bez provedení těchto kroků.
Stripe CSV
Export z administračního rozhraní Stripe – lze použít libovolný z následujících výkazů:
- Reports → Balance → Itemized balance change from activity (doporučeno): sloupce
balance_transaction_id, created_utc, currency, gross, fee, net, reporting_category, description. - Payments → Export: sloupce
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,…"
}
Vytvořte si pro Stripe vyhrazený bankovní účet (např. s názvem „Stripe“, syntetickým účtem 2710 nebo vlastním analytickým účtem) – zůstatek u Stripe funguje jako bankovní účet: platby přitékají, poplatky se strhávají a výplaty (payouts) převádějí zůstatek na váš reálný bankovní účet.
Chování při importu:
- Každá transakce zůstatku se stane jednou bankovní transakcí na hrubou částku (
externalId= ID transakce zůstatku). - Nenulový poplatek vytvoří druhou transakci s opačným znaménkem (
externalId=<id>:fee, protistrana „Stripe“), což umožňuje účtovat a párovat poplatky jako náklady odděleně od tržeb. Poplatky vrácené při refundacích přicházejí jako kladné částky. - Řádky výplat (payouts) se importují jako samostatné záporné transakce; spárujte je s odpovídající příchozí transakcí na výpisu z vašeho reálného bankovního účtu.
- Řádky s nulovou částkou se přeskakují; datum se přebírá z pole
created_utc(UTC). - Řádky z exportu plateb, které nepředstavovaly pohyb peněz, se přeskakují:
Captured = false(autorizace / odložené zachycení) aStatuss hodnotou Failed/Canceled. - Nenulová vrácená částka (
Amount Refunded) vytvoří třetí, zápornou transakci (externalId=<id>:refund) s datem zRefunded date (UTC), takže částečné i plné refundace obsažené v řádcích plateb nepřijdou vniveč.
Párování vyúčtování od poskytovatelů platebních služeb (výplaty Stripe)
Pro rozpis souhrnné výplaty na jednotlivé objednávki, refundace, poplatky a chargebacky použijte koncové body pro vyúčtování namísto běžného importu výpisů. Podporovány jsou dva typy exportů ze služby Stripe (detekují se automaticky):
- Reports → Payouts → Payout reconciliation, itemized (typy výkazů
payout_reconciliation.itemized.*nebopayout_reconciliation.by_id.itemized.*) – přesné, jeden řádek na transakci zůstatku; doporučeno pro ostré účty. - Payments → Export (unified payments) – export na úrovni plateb; funguje v testovacím/sandboxovém režimu, kde vyúčtování výplat není k dispozici. Zachycené platby jsou seskupeny podle ID výplaty ve sloupci
Transfer; nezachycené nebo selhané řádky se přeskakují (skippedNotSettled); nenulová hodnotaAmount Refundedvytvoří syntetický řádek refundace v dávce výplaty dané platby – jde o aproximaci, protože refundace mohla ve skutečnosti proběhnout v pozdější výplatě. Párovací reference se přebírají z ID platby,PaymentIntent ID,Invoice Number,Client Reference IDa všech sloupců… (metadata)(například číslo objednávky v metadatech).
Jeden soubor CSV může pokrývat více výplat. Stripe stahuje položkový výkaz jako jeden soubor pro každou sekci (…_charge_…, …_refund_…, …_fee_…); importujte je všechny – řádky pro již importovanou výplatu se sloučí do existující dávky (což hlásí počítadlo updated), pokud ještě nebyla zaúčtována, a celkové součty dávky se přepočítají.
POST /v1/bank/settlements/import
{
"bankAccountId": "…",
"provider": "stripe",
"content": "balance_transaction_id,created_utc,…,reporting_category,…,automatic_payout_id,…"
}
Chování při importu:
- Řádky jsou seskupeny podle
automatic_payout_iddo dávek vyúčtování – jedna dávka na výplatu, s celkovými souhrny hrubých částek, poplatků a čistých částek (součet sloupcenet= částka připsaná na váš bankovní účet). Opakovaný import výplaty se přeskakuje (počítadloskipped). Řádky, které ještě nebyly přiřazeny k výplatě, a samotné řádkypayoutse přeskakují a počítají se zvlášť. - Každý řádek platby, refundace nebo sporu se automaticky spáruje s prodejní fakturou za použití následujících kritérií v daném pořadí:
externalRefe-commerce objednávky (libovolná hodnota zorder_id,payment_intent_id,source_id,charge_idnebo jakéhokoli sloupce*_metadata[...]),fullNumberfaktury objevující se v těchto sloupcích a – v případě refundací a sporů –charge_iddříve spárované platby (ze stejného souboru nebo dřívějších importů). - Kontrolu provádějte pomocí
bank/settlements/list/bank/settlements/get; zbývající položky vyřešte pomocíbank/settlements/match { lineId, invoiceId }(případněinvoiceId: nullpro zrušení spárování).
Volání POST /v1/bank/settlements/post { id, date?, commissionPercent? } zaúčtuje celou dávku jako jeden vyrovnaný interní doklad a vyrovná spárované faktury (paidAmount/paymentStatus, webhooky sale_invoice.paid):
- Má dáti na syntetický účet bankovního účtu pro čistou výplatu; má dáti na účet poplatků PSP (
settlements.fees, výchozí 6800) pro sražené poplatky a řádky poplatků. - Dal na pohledávky za každou spárovanou platbu; refundace a chargebacky tuto operaci stornují. Částka je omezena zbývajícím zůstatkem každé faktury – případný přebytek se zaúčtuje na dohadný účet spolu s varováním.
- Nespárované platby: při nastaveném parametru
commissionPercentse rozdělí na výnosy z provizí (settlements.commissionRevenue, výchozí 5001) a závazek vůči prodejci (settlements.sellerPayable, výchozí 4499) – jde o marketplace model, kde vybrané peníze většinou patří prodejcům. Bez tohoto parametru se zaúčtují na účetsettlements.suspense(výchozí 4440, přijaté zálohy). - Řádky
platform_earning(poplatky za aplikaci v rámci Stripe Connect) se zaúčtují do výnosů z provizí; řádkytransfer(výplaty propojeným prodejcům) sníží závazek vůči prodejci. - Všechny čtyři účty lze pro jednotlivé firmy přepsat pomocí účtovacích pravidel (
ledger/posting-rules). - Řádek, jehož platba, poplatek nebo refundace již byla importována na jiný bankovní účet z exportu plateb Stripe (
bank/statements/import), se neúčtuje do poplatků, pohledávek ani na dohadný účet. Jeho čistá hodnota (net) se místo toho připíše ve prospěch účtu hlavní knihy daného bankovního účtu, takže bankovní účet Stripe se vyrovnává výplatu po výplatě. Hodnotasummary.clearedAmountpředstavuje celkovou částku převedenou tímto způsobem; řádek, jehož částka se liší od zůstatku na daném účtu, je uveden v poliwarnings. Pokud nezbývá nic k zaúčtování, dávka se zaúčtuje s hodnotoujournalTransactionIdrovnunull.
Koncové body bank/settlements/list a /get vracejí pro každou dávku hodnoty clearedNet, clearingDifference (řádky výplat minus částky, které pro ně drží jiný bankovní účet; nula, pokud se shodují) a clearingOpenCount (řádky s rozdílem nebo nezaúčtovaným pohybem); /get vrací stejné údaje pro jednotlivé řádky jako clearingBankAccountId, clearingBooked, clearingDifference a clearingUnposted. Řádky refundací pro jednu platbu se porovnávají společně, protože export plateb obsahuje pouze celkovou refundovanou částku. Export plateb Stripe importovaný až po zaúčtování příslušné výplaty přeskočí pohyby této výplaty a uvede je v poli warnings.
DPH z provize samotné se fakturuje samostatně (vystavte prodejci fakturu na provizi); rozdělení slouží pouze k alokaci vybrané hotovosti.
Výplaty v jiné měně
Účetní deník se vždy zapisuje v základní měně firmy, ale výplata v jiné měně se zaúčtuje automaticky – není nutný žádný manuální vstup:
- Dávka se přepočte kurzem platným ke dni zaúčtování (
date, případně k datu výplaty, nebo k dnešnímu dni). Použije se vlastní kurz firmy pro danou měnu (reference/exchange-rates/set), pokud je alespoň tak aktuální jako oficiální kurz, jinak se použije nejnovější oficiální kurz platný k tomuto datu nebo před ním. Pokud k danému datu (ani před ním) není k dispozici žádný kurz, požadavek selže s kódem 422 a odkáže nareference/exchange-rates/sync. - Každý účet se přepočítá tímto kurzem dávky s výjimkou účtů pohledávek, které se uplatní v kurzu
fxRate, při němž byla každá faktura vystavena. Rozdíl mezi těmito dvěma kurzy se zaúčtuje na účet kursových zisků (bank.fxGain, výchozí 5803) nebo kursových ztrát (bank.fxLoss, výchozí 6803) jako realizovaný kurzový rozdíl, takže interní doklad zůstane vyrovnaný. - Odpověď v poli
summaryvrací použitý kurzfxRatea výsledný kurzový rozdílexchangeDifferencea dávka si uchová kurz, se kterým byla zaúčtována. Spárovaná faktura, jejíž měna se liší od měny dávky, se neuhrazuje: její částka se zaúčtuje na dohadný účet spolu s varováním. - Zůstává jedno omezení pro import: jednorázová výplata, jejíž řádky kombinují více měn, je odmítnuta s kódem 422, stejně jako opakovaný import, jehož měna se liší od dávky již uložené pro danou výplatu.
Manuální / vlastní feedy
Jakákoli jiná data lze odeslat jako obyčejný formát JSON:
POST /v1/bank/transactions/import
{
"bankAccountId": "…",
"transactions": [
{ "date": "2026-07-01", "amount": "-25.00", "currency": "EUR",
"counterpartyName": "…", "description": "…", "externalId": "unique-ref-1" }
]
}
Pro zajištění idempotence opakovaných importů uveďte pro každou transakci stabilní identifikátor externalId.