EPC Girocode
EPC Girocode je QR formát Evropské rady pro platební styk (EPC) pro SEPA úvěrový převod. Naskenovaný Girocode předvyplní IBAN příjemce, částku a zprávu pro příjemce v bankovní aplikaci plátce, čímž odpadá ruční opisování bankovních údajů. Nativně ho podporují Sparkasse, Volksbank, Deutsche Bank, ING, N26, Revolut a většina německých, rakouských a nizozemských bankovních aplikací. Mimo zónu SEPA Girocode nefunguje.
Kódování: Prostý text UTF-8, nikoli TLV, nikoli strukturovaný. Dvanáct polí s pevnou pozicí oddělených
\n (LF, U+000A). Maximální délka payloadu 331 bajtů. Schéma: SEPA Credit Transfer (SCT) nebo SEPA Instant Credit Transfer (SCT Inst). QR kód spouští jednorázový úvěrový převod; žádné inkaso ani trvalý příkaz.
Struktura payloadu, 12 řádků oddělených novým řádkem
| Řádek | Pole | Délka | Povinné | Poznámky |
|---|---|---|---|---|
| 1 | Servisní tag | 3 | Ano | Pevná hodnota BCD. |
| 2 | Verze | 3 | Ano | 001 (původní specifikace) nebo 002 (v2, BIC nyní volitelné v rámci EEA). |
| 3 | Znaková sada | 1 | Ano | 1=UTF-8, 2=ISO-8859-1, 3=ISO-8859-2 atd. 1 je jediná bezpečná volba. |
| 4 | Identifikace | 3 | Ano | SCT (standardní úvěrový převod). SCT Inst používá stejný tag, volbu instant/standard provádí zpracovatel. |
| 5 | BIC | 0, 8 nebo 11 | Ne (v002) | Povinné ve v001; volitelné ve v002 pro platby SEPA. Uveďte ho pro příjemce mimo EEA. |
| 6 | Název příjemce | 1–70 | Ano | Název v přirozeném jazyce. Znaková sada dle řádku 3. |
| 7 | IBAN | 1–34 | Ano | Bez mezer ani formátování. DE89370400440532013000, nikoli DE89 3704 0044 0532 0130 00. |
| 8 | Částka | 4–12 | Ne | Formát: EUR10.00. Vynechte, pokud má plátce zadat částku sám při skenování. |
| 9 | Účel | 0–4 | Ne | Kód účelu dle ISO 20022 External Purpose Code. Příklady: GDDS (zboží), CHAR (charita). |
| 10 | Strukturovaný referenční symbol platby | 0–35 | Ne | ISO 11649 RF věřitelská reference pro automatické párování. Vzájemně se vylučuje s řádkem 11. |
| 11 | Nestrukturovaná zpráva pro příjemce | 0–140 | Ne | Volný text důvodu platby. Vzájemně se vylučuje s řádkem 10. |
| 12 | Informace příjemce pro plátce | 0–70 | Ne | Volitelný text zobrazený plátci v bankovní aplikaci (např. "Rechnung 2026-0042"). |
Kanonický testovací vektor, v002 minimální
Převod €12.50 příjemci Max Mustermann v Commerzbank, IBAN DE89370400440532013000, bez BIC, nestrukturovaná reference "Rechnung 42":
BCD
002
1
SCT
Max Mustermann
DE89370400440532013000
EUR12.50
Rechnung 42
Všimněte si prázdných řádků na pozicích 5 (bez BIC), 9 (bez účelu), 10 (bez strukturované reference). Jsou povinné, celkový počet řádků musí být přesně 12 (nebo 11, pokud je řádek 12 vynechán).
Živý validátor IBAN (mod-97)
Girocode odmítne každý IBAN, který nesplňuje kontrolní součet mod-97 dle ISO 13616. Níže je stejný validátor, jaký Abundera spouští přímo v generátoru Girocode — běží ve vašem prohlížeči.
Časté chyby
- Konce řádků. EPC069-12 vyžaduje LF (
\n, U+000A). CR+LF (\r\n) způsobuje problémy v některých androidových bankovních aplikacích. Pokud zkopírujete payload z Windows Notepad, dostanete CR+LF; před QR kódováním znaky CR odstraňte. - BIC povinné pro v001, volitelné pro v002. Pro interní SEPA převody vždy použijte verzi
002— ušetří 8–11 znaků payloadu a funguje se všemi moderními bankovními aplikacemi. BIC uvádějte jen pro starší aplikace v001 (většinou již vyřazené) nebo pro příjemce mimo EEA. - Přísný formát částky.
EUR10.00— předpona kódu měny, oddělovač tečkou, přesně dvě desetinná místa.EUR10,EUR10,00ani10.00 EURnejsou platné. - Nelze kombinovat strukturovanou a nestrukturovanou referenci. Řádky 10 a 11 se vzájemně vylučují. Pokud jsou oba neprázdné, je QR kód dle specifikace neplatný; v praxi některé aplikace to akceptují a jeden z nich zahodí, což způsobuje chyby při párování plateb.
- Mezery v IBAN. Pole IBAN (řádek 7) nepřijímá žádné mezery. Čitelný formát
DE89 3704 0044 0532 0130 00musí být před kódováním převeden naDE89370400440532013000. - Maximální délka payloadu 331 bajtů. Payload QR kódu přesahující 331 bajtů je specifikací odmítnut. Dlouhý název příjemce + dlouhá zpráva pro příjemce + BIC + IBAN mohou tento limit překročit. Bankovní aplikace zobrazí při skenování chybu; QR kód sám upozornění při kódování nevydá.
- Úskalí znakové sady. Řádek 3 určuje, jaká znaková sada platí pro řádky 6, 11 a 12. UTF-8 (hodnota
1) je jediná reálná volba pro mezinárodní jména. ISO-8859-1 neumí zakódovat nic mimo západoevropskou latinku. - Pouze v zóně SEPA. Platby Girocode fungují pouze mezi účty v zemích zapojených do SEPA (EU + EEA + Švýcarsko + Velká Británie + Monako + San Marino + Andorra + Vatikán). Naskenování Girocode v bankovní aplikaci mimo SEPA buď selže, nebo se otevře běžná obrazovka převodu s prázdnými poli.
- Žádné inkaso. Girocode je pouze pro SEPA Credit Transfer. Platby pull/subscription (trvalé příkazy, opakované mandáty) nelze v Girocode vyjádřit. Pro tyto účely doplňte QR kód mandátním dokumentem SEPA.
- Právo na vrácení platby dle PSD2. SEPA Credit Transfer je push platba autorizovaná spotřebitelem při skenování. Práva spotřebitele na vrácení platby dle PSD2 se přesto uplatní (např. neautorizovaná transakce do 13 měsíců). Obchodníci musí uchovávat podepsaný autorizační záznam samostatně, samotný QR kód není smlouvou.
Kompatibilita s bankovními aplikacemi
| Aplikace / region | Podpora Girocode | Poznámky |
|---|---|---|
| Sparkasse (DE) | Nativní | Původní cílová aplikace pro Girocode. Plná podpora. |
| Volksbank / Raiffeisen (DE, AT) | Nativní | Plná podpora v aplikaci VR-BankingApp. |
| Deutsche Bank, Commerzbank, Postbank (DE) | Nativní | Skenování přes tok "Überweisung" v mobilní aplikaci. |
| ING (DE / NL) | Nativní | Nizozemská aplikace skenuje také iDEAL QR kódy. |
| N26, Revolut | Nativní | Plná podpora ve všech podporovaných zemích. |
| Erste Bank, Bank Austria (AT) | Nativní | Rakousko přijalo Girocode souběžně s Německem. |
| Crédit Agricole, BNP Paribas (FR) | Částečná | Některé francouzské banky Girocode skenují, většina preferuje starší papírový referenční formát. |
| Nativní fotoaparát iOS/Android | Ne | Nativní fotoaparáty nerozpoznají textový formát BCD jako platební záměr. Uživatel musí nejprve otevřít svou bankovní aplikaci. |
Viz také
- /epc-girocode-qr-code/, generátor Girocode s validací IBAN a živým kódováním.
- /sepa-qr-code/, generátor QR kódů pro SEPA Credit Transfer (stejný základní formát).
- /standards/swiss-qr-bill/, Swiss QR-bill, regionální alternativa pro převody v CHF / se švýcarským IBAN.
- /standards/, zpět na přehled standardů.