Fulfilling an order creates a related document from the received order — an issued invoice, a received invoice, a stock movement, or a sales receipt. This article summarizes the cases you ask about most often in practice; for a complete description of all properties, see the article Order Fulfillment.
Basic notation
You identify the order, specify the type of the resulting document with the type attribute, and always list the items to be fulfilled:
<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>
The cisRad element is the line number in the order, mj the fulfilled quantity. Instead of the line number, an item can also be identified by its external identifier, barcode, or serial number in the cenikNeboVyrobniCislo element.
⚠️ You cannot fulfill an order "all at once" without listing the items. A request without the polozkyObchDokladu element will fail with the error 400 — Nezvolili jste žádné položky pro realizaci. So you need to list the items, even if there are more of them in the order.
💡 The fulfillment response only reports the order update — it does not include the number of the resulting document. If you want to work with it further, assign it an external identifier right away using the <id>ext:MUJSYSTEM:123</id> element inside realizaceObj — you can then find it at the address /c/{firma}/faktura-vydana/ext:MUJSYSTEM:123. Another option is to look it up in the vazebni-doklady relation of the order.
Multiple orders into a single invoice
If the fulfillment should be added to an already existing invoice, specify its identifier in the id element inside realizaceObj. Several orders can be processed this way in a single request:
<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>
The fulfilled lines will be added to the invoice, preceded by a text line with the number of the source order. Adding items to an existing document is only possible for issued and received invoices — for stock movements and sales receipts, a new document is always created, and specifying an existing one will result in an error.
Advance payment from an order
An advance invoice can be created from an order in two ways, differing in what remains on it:
Notation | Result |
| An advance invoice with the order's items itemized. |
| An advance invoice with a single summary line ("Advance payment for order no. …") for the specified amount or percentage of the order. |
So if you want to see individual items on the advance invoice, use fulfillment with the advance document type:
<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>
Conversely, an advance payment for part of the order is created by 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>
Notation in JSON
In JSON, the type attribute is written as the realizaceObj@type key alongside the object itself:
{
"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 ] }
]
}
}
}
}
ℹ️ Fulfillment can also be carried out in multiple steps, for example based on stock availability — the fulfillment status of individual lines can be seen on the order items. For received invoices, the cisDosle and datSplat elements are also required.
