ISDOC čiže Information System Document je formát elektronickej fakturácie v ČR. ABRA Flexi podporuje import aj export faktúr v tomto formáte. Cez REST API je možné importovať prijaté faktúry a pri použití pokročilého parametra aj vydané faktúry.
Spôsob volania
Import sa volá metódou PUT alebo POST na evidenciu prijatých faktúr; telom požiadavky je samotný súbor:
PUT https://demo.flexibee.eu/c/demo/faktura-prijata.isdoc?typDokl=code:ZBOZI-FAKTURA
Content-Type: application/x-isdoc
<obsah souboru .isdoc>
Formát vstupu môžete určiť dvoma spôsobmi, ktoré je možné aj kombinovať:
Vstupný súbor | Prípona v URL | Hlavička Content-Type |
ISDOC |
|
|
PDF s vloženou faktúrou ISDOC |
|
|
Stačí uviesť jeden z oboch — PUT /c/{firma}/faktura-prijata bez prípony funguje, ak pošlete správnu hlavičku Content-Type.
⚠️ Pri PDF musí byť elektronická faktúra vložená v súbore ako príloha invoice.isdoc — takýto súbor vzniká napríklad exportom z ABRA Flexi. Obyčajné PDF bez vložených dát import odmietne chybou isDocImportNepodariloSeNajitInvoiceIsdoc.
Import vydanej faktúry
Ak je vo firme aktivovaný pokročilý parameter paramImportIsdocFav s hodnotou true, je možné rovnakým spôsobom importovať aj vydané faktúry:
PUT https://demo.flexibee.eu/c/demo/faktura-vydana.isdoc?typDokl=code:FAKTURA
Content-Type: application/x-isdoc
Ako parameter zapnúť, popisuje návod k tomuto doplnku.
URL parametre
Parameter | Povinný | Význam |
| áno | Typ dokladu, pod ktorým bude faktúra importovaná. Uvádza sa ako identifikátor. |
| nie | Predpis zaúčtovania, opäť ako identifikátor. |
| nie | Automatický odpočet záloh a ZDD. Predvolená hodnota je |
| nie | Účtovné obdobie, do ktorého sa doklad naimportuje — skratka obdobia, napríklad |
| nie | Názov súboru priloženého k faktúre. API ukladá súbor, z ktorého faktúra vznikla, ako prílohu. Bez tohto parametra sa príloha volá |
Neznáme parametre API ticho ignoruje, takže preklep v názve nepovinného parametra sa neprejaví chybou — iba sa nepoužije.
Príklady použitia
Import vydanej faktúry do minulého účtovného obdobia:
PUT https://demo.flexibee.eu/c/demo/faktura-vydana.isdoc?typDokl=code:FAKTURA&ucetniObdobi=2025
Content-Type: application/x-isdoc
Import prijatej faktúry bez automatického odpočtu záloh a s vlastným názvom prílohy:
PUT https://demo.flexibee.eu/c/demo/faktura-prijata.isdoc?typDokl=code:FAKTURA&odpocetZaloh=false&fileName=faktura_dodavatele.isdoc
Content-Type: application/x-isdoc
Úspešný import vracia 201 a v results ID aj číslo vzniknutého dokladu:
{
"winstrom": {
"@version": "1.0",
"success": "true",
"stats": {
"created": "1",
"updated": "0",
"deleted": "0",
"skipped": "0",
"failed": "0"
},
"results": [
{
"id": "2853",
"code": "PF0006/2026",
"ref": "/c/demo/faktura-prijata/2853"
}
]
}
}
ℹ️ Ak naimportujete doklad do iného než aktuálneho účtovného obdobia, odpoveď obvykle obsahuje varovanie dokladDuzpMimoAktualniUcetniObdobi. Doklad pritom vznikne. Legislatívne pravidlá však môžu import do starších období úplne odmietnuť — napríklad keď dátum uskutočnenia zdaniteľného plnenia presahuje zákonnú lehotu.
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ť.
S parametrom odpocetZaloh=false bude faktúra vytvorená bez odpočtov. Odpoveď je aj tak 201 Created, obsahuje ale varovanie o prítomnosti záloh:
<?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
S odpocetZaloh=true alebo bez uvedenia parametra sa systém pokúsi k uvedeným odpočtom nájsť zálohové doklady a odpočítať ich. Ak sa to nepodarí, volanie skončí chybou 400 a v odpovedi je výpočet odpočtov a zálohových dokladov, ktoré sa podarilo nájsť.
Aby mohol byť doklad odpočítaný, musí spĺňať tieto 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 došlé alebo interné číslo dokladu zálohy, alebo musí súhlasiť variabilný symbol odpočtu a zálohy.
Ak existuje viac zhôd, odpočet sa neuskutoční.
Príklad odpovede neúspešného automatického odpočtu so stavom 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>
</errors>
</result>
</results>
</winstrom>
Ak automatické odpočítanie záloh zlyhá, buď pripravte doklady tak, aby odpočet prebehol, alebo použite odpocetZaloh=false a odpočet dokončite samostatným volaním.
Predvolený sklad pre skladové položky
Ak importovaný ISDOC obsahuje skladové položky, vytvorí ABRA Flexi k faktúre skladový doklad. Sklad, na ktorý sa zásoba naskladní, určuje pokročilý parameter paramImportIsdocVychoziSklad, ktorého hodnotou je kód skladu.
⚠️ Ak evidujete viac ako jeden sklad, nastavenie tohto parametra je nutné. Na rozdiel od sprievodcu importom v desktopovej aplikácii nie je možné pri volaní cez API cieľový sklad vybrať interaktívne.
Parameter sa do firmy nahráva importom XML rovnako ako ostatné pokročilé parametre:
<winstrom version="1.0">
<parametr>
<!-- kód parametru -->
<paramK>paramImportIsdocVychoziSklad</paramK>
<!-- kód skladu, hodnota parametru -->
<hodnota>SKLAD</hodnota>
</parametr>
</winstrom>
Chybové stavy
Kód chyby | Príčina |
— | Chýba alebo je neplatný parameter |
| V poslanom PDF sa nenašla vložená faktúra |
| Dátum uskutočnenia zdaniteľného plnenia presahuje zákonnú lehotu — typicky pri importe do výrazne staršieho účtovného obdobia. |
Všetky uvedené prípady vracajú 400 a doklad nevznikne.
FAQ
