Přeskočit na hlavní obsah
Všechny sbírkyDokumentace REST APIPokročilé příkazy
Import faktury ve formátu ISDOC přes REST API
Import faktury ve formátu ISDOC přes REST API

Jak naimportovat ISDOC pomocí API Flexi

Ota Rádl avatar
Autor: Ota Rádl
Aktualizováno před více než rokem

ISDOC neboli Information System Document je formát elektronické fakturace v ČR. ABRA Flexi podporuje import i export faktur v tomto formátu. API umožňuje importovat přijaté faktury a s použitím pokročilého parametru i vydané faktury.

Způsob volání

Lze využít HTTP metodu: PUT nebo POST.

Endpoint pro import ISDOC je https://localhost:5434/c/firma/faktura-prijata.isdoc.

Pokud je aktivovaný pokročilý parametr paramImportIsdocFav = true, lze importovat vydané faktury na adrese https://localhost:5434/c/firma/faktura-vydana.isdoc.

Pro ukázku využijeme program curl. cURL má vlastní dokumentaci.

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ící typ soubor

  • -k pokud používáte vlastní instalaci a automaticky generovaný certifikát, je nutné ignorovat nedůvěryhodnou certifikační autoritu.

  • -T zasílaný soubor (tělo požadavku)

V příkladu je uveden URL parametr typDokl, který reprezentuje typ dokladu, pod kterým bude doklad importován do ABRA Flexi. Nyní si ukážeme jaké další parametry je možné využít.

URL parametry

  • odpocetZaloh - Automatický odpočet záloh a ZDD (výchozí: true), typ: boolean

  • ucetniObdobi - Hodnotou tohoto parametru lze určit, do jakého účetního období se má doklad naimportovat, typ: zkratka (např. ucetniObdobi=2022)

Příklady použití

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 příkladě je importována faktura do evidence vydané faktury a zároveň do minulého období 2020. Pro funkčnost je nutné zapnout pokročilý parametr, který naleznete v našich doplňcích - Jak importovat ISDOC faktury 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 příkladě výše je nastaven parametr odpocetZaloh na hodnotu false, nebude tedy dostupný odpočet automaticky zpracován. Více níže.

Odpočet záloh a zálohových daňových dokladů

Pokud ISDOC faktura obsahuje odpočty záloh nebo ZDD, je možné je při importu automaticky odečíst. Pokud je URL parametr odpocetZaloh=false, faktura bude vytvořena bez odpočtů, odpověď serveru bude obsahovat varování o přítomnosti záloh.

Odpověď serveru bude přesto RESPONSE: status=HTTP/1.1 201 Created. Dále odpověď obsahuje warning, který popisuje skutečnost, že existují odpočty záloh nebo 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

Pokud je URL parametr odpocetZaloh=true nebo není uveden, systém se pokusí k uvedeným odpočtům najít zálohové doklady a odpočíst je. Pokud se to nezdaří API volání skončí chybou (kód 400) a je vrácena chybová hláška s výčtem odpočtů a zálohových dokladů, které se podařilo najít.

Aby mohl být doklad odpočtený, musí splňovat následující požadavky:

  • Musí souhlasit firma dokladu, měna a částka (stejná nebo větší). Firma musí být předem uložena v adresáři.

  • Číslo dokladu odpočtu musí být stejné jako číslo došlé nebo interní číslo dokladu zálohy. Nebo musí souhlasit variabilní symbol odpočtu a zálohy.

Pokud existuje více shod, odpočet nebude proveden.

Příklad odpovědi neúspěš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>

Pokud automatické odpočtení záloh selže, je možné buď připravit doklady tak, aby bylo možné odpočet provést nebo použít parametr odpocetZaloh=false a odpočet dokončit v samostatném volání.

FAQ

Potřebujete poradit?

V případě dotazů k aplikaci nás kontaktujte na podporaflexi@abra.eu případně prostřednictvím chat okna v pravém dolním rohu.

Dostali jste odpověď na svou otázku?