Jednoduchý generátor faktur s ISDOC zdarma · Verze 2.4.3
Technická dokumentace architektury cache, localStorage a komunikace s registry.
Systém minimalizuje zátěž externích registrů pomocí pěti vrstev. Při vyhledání subjektu se postupuje od nejrychlejší po nejpomalejší:
Díky vícevrstvé architektuře dokáže systém vystavit fakturu i při výpadku externích služeb:
| Scénář | Výsledek | Podmínka |
|---|---|---|
| Registry (ARES, DPH) nedostupné | Funguje | Subjekt je v serverovém adresáři nebo lokální cache |
| Server i registry nedostupné | Funguje | Subjekt byl dříve použit a je v lokálním adresáři prohlížeče |
| Vše nedostupné, nový subjekt | Nefunguje | Údaje o subjektu neexistují v žádné vrstvě cache |
Princip: Lokální adresář v prohlížeči slouží jako poslední záchranná vrstva. Pokud jste někdy vystavili fakturu pro daný subjekt, systém si údaje pamatuje a dokáže je znovu použít bez jakéhokoliv přístupu k internetu. Pro zcela nové subjekty je připojení k registrům nutné – údaje prostě nejsou k dispozici.
Při aktivní volbě „Ukládat data" systém využívá localStorage pro:
| Klíč | Obsah | Limit |
|---|---|---|
elfak_storage_mode | Režim úložiště (simple/advanced) | — |
elfak_ico_history | Historie použitých IČO (rychlá tlačítka) | 20 záznamů |
elfak_supplier_data | Data dodavatelů (per IČO) | — |
elfak_customer_data | Data odběratelů per dodavatel | 50 per dodavatel |
elfak_invoicing_by_supplier | Číselné řady faktur per dodavatel | — |
elfak_registry_directory | Lokální adresář subjektů | 500 záznamů |
elfak_display_settings | Nastavení zobrazení (limity) | — |
Celkový limit localStorage: ~5 MB per origin (browser-dependent). Monitoring v Data Manageru.
Faktury se ukládají v kompaktním JSON formátu pro minimalizaci velikosti:
n (číslo faktury), d (datum), ds (splatnost), dt (DUZP), t (celkem), pm (způsob platby) atd. Bankovní účet se z bezpečnostních důvodů neukládá.{x: text, q: množství, u: jednotka, p: cena, v: sazba DPH}t: 'simple', t: 'itemized' nebo t: 'timesheet' (výkaz práce s ID projektu a aktivity)Systém používá víceúrovňový model limitů – každý registr má vlastní limit:
Limity jsou na dvou úrovních: per uživatel (IP adresa) a serverové (ochrana externích registrů).
Per uživatel (per IP):| Operace | Limit | Okno | Popis |
|---|---|---|---|
| Vyhledání v registrech | 30 | 60 min | Dotazy do ARES, DPH registru i VIES (per registr) |
| Generování PDF | 30 | 60 min | Vytvoření faktury (PDF + ISDOC) |
| DDoS ochrana | 100 | 1 min | Celkový počet HTTP požadavků |
| Registr | Limit | Okno | Popis |
|---|---|---|---|
| ARES | 500 | 60 min | Globální limit dotazů do ARES napříč všemi uživateli |
| Registr DPH | 200 | 60 min | Globální limit dotazů do DPH registru |
| VIES | 200 | 60 min | Globální limit dotazů do VIES (EU validace DIČ) |
| Celkem (emergency) | 800 | 60 min | Globální limit napříč všemi registry dohromady |
Systém podporuje dva režimy, volitelné uživatelem:
| Režim | Checkbox | Chování |
|---|---|---|
| Simple | ☐ Ukládat data | Žádná data se neukládají. Žádná rychlá tlačítka, historie, adresář ani číselné řady. |
| Advanced | ☑ Ukládat data | Plná funkcionalita: rychlá tlačítka, historie faktur, adresář, číselné řady, sugesce. |
Princip „všechno nebo nic": buď jsou všechny funkce aktivní, nebo žádná. Uživatel má plnou kontrolu.
V Data Manageru lze nastavit: