2026 / Rozpracované
obchodnirejstrik-ai
Finanční analýza českých společností na základě jejich veřejných účetních závěrek a veškerých informací in internetu.
Problém
České účetní závěrky a výroční zprávy jsou veřejné, ale těžko se z nich rychle dělá analýza. Část informací je v PDF, část v registrech, rizikové signály (insolvence, sankce, propojení osob) je potřeba dohledat zvlášť a ruční kontrola zabere hodně času.
Řešení
Moje aplikace nejprve vyhledá obchodní společnost podle IČO nebo názvu a následně vytěží informace z posledních tří výročních zpráv a připraví finanční, rizikovou a valuační zprávu. LLM model z PDF vytěží strukturovaná data, systém je doplní z českých registrů a sankčních seznamů a z validovaného základu dopočítá valuaci i rizikové faktory. Tvrdé kontroly a výpočty nejsou volný text od modelu: vznikají deterministicky v aplikaci. Report proto prochází pevným workflow: pevné schéma, validace, deterministické výpočty a příznaky, pevně dané sekce a šablona, až potom AI interpretace.
Aktuální verze je přepsaný a rozšířený nástupce staršího prototypu. V blogovém článku popisuji, proč přímé zpracování PDF modelem nahradilo OCR mezivrstvu a jak řeším provozní hranice AI produktu.
Architektura
Rozhraní je v Next.js, serverová část běží na FastAPI nad vlastní PostgreSQL databází (SQLAlchemy, Alembic migrace). Delší úlohy jako čtení dokumentu, dotazování registrů a tvorba výstupu řeší fronta přes ARQ a Redis. Platby a kredity jsou řešeny přes Stripe, monitoring zajišťuje self-hosted platforma Uptime Kuma.
Projekt obsahuje
- Čtení PDF přímo modelem (vision), bez samostatného OCR kroku.
- Data z ARES, justice.cz, ADIS, eISIR a sankčních seznamů EU a OFAC.
- Valuační modul používá centrálně spravované odvětvové násobky a benchmarky; jejich použití řídí pravidla aplikace, ne AI model.
- Forenzní signály: vlastnická struktura, propojené osoby, reputace jednatelů, veřejné dotace.
- Rizikové příznaky počítané v Pythonu, například insolvence nebo nespolehlivý plátce DPH, ne modelem.
- Kreditový systém a sledování nákladů na model pro každý report zvlášť.
Co jsem se naučil
U finanční analýzy je potřeba jasně oddělit interpretaci od spolehlivosti. Model může pomoct s vysvětlením a souhrnem, ale výpočty, validace, registry, účtování a výsledný dokument musí držet aplikace. Přechod od OCR nástroje na přímé čtení PDF modelem navíc ukázal, jak rychle se dá zjednodušit architektura, když nový model umí to, na co dřív bylo potřeba samostatný krok navíc.