Preskoči na glavno vsebino

Fakturácia skladového pohybu cez REST API

Ako fakturovať príjemku alebo výdajku pomocou API

Avtor: Petr Pech

Cez REST API je možné od verzie 2021.9 fakturovať príjemku alebo výdajku.

Pri fakturácii je nutné uviesť pole skladovyDokl pre identifikáciu typu skladového dokladu, voliteľne možno uviesť prenestSlevu s hodnotou true ak má byť použitá zľava z objednávky.

Spôsob volania

Požiadavky zasielame metódou POST alebo PUT na evidenciu danej faktúry napr.:

Príklady použitia

Fakturácia príjemky

<winstrom version="1.0"> 
<faktura-prijata>
<id>ext:FAP</id>
<typDokl>code:FAKTURA</typDokl>
<cisDosle>123</cisDosle>
<datSplat>2021-07-14</datSplat>
<fakturuj>
<skladovyDokl>ext:PRIJEMKA123</skladovyDokl>
</fakturuj>
</faktura-prijata>
</winstrom>

Fakturácia výdajky

<winstrom version="1.0"> 
<faktura-vydana>
<id>ext:FAV</id>
<typDokl>code:FAKTURA</typDokl>
<fakturuj>
<skladovyDokl>ext:VYDEJ123</skladovyDokl>
</fakturuj>
</faktura-vydana>
</winstrom>

Fakturácia výdajky s aplikovaním zľavy z objednávky

<winstrom version="1.0"> 
<faktura-vydana>
<id>ext:FAV</id>
<typDokl>code:FAKTURA</typDokl>
<fakturuj>
<skladovyDokl>ext:VYDEJ123</skladovyDokl>
<prenestSlevu>true</prenestSlevu>
</fakturuj>
</faktura-vydana>
</winstrom>

Príklad v JSON

{
"winstrom": {
"faktura-vydana": {
"id": "ext:FAV",
"typDokl": "code:FAKTURA",
"fakturuj": {
"skladovyDokl": "ext:VYDEJ123"
}
},
"@version": "1.0"
}
}

Hromadná fakturácia príjemok / výdajok

API ďalej umožňuje hromadnú fakturáciu. Hromadnú fakturáciu zabezpečíme opakovaním volania služby fakturuj

Príklad v JSON

Príklad fakturácie dvoch skladových príjemok do jednej prijatej faktúry vrátane sprievodných informácií k faktúre:

{
"winstrom": {
"faktura-prijata": [
{
"id": "ext:ESHOP:1234",
"typDokl": "code:FAKTURA",
"firma": "641",
"datVyst": "2022-09-16",
"duzpPuv": "2022-09-16",
"datSplat": "2022-09-30",
"duzpUcto": "2022-09-16",
"varSym": "703000106",
"szbDphSniz": 15.0,
"szbDphSniz2": 0.0,
"szbDphZakl": 21.0,
"formaUhradyCis": "code:HOTOVĚ",
"uvodTxt": "XXX",
"popis": "",
"cisDosle": "1",
"fakturuj": {
"skladovyDokl": "1",
"prenestSlevu": true
}
},
{
"id": "ext:ESHOP:1234",
"fakturuj": {
"skladovyDokl": "2",
"prenestSlevu": true
}

},
{
"id": "ext:ESHOP:1234",
"@removeExternalIds": "ext:ESHOP",
"fakturuj": {
"skladovyDokl": "3",
"prenestSlevu": true
}
}
],
"@version": "1.0"
}
}

Príklad v XML

<?xml version="1.0" encoding="UTF-8" ?>
<winstrom version='1.0'>
<faktura-prijata>
<id>ext:ESHOP:1234</id>
<typDokl>10</typDokl>
<firma>641</firma>
<datVyst>2022-09-16</datVyst>
<duzpPuv>2022-09-16</duzpPuv>
<datSplat>2022-09-30</datSplat>
<duzpUcto>2022-09-16</duzpUcto>
<varSym>1</varSym>
<popis></popis>
<cisDosle>1</cisDosle>
<fakturuj>
<skladovyDokl>1</skladovyDokl>
<prenestSlevu>true</prenestSlevu>
</fakturuj>
</faktura-prijata>
<faktura-prijata>
<id>ext:ESHOP:1234</id>
<fakturuj>
<skladovyDokl>2</skladovyDokl>
<prenestSlevu>true</prenestSlevu>
</fakturuj>
</faktura-prijata>
<faktura-prijata removeExternalIds='ext:ESHOP'>
<id>ext:ESHOP:1234</id>
<fakturuj>
<skladovyDokl>3</skladovyDokl>
<prenestSlevu>true</prenestSlevu>
</fakturuj>
</faktura-prijata>
</winstrom>
Ste s tem dobili odgovor na svoje vprašanje?