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 evidencetyp-faktury-prijate
nebotyp-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 evidencerada-faktury-prijate
neborada-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 evidencecleneni-dph
.castkyDph
: Částky jednotlivých řádků DPH zálohy:zklZakl
,dphZakl
acelkZakl
(Základ, DPH a Včetně DPH): pro základní sazbuzklSniz
,dphSniz
acelkSniz
(Základ, DPH a Včetně DPH): pro sníženou sazbuzklSniz2
,dphSniz2
acelkSniz2
(Základ, DPH a Včetně DPH): pro 2. sníženou sazbuosv
: 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 jsoutrue
nebofalse
. 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"
}
}
}
}
}