Fakturu vydanou nebo přijatou lze přes XML hotovostně uhradit — Flexi k ní sama vytvoří uhrazující pokladní doklad. Slouží k tomu vnořený element <hotovostni-uhrada>.
Základní volání
<?xml version="1.0"?>
<winstrom version="1.0">
<faktura-vydana>
<!-- uhrazovaný doklad; může být i "faktura-prijata" -->
<id>code:FAKTURA1</id>
<!-- lze normálně uvést další vlastnosti dokladu jako při běžném importu -->
<hotovostni-uhrada>
<pokladna>code:POKLADNA KČ</pokladna> <!-- povinné -->
<typDokl>code:STANDARD</typDokl> <!-- povinné: typ vytvářeného pokladního dokladu -->
<uhrazujiciDokl>code:UHRADA1</uhrazujiciDokl> <!-- nepovinné -->
<kurzKDatuUhrady>true</kurzKDatuUhrady> <!-- nepovinné: true = kurz k datu úhrady, jinak kurz z uhrazované faktury -->
<castka>1000</castka>
<datumUhrady>2026-01-01</datumUhrady>
</hotovostni-uhrada>
</faktura-vydana>
</winstrom>
🚨 Elementy <pokladna> a <typDokl> jsou povinné. Bez nich volání skončí chybou 400 s kódem nestedObjectRequired: „Element [pokladna] je uvnitř elementu [hotovostni-uhrada] povinný."
Přehled elementů
Element | Povinnost | Význam |
| povinné | Pokladna, ve které vznikne uhrazující doklad. |
| povinné | Typ vytvářeného pokladního dokladu. |
| podle režimu | Hrazená částka. Povinná v režimu |
| nepovinné | Režim úhrady, viz níže. Bez uvedení platí |
| nepovinné | Identifikátor uhrazujícího pokladního dokladu, viz níže. |
| nepovinné | Datum úhrady ve formátu |
| nepovinné |
|
| nepovinné | Vlastní kurz. Uvádí se vždy oba, viz níže. |
| nepovinné | Dokladová řada vytvářeného pokladního dokladu. Standardně se bere z vybraného typu dokladu, případně z vybrané pokladny. |
Režim úhrady
Pomocí tagu <rezim> lze ovlivnit režim hotovostní úhrady. Pokud není tag uveden nebo je prázdný, platí režim vychozi.
Hodnota | Chování |
| Chování je ovlivněno uvedením či neuvedením částky. Je-li částka uvedena a rovná se celkové částce dokladu, dojde k úplné úhradě. Není-li rovna, dochází k částečné úhradě. Není-li částka uvedena, zjistí se z uhrazovaného dokladu a doklad je plně uhrazen. |
| Částka se neuvádí (pokud se uvede, je ignorována). Dojde k úplné úhradě dokladu a výsledná částka se zaokrouhlí dle nastavení z formy úhrady nebo typu dokladu. Zaokrouhlovací rozdíl se zaúčtuje do interních dokladů — zaokrouhlení se provádí pouze u tuzemské měny. |
| Částka musí být vždy uvedena. Pokud není rovna celkové částce, zaúčtuje se rozdíl do interních dokladů. V opačném případě se jedná o celkovou úhradu dokladu a k zaúčtování rozdílu nedochází. |
⚠️ Režim rozdilZauctovat bez elementu <castka> vrátí 400 elementRequired: „Element 'castka' musí být uveden." Neplatná hodnota režimu vrátí 400 elementInvalidValue.
Vlastní kurz
Hotovostní úhradě lze také přímo vnutit kurz a kurzové množství. Pokud kurz vyplníte, je nutné vyplnit i kurzové množství — bez něj to nelze.
<?xml version="1.0"?>
<winstrom version="1.0">
<faktura-vydana>
<id>code:FAKTURA_1</id>
<hotovostni-uhrada>
<pokladna>code:POKLADNA EUR</pokladna>
<!-- není povinný; pokud by nebyl vyplněn, použije se kurz převzatý z uhrazované faktury -->
<kurz>25</kurz>
<kurzMnozstvi>1</kurzMnozstvi>
<typDokl>code:STANDARD</typDokl>
<castka>1000</castka>
<datumUhrady>2026-12-03</datumUhrady>
</hotovostni-uhrada>
</faktura-vydana>
</winstrom>
Identifikátor uhrazujícího dokladu
ID uhrazujícího pokladního dokladu (tag <uhrazujiciDokl>) lze uvést podle obvyklých pravidel a funguje následovně:
Nová úhrada — pokud uvedeno není, vždy se vytvoří nový pokladní doklad; naimportujete-li tedy XML dvakrát, vytvoří se dvě úhrady. Pokud je uvedeno a doklad s daným ID neexistuje, založí se.
Aktualizace — pokud doklad existuje, musí uhrazovat danou fakturu (jinak jde o chybu). Znamená to, že se má úhrada pouze zaktualizovat dostupnou částkou na uhrazujícím dokladu. Ostatní parametry úhrady se ignorují.
Dokladová řada
V tagu <hotovostni-uhrada> lze uvést ještě dokladovou řadu pro vytvářený pokladní doklad. Není to povinné a standardně se bere z vybraného typu dokladu, případně z vybrané pokladny.
<rada>code:POKLADNA+</rada>
ℹ️ Parametr <zbytek> se u hotovostní úhrady nepoužívá — uhrazující doklad si Flexi vytváří sama, takže rozdíl mezi částkami nemůže vzniknout; výši úhrady řídíte elementy <castka> a <rezim>. Popis hodnot parametru zbytek najdete v článku Párování plateb, kde se tento parametr uvádí v elementu <sparovani>.
