Vytěžování dat z PDF faktur: co AI opravdu umí a co je hype
Realistický pohled na OCR a AI extrakci dat z faktur. Kdy to funguje skvěle, kdy to selhává a jak se vyhnout nástrahám.
Reality check: PDF faktury jsou problém
PDF není strukturovaný formát. Je to "obrázek s textem". Pro člověka easy, pro počítač noční můra.
Typy PDF faktur
1. Born-digital PDF (70% případů)
✅ Text je v PDF jako text ✅ Vysoká kvalita ✅ Konzistentní formát → OCR přesnost: 95-99%
2. Skenované PDF (25% případů)
⚠️ Text je obrázek ⚠️ Různá kvalita skenu ⚠️ Možné zkreslení, šum → OCR přesnost: 85-95%
3. Problémové PDF (5% případů)
❌ Ručně psané ❌ Vícesloupcový layout ❌ Přímo z foťáku ❌ Poškozené, rozmazané → OCR přesnost: 40-80%
Co AI opravdu umí (a co ne)
✅ CO FUNGUJE SKVĚLE
1. Extrakce základních údajů
• Číslo faktury: 99% přesnost • Datum vystavení: 98% • Datum splatnosti: 97% • Variabilní symbol: 99% • Celková částka: 96% • DPH: 95%
Příklad:
INPUT PDF: ┌────────────────────────────┐ │ FAKTURA č. 2024/156 │ │ Datum vystavení: 15.1.2025 │ │ Splatnost: 15.2.2025 │ │ VS: 2024156 │ │ ───────────────────────── │ │ Celkem: 12 450 Kč │ │ DPH 21%: 2 152 Kč │ └────────────────────────────┘ OUTPUT JSON: { "invoice_number": "2024/156", "date_issued": "2025-01-15", "date_due": "2025-02-15", "variable_symbol": "2024156", "total": 12450, "vat": 2152, "vat_rate": 21, "confidence": 0.98 }
2. Identifikace dodavatele
INPUT: "ALGOTECH s.r.o., IČO: 12345678" AI dokáže: • Extrahovat IČO • Najít v databázi dodavatelů • Auto-doplnit bankovní spojení • Přiřadit správný účet nákladů → Přesnost: 94%
3. Rozpoznání typu faktury
AI klasifikátor umí: • Faktura přijatá vs. vystavená • Daňový doklad vs. zálohová faktura • Dobropis • Proforma → Přesnost: 96%
⚠️ CO FUNGUJE S OMEZENÍMI
1. Položky faktury (line items)
Problém: Různé formáty tabulek Jednoduchá faktura (3 položky): → Přesnost: 90% Komplexní faktura (50+ položek): → Přesnost: 70-80% Multi-page faktura: → Přesnost: 65-75%
Příklad selhání:
INPUT PDF: ┌─────────────────────────────────┐ │ Položka Množství Cena Celkem│ │ Notebook 10 ks 15000 150000│ │ + prodloužená záruka 2500│ ← ⚠️ Může selhat │ - sleva věrným zákazníkům -5000│ ← ⚠️ Může selhat └─────────────────────────────────┘
2. Ručně psané faktury
Tištěný text: 95% přesnost Psací stroj: 90% Hezké ručně psané: 70-80% Škrabopis: 40-60% ❌ → Často lepší je manuální přepis
3. Nestandardní formáty
✅ Invoice od velkých firem (standardy) ⚠️ Faktury od malých OSVČ (kreativita) ❌ "Faktury" z excelu (různorodost)
❌ CO NEFUNGUJE (NEBO VELMI ŠPATNĚ)
1. Sémantické porozumění
AI NEPOZNÁ: "Faktura za prosinec 2024, uhradit do konce ledna" → Nesystematické vyjádření POTŘEBUJE: "Splatnost: 31.1.2025" → Strukturovaná data
2. Kontext a výjimky
PŘÍKLAD: "Částka k úhradě: 10 000 Kč Z toho již uhrazeno: 3 000 Kč" Mnoho OCR systémů vezme: 10 000 Kč ❌ Správně je: 7 000 Kč ✓ → Potřeba human review
3. Obrázky a grafy
Faktura s fotkami produktů: ❌ Grafy spotřeby: ❌ Technické výkresy: ❌ → OCR vidí jen text, grafy ignoruje
Reálná přesnost: Benchmark test
Test setup:
- 1000 reálných PDF faktur
- Mix dodavatelů (50 různých)
- Různé kvality a formáty
Výsledky po kategorií
Born-digital PDF (700 faktur):
• Všechna pole správně: 92% • 1-2 chyby: 7% • Nepoužitelné: 1% → Průměrná přesnost: 97.8%
Skenované PDF (250 faktur):
• Všechna pole správně: 76% • 1-2 chyby: 18% • Nepoužitelné: 6% → Průměrná přesnost: 89.4%
Problémové PDF (50 faktur):
• Všechna pole správně: 34% • 1-2 chyby: 28% • Nepoužitelné: 38% → Průměrná přesnost: 62.1%
Breakdown chyb
| Typ chyby | Frekvence |
|---|---|
| Špatná suma (OCR chyba v číslici) | 35% |
| Chybějící datum splatnosti | 22% |
| Nerozpoznaný dodavatel | 18% |
| Špatné přiřazení položek | 15% |
| Nedetekovaná multi-page faktura | 10% |
Technologie: Co běží v pozadí
1. OCR Engine
Open-source (zdarma):
- Tesseract (Google)
- Pros: Zdarma, dobrý na tištěný text
- Cons: Horší na ručně psané, pomalý
- Přesnost: 85-92%
Commercial (placené):
-
ABBYY FineReader
- Pros: Vynikající přesnost
- Cons: Drahé (€5k-20k/rok)
- Přesnost: 94-98%
-
Amazon Textract
- Pros: AI-powered, dobré na tabulky
- Cons: Pay-per-use (může být drahé)
- Přesnost: 92-96%
2. Layout Analysis
Detekce struktury dokumentu:
1. Page segmentation → Kde je hlavička, tabulka, patička 2. Table detection → Identifikace tabulek s položkami 3. Reading order → Správné pořadí textu (zleva, shora)
Technologie:
- LayoutLM (Microsoft)
- Donut (Transformer model)
- Custom CNN models
3. Named Entity Recognition (NER)
Extrakce specifických entit:
Text: "Faktura č. 2024/156 ze dne 15.1.2025" NER extrahuje: - [INVOICE_NUMBER: 2024/156] - [DATE: 15.1.2025]
Modely:
- spaCy (open-source)
- Custom BERT/RoBERTa
- GPT-based extraction
4. Post-processing & Validation
Automatické kontroly:
def validate_invoice(data): errors = [] # Check: Datum splatnosti > datum vystavení if data.date_due <= data.date_issued: errors.append("Invalid due date") # Check: Součet položek = celková částka if sum(items.total) != data.total: errors.append("Sum mismatch") # Check: DPH výpočet expected_vat = data.total * data.vat_rate / 100 if abs(expected_vat - data.vat) > 1: # tolerance 1 Kč errors.append("VAT calculation error") return errors
Best practices: Jak dosáhnout 95%+ přesnosti
1. Quality input = Quality output
Požadavky na PDF:
- Minimální rozlišení: 300 DPI
- Formát: ne rotovaný, ne zrcadlený
- Osvětlení: rovnoměrné (pokud sken)
- Kontrast: černý text na bílém pozadí
Preprocessing:
1. Deskew (narovnání) 2. Denoising (odstranění šumu) 3. Binarization (převod na čb) 4. Contrast enhancement
2. Training na vašich datech
Generic model:
- Přesnost: 85-90%
- Funguje hned
Custom trained model:
- Přesnost: 93-98%
- Potřeba: 200-500 sample faktur
- Čas: 2-4 týdny
Co to dá:
- Rozpozná vaše specifické dodavatele
- Naučí se vaše formáty
- Lepší handling výjimek
3. Human-in-the-loop
Confidence threshold:
if confidence > 95%: auto_process() elif confidence > 80%: flag_for_review() # Rychlá kontrola else: manual_entry() # Manuální přepis
Reálné rozdělení:
- Auto (>95%): 75% faktur
- Review (80-95%): 20% faktur
- Manual (<80%): 5% faktur
Čas ušetřený:
- Před: 10 min/faktura × 1000 = 167 hodin/měsíc
- Po: 1 min review × 200 + 5 min × 50 = 7,5 hodin/měsíc
- Úspora: 95%
4. Continuous learning
Proces: 1. AI extrahuje data (confidence 92%) 2. Účetní zkontroluje a opraví 2 pole 3. Korekce se uloží jako training data 4. Model se přetrénuje (weekly) 5. Příště podobná faktura: confidence 97%
Případová studie: Od 80% k 97%
Firma: Velkoobchod, 800 faktur/měsíc
Fáze 1: Generic OCR (měsíc 1)
Přesnost: 82% Manual review: 50% faktur Čas: 80 hodin/měsíc
Fáze 2: Fine-tuning (měsíc 2-3)
• Sběr 300 sample faktur • Manuální anotace • Training custom modelu • A/B testing Přesnost: 91% Manual review: 25% Čas: 40 hodin/měsíc
Fáze 3: Production + learning (měsíc 4-6)
• Deployment • Continuous learning z korekcí • Feedback loop Přesnost: 96% Manual review: 10% Čas: 15 hodin/měsíc
Fáze 4: Optimalizace (měsíc 6+)
• Optimalizace worst cases • Automatické flagování anomálií • Integrace validačních pravidel Přesnost: 97.5% Manual review: 5% Čas: 8 hodin/měsíc ÚSPORA: 170 hodin → 8 hodin (95%) 85k Kč/měsíc = 1M Kč/rok
Common pitfalls (a jak se jim vyhnout)
❌ Pitfall #1: "AI vyřeší všechno"
Realita: Vždy bude 5-10% outlierů Řešení: Hybrid approach (AI + human review)
❌ Pitfall #2: "Stáhneme open-source a jsme ready"
Realita: Generic model = 80-85% přesnost Řešení: Training na vašich datech
❌ Pitfall #3: "Nefunguje to, je to špatné"
Realita: Špatný input → špatný output Řešení: Quality check incoming PDFs
❌ Pitfall #4: "Nasadíme naráz na 100%"
Realita: Chaos, chyby, frustrace Řešení: Gradual rollout (10% → 50% → 100%)
❌ Pitfall #5: "Set & forget"
Realita: Model degraduje bez údržby Řešení: Continuous learning & monitoring
ROI Calculator: Vytěžování faktur
Vaše čísla:
- Faktury/měsíc: 500
- Čas/faktura: 8 min
- Hodinová sazba: 500 Kč
Před AI:
500 × 8 min = 4000 min = 67 hodin 67 hodin × 500 Kč = 33 500 Kč/měsíc
Po AI (95% automatizace):
500 × 0,4 min review = 200 min = 3,3 hodin 3,3 hodin × 500 Kč = 1 650 Kč/měsíc ÚSPORA: 31 850 Kč/měsíc = 382k Kč/rok
Investice:
- OCR engine (license): 80k Kč/rok
- Custom training: 250k Kč (jednoráz)
- Integrace: 150k Kč
- CELKEM: 480k Kč
ROI: 15 měsíců NPV (3 roky): 790k Kč
Závěr: Kdy se to vyplatí
AI vytěžování faktur má smysl, když:
- ✅ >200 faktur měsíčně
- ✅ Většina faktur born-digital PDF
- ✅ Standardní dodavatelé (ne moc variability)
- ✅ Týden na training není problém
Nevyplatí se, když:
- ❌ <50 faktur měsíčně
- ❌ Většina faktur ručně psané
- ❌ Každý dodavatel jiný formát
- ❌ Potřeba 100% přesnost (medicína, legal)
Hybrid přístup je king: AI dělá 90% rutiny, člověk kontroluje výjimky a kritické případy.
Chcete vyzkoušet na vašich fakturách? Pošlete nám 20 sample PDF faktur, my vám ukážeme reálnou přesnost a ROI kalkulaci.
Zajímá vás implementace AI ve vaší firmě?
Nabízíme bezplatnou konzultaci a analýzu vašich procesů. Pojďme společně najít, kde AI přinese největší přidanou hodnotu.
Kontaktujte nás