Tvorba ZDD přes REST API

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

Ota Rádl avatar
Autor: Ota Rádl
Aktualizováno před více než týdnem

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.

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

POST https://demo.flexibee.eu/flexi/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 faktur, 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ý!

  • 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 a celkZakl (Základ, DPH a Včetně DPH): pro základní sazbu

    • zklSniz, dphSniz a celkSniz (Základ, DPH a Včetně DPH): pro sníženou sazbu

    • zklSniz2, dphSniz2 a celkSniz2 (Základ, DPH a Včetně DPH): 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, tak se číslo došlé nepřenáší.

Výsledkem bude nový záznam v evidenici 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 XML:

<winstrom version="1.0"> 
<banka>
<!-- Bankovní doklad, který uhazuje 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>

V sekci ohledně vstupních parametrů požadavku je uvedeno, že žádný z parametrů není povinný v případě nastavení typu dokladu v nastavení firmy. Standardní volání volání bez parametru ve formátu JSON provedeme následovně (analogicky metodou POST):

PUT https://demo.flexibee.eu/flexi/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"
}
}
}
}
}

Dostali jste odpověď na svou otázku?