Výpis z banky si ešte sťahujete ručne? Takto sa to dá napojiť priamo
Prečo sa bankové výpisy stále importujú cez CSV, čo umožňuje priame napojenie na banku cez API a PSD2, a čo to reálne obnáša — vrátane limitov, na ktoré sme narazili pri vlastnej implementácii.
Autor: Štefan Janoťák | IT-DK.sk
Prvý pracovný deň v mesiaci vyzerá v mnohých firmách rovnako. Účtovníčka sa prihlási do internet bankingu, vyexportuje výpis do CSV, otvorí účtovný program, naimportuje súbor a potom ručne prekliká, ktorá platba patrí ku ktorej faktúre. Pri tridsiatich pohyboch je to hodina. Pri troch účtoch a dvesto pohyboch je to celý deň, ktorý sa opakuje dvanásťkrát do roka.
Pritom banka tie údaje vie odovzdať sama a bez toho, aby ich niekto sťahoval. Napísali sme to už dvakrát — pre náš účtovný systém aj pre AI Účtovníka — a tento článok je o tom, čo sa pri tom naučilo: ktoré cesty existujú, koľko práce reálne odpadne a kde sú háčiky, ktoré v žiadnom letáku nenájdete.
Rýchla odpoveď
Bankový výpis sa dá do systému dostať tromi spôsobmi. Ručný import CSV alebo XML je najlacnejší a funguje všade, ale vyžaduje človeka každý mesiac. Priame napojenie cez API banky je najlepší pomer výsledku a námahy tam, kde ho banka ponúka — u Fio banky stačí read-only token vygenerovaný v internet bankingu a pohyby sa sťahujú automaticky niekoľkokrát denne. Napojenie cez PSD2 agregátora pokrýva aj ostatné banky, ktoré vlastné otvorené API nemajú, ale vyžaduje licencovaného poskytovateľa a súhlas, ktorý sa periodicky obnovuje. Najväčšiu úsporu pritom nerobí samotné sťahovanie výpisu — robí ju automatické párovanie platieb s faktúrami podľa variabilného symbolu.
Kde sa čas stráca v skutočnosti
Sťahovanie výpisu je tá menšia časť. Export z internet bankingu trvá dve minúty. Skutočná práca začína potom: prejsť pohyb po pohybe a určiť, ku ktorej faktúre patrí, čo je záloha, čo poplatok a čo platba od odberateľa, ktorý poslal peniaze bez variabilného symbolu.
Zistenie, kto ešte nezaplatil, je samostatná úloha. Bez napojenia sa stav pohľadávok dozviete až po importe. Do vtedy sa upomienky posielajú buď naslepo, alebo sa neposielajú vôbec — a firma úveruje odberateľov bez toho, aby o tom vedela.
Chyby z prepisovania. Každé ručné priradenie platby je príležitosť na omyl, ktorý sa najčastejšie objaví až pri odsúhlasovaní saldokonta na konci roka, keď už si nikto nepamätá kontext.
Viac účtov znamená viac kôl. Bežný účet, eurový a devízový, k tomu úverový — každý má vlastný export a vlastný import.
Päť signálov, že banka nie je napojená a mala by byť
1. Import výpisu je pevný bod v mesačnom kalendári. Ak sa niečo robí každý mesiac v rovnaký deň rovnakým spôsobom, je to definícia úlohy pre stroj.
2. Na otázku „zaplatil nám už?“ sa odpovedá otvorením internet bankingu. Údaj existuje, len nie je tam, kde sa s ním pracuje.
3. Upomienky sa posielajú v nárazoch. Nie priebežne podľa splatnosti, ale vtedy, keď sa niekto k tomu dostane.
4. Platbu bez variabilného symbolu rieši človek dohadovaním. Toto sa nikdy nedá odstrániť úplne, ale dá sa to zúžiť na pár prípadov mesačne namiesto desiatok.
5. Účtovníčka pozná názvy stĺpcov v CSV naspamäť. Vtedy už je jasné, že to robí príliš dlho.
Tri cesty, každá pre iný prípad
Cesta prvá: import súboru. Výpis sa stiahne ako CSV alebo XML (ideálne v štandarde ISO 20022, teda camt.053) a naimportuje sa do systému. Nič sa nevybavuje, funguje to s každou bankou a dá sa to zaviesť za deň. Cena za jednoduchosť je človek, ktorý to musí spustiť, a oneskorenie — dáta v systéme sú vždy staré presne tak, ako dávno prebehol posledný import.
Cesta druhá: priame API banky. Niektoré banky ponúkajú vlastné rozhranie mimo režimu PSD2. U Fio banky si používateľ vygeneruje token priamo v internet bankingu, nastaví mu právo „iba sledovať účet“ a systém si pohyby sťahuje sám. Žiadna registrácia u tretej strany, žiadny súhlas, ktorý o tri mesiace vyprší. Ak firma robí cez Fio, toto je jednoznačne najlepší pomer výsledku a námahy — a je to zároveň cesta, ktorú máme odrobenú a nasadenú.
Cesta tretia: PSD2 agregátor. Smernica PSD2 zaviazala banky sprístupniť údaje o účte tretím stranám so súhlasom klienta. Háčik je, že sa na to nedá len tak pripojiť — prístup k bankovému rozhraniu vyžaduje licenciu a certifikáty, preto sa v praxi ide cez licencovaného poskytovateľa, ktorý má napojené desiatky bánk naraz. Vy potom riešite jedno rozhranie namiesto každej banky zvlášť.
Poradie nie je náhodné. Ide sa najjednoduchšou cestou, ktorá problém ešte rieši, presne ako pri výbere ERP systému.
Čo sme sa naučili na priamom napojení
Toto je časť, ktorú v dokumentácii nenájdete v takejto podobe, a pritom rozhoduje o tom, či napojenie bude spoľahlivé alebo bude tíško strácať platby.
Rate limit je tvrdý. Fio API dovolí jeden dopyt za tridsať sekúnd na token a pri porušení vráti chybu. Synchronizácia sa preto neplánuje „každých desať sekúnd pre istotu“, ale v rozumnej kadencii — u nás beží automaticky štyrikrát denne a k tomu je tlačidlo na vyžiadanie.
Endpoint, ktorý posúva kurzor, je pasca pri zdieľanom tokene. Fio má dva spôsoby čítania: jeden vráti pohyby od poslednej pozície a tú pozíciu zároveň posunie, druhý vráti uzavretý dátumový rozsah a nechá ju na pokoji. Keď ten istý token používajú dve aplikácie, prvý spôsob znamená, že si navzájom „vyzobú“ pohyby a druhá aplikácia ich už nikdy neuvidí. Riešenie je používať dátumový rozsah s prekryvom niekoľkých dní a spoliehať sa na deduplikáciu.
Deduplikácia musí stáť na identifikátore z banky, nie na sume a dátume. Dve rovnaké platby od toho istého odberateľa v ten istý deň nie sú chyba, sú to dve platby. Jediné spoľahlivé je jednoznačné ID pohybu, ktoré banka posiela — bez neho vzniknú buď duplikáty, alebo sa stratia legitímne platby.
Prvé stiahnutie je iná úloha než tie ďalšie. Pri pripojení účtu sa doťahuje história (u nás deväťdesiat dní dozadu) a až potom sa prepne na priebežný režim. Sú to dva rôzne režimy a treba ich napísať oba.
Párovanie podľa variabilného symbolu je to, čo šetrí čas. Samotné sťahovanie výpisu ušetrí minúty. Automatické priradenie platby k faktúre podľa VS ušetrí hodiny — a je to zároveň miesto, kde sa oplatí byť konzervatívny: čo systém nespáruje s istotou, nech radšej nechá človeku, než aby to priradil nesprávne.
Čo obnáša cesta cez PSD2
Ak firma nerobí cez banku s vlastným otvoreným API, ide sa cez agregátora. Poctivo, aby v tom nebolo prekvapenie:
Registrácia sa vybavuje na konkrétne nasadenie. Prístup k produkčnému rozhraniu poskytovateľa nie je vec jedného kliknutia a vybavuje sa v rámci projektu, nie dopredu do zásoby. Do harmonogramu preto patrí ako samostatná položka s vlastným časom.
Súhlas klienta má obmedzenú platnosť. Používateľ sa raz autorizuje vo svojej banke a súhlas platí obmedzený čas — spravidla rádovo mesiace, presná dĺžka je vecou banky. Potom sa musí obnoviť. Systém s tým musí počítať a včas na to upozorniť, inak synchronizácia jedného dňa ticho zastane.
Ide o čítanie, nie o platby. Bavíme sa o prístupe k informáciám o účte. Odosielanie platieb je samostatná služba s prísnejším režimom a väčšina firiem ju nepotrebuje — potrebuje vedieť, kto zaplatil.
Nie každá banka odovzdá rovnaké údaje. Rozsah polí sa medzi bankami líši a párovanie musí vedieť pracovať aj s tým, čo príde neúplné.
Kedy to nedáva zmysel
Ak má firma desať pohybov mesačne, ručný import je päť minút práce a napojenie sa nikdy nezaplatí. Ak účtovníctvo robí externá firma vo svojom programe a vy do neho nevidíte, riešenie nie je napojenie na vašej strane, ale dohoda s účtovníkom. A ak práve meníte účtovný systém, počkajte a riešte napojenie rovno v novom — inak sa tá istá práca urobí dvakrát.
Naopak sa to oplatí rýchlo tam, kde je veľa malých platieb od mnohých odberateľov: e-shopy, predplatné, členské, služby fakturované po mesiacoch. Tam je párovanie najväčšia porcia práce a zároveň najlepšie automatizovateľná.
Ako to súvisí s e-faktúrou 2027
Od 1. januára 2027 začnú faktúry medzi platiteľmi DPH chodiť ako dátová správa, nie ako PDF v maili — rozpísali sme to v checkliste. Faktúra teda do systému pribudne sama, bez prepisovania. Ak sa ale platba k tej faktúre bude aj naďalej priraďovať ručne z CSV, firma zautomatizuje jednu polovicu procesu a druhú nechá na človeka.
Preto to spomíname spolu: kto rieši prípravu na e-fakturáciu, má práve teraz otvorený systém a napojenie banky je logické dorobiť pri tom, nie o rok samostatným projektom.
Najčastejšie otázky
Je bezpečné dať systému prístup k účtu? Pri priamom API sa používa token s právom len na čítanie — nedá sa ním odoslať platba ani zmeniť nastavenie účtu. Pri PSD2 udeľuje súhlas klient priamo vo svojej banke a kedykoľvek ho môže zrušiť; prihlasovacie údaje do bankingu pritom nikomu neodovzdáva. Uvidí niekto u vás naše pohyby? Nie, napojenie vedie z vášho systému do vašej banky; my ho nastavíme a ďalej v tom nefigurujeme. Ktoré banky sa dajú napojiť? Fio má vlastné otvorené API a je to najjednoduchší prípad. Ostatné banky sa riešia cez PSD2 agregátora, ktorý ich má napojených naraz. Funguje to s naším účtovným programom? Závisí od toho, či má rozhranie. Odoo a novšie systémy áno, staršie programy sa zvyčajne riešia dohodnutým výmenným súborom — aj so staršími systémami sa dá prepojiť. Ako často sa dáta aktualizujú? Podľa nastavenia; u nás beží automatická synchronizácia štyrikrát denne, čo je pre bežnú firmu viac než dosť, plus tlačidlo na vyžiadanie. Spáruje to všetky platby? Nie a ani by nemalo. Platby s korektným variabilným symbolom áno, zvyšok zostane človeku na potvrdenie — radšej nespárovaná platba než nesprávne spárovaná. Koľko to stojí? Pri priamom API banky je to práca na dni, nie na týždne, a riešenie na mieru neznamená automaticky draho. Pri PSD2 pribúda čas na vybavenie prístupu u poskytovateľa a jeho poplatok — konkrétne čísla dáme po tom, ako vieme, o koľko účtov a ktoré banky ide.
Sťahujete výpis ešte ručne?
Napíšte nám, s ktorou bankou a v akom programe pracujete, a povieme rovno, ktorá z troch ciest sa vo vašom prípade oplatí — pokojne aj so záverom, že pri vašom objeme stačí import súboru a napojenie by bola zbytočná investícia. Prvá konzultácia je zadarmo: info@it-dk.sk alebo +421 911 085 838.