EET 2.0 (Elektronická evidence tržeb) v19
Kontext
V tomto dokumentu se dozvíte více o nastavení a používání modulu pro Elektronickou evidenci tržeb (EET 2.0) v systému Odoo. Modul origamis_cz_eet (s rozšířením origamis_cz_eet_pos pro pokladny) slouží k evidenci tržeb podléhajících českému režimu EET, a to z prodejních míst (POS) i z účtárny. Bližší informace o tom, kterých subjektů a typů tržeb se zákonná povinnost týká, naleznete v oficiálním přehledu Finanční správy. Modul zajišťuje automatické sestavení, elektronický podpis pokladním certifikátem, odeslání datové zprávy, získání potvrzovacího kódu (POK) i tisk zákonných náležitostí na účtenkách.
Globální nastavení
V rámci nastavení Účetnictví byla přidána sekce EET. Naleznete zde konfigurační parametry:
EET zapnuto: Hlavní vypínač celé agendy pro daného poplatníka.
Prostředí EET: Volba mezi Neprodukční (playground) pro vývoj a testování a Produkční pro ostrý provoz.
Pokladní certifikát: Výchozí pokladní certifikát (.p12) společnosti stažený z portálu DIS+ / MOJE daně.
EIC poplatníka: Evidenční identifikační číslo poplatníka (načítá se automaticky z certifikátu).
EIC pověřujícího: Nepovinné pole pro poplatníky evidující v pověření.
Mezní doba odezvy (s): Technický timeout pro synchronní odeslání (výchozí 2 s).
Kontrola podpisu odpovědi: Přísnost ověření elektronického podpisu odpovědi Finanční správy (Benevolentní / Přísné).
Tlačítko "Otestovat spojení": Umožňuje bezpečně odeslat zkušební zprávu v ověřovacím módu proti Finanční správě bez vzniku evidované tržby.

Hlavní funkce
Správa pokladních certifikátů a evidenčních jednotek: Nahrávání certifikátů PKCS#12, automatické načtení platnosti, EIC a vedení evidenčních jednotek z DIS+.
Evidence z účtárny (Backend): Zaúčtováním příchozí zákaznické platby na deníku podléhajícím EET vzniká automaticky datová zpráva a získá se kód POK.
Integrace s POS (Prodejní místa): Automatické odesílání tržeb ze zaplacených POS objednávek a tisk povinných údajů (POK, EIC, evidenční jednotka, pokladna, pořadové číslo) na bloček.
Garantovaný offline režim a resend cron: Výpadek internetu nebo timeout serveru FS nezablokuje prodej – zpráva počká ve frontě a plánovaná úloha (cron) ji v pravidelných intervalech s novým UUID automaticky dopošle.
1. Konfigurace a nastavení agendy
Kontext
Před spuštěním samotné evidence je nutné založit evidenční jednotku z portálu DIS+, nahrát pokladní certifikát .p12 a propojit konfiguraci s účetnictvím a prodejními místy.
Kde se pohybujeme
Evidenční jednotky a Certifikáty: Účetnictví (v Enterprise) nebo Fakturace (v Community) ➔ EET ➔ Evidenční jednotky / Certifikáty.
Globální nastavení: Nastavení ➔ Účetnictví / Fakturace ➔ sekce EET.

Přístupová práva
- Plná správa (Účetnictví / Administrátor): Vytvářet a upravovat pokladní certifikáty, evidenční jednotky a měnit globální nastavení EET může pouze uživatel s rolí Účetnictví / Administrátor. Citlivé heslo k certifikátu je chráněno na úrovni pole a vidí jej výhradně tato role.
- Běžný provoz a audit (Účetní / Pokladník): Uživatelé s nižšími účetními rolemi (např. Zobrazit kompletní účetní funkcionalitu, Fakturace nebo Zobrazit účetní funkce - pouze pro čtení) či s rolí Prodejní místa / Uživatel, mají k agendě EET (zprávám, certifikátům a jednotkám) přístup pouze pro čtení. Prodeje a odesílání datových zpráv z pokladny či účtárny probíhají automaticky na pozadí pod systémovým oprávněním (sudo), takže běžný pokladník ani účetní nepotřebuje práva k editaci certifikátů.
Jak to funguje
Evidenční jednotka:
Otevřete menu Evidenční jednotky a klikněte na Nové.
Vyplňte Název (např. TEST nebo Prodejna Brno) a Označení evidenční jednotky (číslo id_jednotky přidělené z DIS+, např. 111).

Pokladní certifikát:
V menu Certifikáty vytvořte nový záznam.
Vyberte Prostředí (Neprodukční (playground) / Produkční), nahrajte Soubor certifikátu (.p12) a zadejte Heslo certifikátu.
Systém certifikát dešifruje, vyčte EIC poplatníka, platnost a změní stav na Aktivní.
Automatická hlídka expirace: Pokladní certifikát z DIS+ má platnost 366 dní. Modul automaticky hlídá jeho platnost a 30 dní před vypršením založí správci účetnictví aktivitu s upozorněním na nutnost obnovy.

Zapnutí v Nastavení:
V Nastavení –> Účetnictví zaškrtněte EET zapnuto, zvolte prostředí, přiřaďte certifikát a ověřte načtené EIC.
Klikněte na Otestovat spojení. Pokud je vše v pořádku, zobrazí se zelená hláška: „Test spojení EET. Test spojení byl úspěšný (kód odpovědi 0).“
Chybové hlášky
Chyba hesla / certifikátu: Při zadání špatného hesla nebo nahrání poškozeného souboru vyskočí ValidationError: „Neplatný soubor certifikátu nebo nesprávné heslo.“
Neshoda prostředí: Pokud přiřadíte produkční certifikát do neprodukčního prostředí (nebo naopak), systém operaci zablokuje.
Cvičný příklad
Vytvořte testovací Evidenční jednotku s označením 111. Nahrajte testovací playground certifikát CA_EET-Playground-CZ00000019.p12 s heslem aaaa1111. V Nastavení zapněte EET, nastavte neprodukční prostředí a stiskněte Otestovat spojení. Ověřte, že test vrátil kód 0.
2. Použití v Účetnictví
Kde se pohybujeme
Účetní deníky: Účetnictví –> Konfigurace –> Účetní deníky (záložka EET)
Zákaznické platby: Účetnictví –> Zákazníci –> Platby
Kontext
Příchozí zákaznická platba (nákup za hotové, úhrada na terminálu na prodejně či bankovní převod v EET deníku) zakládá v momentě zaúčtování datovou zprávu EET. Faktura sama o sobě tržbou není, tržbou je až její úhrada.
Jak to funguje
Příprava deníku: Na účetním deníku (typ Hotovost / Banka) přejděte na záložku EET, zaškrtněte Podléhá EET, vyberte Evidenční jednotku a zadejte Označení pokladního zařízení.

Vytvoření a zaúčtování platby: Vytvořte příchozí zákaznickou platbu na daný deník a klikněte na tlačítko Potvrdit.
Zobrazení POK: Systém během sekundy odešle zprávu do EET a přímo na formuláři platby zobrazí vygenerovaný POK a stav Potvrzeno.

Proklik na audit zpráv: V horní části platby se zpřístupní chytré tlačítko Datové zprávy EET, kde naleznete kompletní technický detail odeslaného i přijatého XML.
Cvičný příklad
Otevřete deník banky/hotovosti EET, na záložce EET zaškrtněte Podléhá EET a zvolte jednotku TEST. Vytvořte novou zákaznickou platbu na částku 100 CZK s tímto deníkem a klikněte na Potvrdit. Ověřte, že na platbě přibylo pole POK s kódem končícím -ff a v chytrém tlačítku je navázaná 1 datová zpráva.
3. Použití v Prodejních místech (POS) - modul EET 2.0 - POS
Kde se pohybujeme
Platební metody POS: Prodejní místa –> Konfigurace –> Platební metody
Nastavení pokladny: Prodejní místa –> Konfigurace –> Prodejní místa
Obrazovka pokladny: Aplikace Prodejní místo
Kontext
Při dokončení prodeje na pokladně POS (s povoleným EET a kontaktní platební metodou) se vytváří zpráva EET pro celou objednávku. Kód POK se v reálném čase vrátí do pokladny a vytiskne na účtenku.
Jak to funguje
Povolení na platební metodě: Na metodách určených pro kontaktní platby (Hotovost, Karta) zaškrtněte políčko Podléhá EET.

Povolení na pokladně: V nastavení konkrétního prodejního místa zapněte EET, zvolte Evidenční jednotku a Označení pokladního zařízení.

Průběh prodeje:
Pokladník natipuje položky a přejde k platbě.
Vybere platební metodu podléhající EET (např. Karta) a zaplatí.
Na tištěný bloček systém automaticky vloží sekci EET: POK, EIC, Evidenční jednotku, Pokladnu a Poradové číslo.

Storno / Vratka: Při vytvoření vratky (refund) v POS systém automaticky založí novou EET zprávu typu Storno se zápornou částkou.
Cvičný příklad
V nastavení platební metody Karta zaškrtněte Podléhá EET. Otevřete pokladnu, natipujte produkt a proveďte úhradu kartou. Na náhledu účtenky ověřte přítomnost potvrzovacího kódu POK, EIC poplatníka a čísla evidenční jednotky. V menu Účetnictví / Fakturace ➔ EET ➔ Datové zprávy EET zkontrolujte nově vzniklý záznam tržby.
4. Dohledání zpráv a řešení chyb
Přehled odeslaných zpráv
Všechny vytvořené zprávy, jejich stavy i detailní XML komunikaci s Finanční správou naleznete v menu:
Účetnictví (v Enterprise) nebo Fakturace (v Community) ➔ EET ➔ Datové zprávy EET
V tomto přehledu vidíte:
Stav: Potvrzeno (zelená s kódem POK) / Chyba (červená, zpráva čeká na doposlání).
Navázaný doklad: Proklik na konkrétní platbu nebo POS objednávku.
Technický detail: Záložky s plným zněním odeslaného i přijatého XML.

Jak řešit chybové zprávy
Pokud zpráva selže (např. při výpadku internetu nebo serveru Finanční správy):
Automatické doposlání: Systém zprávu označí stavem Chyba a plánovaná úloha (cron) ji v pravidelných intervalech s novým UUID sama odesílá znova (v přehledu vidíte sloupec Počet pokusů).
Ruční odeslání: Pokud potřebujete odeslání vynutit ihned, klikněte na tlačítko Odeslat znovu přímo na řádku dané zprávy.
Kritická chyba (Zamítnuto): Pokud Finanční správa zprávu odmítne z důvodu chybných údajů (např. překlep v EIC), zpráva přejde do stavu Zamítnuto a cron ji automaticky neopakuje. Po opravě údaje v konfiguraci otevřete zamítnutou zprávu a klikněte na tlačítko Vytvořit opravenou zprávu – systém vytvoří novou zprávu s opravenými daty a původní označí jako nahrazenou.
