EET 2.0 startuje 1. 1. 2027

Napojte svůj PHP systém na EET 2.0 za 10 minut

Knihovna, která za vás vyřeší SOAP, podpis WS-Security, staré šifrování certifikátů z DIS+ i ověření potvrzení od finanční správy. Otestováno proti oficiálnímu Playgroundu.

Jedno volání, zpátky POK

Předáte údaje o tržbě a zpátky dostanete potvrzovací kód. O zbytek se postará knihovna:

  • sestaví a podepíše SOAP zprávu (exc-c14n, RSA-SHA256) přesně podle specifikace v4,
  • zkontroluje formáty položek dřív, než je EET odmítne,
  • ověří podpis potvrzení certifikátem GFŘ přes I.CA,
  • rozliší dočasné chyby (poslat znovu) od chyb dat.

Bez závislostí, PHP 8.1+, licence MIT.

// composer require jakubsilny/eet2
use Eet2\Client;

$eet = Client::fromP12('certifikat.p12', 'heslo',
                       Client::PRODUCTION);

$r = $eet->send([
  'eic_popl'    => 'CZ12345678',
  'id_jednotky' => 101,
  'id_pokl'     => 'POKLADNA-1',
  'porad_cis'   => '2027/000123',
  'dat_trzby'   => new DateTimeImmutable(),
  'celk_trzba'  => 249.90,
]);

echo $r['pok'];
// 8398dad6-1a4c-45b0-bc35-986a62bce346-02

Na čem vývojáři u EET 2.0 ztrácí dny

Staré knihovny z roku 2016 nefungují, protože rozhraní v4 je nekompatibilní. Tohle všechno už je vyřešené:

Certifikát z DIS+ nejde otevřít

CA EET šifruje .p12 algoritmem RC2-40, který OpenSSL 3 (a tedy moderní PHP) odmítá. Knihovna si s tím poradí sama.

„Neplatny podpis SOAP zpravy“

Exkluzivní kanonizace s InclusiveNamespaces a otisk těla. Ověřeno bajt po bajtu proti vzorové zprávě finanční správy.

Formáty položek

Částky bez „-0.00“, časová zóna SEČ/SELČ, masky EIČ a čísel účtenek. Validuje se lokálně podle XSD.

Dá se potvrzení věřit?

Každé potvrzení se ověřuje: otisk těla, podpis a certifikát GFŘ s řetězcem I.CA.

EET 2.0 Pro: aby to v produkci nepadalo

Síť vypadne a certifikát za rok vyprší. Pro pohlídá obojí, abyste to nemuseli řešit v pátek večer.

Fronta s doposíláním

Tržba se uloží do databáze a pak odešle. Při výpadku se doručí sama, s rostoucí prodlevou a správným prvni_zaslani. Tabulka zároveň slouží jako evidence všech tržeb s POK.

Automatická obnova certifikátu

Pokladní certifikát platí 366 dní. Pro ho obnoví přes CAEET API, uloží se stávajícím heslem a nechá zálohu. Konfiguraci měnit nemusíte.

Laravel i Nette

Laravel: automatická registrace, php artisan eet2 a naplánované úlohy bez další konfigurace. Nette: DI rozšíření.

CLI a monitoring

eet2 status ukáže platnost certifikátu, frontu a odmítnuté tržby, a přes exit kód se dá hlídat v monitoringu.

Harmonogram EET 2.0

Podle finanční správy.

od 1. 7. 2026Playground pro vývojáře
1. 11. 2026Pokladní certifikáty v DIS+, CAEET API
1. 12. 2026Státní aplikace MOJE EET pro malé subjekty
1. 1. 2027Ostrý provoz

Ceník

Roční předplatné se všemi aktualizacemi. Když ho zrušíte, verzi, kterou máte, smíte dál používat bez omezení.

Open source

0 Kč
  • Odeslání tržby, podpis, validace
  • Ověření potvrzení GFŘ
  • Načtení certifikátů z DIS+
  • Licence MIT
GitHub

Pro

749 Kč / rok
  • Vše z open source
  • Fronta s doposíláním + evidence tržeb
  • Automatická obnova certifikátu
  • Laravel, Nette, CLI
  • 1 projekt
Koupit Pro

Agency

1 890 Kč / rok
  • Vše z Pro
  • Neomezeně projektů
  • Pro agentury a dodavatele pokladních systémů
Koupit Agency

Platbu, fakturu a DPH vyřizuje Polar.sh. Přístup k repozitáři Pro dostanete ihned po zaplacení. Do 14 dnů můžete o vrácení peněz požádat bez udání důvodu.

Časté dotazy

Potřebuje software pro EET 2.0 nějakou certifikaci?

Ne. Podle finanční správy je EET 2.0 otevřený systém, pokladní software smí nabízet kdokoliv a státní certifikaci nepodléhá.

Funguje to i se staršími verzemi PHP?

Vyžaduje PHP 8.1 a novější s rozšířeními dom, openssl a curl, která bývají standardně k dispozici.

Jak otestuji napojení bez skutečného certifikátu?

Použijte Client::PLAYGROUND a veřejné testovací certifikáty finanční správy. Testy knihovny si je stáhnou samy.

Musím tisknout POK na účtenku?

Co musí být na účtence, stanoví zákon a finanční správa. Knihovna vám POK vždy vrátí a Pro ho uloží k tržbě.

Co když EET nebo internet nefunguje?

Knihovna vrátí dočasnou chybu (isRetryable()) a tržbu je potřeba odeslat později. Pro to dělá automaticky.

Je to oficiální produkt finanční správy?

Ne, jde o nezávislou knihovnu. Za splnění evidenční povinnosti odpovídá poplatník.