ARLing

Notes

Hromadný príkaz z Excelu: ako vyrobiť SEPA pain.001 pre slovenskú banku bez ručného klikania

Andrej Lauko, ARLing · 7. septembra 2026

Máte v Exceli zoznam platieb, ktoré treba dostať do banky: výplaty, faktúry od dodávateľov, odvody. Ručné prepisovanie každého riadku do internet bankingu je pomalé a jedna preklepnutá číslica v IBAN stačí na to, aby platba odišla zle. Banka namiesto toho ponúka import hromadného príkazu vo formáte XML pain.001, no ten má svoje presné pravidlá, a súbor poskladaný narýchlo vo vzorci alebo v texťáku banka často bez vysvetlenia odmietne. Tento postup ukazuje, kedy sa hromadný príkaz oplatí, čo musí byť v tabuľke, prečo banky súbory najčastejšie odmietajú, a ako si ho pripraviť a rovno skontrolovať.

1. Kedy sa hromadný príkaz oplatí

Pri jednej alebo dvoch platbách mesačne je jednoduchšie zadať ich ručne priamo v internet bankingu. Hromadný príkaz sa oplatí, len čo platieb pribudne: výplaty viacerým zamestnancom naraz v jeden deň, mesačné úhrady desiatkam dodávateľov s rôznymi sumami a variabilnými symbolmi, alebo odvody do Sociálnej poisťovne a zdravotných poisťovní, ktoré sa opakujú v rovnakom rytme každý mesiac. Vo všetkých troch prípadoch má zoznam platieb zvyčajne pôvod už v Exceli alebo v exporte z mzdového či účtovného softvéru, takže cieľom je previesť ho na XML, nie ho prepisovať nanovo.

2. Čo musí byť v tabuľke

Aby sa dal zoznam platieb previesť na platný pain.001, potrebujete v tabuľke tieto stĺpce: IBAN príjemcu, sumu, variabilný symbol (VS), špecifický symbol (ŠS), konštantný symbol (KS), názov príjemcu, dátum splatnosti a správu pre príjemcu (voľný text, ktorý uvidí protistrana vo výpise). Ak prvý riadok obsahuje hlavičku s takýmito názvami stĺpcov, generátor si stĺpce priradí sám. Bez hlavičky sa použije predvolené poradie, no pri neobvyklom Exceli sa oplatí priradenie skontrolovať ručne, než súbor stiahnete. Sumu je možné zapísať s bodkou aj s čiarkou ako desatinným oddeľovačom, dátum vo viacerých bežných tvaroch.

3. Najčastejšie dôvody, prečo banka súbor odmietne

Šesť chýb sa v hromadných príkazoch opakuje najčastejšie:

  1. IBAN bez správneho kontrolného súčtu. IBAN má na konci kontrolné číslice podľa algoritmu modulo-97: preklep v jedinom znaku stačí na to, aby súčet nesedel a banka celý riadok, prípadne celý súbor, odmietla.
  2. Diakritika v názve. ČSOB vo vlastnej dokumentácii uvádza, že súbor s diakritikou sa do BusinessBanking Lite nedá importovať vôbec. Podrobný zoznam povolených znakov je v samostatnej poznámke Diakritika v SEPA platbe.
  3. Príliš dlhé referencie. Variabilný aj špecifický symbol môžu mať najviac 10 číslic, konštantný symbol najviac 4. Dlhší reťazec, napríklad preklopené číslo faktúry namiesto samotného VS, sa do pevného formátu nezmestí.
  4. Nesprávny BIC. Banky sa v požiadavke na BIC príjemcu líšia: VÚB ho má vo vlastnej špecifikácii označený ako povinný, Tatra banka ho vie odvodiť zo správneho slovenského IBAN a pri nezhode prvých znakov súbor odmietne, ČSOB ho od 1. februára 2016 nevyžaduje. Zadaný BIC, ktorý nesedí so skutočnou bankou príjemcu, je bežná príčina zamietnutia.
  5. Dátum v minulosti. Dátum splatnosti (ReqdExctnDt) nesmie byť spätný. Tatra banka aj VÚB vo vlastných špecifikáciách zároveň obmedzujú, ako ďaleko dopredu sa dá platba naplánovať.
  6. Chýbajúci MsgId. Identifikátor správy (MsgId) je v hlavičke súboru (GrpHdr) povinný prvok podľa samotnej schémy pain.001. Ak ho ručne písaný alebo vzorcom poskladaný XML vynechá, súbor nie je platný ešte skôr, než ho banka začne kontrolovať podľa vlastných pravidiel.

4. Postup: generátor a kontrola

Do SEPA pain.001 Generátora vložíte platby skopírované z Excelu, vyplníte IBAN platiteľa a vyberiete banku. Nástroj stĺpce rozpozná automaticky, BIC odvodí, doplní povinné prvky ako MsgId a stiahnete hotový XML súbor pripravený na import.

Vygenerovaný súbor sa hneď po stiahnutí skontroluje rovnakým nástrojom ako samostatný SEPA pain.001 Doctor: ak už hotový XML súbor máte z účtovného softvéru a banka ho odmietla, vložte ho priamo do Doctora a dostanete presný element a hodnotu, ktorá nesedí, namiesto všeobecnej hlášky od banky.

Otvoriť SEPA pain.001 Generátor

5. Čo je iné pri SLSP, VÚB, Tatra banke a ČSOB

Všetky štyri banky prijímajú hromadný príkaz vo formáte pain.001.001.03, podľa spoločného SEPA XML štandardu, na ktorom sa dohodli v rámci Slovenskej bankovej asociácie. Rozdiely sú v jednotlivých pravidlách, nie v samotnom formáte: BIC príjemcu je u VÚB podľa jej vlastnej špecifikácie povinný, Tatra banka ho vie odvodiť sama a pri nezhode súbor odmietne, ČSOB ho od roku 2016 nevyžaduje. Tatra banka obmedzuje jeden blok platieb na 500 transakcií a prijíma dátum splatnosti najviac 31 dní dopredu, VÚB vo vlastnom popise formátu uvádza najviac 30 dní dopredu. ČSOB navyše diakritiku v mene a v správe pre príjemcu neprijíma vôbec. Presné číslo dní alebo transakcií pre SLSP nemáme z jej vlastnej verejnej dokumentácie potvrdené, preto ho tu neuvádzame.

Časté otázky

Musí byť v Exceli aj BIC banky príjemcu?

Nie vždy. Pri platbe na účet v Tatra banke, Slovenskej sporiteľni, VÚB alebo ČSOB sa BIC dá odvodiť automaticky zo štvormiestneho kódu banky v slovenskom IBAN, takže ho do Excelu nemusíte pridávať. Pri platbe na účet mimo týchto štyroch bánk, alebo v inej krajine SEPA, treba BIC doplniť ručne do samostatného stĺpca.

Čo ak majú platby v jednej dávke rôzny dátum splatnosti?

Generátor rozdelí platby s rôznym dátumom splatnosti automaticky do samostatných blokov PmtInf v jednom súbore, netreba pre každý dátum robiť samostatný import. Tatra banka aj tak obmedzuje jeden takýto blok na 500 transakcií, takže pri veľmi veľkej dávke s viacerými dátumami sa oplatí počet platieb na jeden dátum sledovať.

Dá sa hromadný príkaz použiť aj na platbu mimo SEPA alebo v inej mene?

Nie. Formát pain.001 v schéme SEPA Credit Transfer, ktorú tu popisujeme, je len pre platby v eurách v rámci krajín SEPA. Platbu v cudzej mene alebo mimo SEPA treba v internet bankingu zadať iným spôsobom, banky pre ňu majú samostatný formulár alebo formát súboru.

Ak kontrola nenájde chybu, znamená to, že banka súbor určite prijme?

Nie celkom. Kontrola overuje formátové a bankové pravidlá, ktoré sú verejne zdokumentované: menný priestor, BIC, dátum, počet transakcií, dĺžkové limity. Neoverí stav vášho účtu, existenciu účtu príjemcu ani interné limity banky, napríklad denný limit prevodov. Čistý výsledok kontroly teda výrazne zníži šancu na zamietnutie, ale nie je úplnou zárukou prijatia.

Sources