V REST API je možné vytvoriť zálohový daňový doklad (ZDD) zo zálohy a dokladu, ktorý ju uhrádza.
Služba je dostupná v evidenciách banka, pokladni-pohyb a vzajemny-zapocet. Požiadavku je možné zasielať vo formáte XML alebo JSON.
Volanie vykonáme metódou POST alebo PUT napríklad nad bankou:
Telo požiadavky:
<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 príklade sa odkazujeme na bankový doklad pomocou interného čísla bankového pohybu. Bankový doklad musí byť spárovaný so zálohovou faktúrou.
V prípade, že bankový pohyb nie je plne napárovaný na zálohovou faktúru, API Flexi vypíše chybu:
<errors>
<error>
Doklad není kompletně spárován. Nelze vygenerovat ZDD.
</error>
</errors>
Vstupné parametre požiadavky:
- žiadny z parametrov nie je povinný!
typDokl: Typ dokladu pre vytvorenie ZDD. Ak nie je uvedený, použije sa predvolený typ dokladu z nastavení firmy. Ide o identifikátor niektorého záznamu z evidencietyp-faktury-prijatealebotyp-faktury-vydane.rada: Dokladová rada vytváraného ZDD. Ak nie je uvedená, odvodzuje sa od typu dokladu. Ide o identifikátor niektorého záznamu z evidencierada-faktury-prijatealeborada-faktury-vydane.clenDph: Členenie DPH vytváraného ZDD. Ak nie je uvedené, odvodzuje sa zo zálohy. Ide o identifikátor niektorého záznamu z evidenciecleneni-dph.castkyDph: Čiastky jednotlivých riadkov DPH zálohy:zklZakl,dphZaklacelkZakl(Základ, DPH a Vrátane DPH): pre základnú sadzbuzklSniz,dphSnizacelkSniz(Základ, DPH a Vrátane DPH): pre zníženú sadzbuzklSniz2,dphSniz2acelkSniz2(Základ, DPH a Vrátane DPH): pre 2. zníženú sadzbuosv: pre čiastku oslobodenú od dane
prenasetCisDosle: Príznak, že sa má číslo došlé preniesť zo zálohy do vytváraného ZDD. Možné hodnoty sútruealebofalse. Ak nie je uvedený, číslo došlé sa neprenáša.
Výsledkom bude nový záznam v evidencii 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áti výsledok služby ako štandardné návratové hodnoty.
Kompletná štruktúra 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 sekcii ohľadom vstupných parametrov požiadavky je uvedené, že žiadny z parametrov nie je povinný v prípade nastavenia typu dokladu v nastavení firmy. Štandardné volanie bez parametra vo formáte JSON vykonáme nasledovne (analogicky metódou POST):
{
"winstrom": {
"banka": {
"id": "code:BF072302605",
"vytvorZDD": {}
}
}
}
Volanie obsahuje službu vytvorZDD bez obsahu (analogicky možno namiesto {} uviesť "").
Výsledkom je vytvorené 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á štruktúra 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"
}
}
}
}
}