Přeskočit na hlavní obsah
EET automaticky přes REST API

Jak zasílat EET automaticky přes API

Lenka Haringerová avatar
Autor: Lenka Haringerová
Aktualizováno před více než týdnem

Obchodní firmy již standardně používají automatizované zpracování elektronických objednávek. Především e-shopy automaticky vystavují faktury, obesílají zákazníky informačními zprávami atp. Bude se něco měnit se zavedením Elektronické evidence tržeb (EET)?

Budou moci obchodníci i nadále využívat účetní systémy pro robotické zpracování objednávek? Uživatelé ABRA Flexi mohou zůstat v klidu i po 1. prosinci 2016, kdy odstartovala první vlna EET. REST API ABRA Flexi (od verze 2016.4.) umožňuje evidenci tržeb bez jakéhokoliv ručního zásahu uživatele systému.


Začínáte s EET? Prostudujte si video-návod Jak odesílat doklady do EET.


Nastavení

Pro využívání EET v ABRA Flexi je nutné provést několik nastavení:

  1. Do evidence Certifikátů nahrajte platný certifikát získaný od Finanční správy ČR.

  2. V průvodci vyberte možnost, že se jedná o EET certifikát a vyplňte označení provozovny, ke které se vztahuje.

  3. V nastavení firmy (Autom. operace – EET) zvolte mód komunikace a pokud máte jen jednu provozovnu tak vyplňte výchozí označení provozovny a limit odpovědi. Zbývající údaje je možné předvyplnit na typech dokladů.

Doklady

ABRA Flexi umožňuje do EET odesílat vydané faktury, prodejní kasu a pokladní doklady. Pro všechny tyto evidence byla přidána nová pole. Je na vás, jestli si přednastavíte potřebné údaje v typu dokladu nebo je budete vyplňovat až při importu jednotlivých dokladů.

Seznam polí přidaných kvůli EET

eetTypK – pole určuje, zda doklad spadá do EET nebo nikoliv a případně v jakém režimu: běžný nebo zjednodušený. Je do něho možné zapisovat, a pokud má být doklad odeslán, je nutné zvolit jednu z možností eetTyp.anoBezny nebo eetTyp.anoZjednoduseny.

eetProvozovna – pole obsahuje označení provozovny ve které byl doklad vystaven. Označení provozovny musí být celočíselné. Podle tohoto pole také dochází k vyhledávání certifikátu pro podpis zprávy.

eetPokladniZarizeni – pole obsahuje jednoznačný identifikátor pokladního zařízení, na němž byl doklad vystaven. Jedná se o textové pole o délce 20 znaků.

eetDatCasTrzby – evidence data a času evidované tržby.

eetPkp – pole obsahující podpisový kód pokladníka (PKP). Pokud chcete aby doklad odeslala ABRA Flexi, toto pole nevyplňujte. Při prvním pokusu o odeslání do něj systém zapíše vygenerované PKP. Pokud toto pole vyplníte bude ABRA Flexi předpokládat, že již první pokus o odeslání proběhl v jiném systému.

eetBkp – pole obsahuje bezpečnostní kód poplatníka (BKP). Pole je pouze pro čtení, protože se jedná o SHA-1 otisk hodnoty PKP.

eetFik – v tomto poli je uložen fiskální identifikační kód (FIK), který ABRA Flexi k tržbě obdržela. Pokud se má ABRA Flexi pokoušet o jakékoliv odesíláním, tak toto pole nevyplňujte. V případě, že ho vyplníte, bude k tomuto dokladu ABRA Flexi přistupovat jako by doklad byl již odeslán.

eetStavK – stav odeslání dokladu do EET je zaznamenám v poli eetStavK. Jedná se o pole jen pro čtení. Má sloužit k rychlému nalezení dokladů, které ještě nebyly do EET odeslány.

Ukázkové XML

EET doklad ve formátu XML tedy vypadá například takto:

<?xml version="1.0"?>
<winstrom>
  <pokladni-pohyb>
    <!-- údaje potřebné pro vystavení pokladního dokladu -->
    <id>ext:EET-UKAZKA:1</id>
    <typDokl>code:STANDARD</typDokl>
    <pokladna>code:POKLADNA K&#x10C;</pokladna>
    <bezPolozek>true</bezPolozek>
    <sumZklZakl>1000</sumZklZakl>
    <!-- údaje pro správné odeslání dokladu do EET -->
    <eetTypK>eetTyp.anoBezny</eetTypK>
    <eetProvozovna>123</eetProvozovna>
    <eetPokladniZarizeni>pokladna-1</eetPokladniZarizeni>
  </pokladni-pohyb>
</winstrom>

Ukázkový JSON

Všechna pole je samozřejmě možné vyplňovat i při použití JSON formátu.

{ 
"winstrom": {
"pokladni-pohyb": {
"id": "ext:EET-UKAZKA:1",
"typDokl": "code:STANDARD",
"pokladna": "code:POKLADNA KČ",
"bezPolozek": "true",
"sumZklZakl": "1000",
"eetTypK": "eetTyp.anoBezny",
"eetProvozovna": "123",
"eetPokladniZarizeni": "pokladna-1"
}
}
}

Poznámka: Pokud máte korektně nastaveny hodnoty v typech dokladů, není nutné položky měnit.

Odeslání dokladu

Jak odeslat doklad do elektronické evidence tržeb? ABRA Flexi nabízí několik způsobů automatizovaného odeslání.

Action odeslat-eet

První možností je využití action=“odeslat-eet“. V elementu s touto akcí by neměly být žádné další změny. Akcí vyvoláme odeslání jednoho konkrétního dokladu.


Ukázkové XML tedy bude vypadat:

<?xml version="1.0"?>
<winstrom>
<pokladni-pohyb action=”odeslat-eet”>
<id>ext:EET-UKAZKA:1</id>
</pokladni-pohyb>
</winstrom>

V JSON zapíšeme odeslání:

{
    "winstrom": {
        "pokladni-pohyb": {
            "@action": "odeslat-eet",
            "id": "ext:EET-UKAZKA:1"
        }
    }
}

Automatické odeslání dokladů serverem

Další možností je nechat systém najít a odeslat všechny neodeslané doklady z dané evidence. K provedení této operace je potřeba PUT nebo POST request na URL končící /automaticky-odeslat-neodeslane-eet.
https://demo.flexibee.eu/c/demo/pokladni-pohyb/automaticky-odeslat-neodeslane-eet
Automatické odeslání je možné i u jednotlivých dokladů. URL pak musí navíc obsahovat identifikátor záznamu, který se má odeslat a akci /automaticky-odeslat-eet (/{id}/automaticky-odeslat-eet). Zde je nutné použít PUT request.
https://demo.flexibee.eu/c/demo/pokladni-pohyb/14/automaticky-odeslat-eet
Ani jedna z operací nečeká na výsledek. Pouze oznámí serveru, které doklady se mají odeslat.

Pokud se má čekat na výsledek odesílání, je možné použít URL obsahující identifikátor záznamu a končící na /odeslat-eet.
https://demo.flexibee.eu/c/demo/pokladni-pohyb/14/odeslat-eet
U tohoto requestu je opět podporována metod PUT i POST.

Generování PDF tiskopisu

Také při generování vybraných tiskopisů se ABRA Flexi pokusí o odeslání dokladu do EET.
Vybrané tiskopisy jsou:

  • oba zjednodušené daňové doklady – dostupné na všech podporovaných evidencích,

  • faktura – ve vydaných fakturách a na prodejní kase,

  • pokladní doklad – v pokladně,

  • prodejka za hotové – v pokladně.

Stačí tedy založit správně doklad a pak si požádat o jeho PDF tiskopis.
https://demo.flexibee.eu/c/demo/pokladni-pohyb/865.pdf?report-name=pokDoklad$$SUM

Odeslaný doklad není možné měnit

Na dokladu odeslaném do EET, není možné měnit některá pole. Jedná se o pole, která by mohla ovlivnit odeslanou tržbu. Částky, měna, nově přidaná EET pole a několik dalších. Do odeslaného dokladu není možné přidávat nové položky ani je mazat. Také na položkách jsou některá pole po odeslání nezměnitelná. Například základ a DPH.

Doporučujeme zkontrolovat programy, ať dělají jen to, co mají a nemodifikují staré doklady!

Ukázky v tomto článku jsou pro evidenci pokladní pohyb. V případě zbývajících dvou evidencí (faktury vydané a prodejní kasa) je veškerá funkčnost stejná, jen je nutné nahradit evidenci pokladni-pohyb.


Začínáte s EET? Prostudujte si video-návod Jak odesílat doklady do EET.

Dostali jste odpověď na svou otázku?