Přeskočit na hlavní obsah

Realizace objednávky přes API — praktické příklady

Výčet položek, realizace více objednávek do jedné faktury, záloha z objednávky a zápis v JSON

Autor: Petr Pech

Realizací se z přijaté objednávky vytvoří navazující doklad — vydaná faktura, přijatá faktura, skladový pohyb nebo prodejka. Tento článek shrnuje případy, na které se v praxi nejčastěji ptáte; úplný popis všech vlastností najdete v článku Realizace objednávky.


Základní zápis

Objednávku určíte identifikátorem, druh vznikajícího dokladu atributem type a vždy vyjmenujete položky, které se mají realizovat:

<winstrom version="1.0">
<objednavka-prijata>
<id>code:OBP0024/2026</id>
<realizaceObj type="faktura-vydana">
<typDokl>code:FAKTURA</typDokl>
<polozkyObchDokladu>
<polozka>
<cisRad>1</cisRad>
<mj>2</mj>
</polozka>
</polozkyObchDokladu>
</realizaceObj>
</objednavka-prijata>
</winstrom>

Element cisRad je číslo řádku v objednávce, mj realizované množství. Položku lze místo čísla řádku určit i jejím externím identifikátorem nebo čárovým kódem či výrobním číslem v elementu cenikNeboVyrobniCislo.

⚠️ Realizovat objednávku „celou najednou" bez výčtu položek nelze. Požadavek bez elementu polozkyObchDokladu skončí chybou 400Nezvolili jste žádné položky pro realizaci. Položky je tedy potřeba vyjmenovat, byť je jich v objednávce víc.

💡 Odpověď na realizaci hlásí jen aktualizaci objednávky, číslo vzniklého dokladu v ní není. Chcete-li s ním dál pracovat, přidělte mu rovnou externí identifikátor elementem <id>ext:MUJSYSTEM:123</id> uvnitř realizaceObj — pak jej najdete na adrese /c/{firma}/faktura-vydana/ext:MUJSYSTEM:123. Druhou možností je dohledat jej v relaci vazebni-doklady objednávky.


Více objednávek do jedné faktury

Má-li se realizace přidat do už existující faktury, uveďte její identifikátor v elementu id uvnitř realizaceObj. V jednom požadavku lze takto zpracovat i několik objednávek:

<winstrom version="1.0">
<objednavka-prijata>
<id>code:OBP0036/2026</id>
<realizaceObj type="faktura-vydana">
<id>2043</id>
<polozkyObchDokladu>
<polozka><cisRad>2</cisRad><mj>1</mj></polozka>
</polozkyObchDokladu>
</realizaceObj>
</objednavka-prijata>
<objednavka-prijata>
<id>code:OBP0038/2026</id>
<realizaceObj type="faktura-vydana">
<id>2043</id>
<polozkyObchDokladu>
<polozka><cisRad>1</cisRad><mj>1</mj></polozka>
</polozkyObchDokladu>
</realizaceObj>
</objednavka-prijata>
</winstrom>

Do faktury přibudou realizované řádky a před nimi textový řádek s číslem zdrojové objednávky. Přidávat položky do existujícího dokladu lze jen u vydané a přijaté faktury — u skladového pohybu a prodejky vzniká vždy nový doklad a uvedení existujícího skončí chybou.


Záloha z objednávky

Zálohovou fakturu lze z objednávky vytvořit dvěma způsoby a liší se tím, co na ní zůstane:

Zápis

Výsledek

realizaceObj s <typDokl>code:ZÁLOHA</typDokl>

Zálohová faktura s rozepsanými položkami objednávky.

tvorbaZalohy s castka nebo procent

Zálohová faktura s jedním souhrnným řádkem („Záloha k OBP č. …") na zadanou částku nebo procento z objednávky.

Chcete-li tedy v záloze vidět jednotlivé položky, použijte realizaci s typem dokladu zálohy:

<winstrom version="1.0">
<objednavka-prijata>
<id>code:OBP0024/2026</id>
<realizaceObj type="faktura-vydana">
<typDokl>code:ZÁLOHA</typDokl>
<polozkyObchDokladu>
<polozka><cisRad>1</cisRad><mj>2</mj></polozka>
</polozkyObchDokladu>
</realizaceObj>
</objednavka-prijata>
</winstrom>

Zálohu na část objednávky naopak vytvoří tvorbaZalohy:

<winstrom version="1.0">
<objednavka-prijata>
<id>code:OBP0024/2026</id>
<tvorbaZalohy>
<typDokl>code:ZÁLOHA</typDokl>
<procent>50</procent>
</tvorbaZalohy>
</objednavka-prijata>
</winstrom>


Zápis v JSON

V JSON se atribut type zapisuje jako klíč realizaceObj@type vedle samotného objektu:

{
"winstrom": {
"@version": "1.0",
"objednavka-prijata": {
"id": "code:OBP0024/2026",
"realizaceObj@type": "faktura-vydana",
"realizaceObj": {
"typDokl": "code:FAKTURA",
"typDoklSkl": "code:STANDARD",
"odpocetZaloh": true,
"datSplat": "2026-07-12",
"polozkyObchDokladu": [
{ "cisRad": 1, "mj": "1", "vyrobniCisla": [ 123 ] }
]
}
}
}
}

ℹ️ Realizaci lze provést i na několikrát, třeba podle dostupnosti zboží — stav realizace jednotlivých řádků je vidět na položkách objednávky. U přijaté faktury jsou navíc povinné elementy cisDosle a datSplat.


Související

Dostali jste odpověď na svou otázku?