Inteligentní zpracování dokumentů
Inteligentní zpracování dokumentů slouží k automatickému vytěžování dat z nahraných dokumentů pomocí umělé inteligence. Po nahrání dokumentu AI automaticky rozpozná klíčové údaje a tato data uloží ve strukturované podobě do formátu JSON.
Z takto vytěžených dat lze následně jedním krokem vytvořit nový záznam odpovídajícího typu (např. Faktura přijatá), do kterého se hodnoty z JSONu automaticky přenesou do příslušných polí.
Podmínky použití
Aby bylo možné dokumenty automaticky vytěžovat a zpracovávat, je nutné mít daný typ dokumentu nastaven v modulu Konfigurace dokumentu, konkrétně na záložce IDP.
IDP (Intelligent Document Processing)
Na záložce IDP typu dokumentu se nastavuje, co se automaticky stane s každým nově vloženým dokumentem tohoto typu. Dokument se může zařadit do fronty přijatých dokumentů, odeslat k vytěžení a z vytěžených dat se může založit doklad, například přijatá faktura nebo dodací list.
Nastavení platí pro všechny dokumenty daného typu. Uplatní se jen u nově založených dokumentů, na dříve vložené dokumenty nemá vliv.

Obr.: Konfigurace dokumentu - IDP
Nastavení a zpracování dokumentů
Pole |
Popis |
Zařadit do fronty přijatých dokumentů |
Nový dokument se automaticky zařadí do fronty IDP. Bez zaškrtnutí se s dokumentem nic dalšího neděje. |
Vytěžit dokument |
Dokument ve frontě se označí k těžení a při dalším odeslání se pošle na IDP API. Zaškrtnutí automaticky zapne i „Zařadit do fronty“. |
Workflow postup |
Pro každý nový dokument se založí proces workflow podle vybraného postupu. Proces dostane název „IDP-<zkratka dokumentu>“ a dokument jako produkt. Funguje nezávisle na frontě. |
Těžení
Pole |
Popis |
Propojený modul |
Modul (datový modul), ve kterém se z vytěžených dat založí doklad, např. Přijaté faktury nebo Dodací listy. Změna modulu předvyplní Api endpoint a smaže stavy dokladu v sekci Zpracování. |
Api endpoint |
Typ těžení na straně IDP API. Vyplňuje se automaticky podle propojeného modulu: invoice (přijatá faktura), delivery-note (dodací list), jinak general. Měnit by se mělo jen na pokyn dodavatele IDP. |
Prompt na LLM |
Šablona AI zprávy, jejíž text se pošle spolu s dokumentem a říká modelu, co má z dokumentu vytěžit. U přijatých faktur se prompt neodesílá, endpoint invoice má vlastní. |
Stav dokumentu po úspěšném těžení |
Stav, který se nastaví vloženému dokumentu, když těžení proběhne v pořádku. |
Stav dokumentu po neúspěšném těžení |
Stav, který se nastaví vloženému dokumentu, když těžení selže. |
Zpracování
Pole |
Popis |
Pravidla pro DM |
Pravidla datového modulu, která z vytěžených dat (JSON) doplní pole dokladu. Může obsahovat podřízená pravidla pro položky dokladu. |
Skript pro zpracování |
Skript (.PAS), který z vytěžených dat sestaví doklad. Při výběru modulu Přijaté faktury se předvyplní standardní skript IdpImportInvoice. Bez skriptu se doklad založí jen podle Pravidel pro DM. |
Stav dokladu po zpracování bez výhrad |
Stav založeného dokladu, když zpracování skončí bez varování. |
Stav dokladu po zpracování s výhradami |
Stav založeného dokladu, když zpracování skončí s aspoň jedním varováním. Doklad se tak dá snadno najít a zkontrolovat. |
Chování dokumentu po založení
Nastavení |
Výsledek ve frontě |
Zařadit do fronty + Vytěžit dokument |
Záznam je označen k těžení a čeká na odeslání na IDP API. |
Jen Zařadit do fronty, vyplněný modul nebo skript |
Záznam je rovnou připraven ke zpracování, bez těžení. |
Jen Zařadit do fronty, bez modulu i skriptu |
Záznam zůstane ve frontě jako zařazený a dál se nezpracuje. |
Nic zaškrtnuto |
Dokument do fronty nejde. Založí se jen workflow proces, pokud je vyplněn Workflow postup. |
Nastavení
Pravidla
Modul Pravidla umožňuje bez programování popsat, co se má se záznamem stát, když splní zadanou podmínku: doplnit hodnotu do pole, přenést hodnotu z JSON, založit komentář nebo nahlásit informaci, varování a chybu. Sady pravidel se dnes uplatňují především při automatickém zpracování dokumentů modulem IDP.
Sada pravidel je pojmenovaný předpis vázaný na jeden datový modul — například na Fakturu přijatou, Nabídku nebo Zboží. Skládá se z jednotlivých pravidel a každé z nich má podmínku a seznam akcí, které se provedou, jen když je tato podmínka na zpracovávaném záznamu splněna. Sama od sebe se nespustí. Vyhodnotí se až ve chvíli, kdy si o to řekne zpracování, které na ni odkazuje. V současné verzi je to zpracování dokumentů modulem IDP, kde se sada přiřazuje v konfiguraci typu dokumentu.
Struktura sady pravidel
- Sada pravidel (hlavička): má název a datový modul, pro který platí. Sada je vždy vázaná na jeden datový modul.
- Pravidlo: položka sady. Má pořadí, název, podmínku a přepínač Zastavit po splnění.
- Akce: položky pravidla. Provedou se v zadaném pořadí, jen když je podmínka pravidla splněna.
Nad tím stojí ještě jedna vazba: sada pravidel může mít podřízené sady pravidel pro položky. Hlavičková sada tak popisuje pravidla pro hlavičku dokladu, zatímco její podřízené sady obsahují pravidla pro řádky (položky) téhož dokladu.. Zanořovat lze i hlouběji, do položek položek.
Záložka Základní údaje

Obr.: Pravidla - základní údaje
Popis polí:
Název |
Označení sady. Musí být v celé databázi jedinečné. Pod stejným názvem nelze založit druhou sadu. |
Datový modul |
Modul, nad jehož záznamy se pravidla vyhodnotí (například Faktura přijatá). Určuje také, jaká pole a podmínky vám modul nabídne. |
Seznam pravidel |
Jednotlivá pravidla této sady. |
Sady pravidel pro položky |
Podřízené sady. |
Zobrazení seznamu
Seznam sad má dvě podoby, které se přepínají v pásu karet, v záložce funkce: Zobrazit jako strom ukáže hlavičkové sady s jejich podřízenými sadami v hierarchii, Zobrazit jako tabulku vypíše všechny sady jako plochý seznam.
Přístupová práva:
Číslo |
Právo |
Co umožňuje |
2528 |
Prohlížení |
Otevřít modul, prohlížet sady pravidel, jednotlivá pravidla a jejich akce. |
2529 |
Změna |
Zakládat, měnit a kopírovat sady pravidel i pravidla, zneplatňovat a zplatňovat záznamy. Totéž právo se vyžaduje pro import z XML. |
Bez práva na změnu je modul přístupný jen ke čtení. Vyhodnocení pravidel při importu na těchto právech nezávisí — běží pod zpracováním, které je vyvolalo.
Průběh vyhodnocení
- Pravidla sady se seřadí podle pole Pořadí.
- U každého pravidla se vyhodnotí Podmínka nad zpracovávaným záznamem. Nesplněné pravidlo se přeskočí.
- U splněného pravidla se provedou všechny jeho akce v pořadí, v jakém jsou zadané.
- Pokud má splněné pravidlo zapnuté Zastavit po splnění, vyhodnocování sady tím končí a další pravidla se už neřeší.
- Nakonec se zpracují podřízené sady. Pro každý řádek příslušného položkového modulu se spustí jejich pravidla.
Pravidla se vyhodnocují postupně a všechna splněná se uplatní. Pokud dvě pravidla plní stejné pole, vyhraje to, které se provede později. Přepínač Zastavit po splnění je proto vhodný u větvení typu „platí první odpovídající varianta“ — pravidla uspořádejte od nejkonkrétnějšího k nejobecnějšímu.
Fronta přijatých dokumentů
Fronta je pracovní seznam dokumentů, které se předává umělé inteligenci k vytěžení a následně z nich zakládá doklady. Jeden záznam fronty odpovídá jednomu přijatému dokumentu a drží celou jeho historii: kdy byl odeslán na IDP API, co se vytěžilo, s jakou jistotou, jaký doklad z něj vznikl a co je na něm potřeba zkontrolovat.
Do fronty se dokument dostane sám. Jakmile vznikne nový dokument typu, který má zapnuté Zařadit do fronty přijatých dokumentů, založí se k němu záznam fronty. Odtud už se s ním pracuje jako s úlohou — odešle se ke vytěžení, stáhnou se výsledky a z nich se vytvoří doklad.
Záložka Základní údaje

Obr. Fronta přijatých dokumentů - záložka Základní údaje
Popis polí:
Typ dokumentu |
Konfigurace, ze které se řídí celé zpracování |
Číslo datového modulu |
Modul, do kterého se záznam zpracovává |
Stav |
Aktuální fáze zpracování |
Firma |
Pro kterou firmu záznam vznikne |
InvoiceRID |
Odkaz na vzniklý doklad, pokud je propojeným modulem faktura přijatá. |
Fronta a firma
Záznamy jsou dělené po firmách. Funkce, které pracují s celou frontou (odeslání všech, stažení všech výsledků), zpracují vždy jen záznamy aktuální firmy.
Přístupová práva
Číslo |
Právo |
Co umožňuje |
2530 |
Prohlížení fronty |
Otevřít modul a prohlížet záznamy. |
2531 |
Změna fronty |
Měnit záznamy, zneplatňovat je a zapisovat průběh zpracování (stavy, události, log). |
2532 |
Zakládání fronty |
Zakládat nové záznamy fronty — tedy i automatické zařazení dokumentu. |
2533 |
Prohlížení událostí |
Prohlížet události historie záznamu. |
2534 |
Prohlížení logu |
Prohlížet jednotlivé zprávy logu události. |
Záznam fronty zakládá uživatel, který uložil dokument. Pokud nemá právo na zakládání (2532) i na změnu (2531), dokument se do fronty nezařadí a K2 na to upozorní hláškou. Práva pro zakládání proto potřebují všichni, kdo dokumenty do K2 vkládají — nejen obsluha fronty.
Životní cyklus záznamu
Zpracování má pět fází. Každá posune záznam do jiného stavu, takže ze stavu je vždy poznat, co se má stát dál — a kdo je na tahu.
1. Zařazení do fronty
Automaticky při uložení nového dokumentu, jehož typ má zapnuté Zařadit do fronty přijatých dokumentů. Záznam se založí pro aktuální firmu, připojí se k němu vložený dokument a zapíše se událost Zařazeno do fronty. Výchozí stav se přebírá z konfigurace typu dokumentu.
Stav: K vytěžení, Ke zpracování, Zařazeno
2. Odeslání na IDP API
Funkce Odeslat vše na API vezme všechny záznamy firmy ve stavu K vytěžení, seskupí je podle API endpointu z konfigurace typu dokumentu a odešle je hromadně spolu s přílohami a promptem. Z odpovědi se uloží interní identifikátor na API a zapíše se událost Odesláno na API.
Stav: Čeká na vytěžení, Chyba odeslání
3. Stažení výsledků
Funkce Získat všechny výsledky z API se dotáže na všechny záznamy ve stavu Čeká na vytěžení. Dokud API hlásí, že zpracování běží, nestane se nic. Po dokončení se uloží vytěžená data, jistota výsledku a počet stran, stáhne se log těžení a stav dokumentu v DMS se přepne podle konfigurace typu.
Stav: Vytěženo, Chyba parsování
4. Zpracování na doklad
Funkce Zpracovat dokument z vytěžených dat založí záznam v propojeném modulu — skriptem typu dokumentu, nebo, pokud žádný skript není zadán, přímo podle sady pravidel. Vzniklý doklad se zapíše do polí Číslo dokladu a Číslo datového modulu, přílohy se k němu připojí a zapíše se událost Doklad vytvořen s celým logem zpracování.
Stav: Zpracováno, Chyba zpracování, Chyba dat, Chyba párování
5. Kontrola dokladu
Na vzniklém dokladu projde uživatel varování z vytěžení funkcí Kontrola IDP dokladu. Odškrtnutím posledního varování se doklad překlopí do stavu „bez výhrad“ a do fronty se zapíše událost Kontrola dokončena.
Stav: Zkontrolováno
Opakování kroku
Kroky lze zopakovat. U záznamu, který už byl odeslán nebo vytěžen, se K2 před dalším odesláním zeptá — vznikne nové zpracování na API a spotřebuje se znovu. Zpracovat dokument je dostupné i u chybových stavů, takže po opravě nastavení nebo dat stačí zpracování spustit znovu.
Přehled stavů
Stav |
Význam |
Nastaví |
Zařazeno |
Požadavek byl zařazen do fronty. Typ dokumentu ale nemá čím záznam zpracovat — nemá skript ani propojený modul, takže záznam zůstává odložený. |
Zařazení |
K vytěžení |
Dokument čeká na odeslání na IDP API. Jen tyto záznamy odešle funkce Odeslat vše na API. |
Zařazení |
Čeká na vytěžení |
Dokument byl přijat API a čeká na zpracování modelem. |
Odeslání |
Vytěženo |
Data byla úspěšně vytěžena a jsou na záznamu k dispozici. Připraveno ke zpracování na doklad. |
Stažení výsledků |
Ke zpracování |
Dokument je připraven ke zpracování bez těžení — data už jsou k dispozici, stačí z nich vytvořit záznam. |
Zařazení |
K vytvoření |
Dokument je připraven k vytvoření záznamu. |
Skript zpracování |
Zpracováno |
Ze záznamu byl úspěšně vytvořen doklad. |
Zpracování |
Zkontrolováno |
Všechna varování vytěženého dokladu byla zkontrolována. |
Kontrola dokladu |
Chyba odeslání |
Dokument byl API odmítnut, nebo se nepodařilo spojení. Důvod je v poli Zpráva z API a v logu. |
Odeslání |
Chyba parsování |
Výstup z modelu skončil chybou. Text chyby přišel z API. |
Stažení výsledků |
Chyba dat |
Data zprávy obsahují chyby. |
Skript zpracování |
Stavy záznamu fronty
Stav |
Význam |
Nastaví |
Chyba párování |
Data dokumentu nelze spárovat s daty K2 (nenalezený partner, zboží, kniha…). |
Skript zpracování |
Chyba zpracování |
Při zpracování dokumentu došlo k chybě. Podrobnosti jsou v logu události. |
Zpracování |
Schváleno |
Dokument byl schválen. |
Vlastní zpracování |
Zamítnuto |
Dokument byl zamítnut. |
Vlastní zpracování |
Neznámý |
Stav není určen. U korektně zařazeného záznamu by se neměl objevit. |
— |
Funkce Zpracovat dokument je dostupná u stavů Vytěženo, Ke zpracování, K vytvoření, Chyba dat, Chyba párování a Chyba zpracování, a to jen u záznamů, které nejsou zneplatněné.
Další dostupné funkce
Kromě funkcí ve standardním pásu karet existují ještě příkazy pro jednotlivý záznam a přehled spotřeby. Nejsou součástí výchozího formuláře — do pásu karet si je lze přidat úpravou formuláře, nebo je volat ze skriptu:
- Odeslat na API — odešle jen aktuální (nebo označené) záznamy. U záznamu, který už byl odeslán nebo vytěžen, se nejprve zeptá na potvrzení.
- Získat výsledky z API — stáhne výsledek jen pro aktuální (nebo označené) záznamy.
- Spotřeba IDP — zobrazí přehled fakturované spotřeby: počet dokumentů a stran za aktuální měsíc a celkem za licenci.
Události a log
Historie záznamu je dvouúrovňová. Události jsou milníky zpracování, log jsou jednotlivé zprávy patřící k jedné události. Nic z toho se nezadává ručně — vzniká to průběžně při zpracování.
Typy událostí
Událost |
Kdy vznikne |
Zařazeno do fronty |
Při automatickém zařazení dokumentu do fronty. |
Odesláno na API |
Po úspěšném odeslání; log obsahuje interní identifikátor zpracování na API. |
Výsledky staženy |
Po úspěšném stažení vytěžených dat. |
Log těžení |
Log průběhu těžení stažený z IDP API. Stahuje se po dokončení i po chybě. |
Doklad vytvořen |
Po zpracování na doklad; log obsahuje všechny zprávy zpracování včetně varování. |
Chyba zpracování |
Při chybě v kterékoli fázi — odeslání, těžení nebo zpracování. |
Kontrola dokončena |
Po odškrtnutí všech varování na vzniklém dokladu. Zapisuje se jen jednou. |
Řádky logu mají stav Informace, Varování nebo Chyba a jsou odlišené ikonou; ikona události odpovídá nejzávažnějšímu stavu jejích zpráv. Delší text zprávy je v poli Detail logu.
Kontrola vytěženého dokladu
Varování ze zpracování se nekontrolují ve frontě, ale na vzniklém dokladu. Slouží k tomu funkce Kontrola IDP dokladu, dostupná na dokladu, který vznikl z fronty a dosud není potvrzený. Funkce otevře doklad ve zvláštním zobrazení se seznamem varování ke kontrole. Každé varování má zaškrtávátko a text; u varování vázaného na konkrétní pole je k dispozici i skok na toto pole. Pokud zpracování při hledání navázaného záznamu našlo několik možností, nabídne se ve výběru u pole právě tato množina kandidátů — nemusí se tedy hledat v celém číselníku.
Po odšktrnutí všech varování se doklad při uložení překlopí ze stavu po zpracování s výhradami do stavu po zpracování bez výhrad podle konfigurace typu dokumentu. Do fronty se zapíše událost Kontrola dokončena a záznam dostane stav Zkontrolováno. Zapisuje se jen jednou - pozdější odšktrnutí zpět se už nesleduje.