ARLing

SEPA XML

Hromadný príkaz z Excelu do banky: ako vyrobiť pain.001 XML pre Tatra banku, SLSP, VÚB a ČSOB

Andrej Lauko, ARLing ·

Máte v Exceli zoznam platieb: faktúry dodávateľom, výplaty, nájomné. Banka namiesto tlačidla „Nahraj Excel“ ponúka pri hromadnom príkaze len import súboru vo formáte XML pain.001. Ručné prepisovanie desiatok riadkov do internet bankingu (Tatra banka, SLSP, VÚB či ČSOB) je pomalé a jedna preklepnutá číslica v IBAN stačí na to, aby platba odišla na cudzí účet. Keď sa o prevod pokúsite vzorcom v Exceli alebo v texťáku a niečo vo výslednom súbore chýba, dostanete namiesto hotového XML na import len prázdny výsledok alebo hlášku typu Žiadne platby na spracovanie. Vložte aspoň jeden riadok s platbou.

1. Čo generátor potrebuje z vášho Excelu

Nástroj prečíta text skopírovaný priamo z Excelu (Ctrl+C, Ctrl+V) aj nahraný súbor .csv, .txt alebo .tsv. Oddeľovač si rozpozná sám: tabulátor pri vložení z Excelu, bodkočiarku alebo čiarku pri CSV exporte.

Ak prvý riadok obsahuje aspoň dva rozpoznateľné názvy stĺpcov (napríklad IBAN, suma, názov, VS), berie ho ako hlavičku a stĺpce si podľa nej namapuje sám. Bez hlavičky použije predvolené poradie: IBAN, suma, názov, VS, ŠS, KS, správa. Sumu prečíta v oboch zápisoch, s bodkou aj s čiarkou ako desatinným oddeľovačom (1234,56 aj 1234.56), a dátum vo formáte YYYY-MM-DD aj D.M.YYYY. Ak automatické rozpoznanie stĺpec netrafí, vo výberoch nad náhľadom platieb ho opravíte ručne.

2. Presné hodnoty, ktoré banka v XML očakáva

Súbor musí mať menný priestor urn:iso:std:iso:20022:tech:xsd:pain.001.001.03: to je presne to, čo skratka pain.001.001.03 z normy ISO 20022 znamená. Bez tohto riadku ho žiadna zo štyroch bánk nespracuje ako platný hromadný príkaz. Spôsob úhrady (PmtMtd) musí byť TRF, úroveň služby (SvcLvl/Cd) SEPA a spôsob úhrady poplatkov (ChrgBr) SLEV. Mena je vždy EUR, so sumou zapísanou na presne dve desatinné miesta (napríklad 450.00).

Toto sú pevné hodnoty schémy EPC SEPA Credit Transfer, ktoré generátor vyplní do každej transakcie automaticky. Pri ručnom písaní XML je práve tu najčastejšie miesto, kde niečo chýba alebo je preklepnuté, a banka súbor odmietne bez ďalšieho vysvetlenia.

3. BIC banky príjemcu: kedy sa odvodí sám

Generátor pozná prvé štyri číslice slovenského IBAN (kód banky) a z nich odvodí BIC príjemcu sám, takže ho do Excelu nemusíte pridávať:

BankaKód banky v IBANBIC
Tatra banka1100TATRSKBX
Slovenská sporiteľňa0900GIBASKBX
VÚB0200SUBASKBX
ČSOB7500CEKOSKBX

Pri VÚB je BIC príjemcu (CdtrAgt) vo vlastnej špecifikácii banky označený ako povinné pole (Mandatory): generátor ho preto vyplní vždy, keď ide o slovenský IBAN. ČSOB naopak od 1. februára 2016 BIC príjemcu pri SEPA platbe nevyžaduje, je nepovinné. Ak platíte na účet mimo týchto štyroch bánk alebo v inej krajine, doplňte BIC ručne do stĺpca BIC vo vašom Exceli.

4. Variabilný, špecifický a konštantný symbol

Formát pain.001 nemá samostatné polia pre VS, ŠS ani KS. Slovenské banky ich podľa konvencie Národnej banky Slovenska čítajú zbalené do jedného poľa EndToEndId, presne v tomto poradí: /VS.../SS.../KS.... Generátor toto poradie poskladá sám z troch samostatných stĺpcov vo vašom Exceli (napríklad /VS20260145/SS0/KS0308), takže ho nemusíte skladať ručne ani si pamätať poradie: opačné poradie prevod nezastaví, ale protistrana si platbu nevie automaticky spárovať s faktúrou.

Limity: variabilný aj špecifický symbol môžu mať najviac 10 číslic, konštantný symbol najviac 4. Keď žiadny z troch nevyplníte, do EndToEndId sa zapíše hodnota NOTPROVIDED, čo je predvolená hodnota podľa normy ISO 20022 pre prázdne pole.

5. ČSOB a diakritika

ČSOB vo vlastnej dokumentácii uvádza, že SEPA XML súbor s diakritikou sa do BusinessBanking Lite nedá importovať vôbec: nejde o odporúčanie, ale o tvrdé obmedzenie. Povolené znaky sú len a-z, A-Z, 0-9, medzera a / - ? : ( ) . , ' +. Keď v generátore vyberiete profil ČSOB, mená platiteľa aj príjemcu a text správy pre príjemcu prevedie automaticky bez diakritiky (á→a, č→c, ž→z a podobne). Pri ostatných troch bankách diakritiku ponechá presne tak, ako ste ju napísali v Exceli.

6. Koľko platieb naraz a aký dátum splatnosti

Tatra banka vo vlastnej špecifikácii uvádza limit 500 transakcií v jednom bloku PmtInf, generátor navyše obmedzuje jeden súbor na 5000 platieb celkovo: pri väčšom počte platby rozdeľte do viacerých súborov. Dátum splatnosti, ak ho v Exceli nevyplníte alebo ho nástroj nevie rozpoznať, doplní automaticky na nasledujúci deň. VÚB akceptuje požadovaný dátum úhrady najviac 30 dní vopred, Tatra banka 31 dní: spätný dátum, teda dátum v minulosti, neakceptuje ani jedna z bánk.

7. Checklist

  1. Stĺpce IBAN, suma a názov príjemcu máte vyplnené v každom riadku.
  2. Sumy sú kladné čísla, so správnym desatinným oddeľovačom.
  3. IBAN príjemcu prešiel kontrolou formátu, dĺžky a kontrolného súčtu (MOD-97).
  4. Pri platbe mimo Tatra banky, SLSP, VÚB alebo ČSOB máte BIC príjemcu doplnený ručne.
  5. VS a ŠS majú najviac 10 číslic, KS najviac 4.
  6. Pri profile ČSOB počítate s tým, že mená a správy budú bez diakritiky.
  7. Súbor má najviac 500 platieb na jeden blok (Tatra banka) a najviac 5000 platieb spolu.
  8. Dátum splatnosti je v budúcnosti a v rámci limitu vašej banky (30 alebo 31 dní).

8. Skontrolujte to za 30 sekúnd

Vložte platby skopírované z Excelu do SEPA pain.001 Generátora a stiahnite hotový XML súbor pre svoju banku, hneď skontrolovaný.

9. Sources