Přeskočit na hlavní obsah

Tvorba ZDD přes REST API

Jak vytvořit zálohový daňový doklad (ZDD) ze zálohy a dokladu, který ji uhrazuje.

Autor: Petr Pech

V REST API je možné vytvořit zálohový daňový doklad (ZDD) ze zálohy a dokladu, který ji uhrazuje.

Služba je dostupná v evidencích banka, pokladni-pohyb a vzajemny-zapocet. Požadavek je možné zasílat ve formátu XML či JSON.

⚠️ Na jiné evidenci, kde použití tvorby ZDD nedává smysl, se element <vytvorZDD> tiše ignoruje — volání vrátí 200, ale žádné ZDD nevznikne.


Základní volání

Volání provedeme metodou POST nebo PUT, například nad bankou:

POST https://demo.flexibee.eu/c/demo/banka.xml

Tělo požadavku:

<winstrom version="1.0">
<banka>
<!-- Bankovní doklad, který uhrazuje přijatou zálohu. -->
<id>code:B-0001/2021</id>
<!-- Lze uvést vlastnosti dokladu, jako při běžném importu. -->
<vytvorZDD>
<typDokl>code:ZDD</typDokl>
<prenasetCisDosle>true</prenasetCisDosle>
</vytvorZDD>
</banka>
</winstrom>

V příkladu se odkazujeme na bankovní doklad pomocí interního čísla bankovního pohybu. Bankovní doklad musí být spárován se zálohovou fakturou.

V případě, že není bankovní pohyb plně napárován na zálohovou fakturu, API Flexi vypíše chybu:

<errors>
<error>
Doklad není kompletně spárován. Nelze vygenerovat ZDD.
</error>
</errors>


Vstupní parametry požadavku

💡 Žádný z parametrů není povinný — pokud máte v nastavení firmy nastavený výchozí typ dokladu, stačí prázdný element <vytvorZDD/>.

Parametr

Význam

typDokl

Typ dokladu pro vytvoření ZDD. Pokud není uveden, je použit výchozí typ dokladu z nastavení firmy. Jedná se o identifikátor některého záznamu z evidence typ-faktury-prijate nebo typ-faktury-vydane.

rada

Dokladová řada vytvářeného ZDD. Pokud není uvedena, je odvozena z typu dokladu. Jedná se o identifikátor některého záznamu z evidence rada-faktury-prijate nebo rada-faktury-vydane.

clenDph

Členění DPH vytvářeného ZDD. Pokud není uvedeno, je odvozeno ze zálohy. Jedná se o identifikátor některého záznamu z evidence cleneni-dph.

castkyDph

Částky jednotlivých řádků DPH zálohy:

zklZakl, dphZakl, celkZakl (Základ, DPH a Včetně DPH) — pro základní sazbu

zklSniz, dphSniz, celkSniz — pro sníženou sazbu

zklSniz2, dphSniz2, celkSniz2 — pro 2. sníženou sazbu

osv — pro částku osvobozenou od daně

prenasetCisDosle

Příznak, že se má číslo došlé přenést ze zálohy do vytvářeného ZDD. Možné hodnoty jsou true nebo false. Pokud není uveden, číslo došlé se nepřenáší.


Výsledek

Výsledkem bude nový záznam v evidenci faktura-prijata:

<winstrom version="1.0">
<faktura-prijata>
<id>code:PF0001/2021</id>
<typDokl>code:ZDD</typDokl>
<vazby>
<vazba>
<a>code:B-0001/2021</a>
<b>code:PF0001/2021</b>
</vazba>
</vazby>
</faktura-prijata>
</winstrom>

API Flexi vrátí výsledek služby jako standardní návratové hodnoty.


Kompletní struktura v XML

<winstrom version="1.0">
<banka>
<!-- Bankovní doklad, který uhrazuje přijatou zálohu. -->
<id>code:B-0001/2021</id>
<!-- Lze uvést vlastnosti dokladu, jako při běžném importu. -->
<vytvorZDD>
<typDokl>code:ZDD</typDokl> <!-- Typ dokladu pro vytvoření ZDD. -->
<rada>code:FAKTURY</rada> <!-- Dokladová řada vytvářeného ZDD. -->
<clenDph>code:40-41</clenDph> <!-- Členění DPH vytvářeného ZDD. -->
<prenasetCisDosle>true</prenasetCisDosle> <!-- Příznak, že se má číslo došlé přenést ze zálohy. -->
<castkyDph> <!-- Částky jednotlivých řádků DPH zálohy -->
<zklZakl>100</zklZakl> <!-- Základ částky pro základní sazbu. -->
<dphZakl>21</dphZakl> <!-- DPH částky pro základní sazbu. -->
<celkZakl>121</celkZakl> <!-- Částka pro základní sazbu včetně DPH. -->
</castkyDph>
</vytvorZDD>
</banka>
</winstrom>


Volání v JSON

Standardní volání bez parametrů ve formátu JSON provedeme následovně (analogicky metodou POST):

PUT https://demo.flexibee.eu/c/demo/banka.json
{
"winstrom": {
"banka": {
"id": "code:BF072302605",
"vytvorZDD": {}
}
}
}

Volání obsahuje službu vytvorZDD bez obsahu (analogicky lze místo {} uvést ""). Výsledkem je vytvořené ZDD:

{
"winstrom": {
"@version": "1.0",
"success": "true",
"stats": {
"created": "0",
"updated": "1",
"deleted": "0",
"skipped": "0",
"failed": "0"
},
"results": [
{
"id": "123",
"request-id": "code:BF072302605",
"ref": "/c/demo/banka/123.json"
}
]
}
}

Kompletní struktura v JSON:

{
"winstrom": {
"banka": {
"id": "code:B-0001/2021",
"vytvorZDD": {
"typDokl": "code:ZDD",
"rada": "code:FAKTURY",
"clenDph": "code:40-41",
"prenasetCisDosle": "true",
"castkyDph": {
"zklZakl": "100",
"dphZakl": "21",
"celkZakl": "121"
}
}
}
}
}


Související

Dostali jste odpověď na svou otázku?