ARLing

Notes

Banka odmietla súbor pain.001: najčastejšie chyby a ako ich nájsť

Andrej Lauko, ARLing · 6. septembra 2026

Exportujete platobný príkaz z účtovného softvéru (Pohoda, Money S3, KROS Omega alebo vlastný export) do XML súboru pain.001 a nahráte ho do internet bankingu. Namiesto potvrdenia platieb sa objaví len Import súboru zlyhal. alebo Súbor sa nepodarilo spracovať. Banka nepovie, ktorý element XML je zlý. Chyba pritom nie je v tom, že súbor „nie je XML“: je platný, len jeden konkrétny element alebo hodnota nesedí s tým, čo Tatra banka, Slovenská sporiteľňa, VÚB alebo ČSOB pri importe kontrolujú.

1. Počet transakcií alebo kontrolný súčet nesedí

GrpHdr/NbOfTxs musí byť presne rovnaké číslo, ako je skutočný počet blokov CdtTrfTxInf v súbore, a GrpHdr/CtrlSum musí byť presný súčet všetkých súm InstdAmt, na cent. Ak účtovný softvér pri exporte pridá alebo zmaže platbu, alebo ju vy sami vymažete rovno v XML, bez toho, aby prepočítal hlavičku, čísla sa rozídu. Nezhoda počtu transakcií je jeden z najčastejších dôvodov zamietnutia importu naprieč všetkými štyrmi bankami, aj keď každá jednotlivá platba v súbore je inak úplne v poriadku.

<NbOfTxs>12</NbOfTxs>
<CtrlSum>4520.00</CtrlSum>

2. Menný priestor Document nie je presne pain.001.001.03

Element <Document> musí mať xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03". Tatra banka, SLSP, VÚB aj ČSOB pri importe hromadného príkazu spracúvajú túto konkrétnu verziu. Ak účtovný softvér vyexportuje novšiu verziu (napríklad pain.001.001.09), súbor banka odmietne alebo import zlyhá bez jasnej príčiny, lebo polia sa nezhodujú s tým, čo banka očakáva.

<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03">

3. BIC banky platiteľa alebo príjemcu nesedí

DbtrAgt/FinInstnId/BIC (banka platiteľa) musí byť presne BIC banky, cez ktorú súbor importujete: TATRSKBX pre Tatra banku, GIBASKBX pre SLSP, SUBASKBX pre VÚB, CEKOSKBX pre ČSOB. Súbor s iným BIC banka pri importe zamietne, aj keď je účet vedený správne, lebo ho vyhodnotí ako platbu z účtu vedeného inde. Pri BIC príjemcu (CdtrAgt/BIC) sa banky líšia: VÚB ho vo vlastnej špecifikácii označuje ako povinný, Tatra banka ho vie odvodiť zo slovenského IBAN príjemcu a porovná prvých 6 znakov zadaného BIC s odvodenou hodnotou (pri nezhode platbu zamietne), ČSOB ho od 1. 2. 2016 robí nepovinným. Keď BIC vyplníte, musí mať aj platný formát: 8 alebo 11 znakov.

4. Dátum splatnosti je mimo povoleného okna

ReqdExctnDt nesmie byť spätný dátum. Tatra banka aj podľa vlastnej dokumentácie neprijme dátum viac než 31 dní dopredu, VÚB vo vlastnom popise formátu SCT uvádza maximum 30 dní vopred. Ak účtovný softvér naplánuje platbu na dátum ďaleko v budúcnosti alebo omylom použije včerajší dátum, import zlyhá bez upresnenia, ktoré pole je problém. Ak súbor obsahuje viac blokov PmtInf naraz (napríklad platby v EUR a mimo EUR oddelene), Tatra banka navyše vyžaduje, aby mali všetky rovnaký ReqdExctnDt.

5. Diakritika a znaky mimo SEPA znakovej sady

ČSOB vo svojej dokumentácii výslovne uvádza, že SEPA XML súbor s diakritikou sa do BusinessBanking Lite nedá importovať vôbec. Povolená znaková sada je len a-z A-Z 0-9 / - ? : ( ) . , ' + a medzera. Mená platiteľa, príjemcu aj poznámka pre príjemcu (RmtInf/Ustrd) s č, š, ž, ä, ô alebo ľ treba pred exportom prepísať bez diakritiky, inak import zlyhá alebo sa meno zobrazí protistrane skomolené. Pri ostatných troch bankách diakritika súbor nemusí zablokovať hneď, no keďže dokumentovaná je len u ČSOB, bezpečnejšie je exportovať bez nej vždy, nech importujete kamkoľvek.

Adam Kováč  →  Adam Kovac
Faktúra č. 2026/045  →  Faktura c. 2026/045

6. Variabilný symbol je v zlom poradí alebo príliš dlhý

pain.001.001.03 nemá samostatné polia pre VS, ŠS a KS: podľa konvencie Národnej banky Slovenska sa zapisujú do PmtId/EndToEndId presne v poradí /VS.../SS.../KS.... VS aj ŠS smú mať najviac 10 číslic, KS najviac 4. Zlé poradie samotný prevod nezastaví, banka ho spracuje, ale protistrana si platbu nevie automaticky spárovať s faktúrou, lebo jej systém číta symboly v pevnom poradí.

/VS2026045/SS0/KS0308

Checklist

  1. Skontrolujte, že xmlns v <Document> je presne urn:iso:std:iso:20022:tech:xsd:pain.001.001.03.
  2. Overte, že GrpHdr/NbOfTxs a CtrlSum sedia so skutočným počtom a súčtom platieb.
  3. Skontrolujte BIC banky platiteľa: TATRSKBX (Tatra banka), GIBASKBX (SLSP), SUBASKBX (VÚB), CEKOSKBX (ČSOB).
  4. Overte ReqdExctnDt: nie v minulosti, u Tatra banky max. 31 dní dopredu, u VÚB max. 30 dní.
  5. Odstráňte diakritiku z mien a poznámok, najmä pri importe do ČSOB BusinessBanking Lite.
  6. Skontrolujte poradie /VS/SS/KS v EndToEndId a dĺžkové limity (VS, ŠS max. 10 číslic, KS max. 4).
  7. Po každej úprave XML spustite kontrolu znova: banka validuje súbor nanovo pri každom importe.

Tento zoznam pokrýva šesť najčastejších príčin. Formát pain.001 má ďalšie pravidlá: dĺžkové limity mien a poznámok (napríklad meno platiteľa a príjemcu max. 70 znakov), povinnú menu EUR, kladnú sumu s dvomi desatinnými miestami, alebo pri slovenskom IBAN príjemcu kontrolu modulo-11 na posledných 10 číslic účtu. Ak vyššie uvedené sedí a import napriek tomu zlyhá, oplatí sa prejsť súbor pravidlo po pravidle namiesto hádania.

Skontrolujte to za 30 sekúnd

Vložte svoj súbor pain.001 do SEPA pain.001 Doctor: nástroj podľa vybranej banky prejde všetky elementy a ukáže presne, ktorý riadok a hodnota nesedí, s hotovou opravou.

Otvoriť SEPA pain.001 Doctor

Sources