Dopočítávání a návrh polí
Automatické dopočítávání a návrh polí
Alice automaticky dopočítává chybějící hodnoty na dokumentech a navrhuje hodnoty polí na základě historických dat. Tento systém zajišťuje správnost výpočtů a zrychluje zpracování dokumentů.
Přehled funkcí
| Funkce | Kdy se aplikuje | Popis |
|---|---|---|
| Dopočítání položek | Po extrakci dokumentu | Automatické dopočítání cen, DPH a množství v položkách faktury |
| Variabilní symbol | Po extrakci dokumentu | Automatické vyplnění variabilního symbolu z čísla faktury |
| Zaokrouhlení | Po extrakci dokumentu | Odstranění duplicitních polí zaokrouhlení |
| Návrh polí | Po dokončení extrakce | Inteligentní návrhy hodnot custom polí z historických dat |
Workflow zpracování
sequenceDiagram
autonumber
actor Uživatel
participant Alice
participant OCR
participant Kalkulace
participant Historie
participant Validace
Uživatel->>Alice: Nahraje dokument
Alice->>OCR: Spustí OCR extrakci
OCR-->>Alice: Vrátí extrahovaná pole
Note over Alice,Kalkulace: POST-PROCESSING
Alice->>Kalkulace: Dopočítej položky
Kalkulace->>Kalkulace: ItemPriceBase, ItemVat, ItemCount
Kalkulace->>Kalkulace: Variabilní symbol z čísla faktury
Kalkulace->>Kalkulace: Odstranění duplicitního zaokrouhlení
Kalkulace-->>Alice: Vrátí vypočítaná pole
Note over Alice,Historie: NÁVRH POLÍ
Alice->>Historie: Navrhni custom pole
Historie->>Historie: Vyhledej historické hodnoty
Historie->>Historie: Filtruj dle dodavatele
Historie-->>Alice: Vrátí navržené hodnoty
Alice->>Validace: Validuj dokument
Validace->>Validace: Kontrola součtů na hlavičce
Validace->>Validace: Kontrola součtů v položkách
Validace-->>Alice: Vrátí validační chyby
Alice-->>Uživatel: Zobrazí dokument s dopočítanými hodnotami
Dopočítávání položek faktury
Alice automaticky dopočítává chybějící hodnoty v položkách faktur podle následujících pravidel:
Základní cena položky (ItemPriceBase)
Dopočítává se pokud chybí, pomocí těchto vzorců:
| Vzorec | Podmínka | Priorita |
|---|---|---|
ItemPriceBase = ItemPricePerUnitBase × ItemCount |
Existuje cena za kus a množství | 1 |
ItemPriceBase = ItemPriceTotal - ItemVat |
Existuje celková cena a DPH | 2 |
ItemPriceBase = ItemPriceTotal / (1 + VatRate/100) |
Existuje celková cena a sazba DPH | 3 |
DPH položky (ItemVat)
Dopočítává se pouze pokud:
- Chybí hodnota ItemVat
- VatPayer = true (plátce DPH)
- ReverseCharge = false (není přenesená daňová povinnost)
Vzorec:
ItemVat = ItemPriceBase × (VatRate / 100)
Reverse charge
U faktur s přenesenou daňovou povinností (ReverseCharge = true) se DPH nedopočítává, protože DPH platí odběratel, ne dodavatel.
Počet kusů (ItemCount)
Dopočítává se ze známých hodnot:
ItemCount = ItemPriceBase / ItemPricePerUnitBase
Automatické vyplnění variabilního symbolu
Pokud je variabilní symbol prázdný a je zapnuta funkce "Nahradit variabilní symbol číslem faktury", Alice automaticky:
- Extrahuje číslice z čísla faktury pomocí regulárního výrazu
\d+ - Ořízne hodnotu na maximálně 10 znaků
- Vyplní jako variabilní symbol
Příklad
| Číslo faktury | Variabilní symbol |
|---|---|
| FV2024-001234 | 2024001234 |
| INV-456 | 456 |
| 12345678901234 | 1234567890 (oříznutí na 10 znaků) |
Kde se nastavuje
Nastavení "Nahradit variabilní symbol číslem faktury" se nachází v Nastavení → Typy dokumentů → Česká faktura → Obecné.
Odstranění duplicitního zaokrouhlení
Alice automaticky kontroluje, zda pole "Základní částka bez DPH 0%" (AmountBaseExclVat0) není duplicitní s polem "Zaokrouhlení" (Rounding).
Pokud jsou obě pole shodná, AmountBaseExclVat0 se automaticky odstraní, aby nedocházelo k duplicitě v DPH tabulce.
Příklad
Před úpravou:
AmountBaseExclVat0: 5.00 Kč
Rounding: 5.00 Kč
Po úpravě:
AmountBaseExclVat0: (odstraněno)
Rounding: 5.00 Kč
Inteligentní návrh polí z historie
Alice analyzuje historické dokumenty a navrhuje hodnoty pro custom ENUM pole a poznámky.
Jak to funguje
- Vyhledání historických dokumentů
- Filtruje dokumenty stejného typu
- Filtruje dle dodavatele (IČO/DIČ)
-
Filtruje dle způsobu platby (metodou platby)
-
Analýza nejčastějších hodnot
- Pro každé custom ENUM pole spočítá výskyty hodnot
-
Seřadí hodnoty podle četnosti
-
Rozhodnutí o návrhu
Hodnota se navrhne, pokud splňuje obě podmínky:
| Podmínka | Hodnota | Popis |
|---|---|---|
| Minimální počet výskytů | 3 | Hodnota se musí objevit alespoň 3× |
| Relativní četnost | 66% | Hodnota musí tvořit alespoň 66% všech výskytů |
- Uložení návrhu
- Hodnota se uloží s příznakem automatického návrhu
- Uživatel ji může přijmout nebo změnit
Příklad
Dodavatel "ABC s.r.o." (IČO 12345678) má historii:
| Datum | Středisko |
|---|---|
| 2024-01-15 | Marketing |
| 2024-02-20 | Marketing |
| 2024-03-10 | IT |
| 2024-04-05 | Marketing |
| 2024-05-18 | Marketing |
| 2024-06-22 | Marketing |
Analýza: - Marketing: 5× (83%) - IT: 1× (17%)
Návrh: "Marketing" ✅ - Podmínka 1: 5 > 3 ✅ - Podmínka 2: 83% > 66% ✅
Zapnutí funkce
Návrh polí z historie vyžaduje zapnutý feature FieldValueSuggestions v tenantovi.
Agregační klíče
Systém filtruje historická data podle následujících klíčů:
| DocumentClass | Agregační klíče |
|---|---|
| Faktura CZ | SupplierId, SupplierVatId, MethodOfPayment |
| Faktura SK | SupplierId, SupplierVatId, MethodOfPayment |
| Účtenka | SupplierId, SupplierVatId |
| Ostatní | SupplierId, SupplierVatId |
Validace výpočtů
Po dopočítání hodnot Alice automaticky validuje správnost všech výpočtů.
Validace položek
Kontroluje výpočty v jednotlivých položkách faktury:
| Kontrola | Vzorec | Tolerance | RuleId |
|---|---|---|---|
| DPH položky | \|ItemPriceBase × VatRate - ItemVat\| |
1.00 Kč | CZ-CALC-001 |
| Celková cena položky | \|ItemPriceBase + ItemVat - ItemPriceTotal\| |
0.10 Kč | CZ-CALC-002 |
| Počet kusů | \|ItemPricePerUnitBase × ItemCount - ItemPriceBase\| |
0.10 Kč | CZ-CALC-005 |
Tolerance vysvětlení: - VatTolerance (1.00 Kč) - vyšší tolerance pro DPH kvůli zaokrouhlování - SumTolerance (0.10 Kč) - přesnost součtů
Validace hlavičky
Kontroluje celkové součty na hlavičce dokumentu:
| Kontrola | Vzorec | Tolerance | RuleId |
|---|---|---|---|
| DPH sazba 12% | \|AmountBaseExclVat12 × 0.12 - Vat12\| |
1.00 Kč | CZ-CALC-001 |
| DPH sazba 21% | \|AmountBaseExclVat21 × 0.21 - Vat21\| |
1.00 Kč | CZ-CALC-001 |
| Celková částka | \|(Base0 + Base12 + Base21 + Vat12 + Vat21) - TotalAmount\| |
0.10-1.00 Kč | CZ-CALC-002 |
Speciální případy:
| Případ | Popis |
|---|---|
| Zaokrouhlení | Při kontrolě celkové částky se zohledňuje pole Rounding |
| IsTaxFree | Dokumenty osvobozené od DPH (IsTaxFree = true) se kontrolují bez DPH výpočtů |
| Prázdné položky | Položky bez hodnot se při validaci přeskakují |
Pořadí zpracování
Po nahrání dokumentu probíhá zpracování v tomto pořadí:
- OCR extrakce - vytěžení údajů z dokumentu
- Aplikace předvyplněných polí
- Dopočítání položek - výpočet chybějících cen, DPH a množství
- Odstranění duplicitního zaokrouhlení
- Vyplnění variabilního symbolu z čísla faktury
- Aplikace regulárních výrazů na pole dokumentu
- Dodatečné business logiky (datum odpočtu, typ faktury)
- Návrh custom polí z historických dat (pokud zapnuto)
- Validace dokumentu - ověření správnosti výpočtů
Časté otázky
Proč Alice nedopočítala DPH v položce?
DPH se dopočítává pouze pokud:
- VatPayer = true (plátce DPH)
- ReverseCharge = false (není přenesená daňová povinnost)
U faktur s přenesenou daňovou povinností se DPH nedopočítává.
Jak funguje návrh polí z historie?
Systém analyzuje historické dokumenty stejného dodavatele a navrhuje nejčastěji používanou hodnotu pro custom ENUM pole. Hodnota musí mít alespoň 3 výskyty a tvořit alespoň 66% všech výskytů.
Proč se mi pole zaokrouhlení smazalo?
Alice automaticky odstraňuje duplicitní pole "Základní částka bez DPH 0%" pokud má stejnou hodnotu jako pole "Zaokrouhlení", aby nedocházelo k duplicitám v DPH tabulce.
Mohu ovlivnit výpočet variabilního symbolu?
Ano, v nastavení typu dokumentu můžete vypnout funkci "Nahradit variabilní symbol číslem faktury". Variabilní symbol pak zůstane takový, jak byl vytěžen z dokumentu.
Kde vidím, že hodnota byla automaticky dopočítána?
Automaticky dopočítané hodnoty jsou interně označeny příznakem automatického návrhu. V UI se zobrazují stejně jako ostatní hodnoty, ale pocházejí z výpočtu, ne z OCR extrakce.
Co znamená validační chyba CZ-CALC-001?
Nesouhlasí výpočet DPH. Zkontrolujte, zda je správně zadaná sazba DPH a zda se hodnota DPH shoduje s výpočtem: DPH = Základní částka × (Sazba DPH / 100). Tolerance je 1.00 Kč kvůli zaokrouhlování.
Co znamená validační chyba CZ-CALC-002?
Nesouhlasí celková částka. Zkontrolujte, zda platí: Celková částka = Základní částka + DPH. Tolerance je 0.10 Kč. Může být také ovlivněno polem "Zaokrouhlení".