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
typDokl
- Typ dokladu (povinné), typ: identifikátor
typUcOp
- Předpis zaúčtování, typ: identifikátor
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.