Dekodér QR platby: co znamená text SPD*1.0*ACC
Text SPD*1.0*ACC:CZ... je obsah české QR platby: platební příkaz podle standardu České bankovní asociace. Fotoaparát ho jen přečte, zaplatit ho jde naskenováním v bankovní aplikaci. Vlož ho sem, případně kód naskenuj kamerou nebo nahraj jako obrázek, a uvidíš, komu a kolik by se platilo.
Zdarma, bez registrace, nic se neodesílá. Aktualizováno podle standardu ČBA verze 1.2.
TL;DRText z QR platby ve zkratce
SPD*1.0*ACC:CZ... je česká QR platba zapsaná jako text. ACC je IBAN příjemce, AM částka, CC měna, X-VS variabilní symbol, MSG zpráva a DT splatnost. Text místo platby uvidíš, když kód naskenuješ fotoaparátem. Zaplatíš ho jen v bankovní aplikaci, a to až po kontrole účtu a příjemce.
- Povinné je jen ACC, všechno ostatní je volitelné. Chybí-li částka, zadáš ji sám.
- Kód banky je v IBANu na pozicích 5 až 8: 0800 Česká spořitelna, 0100 KB, 2010 Fio.
- Kód jde načíst i z galerie, pokud to tvoje bankovní aplikace nabízí.
- Přelepené a podvržené QR kódy existují: ČNB před nimi varuje pod názvem quishing.
Vlož text, který ti ukázal fotoaparát, nebo sem přetáhni fotku či snímek obrazovky s QR kódem.
Vyzkoušej na příkladu
Tady se objeví platební příkaz
Komu bys platil, kolik, na jaký účet a u jaké banky. Plus kontrola, jestli IBAN není poškozený.
Proč vidíš text místo platby
QR kód je jen nosič textu. U QR platby v něm není webová adresa, ale platební údaje zapsané podle standardu ČBA. Fotoaparát v telefonu nebo obecná čtečka QR kódů tomu formátu nerozumí, takže ti ukáže surový obsah. Bankovní aplikace stejný text rozebere na pole a předvyplní z něj platební příkaz. Formát je navíc záměrně čitelný i pro člověka, aby sis podle standardu mohl obsah platby ověřit a předejít podvodu.
Nic se nestalo a nic se nezaplatilo. Naskenováním fotoaparátem žádná platba neodchází. Stačí stejný kód naskenovat znovu, tentokrát v bankovní aplikaci.
Podle začátku textu poznáš, co máš v ruce
SPD*1.0*
Česká QR platba: příkaz k úhradě, případně okamžitá platba (PT:IP) nebo trvalý příkaz (pole FRQ).
Naskenuj v bankovní aplikaci.
SCD*1.0*
Svolení k inkasu podle stejného standardu ČBA. Příjemce si bude peníze strhávat sám.
Zvaž, jestli inkaso opravdu chceš povolit.
SID*1.0*
QR faktura: účetní údaje faktury pro načtení do účetního programu.
Platit z ní nejde, hledej na faktuře QR platbu.
BCD
EPC QR (SEPA QR, v Německu GiroCode): eurová úhrada, údaje na samostatných řádcích.
Zaplať v aplikaci, která umí SEPA platby.
https://
Obyčejný odkaz, žádná QR platba. Platební brána, menu, ale i podvodná stránka.
Zkontroluj adresu, nikde nezadávej přihlašovací údaje.
Jak zaplatit QR platbu v bankovní aplikaci
QR platbu podle standardu ČBA čtou mobilní aplikace českých bank. Postup je všude podobný, liší se jen názvy tlačítek.
- 1
Otevři bankovní aplikaci
Ne fotoaparát ani čtečku QR kódů. Přihlas se do mobilního bankovnictví banky, ze které chceš platit.
- 2
Najdi skenování QR platby
Bývá u nové platby nebo jako ikona QR kódu na úvodní obrazovce. Názvy se liší podle banky, hledej slova QR platba, Skenovat nebo ikonu QR.
- 3
Naskenuj kód nebo ho načti z galerie
Namiř fotoaparát aplikace na kód. Máš kód jako obrázek nebo snímek obrazovky, použij v aplikaci volbu načtení z galerie či souboru, pokud ji nabízí.
- 4
Zkontroluj předvyplněné údaje
Porovnej číslo účtu, jméno příjemce a částku s fakturou nebo s tím, co ti obchodník řekl. Když částka chybí nebo je 0, doplň ji podle dokladu.
- 5
Potvrď platbu
Teprve po kontrole platbu autorizuješ. Bankovní aplikace sama nic neodešle, dokud ji nepotvrdíš.
Kód máš jako obrázek v telefonu
Snímek obrazovky nebo fotku nahraj do dekodéru nahoře tlačítkem Nahrát obrázek. Uvidíš, co v kódu je, a než zaplatíš, zkontroluješ účet i částku.
Kód máš na monitoru
Faktura v e-mailu na počítači se platí nejsnáz: otevři skenování v bankovní aplikaci a namiř telefon na obrazovku.
Máš už jen text
Text samotný banka nenačte. Vlož ho do dekodéru nahoře a tlačítkem Vygenerovat QR kód znovu z něj udělej nový kód, který naskenuješ z monitoru. Údaje můžeš upravit v generátoru QR platby.
Aplikace kód nenačte? Nejčastější příčiny
Domácí číslo účtu místo IBANu
V poli ACC musí být IBAN (CZ a 22 číslic). Tvar 1920001000/2010 aplikace nepřijme.
Čárka v částce
Standard chce desetinnou tečku: AM:450.00. Zápis AM:450,00 je chybný.
Jiný formát než SPD
EPC kód (BCD) nebo QR faktura (SID) nemusí česká aplikace vzít jako platbu.
Malý nebo rozmazaný kód
Standard ČBA počítá s tím, že kód má na displeji stranu aspoň 1 cm. Přibliž ho nebo zvětši.
Tři reálné typy textu z QR platby, rozebrané
Čísla účtů jsou ilustrační, ale formálně platná, takže si je můžeš vložit do dekodéru a porovnat výsledek.
Výzva k platbě bez částky, s referencí a BIC
Takový kód bývá na vyúčtováních a výzvách k platbě, kde si částku zadáváš sám.
SPD*1.0*ACC:CZ7101000000351234567004+KOMBCZPP*AM:0.00*CC:CZK*RF:8000000000012345*X-VS:850041*
- ACC
- IBAN CZ71 0100 0000 3512 3456 7004 = účet 35-1234567004/0100, Komerční banka. Za znakem + je BIC KOMBCZPP, tedy opět Komerční banka.
- AM:0.00
- Nulová částka. Bankovní aplikace ti částku obvykle nechá vyplnit, vezmi ji z dokladu, ke kterému kód patří.
- CC:CZK
- Platba v korunách.
- RF
- Reference pro příjemce, podle které si platbu spáruje. Ty ji nijak nevyplňuješ.
- X-VS:850041
- Variabilní symbol. Bez něj by příjemce platbu nemusel poznat.
Hvězdička na konci textu je v pořádku, uzavírá poslední pole.
Jen účet a měna
Minimální kód: typicky nálepka u pokladny, sbírka nebo příspěvek, kde částku a symbol doplníš sám.
SPD*1.0*ACC:CZ7120100000001920001000*CC:CZK
- ACC
- IBAN CZ71 2010 0000 0019 2000 1000 = účet 1920001000/2010, Fio banka. Předčíslí je nulové, proto chybí.
- CC:CZK
- Platba v korunách. Částka, variabilní symbol ani zpráva v kódu nejsou.
Kód bez částky a bez jména příjemce je nejsnazší podvrhnout. Než zaplatíš, ověř si číslo účtu jinou cestou, třeba na webu nebo dokladu příjemce.
Platba za zboží s částkou, zprávou a splatností
Běžná QR platba z faktury nebo e-shopu. Všechno se předvyplní, ty jen kontroluješ a potvrzuješ.
SPD*1.0*ACC:CZ6508000000192000145399*AM:450.00*CC:CZK*MSG:PLATBA ZA ZBOZI*X-VS:1234567890*DT:20261031
- ACC
- IBAN CZ65 0800 0000 1920 0014 5399 = účet 19-2000145399/0800, Česká spořitelna.
- AM:450.00
- Zaplatíš 450,00 Kč. Tečka je desetinný oddělovač.
- MSG
- Zpráva pro příjemce PLATBA ZA ZBOZI, bez diakritiky podle doporučení standardu.
- X-VS:1234567890
- Desetimístný variabilní symbol, nejdelší možný.
- DT:20261031
- Splatnost 31. 10. 2026. Podle ní může aplikace nastavit datum odeslání platby.
Když text zkopíruješ do vyhledávače, často ho uvidíš jako spd 1.0*acc cz65... am 450.00 cc:czk, malými písmeny a s mezerami. Dekodér nahoře si poradí i s tímto tvarem.
Všechna pole QR platby SPD a jejich limity
Každý údaj má tvar KLÍČ:hodnota a končí hvězdičkou. Pořadí polí nehraje roli, klíče se píšou velkými písmeny. Štítek všechny banky znamená, že pole podle standardu ČBA zpracuje kterákoli banka v ČR. Ostatní pole umí jen některé banky a jiné je tiše ignorují.
Základní pole
| Pole | Znaků | Význam | Příklad |
|---|---|---|---|
| ACCvšechny banky | max. 46 | Účet příjemce jako IBAN, volitelně za znakem + i BIC banky. Jediné povinné pole. | ACC:CZ6508000000192000145399+GIBACZPX |
| ALT-ACC | max. 93 | Alternativní účty příjemce oddělené čárkou, stejný tvar jako ACC. Doporučeno nejvýš 2. | ALT-ACC:CZ7120100000001920001000 |
| AMvšechny banky | max. 10 | Částka, desetinná tečka, nejvýš 2 desetinná místa (do 9 999 999.99). | AM:450.00 |
| CCvšechny banky | právě 3 | Měna podle ISO 4217, velkými písmeny. Pro tuzemskou platbu CZK. | CC:CZK |
| RF | max. 16 | Identifikátor platby pro příjemce, celé číslo. | RF:8000000000012345 |
| RN | max. 35 | Jméno příjemce. | RN:PETR DVORAK |
| DTvšechny banky | právě 8 | Datum splatnosti RRRRMMDD. U trvalého příkazu datum první platby. | DT:20261031 |
| PT | max. 3 | Typ platby. Hodnota IP žádá okamžitou platbu, pokud ji banka umí. | PT:IP |
| MSGvšechny banky | max. 60 | Zpráva pro příjemce. U trvalého příkazu jeho název. | MSG:PLATBA ZA ZBOZI |
| CRC32 | právě 8 | Kontrolní součet řetězce bez pole CRC32, hexadecimálně (0 až 9, A až F). | CRC32:1234ABCD |
| NT | právě 1 | Kanál, kterým banka pošle notifikaci o platbě: P telefon (SMS), E e-mail. Záleží na podmínkách banky. | NT:E |
| NTA | max. 320 | Telefon nebo e-mail pro notifikaci podle NT. | NTA:+420123456789 |
| FRQ | max. 3 | Frekvence trvalého příkazu: 1D, 1M, 3M, 6M, 1Y. Když je vyplněné, kód zakládá trvalý příkaz. | FRQ:1M |
| DL | právě 8 | Konec platnosti trvalého příkazu nebo svolení k inkasu (RRRRMMDD). | DL:20271231 |
| DH | max. 1 | Provádět trvalý příkaz po úmrtí majitele účtu: 0 ano, 1 ne. | DH:0 |
Česká rozšíření s předponou X-
| Pole | Znaků | Význam | Příklad |
|---|---|---|---|
| X-VSvšechny banky | max. 10 | Variabilní symbol, celé číslo. Obvykle číslo faktury nebo smlouvy. | X-VS:1234567890 |
| X-SSvšechny banky | max. 10 | Specifický symbol, celé číslo. | X-SS:1234567890 |
| X-KSvšechny banky | max. 10 | Konstantní symbol, celé číslo. | X-KS:0558 |
| X-ID | max. 20 | Interní identifikátor platby na straně plátce, význam určuje jeho banka. | X-ID:ABCDEFGHIJ1234567890 |
| X-URL | max. 140 | Adresa pro vlastní potřebu aplikace. Na odkaz z QR platby nikdy neklikej naslepo. | X-URL:HTTP://WWW.EXAMPLE.CZ/ |
| X-PER | max. 2 | Kolik dní (0 až 30) má banka zkoušet neúspěšnou platbu znovu, např. při nedostatku peněz. | X-PER:7 |
| X-SELF | max. 60 | Zpráva pro mě: poznámka, kterou uvidí jen plátce ve své historii. | X-SELF:PLATBA ZA TELCO SLUZBY |
Delší hodnota se ořízne
Když hodnota překročí limit, aplikace podle standardu zpracuje jen povolený počet znaků zleva a zbytek ignoruje.
Hvězdička jako %2A
Hodnota nesmí obsahovat hvězdičku ani začínat či končit mezerou. Speciální znaky se zapisují URL kódováním, třeba %2A nebo %C3%A1 pro á.
Velká písmena bez diakritiky
Standard doporučuje jen 0 až 9, A až Z, mezeru a znaky $ % * + - . / :, aby kód zůstal malý a čitelný. Proto zprávy vypadají jako PLATBA ZA ZBOZI.
Jak z IBANu v poli ACC poznat banku a číslo účtu
Český IBAN má vždy 24 znaků. Kód banky je na pozicích 5 až 8, za ním šest číslic předčíslí a deset číslic čísla účtu. Úvodní nuly se při převodu na domácí tvar zahodí.
CZ65 0800 0000 1920 0014 5399 je tedy účet 19-2000145399/0800 u České spořitelny. Opačný směr, z čísla účtu na IBAN, spočítá převodník čísla účtu na IBAN.
| Kód v IBANu | Banka | BIC (za + v poli ACC) |
|---|---|---|
| 0100 | Komerční banka | KOMBCZPP |
| 0300 | ČSOB (Československá obchodní banka) | CEKOCZPP |
| 0600 | MONETA Money Bank | AGBACZPP |
| 0800 | Česká spořitelna | GIBACZPX |
| 2010 | Fio banka | FIOBCZPP |
| 2700 | UniCredit Bank | BACXCZPP |
| 3030 | Air Bank | AIRACZPP |
| 5500 | Raiffeisenbank | RZBCCZPP |
| 6210 | mBank | BREXCZPP |
| 6300 | BNP Paribas, pobočka Česká republika | GEBACZPP |
Další kódy (například 2250 Banka CREDITAS, 6363 Partners Banka, 6000 PPF banka, 5800 J&T banka) jsou v seznamu kódů bank ČNB. Dekodér nahoře banku doplní sám. IBAN, který nezačíná CZ, patří zahraničnímu účtu: první dvě písmena jsou kód země (SK Slovensko, DE Německo, AT Rakousko).
QR platba SPD, EPC QR a QR faktura: v čem se liší
Tři formáty, které si lidé pletou. Poznáš je hned podle prvních znaků textu.
| QR platba (SPD) | EPC QR (SEPA) | QR faktura | |
|---|---|---|---|
| Začátek textu | SPD*1.0* | BCD (první řádek) | SID*1.0* |
| Kdo ho vydává | Česká bankovní asociace, od 2012 | European Payments Council | Komora daňových poradců ČR |
| Oddělovač | hvězdička, KLÍČ:hodnota | každý údaj na vlastním řádku, pevné pořadí | hvězdička, KLÍČ:hodnota |
| Měna | CZK (tuzemský styk) | jen EUR | údaje faktury, ne příkaz |
| Typický obsah | IBAN, částka, VS, zpráva, splatnost | jméno příjemce, IBAN, částka, reference nebo zpráva do 140 znaků | číslo dokladu, DIČ, IČO, DUZP, základ a DPH podle sazeb |
| K čemu | zaplatit v české bankovní aplikaci | SEPA úhrada v eurech | načíst fakturu do účetnictví |
QR fakturu lze podle Komory daňových poradců propojit s QR platbou do jednoho kódu, takže na faktuře stačí jeden čtverec. Víc o eurových platbách v článku QR platba v eurech: EPC QR kód (SEPA), o českém formátu v článku jak funguje QR platba a formát SPD.
Podvody s QR kódy: jak se nenechat napálit
Samotná QR platba je jen text a nic sama neodešle. Riziko je v tom, kdo kód vyrobil. Podvodníci přelepují původní kódy vlastními nálepkami nebo posílají QR kódy v SMS a e-mailech. Česká národní banka varuje před podvodnými QR kódy pod názvem quishing a Komerční banka upozorňuje, že ze samotného QR kódu nepoznáš, jestli je nebezpečný. Proto se dívej na obsah, ne na kód.
Než zaplatíš, zkontroluj
- Číslo účtu a banku z dekodéru porovnej s fakturou, smlouvou nebo webem příjemce.
- Jméno příjemce v bankovní aplikaci. Když se nezobrazí nebo nesedí, zbystři.
- Částku a variabilní symbol, hlavně u výzev, které přišly nečekaně.
- U nálepky na automatu, stojanu nebo dveřích, jestli nejde o nálepku přes původní kód.
Varovné signály
- Kód místo platby otevře web a chce přihlášení do banky nebo údaje z karty.
- Zpráva tlačí na rychlost: pokuta, zablokovaný účet, poslední upomínka.
- Účet v kódu je jiný než ten, který znáš z dřívějších plateb.
- IBAN neprojde kontrolou nebo nesedí kontrolní součet CRC32 (dekodér to ukáže).
Platíš firmě? U plátců DPH si zveřejněný účet ověříš v ověření plátce DPH a bankovních účtů. Když už jsi podvodníkovi zaplatil nebo dal údaje, hned kontaktuj svou banku a pak Policii ČR.
Pro vývojáře: jak QR platbu parsovat
Text začíná hlavičkou SPD* a verzí ve tvaru dvou čísel s tečkou (1.0*). Pak následují dvojice KLÍČ:hodnota*. Hodnota smí obsahovat dvojtečku, takže dělit je potřeba jen na první dvojtečce. Hodnoty dekóduj z URL kódování (%2A je hvězdička).
CRC32 se počítá z kanonického řetězce: hlavička SPD*1.0* a všechna pole kromě CRC32 seřazená podle klíče a sekundárně podle hodnoty. Výsledek je osm hexadecimálních znaků velkými písmeny.
Pro uložení do souboru definuje standard MIME typ application/x-shortpaymentdescriptor a příponu .spayd. QR kód generuj s úrovní opravy chyb M.
function parseSpd(text: string) {
const [hlavicka, verze, ...pole] = text.trim().split("*");
if (hlavicka !== "SPD" || !/^\d+\.\d+$/.test(verze)) return null;
const data: Record<string, string> = {};
for (const p of pole) {
const i = p.indexOf(":");
if (i < 1) continue;
data[p.slice(0, i)] = decodeURIComponent(p.slice(i + 1));
}
return data.ACC ? data : null; // ACC je jediné povinné pole
}
parseSpd("SPD*1.0*ACC:CZ6508000000192000145399*AM:450.00*CC:CZK");
// { ACC: "CZ6508000000192000145399", AM: "450.00", CC: "CZK" }Často kladené otázky
Co znamená SPD*1.0*ACC na začátku textu z QR kódu?
Je to obsah české QR platby. SPD je zkratka Short Payment Descriptor, formátu České bankovní asociace pro platební QR kódy, 1.0 je verze formátu a ACC uvozuje účet příjemce ve tvaru IBAN. Následují další pole oddělená hvězdičkou: AM částka, CC měna, X-VS variabilní symbol, MSG zpráva, RN jméno příjemce, DT datum splatnosti.
Proč mi telefon místo platby ukázal jen text?
Kód jsi naskenoval fotoaparátem nebo obecnou čtečkou QR kódů. Ty platbě nerozumí, a protože v kódu není webová adresa, ukážou jen jeho surový obsah. Zaplatit jde jen tak, že stejný kód naskenuješ v bankovní aplikaci, která z textu předvyplní platební příkaz.
Jak zaplatím QR platbu, kterou mám v telefonu jako obrázek nebo PDF?
Většina bankovních aplikací umí kromě fotoaparátu načíst QR kód i z obrázku v galerii, některé i ze souboru PDF. Volbu najdeš na obrazovce skenování QR platby. Když ji tvoje aplikace nemá, otevři obrázek na jiném zařízení, třeba na počítači, a naskenuj ho z obrazovky.
Co znamená AM:0.00 nebo když v textu částka úplně chybí?
Pole AM je nepovinné. Když chybí nebo je nulové, příjemce částku do kódu nedal a ty ji zadáš sám podle faktury či výzvy k platbě. Typické je to u nálepek s účtem, sbírek nebo výzev, kde se částka mění.
Jak z IBANu v poli ACC poznám číslo účtu a banku?
Český IBAN má 24 znaků: CZ, dvě kontrolní číslice, čtyřmístný kód banky, šest číslic předčíslí a deset číslic čísla účtu. CZ65 0800 0000 1920 0014 5399 je účet 19-2000145399/0800 u České spořitelny. Kód 0100 je Komerční banka, 0300 ČSOB, 0600 MONETA, 2010 Fio banka, 3030 Air Bank, 5500 Raiffeisenbank, 6210 mBank. Dekodér to přepočítá sám.
Je bezpečné text z QR kódu do dekodéru vložit?
Ano. Dekodér běží jen v tvém prohlížeči, text nikam neodesíláme ani neukládáme. QR platba navíc obsahuje jen údaje příjemce a platby, žádné tvoje přihlašovací ani karetní údaje.
Jak poznám podvodný QR kód?
Ověř, že číslo účtu a jméno příjemce sedí s fakturou nebo s webem příjemce. Podezřelé jsou nálepky přelepené přes původní kód na automatech a stojanech, QR kódy v SMS nebo e-mailu, které tlačí na rychlou platbu, a kódy, které místo platby otevřou webovou stránku a chtějí přihlášení nebo údaje z karty. Česká národní banka před podvodnými QR kódy (quishing) výslovně varuje.
Jaký je rozdíl mezi QR platbou SPD, EPC QR a QR fakturou?
QR platba SPD je český formát pro platby v korunách a začíná textem SPD*1.0*. EPC QR (SEPA QR) je evropský formát pro úhrady v eurech, začíná řádkem BCD a každý údaj má na vlastním řádku. QR faktura začíná SID*1.0* a nese účetní údaje faktury, jako DIČ, DUZP a rozpis DPH, pro načtení do účetnictví.
Můžu QR platbou zaplatit v eurech nebo do zahraničí?
Český formát SPD je určený pro tuzemské platby, standard ČBA verze 1.2 pro ně uvádí jen měnu CZK. Pro eurové platby v rámci SEPA slouží evropský EPC QR kód, který čtou banky v eurozóně. Pokud v textu vidíš CC:EUR, záleží na tvé bance, jestli takový kód zpracuje.
Co je CRC32 na konci textu a musí sedět?
CRC32 je nepovinný kontrolní součet z osmi znaků 0 až 9 a A až F. Počítá se z celého textu bez pole CRC32, s poli seřazenými podle klíče. Slouží k odhalení poškozeného nebo pozměněného kódu. Když součet nesedí, buď je kód poškozený, nebo ho někdo upravil, a platbu je lepší si ověřit.
Zdroje a ověření
Připravil tým DokladBot podle oficiálních specifikací. Poslední kontrola . Názvy tlačítek v bankovních aplikacích se mění, proto je uvádíme obecně.
- Česká bankovní asociace: Formát pro sdílení platebních údajů v CZK prostřednictvím QR kódů, verze 1.2 (vydáno 1. 6. 2021, účinné od 1. 1. 2022)
- QR Platba: specifikace formátu SPD (qr-platba.cz)
- European Payments Council: Quick Response Code, Guidelines to Enable Data Capture for the Initiation of a SEPA Credit Transfer
- Komora daňových poradců ČR: QR Faktura, popis formátu
- Česká národní banka: Seznam kódů bank (platební styk)
- Česká národní banka: IBAN, mezinárodní formát čísla účtu
- Česká národní banka: Online podvody, chraňte své peníze (varování před quishingem)
- Komerční banka: Quishing, vylepšená forma phishingu (23. 2. 2024)
Potřebuješ QR platbu vytvořit?
QR kód k zaplacení vygeneruješ zdarma v generátoru. A když fakturuješ přes DokladBot, QR platba je na každé faktuře automaticky.