QRInvoice
in package
Knihovna pro generování QR plateb v PHP.
Tags
Table of Contents
- SID_VERSION = '1.0'
- Verze QR formátu QR Faktury.
- SPD_VERSION = '1.0'
- Verze QR formátu QR Platby.
- $currencies : array<string|int, mixed>
- $isOnlyInvoice : mixed
- Přepínač, zda se má generovat pouze QR Faktura
- $sid_keys : array<string|int, mixed>
- $spd_keys : array<string|int, mixed>
- __construct() : mixed
- Konstruktor nové platby.
- __toString() : string
- Metoda vrátí QR Platbu nebo Fakturu s integrovanou QR Platbou jako textový řetězec.
- accountToIban() : string
- Převedení čísla účtu na formát IBAN.
- create() : QRInvoice
- Statický konstruktor nové platby.
- getQRCodeImage() : string
- Metoda vrátí QR kód jako HTML tag, případně jako data-uri.
- getQRCodeInstance() : QrCode
- Instance třídy QrCode pro libovolné úpravy (barevnost, atd.).
- saveQRCodeImage() : QRInvoice
- Uložení QR kódu do souboru.
- setAccount() : $this
- Nastavení čísla účtu ve formátu 12-3456789012/0100.
- setAmount() : $this
- Nastavení částky.
- setCompanyRegistrationId() : $this
- Nastavení IČO výstavce
- setCompanyTaxId() : $this
- Nastavení DIČ výstavce
- setConstantSymbol() : $this
- Nastavení konstatního symbolu.
- setCurrency() : $this
- setCurrencyRate() : $this
- Nastavení směnného kurzu mezi CZK a měnou celkové částky
- setDueDate() : $this
- Nastavení data úhrady.
- setIban() : $this
- Nastavení IBAN (+SWIFT/BIC) čísla účtu
- setInvoiceDate() : $this
- Nastavení data vydání faktury
- setInvoiceDocumentType() : $this
- Nastavení identifikace typu dokladu
- setInvoiceId() : $this
- Nastavení ID faktury
- setInvoiceIncludingDeposit() : $this
- Nastavení příznaku, který rozlišuje, zda faktura obsahuje zúčtování záloh
- setInvoiceRelatedId() : $this
- Nastavení čísla (označení) objednávky, k níž se vztahuje tento účetní doklad
- setInvoiceSubjectRegistrationId() : $this
- Nastavení IČO příjemce
- setInvoiceSubjectTaxId() : $this
- Nastavení DIČ příjemce
- setIsOnlyInvoice() : $this
- Přepínač, zda se má generovat pouze QR Faktura
- setMessage() : $this
- Nastavení zprávy pro příjemce. Z řetězce bude odstraněna diaktirika.
- setNoTaxAmount() : $this
- Nastavení částky osvobozených plnění, plnění mimo předmět DPH, plnění neplátců DPH v CZK včetně haléřového vyrovnání
- setRecipientName() : $this
- Nastavení jména příjemce. Z řetězce bude odstraněna diaktirika.
- setSpecificSymbol() : $this
- Nastavení specifického symbolu.
- setTaxAmount() : $this
- Nastavení částky daně v CZK včetně haléřového vyrovnání
- setTaxBase() : $this
- Nastavení částky základu daně v CZK včetně haléřového vyrovnání
- setTaxDate() : $this
- Nastavení data uskutečnění zdanitelného plnění
- setTaxPerformance() : $this
- Nastavení typu daňového plnění
- setTaxReportDate() : $this
- Nastavení data povinnosti přiznat daň
- setTaxSoftware() : $this
- Nastavení označení účetního software, ve kterém byl řetězec QR Faktury (faktura) vytvořen
- setVariableSymbol() : $this
- Nastavení variabilního symbolu.
- stripDiacritics() : mixed
- Odstranění diaktitiky.
Constants
SID_VERSION
Verze QR formátu QR Faktury.
public
mixed
SID_VERSION
= '1.0'
SPD_VERSION
Verze QR formátu QR Platby.
public
mixed
SPD_VERSION
= '1.0'
Properties
$currencies
private
static array<string|int, mixed>
$currencies
= ['AED', 'AFN', 'ALL', 'AMD', 'ANG', 'AOA', 'ARS', 'AUD', 'AWG', 'AZN', 'BAM', 'BBD', 'BDT', 'BGN', 'BHD', 'BIF', 'BMD', 'BND', 'BOB', 'BRL', 'BSD', 'BTN', 'BWP', 'BYN', 'BZD', 'CAD', 'CDF', 'CHF', 'CLP', 'CNY', 'COP', 'CRC', 'CUC', 'CUP', 'CVE', 'CZK', 'DJF', 'DKK', 'DOP', 'DZD', 'EGP', 'ERN', 'ETB', 'EUR', 'FJD', 'FKP', 'GBP', 'GEL', 'GGP', 'GHS', 'GIP', 'GMD', 'GNF', 'GTQ', 'GYD', 'HKD', 'HNL', 'HRK', 'HTG', 'HUF', 'IDR', 'ILS', 'IMP', 'INR', 'IQD', 'IRR', 'ISK', 'JEP', 'JMD', 'JOD', 'JPY', 'KES', 'KGS', 'KHR', 'KMF', 'KPW', 'KRW', 'KWD', 'KYD', 'KZT', 'LAK', 'LBP', 'LKR', 'LRD', 'LSL', 'LYD', 'MAD', 'MDL', 'MGA', 'MKD', 'MMK', 'MNT', 'MOP', 'MRO', 'MUR', 'MVR', 'MWK', 'MXN', 'MYR', 'MZN', 'NAD', 'NGN', 'NIO', 'NOK', 'NPR', 'NZD', 'OMR', 'PAB', 'PEN', 'PGK', 'PHP', 'PKR', 'PLN', 'PYG', 'QAR', 'RON', 'RSD', 'RUB', 'RWF', 'SAR', 'SBD', 'SCR', 'SDG', 'SEK', 'SGD', 'SHP', 'SLL', 'SOS', 'SPL', 'SRD', 'STD', 'SVC', 'SYP', 'SZL', 'THB', 'TJS', 'TMT', 'TND', 'TOP', 'TRY', 'TTD', 'TVD', 'TWD', 'TZS', 'UAH', 'UGX', 'USD', 'UYU', 'UZS', 'VEF', 'VND', 'VUV', 'WST', 'XAF', 'XCD', 'XDR', 'XOF', 'XPF', 'YER', 'ZAR', 'ZMW', 'ZWD']
$isOnlyInvoice
Přepínač, zda se má generovat pouze QR Faktura
private
mixed
$isOnlyInvoice
= false
$sid_keys
private
array<string|int, mixed>
$sid_keys
= [
'ID' => null,
// Max. 40 znaků - Jednoznačné označení dokladu
'DD' => null,
// Právě 8 znaků - Datum vystavení dokladu ve formátu YYYYMMDD
'AM' => null,
// Max. 18 znaků - Výše celkové částky k úhradě v měně specifikované klíčem CC
'TP' => null,
// Právě 1 znak - Identifikace typu daňového plnění
'TD' => null,
// Právě 1 znak - Identifikace typu dokladu
'SA' => null,
// Právě 1 znak - Příznak, který rozlišuje, zda faktura obsahuje zúčtování záloh
'MSG' => null,
// Max. 40 znaků - Textový popis předmětu fakturace
'ON' => null,
// Max. 20 znaků - Číslo (označení) objednávky, k níž se vztahuje tento účetní doklad
'VS' => null,
// Max. 10 znaků - Variabilní symbol
'VII' => null,
// Max. 14 znaků - DIČ výstavce
'INI' => null,
// Max. 8 znaků - IČO výstavce
'VIR' => null,
// Max. 14 znaků - DIČ příjemce
'INR' => null,
// Max. 8 znaků - IČO příjemce
'DUZP' => null,
// Právě 8 znaků - Datum uskutečnění zdanitelného plnění ve formátu YYYYMMDD
'DPPD' => null,
// Právě 8 znaků - Datum povinnosti přiznat daň ve formátu YYYYMMDD
'DT' => null,
// Právě 8 znaků - Datum splatnosti celkové částky ve formátu YYYYMMDD
'TB0' => null,
// Max. 18 znaků - Částka základu daně v základní daňové sazbě v CZK včetně haléřového vyrovnání
'T0' => null,
// Max. 18 znaků - Částka daně v základní daňové sazbě v CZK včetně haléřového vyrovnání
'TB1' => null,
// Max. 18 znaků - Částka základu daně v první snížené daňové sazbě v CZK včetně haléřového vyrovnání
'T1' => null,
// Max. 18 znaků - Částka daně v první snížené daňové sazbě v CZK včetně haléřového vyrovnání
'TB2' => null,
// Max. 18 znaků - Částka základu daně ve druhé snížené daňové sazbě v CZK včetně haléřového vyrovnání
'T2' => null,
// Max. 18 znaků - Částka daně ve druhé snížené daňové sazbě v CZK včetně haléřového vyrovnání
'NTB' => null,
// Max. 18 znaků - Částka osvobozených plnění, plnění mimo předmět DPH, plnění neplátců DPH v CZK včetně haléřového vyrovnání. V případě kladné hodnoty bez znaménka, záporná hodnota se znaménkem. Znaménko vždy explicitně určuje směr toku peněz bez ohledu na jiné atributy
'CC' => 'CZK',
// Právě 3 znaky - Měna celkové částky. Není-li klíč v řetězci přítomen = měna je CZK
'FX' => null,
// Max. 18 znaků - Směnný kurz mezi CZK a měnou celkové částky
'FXA' => null,
// Max. 5 znaků - Počet jednotek cizí měny pro přepočet pomocí klíče FX. Není-li v řetězci klíč přítomen = 1
'ACC' => null,
// Max. 46 - Identifikace čísla účtu výstavce faktury, která je složena ze dvou komponent oddělených znaménkem + Tyto komponenty jsou: číslo účtu ve formátu IBAN identifikace banky ve formátu SWIFT dle ISO 9362. Druhá komponenta (SWIFT) je přitom volitelná
'CRC32' => null,
// Právě 8 znaků - Kontrolní součet. Hodnota vznikne výpočtem CRC32 celého řetězce (bez klíče CRC32) a převedením této číselné hodnoty do hexadecimálního zápisu.
'X-SW' => null,
// Max. 30 - Označení účetního software, ve kterém byl řetězec QR Faktury (faktura) vytvořen. Libovolný řetězec dle rozhodnutí výrobce účetního software. Označení by mělo být obecně unikátní a neměnné pro daný software (nebo jeho verzi).
'X-URL' => null,
]
klíče QR Faktury
$spd_keys
private
array<string|int, mixed>
$spd_keys
= [
'ACC' => null,
// Max. 46 - znaků IBAN, BIC Identifikace protistrany !povinny
'ALT-ACC' => null,
// Max. 93 - znaků Seznam alternativnich uctu. odddeleny carkou,
'AM' => null,
// Max. 10 znaků - Desetinné číslo Výše částky platby.
'CC' => 'CZK',
// Právě 3 znaky - Měna platby.
'DT' => null,
// Právě 8 znaků - Datum splatnosti YYYYMMDD.
'MSG' => null,
// Max. 60 znaků - Zpráva pro příjemce.
'X-VS' => null,
// Max. 10 znaků - Celé číslo - Variabilní symbol
'X-SS' => null,
// Max. 10 znaků - Celé číslo - Specifický symbol
'X-KS' => null,
// Max. 10 znaků - Celé číslo - Konstantní symbol
'RF' => null,
// Max. 16 znaků - Identifikátor platby pro příjemce.
'RN' => null,
// Max. 35 znaků - Jméno příjemce.
'PT' => null,
// Právě 3 znaky - Typ platby.
'CRC32' => null,
// Právě 8 znaků - Kontrolní součet - HEX.
'NT' => null,
// Právě 1 znak P|E - Identifikace kanálu pro zaslání notifikace výstavci platby.
'NTA' => null,
// Max. 320 znaků - Telefonní číslo v mezinárodním nebo lokálním vyjádření nebo E-mailová adresa
'X-PER' => null,
// Max. 2 znaky - Celé číslo - Počet dní, po které se má provádět pokus o opětovné provedení neúspěšné platby
'X-ID' => null,
// Max. 20 znaků. - Identifikátor platby na straně příkazce. Jedná se o interní ID, jehož použití a interpretace závisí na bance příkazce.
'X-URL' => null,
]
klíče QR Platby
Methods
__construct()
Konstruktor nové platby.
public
__construct([null $account = null ][, null $amount = null ][, null $variable = null ][, null $currency = null ]) : mixed
Parameters
- $account : null = null
- $amount : null = null
- $variable : null = null
- $currency : null = null
Tags
Return values
mixed —__toString()
Metoda vrátí QR Platbu nebo Fakturu s integrovanou QR Platbou jako textový řetězec.
public
__toString() : string
Return values
string —accountToIban()
Převedení čísla účtu na formát IBAN.
public
static accountToIban( $accountNumber) : string
Parameters
Return values
string —create()
Statický konstruktor nové platby.
public
static create([null $account = null ][, null $amount = null ][, null $variable = null ]) : QRInvoice
Parameters
- $account : null = null
- $amount : null = null
- $variable : null = null
Tags
Return values
QRInvoice —getQRCodeImage()
Metoda vrátí QR kód jako HTML tag, případně jako data-uri.
public
getQRCodeImage([bool $htmlTag = true ][, int $size = 300 ][, mixed $margin = 10 ]) : string
Parameters
- $htmlTag : bool = true
- $size : int = 300
- $margin : mixed = 10
Return values
string —getQRCodeInstance()
Instance třídy QrCode pro libovolné úpravy (barevnost, atd.).
public
getQRCodeInstance([int $size = 300 ][, mixed $margin = 10 ]) : QrCode
Parameters
- $size : int = 300
- $margin : mixed = 10
Return values
QrCode —saveQRCodeImage()
Uložení QR kódu do souboru.
public
saveQRCodeImage([null|string $filename = null ][, null|string $format = 'png' ][, int $size = 300 ][, mixed $margin = 10 ]) : QRInvoice
Parameters
- $filename : null|string = null
-
File name of the QR Code
- $format : null|string = 'png'
-
Format of the file (png, jpeg, jpg, gif, wbmp)
- $size : int = 300
- $margin : mixed = 10
Tags
Return values
QRInvoice —setAccount()
Nastavení čísla účtu ve formátu 12-3456789012/0100.
public
setAccount( $account) : $this
Parameters
Return values
$this —setAmount()
Nastavení částky.
public
setAmount( $amount) : $this
Parameters
Return values
$this —setCompanyRegistrationId()
Nastavení IČO výstavce
public
setCompanyRegistrationId(string $ini) : $this
Parameters
- $ini : string
Tags
Return values
$this —setCompanyTaxId()
Nastavení DIČ výstavce
public
setCompanyTaxId(string $vii) : $this
Parameters
- $vii : string
Tags
Return values
$this —setConstantSymbol()
Nastavení konstatního symbolu.
public
setConstantSymbol( $ks) : $this
Parameters
Return values
$this —setCurrency()
public
setCurrency( $cc) : $this
Parameters
Tags
Return values
$this —setCurrencyRate()
Nastavení směnného kurzu mezi CZK a měnou celkové částky
public
setCurrencyRate(float $currencyRate) : $this
Parameters
- $currencyRate : float
Return values
$this —setDueDate()
Nastavení data úhrady.
public
setDueDate(DateTime $date) : $this
Parameters
- $date : DateTime
Return values
$this —setIban()
Nastavení IBAN (+SWIFT/BIC) čísla účtu
public
setIban( $iban) : $this
Parameters
Return values
$this —setInvoiceDate()
Nastavení data vydání faktury
public
setInvoiceDate(DateTime $date) : $this
Parameters
- $date : DateTime
Return values
$this —setInvoiceDocumentType()
Nastavení identifikace typu dokladu
public
setInvoiceDocumentType(int $td) : $this
Parameters
- $td : int
Return values
$this —setInvoiceId()
Nastavení ID faktury
public
setInvoiceId(string $id) : $this
Parameters
- $id : string
Tags
Return values
$this —setInvoiceIncludingDeposit()
Nastavení příznaku, který rozlišuje, zda faktura obsahuje zúčtování záloh
public
setInvoiceIncludingDeposit(bool $sa) : $this
Parameters
- $sa : bool
Return values
$this —setInvoiceRelatedId()
Nastavení čísla (označení) objednávky, k níž se vztahuje tento účetní doklad
public
setInvoiceRelatedId(string $on) : $this
Parameters
- $on : string
Tags
Return values
$this —setInvoiceSubjectRegistrationId()
Nastavení IČO příjemce
public
setInvoiceSubjectRegistrationId(string $inr) : $this
Parameters
- $inr : string
Tags
Return values
$this —setInvoiceSubjectTaxId()
Nastavení DIČ příjemce
public
setInvoiceSubjectTaxId(string $vir) : $this
Parameters
- $vir : string
Tags
Return values
$this —setIsOnlyInvoice()
Přepínač, zda se má generovat pouze QR Faktura
public
setIsOnlyInvoice(bool $isOnlyInvoice) : $this
Parameters
- $isOnlyInvoice : bool
Return values
$this —setMessage()
Nastavení zprávy pro příjemce. Z řetězce bude odstraněna diaktirika.
public
setMessage( $msg) : $this
Parameters
Return values
$this —setNoTaxAmount()
Nastavení částky osvobozených plnění, plnění mimo předmět DPH, plnění neplátců DPH v CZK včetně haléřového vyrovnání
public
setNoTaxAmount(float $amount) : $this
Parameters
- $amount : float
Return values
$this —setRecipientName()
Nastavení jména příjemce. Z řetězce bude odstraněna diaktirika.
public
setRecipientName( $name) : $this
Parameters
Return values
$this —setSpecificSymbol()
Nastavení specifického symbolu.
public
setSpecificSymbol( $ss) : $this
Parameters
Tags
Return values
$this —setTaxAmount()
Nastavení částky daně v CZK včetně haléřového vyrovnání
public
setTaxAmount(float $amount, int $taxLevelId) : $this
Parameters
- $amount : float
- $taxLevelId : int
Tags
Return values
$this —setTaxBase()
Nastavení částky základu daně v CZK včetně haléřového vyrovnání
public
setTaxBase(float $amount, int $taxLevelId) : $this
Parameters
- $amount : float
- $taxLevelId : int
Tags
Return values
$this —setTaxDate()
Nastavení data uskutečnění zdanitelného plnění
public
setTaxDate(string $date) : $this
Parameters
- $date : string
Return values
$this —setTaxPerformance()
Nastavení typu daňového plnění
public
setTaxPerformance(int $tp) : $this
Parameters
- $tp : int
Return values
$this —setTaxReportDate()
Nastavení data povinnosti přiznat daň
public
setTaxReportDate(string $date) : $this
Parameters
- $date : string
Return values
$this —setTaxSoftware()
Nastavení označení účetního software, ve kterém byl řetězec QR Faktury (faktura) vytvořen
public
setTaxSoftware(string $taxSoftware) : $this
Parameters
- $taxSoftware : string
Tags
Return values
$this —setVariableSymbol()
Nastavení variabilního symbolu.
public
setVariableSymbol( $vs) : $this
Parameters
Return values
$this —stripDiacritics()
Odstranění diaktitiky.
private
stripDiacritics( $string) : mixed