Načítavanie faktúr elektronicky

QR Faktúra umožňuje načítanie niektorých údajov z faktúry pomocou QR kódu



Pár slov na úvod

Tento projekt vznikol z jednoduchého dôvodu. Nesúhlasíme, aby slovenský štandard využíval spoplatené knihovne/služby ako to bolo v prípade QR kódu na platbu. Chceme, aby bol QR kód jednoduchý, prehľadný, ľahko použiteľný a zadarmo pre každého.

Špecifikácia je silne inšpirovaná z ČR a to z dôvodu, aby nebolo pre firmy veľmi nákladné generovanie kódov zapracovať. Veľa účtovného softvéru z ČR sa používa aj u nás na Slovensku.

Čím viac firiem bude podporovať túto špecifikáciu, tým skôr docielime aby sa z QR Faktúry stal štandard.

Používanie QR Faktúry nepodlieha z našej strany žiadnym licenčným podmienkam, ani povinnej registrácie. Zdrojové kódy tejto stránky sú verejne dostupné na GitHube.

Upozornenie
Nejedná sa o popis formátu pre INVOICE by Square!


Popis formátu

Reťazec QR kódu pre QR faktúru môže obsahovať ľubovoľné znaky zo znakovej sady UTF-8.
Doporučené znaky v reťazci sú:

Reťazec vždy začína SQF*. Nasledne je uvedená verzia protokolu (dve čísla oddelené bodkou) ukončná hviezdičkou - napr. 1.0* . Spolu teda SQF*1.0*...
Nasledujú jednotlivé atribúty a ich hodnoty podľa kľúča $(kľúč):(hodnota)*.
Kľúč je od hodnoty oddelený dvojbodkou a hodnota je ukončená hviezdičkou. Hvieždička v hodnote je zakódovaná ako %2A.
Každý kľúč musí mať uvedenú nejakú hodnotu. Ak hodnotu nechceme generovať, nebudeme kľúč vôbec uvádzať.

Jednotlivé kľúče a hodnoty sú uvedené v tabuľke nižšie:

Kľúč Povinný Dĺžka Formát Popis Príklad
ID max 40 Všetky znaky z povolenej množiny okrem * Jednoznačný identifikátor dokladu ID:ABCD123456789EF*
DD 8 ISO 8601, dátum vo formate YYYYMMDD, iba numerické znaky Dátum vystavenia dokladu DD:20240101*
AM max 18 Desatinné číslo, max. 2 des. miesta, bodka ako oddelovač des. miest Celková čiastka k úhrade v danej mene (viď kľúč CC). Kladná hodnota bez znamienka, záporná hodnota so znamienkom mínus. AM:123.45*
CC - 3 ISO 4217, 3 znaky, veľké písmená Mena, ak nie je uvedené = EUR CC:EUR*
TP - 1 číslo Typ daňového plnenia
  • 0 alebo neuvedené = bežný typ
  • 1 = RDPD
TP:0*
TD - 1 číslo Identifikácia typu dokladu:
  • 0 = nedaňový doklad
  • 1 = opravný doklad
  • 2 = doklad k prijatej platbe
  • 3 = splátkový kalendár
  • 4 = platobný kalendár
  • 5 = súhrnný daňový doklad
  • 9 alebo neuvedené = ostatné daňové doklady
TD:9*
SA - 1 číslo Príznak, či faktúra obsahuje zúčtovanie záloh
  • 0 alebo neuvedené = neobsahuje
  • 1 = obsahuje
SA:0*
MSG - max 40 Všetky znaky z povolenej množiny okrem * Textový popis fakturácie MSG:KONZULTACIA 01/2024*
ON - max 20 Všetky znaky z povolenej množiny okrem * Číslo objednávky ON:OBJ2024001*
VS - max 10 Alfanumerický reťazec Variabilný symbol VS:1234*
VII - max 14 Alfanumerický reťazec DIČ vystavovateľa VII:202*
IDI - max 14 Alfanumerický reťazec IČ DPH vystavovateľa IDI:SK202*
INI - max 8 Číslo IČO vystavovateľa INI:12345678*
VIR - max 14 Alfanumerický reťazec DIČ príjemcu VIR:202*
IDR - max 14 Alfanumerický reťazec IČ DPH príjemcu IDR:SK202*
INR - max 8 Číslo IČO príjemcu INR:12345678*
DUZP - 8 ISO 8601, dátum vo formate YYYYMMDD, iba numerické znaky Dátum uskutočnenia zdaniteľného plnenia DUZP:20240101*
DT - 8 ISO 8601, dátum vo formate YYYYMMDD, iba numerické znaky dátum splatnosti celkovej čiastky DT:20240101*
TB0 - max 18 Desatinné číslo, max. 2 des. miesta, bodka ako oddelovač des. miest Čiastka základu dane v základnej daňovej sadzbe. V prípade kladnej hodnoty uvádzame čiastku bez znamienka, v prípade zápornej uvádzame čiastku so znamienkom mínus. TB0:100*
TB1 - max 18 Desatinné číslo, max. 2 des. miesta, bodka ako oddelovač des. miest Čiastka základu dane v 1. zníženej daňovej sadzbe. V prípade kladnej hodnoty uvádzame čiastku bez znamienka, v prípade zápornej uvádzame čiastku so znamienkom mínus. TB1:15*
TB2 - max 18 Desatinné číslo, max. 2 des. miesta, bodka ako oddelovač des. miest Čiastka základu dane v 2. zníženej daňovej sadzbe. V prípade kladnej hodnoty uvádzame čiastku bez znamienka, v prípade zápornej uvádzame čiastku so znamienkom mínus. TB2:10*
T0 - max 18 Desatinné číslo, max. 2 des. miesta, bodka ako oddelovač des. miest Čiastka dane v základnej daňovej sadzbe T0:12*
T1 - max 18 Desatinné číslo, max. 2 des. miesta, bodka ako oddelovač des. miest Čiastka dane v 1. zníženej daňovej sadzbe T1:15*
T2 - max 18 Desatinné číslo, max. 2 des. miesta, bodka ako oddelovač des. miest Čiastka dane v 2. zníženej daňovej sadzbe T2:10*
NTB - max 18 Desatinné číslo, max. 2 des. miesta, bodka ako oddelovač des. miest čiastka oslobodená od plnenia, plnenie mimo DPH. V prípade kladnej hodnoty uvádzame čiastku bez znamienka, v prípade zápornej uvádzame čiastku so znamienkom mínus. NTB:200*
FX - max 18 Desatinné číslo, max. 2 des. miesta, bodka ako oddelovač des. miest Menný kurz medzi EUR a menou celkovej čiastky FX:123,45*
FXA - max 5 celé číslo Počet jednotiek cudzej meny pre prepočet pomocou kľúča FX. Ak nie je uvedené, FXA=1 FXA:100*
ACC - max 48 Alfanumerický reťazec IBAN vystavovateľa ACC:SK4381800000007000001494*

Príklad

Obsah kódu QR Faktúra
SQF*1.0*ID:2024001*DD:20240101*AM:123.45*MSG:KONZULTACIA 01/2024* Príklad QR kódu

Popis QR kódu

Pod QR kódom sa nachádza text QR-Faktúra. Text má veľkosť 16px a používa font Ubuntu Regular.




API

Pre vývojárov sme pripravili jednoduché API, ktoré vráti QR kód na faktúru.
Volanie API je na adrese https://qr-faktura.sk/api/?$kľúč=(hodnota), pričom do GET parametrov je možné vložiť kľúče z popisu formátu.
Napr.: https://qr-faktura.sk/api/?ID=2024001&DD=20240101&AM=123.45&MSG=KONZULTACIA%2001/2024

API údaje neukladá. Dáta príjme, spracuje a zabudne.




Podpora QR-Faktúry

Ak ste pre svoj softvér implementovali QR-Faktúru, dajte nám vedieť. Radi Vašu firmu uverejníme ako podporovateľa.




Kontakt

V prípade otázok nás kontaktujte na emailovej adrese info@qr-faktura.sk