ISDOC neboli Information System Document je formát elektronickej fakturácie v ČR. ABRA Flexi podporuje import aj export faktúr v tomto formáte. API umožňuje importovať prijaté faktúry a s použitím pokročilého parametra aj vydané faktúry.
Spôsob volania
Možno využiť HTTP metódu: PUT alebo POST.
Endpoint pre import ISDOC je https://localhost:5434/c/firma/faktura-prijata.isdoc.
Ak je aktivovaný pokročilý parameter paramImportIsdocFav = true, možno importovať vydané faktúry na adrese https://localhost:5434/c/firma/faktura-vydana.isdoc.
Pre ukážku využijeme program curl. cURL má vlastnú dokumentáciu.
curl -H "Content-Type: application/x-isdoc" -k -u xxx:xxx -X PUT https://localhost:5434/c/firma/faktura-prijata.isdoc?typDokl=code:ZBOZI-FAKTURA" -T "/cesta/soubor.isdoc"
-u určuje autorizačné údaje do Flexi.
-H hlavička určujúca typ súboru
-k ak používate vlastnú inštaláciu a automaticky generovaný certifikát, je nutné ignorovať nedôveryhodnú certifikačnú autoritu.
-T zasielaný súbor (telo požiadavky)
V príklade je uvedený URL parameter typDokl, ktorý reprezentuje typ dokladu, pod ktorým bude doklad importovaný do ABRA Flexi. Teraz si ukážeme, aké ďalšie parametre je možné využiť.
URL parametre
typDokl- Typ dokladu (povinné), typ: identifikátor
typUcOp- Predpis zaúčtovania, typ: identifikátor
odpocetZaloh- Automatický odpočet záloh a ZDD (predvolená hodnota: true), typ: boolean
ucetniObdobi- Hodnotou tohto parametra možno určiť, do ktorého účtovného obdobia má byť doklad naimportovaný, typ: skratka (napr. ucetniObdobi=2022)
Príklady použitia
curl -H "Content-Type: application/x-isdoc" -k -u xxx:xxx -X PUT https://localhost:5434/c/firma/faktura-vydana.isdoc?typDokl=code:FAKTURA&ucetniObdobi=2020" -T "/cesta/soubor.isdoc"
V tomto príklade je faktúra importovaná do evidencie vydaných faktúr a zároveň do minulého obdobia 2020. Pre funkčnosť je nutné zapnúť pokročilý parameter, ktorý nájdete v našich doplnkoch – Ako importovať ISDOC faktúry vydané?
curl -H "Content-Type: application/x-isdoc" -k -u xxx:xxx -X PUT https://localhost:5434/c/firma/faktura-prijata.isdoc?typDokl=code:FAKTURA&odpocetZaloh=false" -T "/cesta/soubor.isdoc"
V príklade vyššie je nastavený parameter odpocetZaloh na hodnotu false, odpočet teda nebude automaticky spracovaný. Viac nižšie.
Odpočet záloh a zálohových daňových dokladov
Ak ISDOC faktúra obsahuje odpočty záloh alebo ZDD, je možné ich pri importe automaticky odpočítať. Ak je URL parameter odpocetZaloh=false, faktúra bude vytvorená bez odpočtov a odpoveď servera bude obsahovať upozornenie o prítomnosti záloh.
Odpoveď servera bude napriek tomu RESPONSE: status=HTTP/1.1 201 Created. Ďalej odpoveď obsahuje warning, ktorý popisuje skutočnosť, že existujú odpočty záloh alebo ZDD.
<?xml version="1.0" encoding="utf-8"?>
<winstrom version="1.0">
<success>true</success>
<stats>
<created>1</created>
<updated>0</updated>
<deleted>0</deleted>
<skipped>0</skipped>
<failed>0</failed>
</stats>
<results>
<result>
<id>109</id>
<code>PF0017/2022</code>
<warnings>
<warning>Doklad (PF023/2050) obsahuje odpočty záloh nebo zálohových daňových dokladů, doklad byl vytvořen bez odpočtů.
Zálohy: Číslo dokladu | Variabilní symbol | Částka ---------------------------------------- ZALOHA_2 | 12345 | 100,00 Kč Zálohové daňové doklady: Číslo dokladu | Variabilní symbol | Částka ------------------------------------- ZDD_1 | 98765432 | 200,00 Kč
</warning>
</warnings>
</result>
</results>
</winstrom>
Automatický odpočet
Ak je URL parameter odpocetZaloh=true alebo nie je uvedený, systém sa pokúsi k uvedeným odpočtom nájsť zálohové doklady a odpočítať ich. Ak sa to nepodarí, volanie API skončí chybou (kód 400) a je vrátená chybová hláška s výčtom odpočtov a zálohových dokladov, ktoré sa podarilo nájsť.
Aby mohol byť doklad odpočítaný, musí spĺňať nasledujúce požiadavky:
Musí súhlasiť firma dokladu, mena a suma (rovnaká alebo väčšia). Firma musí byť vopred uložená v adresári.
Číslo dokladu odpočtu musí byť rovnaké ako číslo došlého alebo interné číslo dokladu zálohy. Alebo musí súhlasiť variabilný symbol odpočtu a zálohy.
Ak existuje viac zhôd, odpočet nebude vykonaný.
Príklad odpovede neúspešného automatického odpočtu
RESPONSE: status=HTTP/1.1 400 Bad Request
<?xml version="1.0" encoding="utf-8"?>
<winstrom version="1.0">
<success>false</success>
<stats>
<created>0</created>
<updated>0</updated>
<deleted>0</deleted>
<skipped>0</skipped>
<failed>1</failed>
</stats>
<results>
<result>
<errors>
<error>Doklad (PF023/2050) obsahuje odpočty záloh nebo zálohových daňových dokladů, které se nepodařilo automaticky odečíst.
Zálohy: Číslo dokladu | Variabilní symbol | Částka | Nalezený doklad ---------------------------------------------------------- ZALOHA_1 | 123456 | 250,00 Kč | nenalezeno ZALOHA_2 | 999999 | 100,00 Kč | nenalezeno ZALOHA_2 | 999999 | 300,00 Kč | Z0001/2022
Zálohové daňové doklady: Číslo dokladu | Variabilní symbol | Částka | Nalezený doklad ------------------------------------------------------- ZDD_1 | 852585 | 200,00 Kč | PF0001/2022 ZDD_2 | 852586 | 200,00 Kč | PF0002/2022 ZDD_3 | 852587 | 200,00 Kč | nenalezeno ZDD_4 | 852588 | 200,00 Kč | nenalezeno
</error>
</result>
</results>
</winstrom>
Ak automatické odpočítanie záloh zlyhá, je možné buď pripraviť doklady tak, aby bolo možné odpočet vykonať, alebo použiť parameter odpocetZaloh=false a odpočet dokončiť v samostatnom volaní.
FAQ
Potrebujete poradiť?
V prípade otázok k aplikácii nás kontaktujte na podporaflexi@abra.eu prípadne prostredníctvom okna chatu v pravom dolnom rohu.
