Preskoči na glavno vsebino

Vytvorenie pokladničného dokladu z príjemky/výdajky - API

Ako vytvoriť pokladničný doklad z príjemky alebo výdajky cez REST API?

Avtor: Petr Pech

Zo skladového pohybu je možné cez REST API vytvoriť pokladničný pohyb. Podľa toho, či ide o príjemku alebo výdajku, vznikne výdavkový, alebo príjmový pohyb — pri príjemke pokladničný pohyb výdavkový, pri výdajke naopak príjmový.

Kľúčové je uvedenie správneho identifikátora skladového pohybu, o zvyšok sa už postará ABRA Flexi.


Spôsob volania

Požiadavka sa posiela metódou PUT alebo POST na evidenciu skladovy-pohyb. V elemente zaplat uvediete identifikátor pokladne a typ pokladničného dokladu:

  • pokladna — identifikátor pokladne. Ak ho neuvediete, použije sa pokladňa nastavená v type pokladničného dokladu.

  • typDokl — typ pokladničného dokladu

PUT https://demo.flexibee.eu/c/demo/skladovy-pohyb.xml

💡 Zápis si najprv vyskúšajte s parametrom ?dry-run=true. Požiadavka sa spracuje a zvaliduje, ale do databázy sa nič nezapíše.


Príklady volania

XML

<winstrom version="1.0">
<skladovy-pohyb>
<id>code:S-0118/2024</id>
<!-- lze uvést i další vlastnosti, jako při běžném importu -->
<zaplat>
<pokladna>code:POKLADNA KČ</pokladna>
<typDokl>code:STANDARD</typDokl>
</zaplat>
</skladovy-pohyb>
</winstrom>

JSON

{
"winstrom": {
"skladovy-pohyb": {
"id": "code:S-0118/2024",
"zaplat": [
{
"pokladna": "code:POKLADNA KČ",
"typDokl": "code:STANDARD"
}
]
}
}
}


Odpoveď

Odpoveďou je štandardný výsledok importu — skladový doklad sa aktualizoval:

<?xml version="1.0" encoding="utf-8"?>
<winstrom version="1.0">
<success>true</success>
<stats>
<created>0</created>
<updated>1</updated>
<deleted>0</deleted>
<skipped>0</skipped>
<failed>0</failed>
</stats>
<results>
<result>
<id>1129</id>
<request-id>code:S-0118/2024</request-id>
<ref>/c/demo/skladovy-pohyb/1129.xml</ref>
</result>
</results>
</winstrom>

Dôležitejší je však výsledok, a tým je novo vzniknutý pokladničný pohyb naviazaný na skladový doklad:

<winstrom version="1.0">
<pokladni-pohyb>
<id>code:P+0008/2024</id>
<typDokl>code:STANDARD</typDokl>
<typPohybuK>typPohybu.prijem</typPohybuK>
<vazby>
<vazba>
<a>code:P+0008/2024</a>
<b>code:S-0118/2024</b>
</vazba>
</vazby>
</pokladni-pohyb>
</winstrom>


Neúspešné požiadavky

Ak je skladový doklad v stave, v ktorom ho nie je možné uhradiť, server vráti 400 s kódom parovaniSklNefakturovatelneNejdouUhradit a hlásením Skladové doklady ve stavu nefakturovatelné nejdou uhradit. Neexistujúca pokladňa alebo typ dokladu vracia 400 s chybou NOT-FOUND a názvom hľadaného objektu.


FAQ

Je možné týmto spôsobom uhradiť príjemku či výdajku viacerými pokladničnými dokladmi?

Nie je to možné. Funkcionalita dokáže založiť iba jeden pokladničný doklad a nedokáže výdajku spárovať s viacerými pokladničnými dokladmi.

Môžem z príjemky či výdajky vytvoriť aj faktúru?

Áno. Rovnako ako pokladničný pohyb je možné zo skladového pohybu vytvoriť aj faktúru — podrobnosti nájdete v článku Fakturácia skladového pohybu cez REST API.


Súvisiace

Ste s tem dobili odgovor na svoje vprašanje?