Kontrolní hlášení vykazuje jednotlivé doklady, ne jejich souhrn. Přijatou fakturu nad 10 000 Kč včetně daně od českého plátce uvedete do oddílu B.2, a to s pěti údaji: evidenční číslo dokladu dodavatele, jeho DIČ, datum uskutečnění zdanitelného plnění (DUZP), základ daně a daň. Přijaté doklady do 10 000 Kč včetně daně se vykazují kumulativně, jednou souhrnnou částkou, v oddílu B.3. Celý úkol účetního se tím smrští na jednu větu: z každé přijaté PDF faktury dostat těchto pár polí do strukturované tabulky a podle celkové částky doklad zařadit do správného oddílu.
Hranice 10 000 Kč se posuzuje na celý daňový doklad, včetně daně, bez ohledu na to, jak ho nakonec zaúčtujete. Není rozhodující počet položek ani způsob, jakým fakturu rozepíšete na účty; rozhoduje jediné číslo, celková částka včetně DPH. Doklad za 9 800 Kč jde do B.3, i kdyby měl deset řádků. Doklad za 12 100 Kč jde do B.2 jednotlivě, i kdyby šlo o jednu položku. Právě proto je celková částka pole, které musíte vytěžit z každého dokladu, i když ji samotný řádek B.2 nereportuje.
Oddíly kontrolního hlášení jsou symetrické a vyplatí se je vidět najednou. Na výstupu (vámi vystavené doklady) jsou to A.4 pro plnění nad 10 000 Kč pro jiné české plátce a A.5 pro zbytek kumulativně. Na vstupu (přijaté doklady) jim odpovídají B.2 nad limitem a B.3 do limitu. Tento článek se týká vstupu, tedy přijatých faktur a oddílů B.2 a B.3; A.4 a A.5 zmiňuji jen pro orientaci, protože dataset pro ně vytěžíte stejnou logikou, jen z faktur, které sami vystavujete.
Proč na přesnosti tak záleží: pokud přijatý doklad nad 10 000 Kč nerozepíšete do oddílu B.2, nemáte na odpočet DPH z tohoto dokladu nárok. Chybné nebo chybějící vykázání v B.2 se nerovná jen formální vadě hlášení, ale přímo ztrátě odpočtu. To je důvod, proč data z každé přijaté faktury musí být úplná a správná, ne přibližná. Evidenční číslo, které nesedí, nebo DIČ s překlepem, je rozdíl mezi uplatněným a neuplatněným odpočtem.
Tady začíná praktický problém. Dostat přijaté faktury do excelu pro kontrolní hlášení znamená projít stoh cizích PDF od desítek dodavatelů, každé v jiném layoutu, a z každého vytáhnout stejných pět až devět polí do jednoho řádku tabulky. U dokladů pod limitem, kam patří i drobné výdajové doklady a paragony, stačí součet do B.3; pokud se takovými doklady zabýváte soustavněji, navazuje na tento postup digitalizace paragonů PHM pro oddíl B.3. U dokladů nad limitem ale potřebujete každý řádek zvlášť, a tam se ruční přepisování stává úzkým hrdlem celé měsíční uzávěrky.
Která pole vytěžit z každé přijaté faktury pro oddíl B.2
Z každé přijaté faktury potřebujete soustavně tatáž pole. Oddíl B.2 reportuje pět z nich, zbytek slouží k zařazení dokladu a ke kontrole:
- Název dodavatele slouží k identifikaci a ke křížové kontrole proti DIČ; samotné B.2 jej nereportuje, ale bez něj se v datech těžko orientujete.
- DIČ dodavatele v českém formátu, tedy předpona CZ následovaná kmenovou částí (osm až deset číslic). DIČ je v B.2 povinný identifikátor dodavatele a musí jít o plátce DPH.
- Evidenční číslo dokladu dodavatele, tedy číslo tak, jak ho uvádí dodavatel na své faktuře, ne vaše interní pořadové číslo v knize přijatých faktur. To je nejčastější záměna a v B.2 patří číslo dodavatele.
- Datum vystavení dokladu, které potřebujete k orientaci a k odlišení od DUZP.
- DUZP, datum uskutečnění zdanitelného plnění, které se do B.2 uvádí. Datum vystavení a DUZP se u řady dokladů liší a do hlášení patří DUZP, ne datum vystavení.
- Základ daně a daň, oba povinné údaje B.2.
- Sazba DPH, kterou potřebujete k ověření vazby mezi základem a daní a k rozpadu dokladů s více sazbami.
- Celková částka včetně daně, která rozhoduje o zařazení do B.2, nebo B.3.
Rozdíl mezi datem vystavení a DUZP je drobnost, která stojí odpočty. Dodavatel může fakturu vystavit 2. dubna za plnění uskutečněné 31. března; do kontrolního hlášení a do správného zdaňovacího období patří DUZP, tedy březen. Pokud vytěžíte jen datum vystavení a zaměníte ho za DUZP, doklad se vám posune o měsíc. Proto je nutné vytáhnout obě data a do B.2 pak použít DUZP.
Celková částka včetně daně je v tomto výčtu zvláštní případ. Oddíl B.2 ji jako pole neuvádí, hlášení chce základ a daň zvlášť. Vy ji ale potřebujete, protože právě podle ní se rozhoduje, zda doklad jde do B.2 jednotlivě, nebo do B.3 kumulativně. Vynechat ji při vytěžení znamená přijít o jediné kritérium, podle kterého stoh roztřídíte.
U sazeb počítejte s tím, že česká faktura dnes běžně nese základní sazbu 21 % a sníženou 12 %, a že jeden doklad může nést obě. Pokud doklad kombinuje více sazeb, znamená to více dvojic základu a daně, tedy více řádků za jeden doklad. Při vytěžení tedy nestačí počítat s jednou sazbou na fakturu; pole sazba, základ a daň mohou být na jednom dokladu vícenásobná. Konkrétní rozpad takových dokladů rozebírám dál.
Stejně důležité je poznat, které přijaté doklady do B.2 vůbec nepatří, protože jinak si do hlášení zanesete řádky, které tam nemají co dělat. Doklady od neplátců DPH do B.2 nevstupují: bez DPH na vstupu není nárok na odpočet a není co reportovat. Plnění od zahraničních dodavatelů se v kontrolním hlášení řeší jinými mechanismy, typicky režimem přenesení daňové povinnosti (reverse charge) a příslušnými oddíly, ne tuzemským B.2. Tuzemské B.2 je vyhrazené přijatým zdanitelným plněním od českých plátců. Při třídění stohu je tedy první otázka, zda doklad vystavil český plátce s českým DIČ; teprve pak rozhoduje hranice 10 000 Kč.
Prompt, který přijaté faktury rozdělí na B.2 a B.3
Cíl výstupu je úzký a pevný: jeden řádek na fakturu, sloupce odpovídající poli oddílu B.2, a navíc jeden počítaný sloupec, který každý doklad sám zařadí. Ten sloupec dostane podle celkové částky včetně daně hodnotu B.2, pokud je nad 10 000 Kč, jinak B.3. Místo abyste stoh ručně předtřiďovali a pak přepisovali, necháte zařazení udělat samotnou tabulku a vy už jen filtrujete.
K tomu stačí jediná instrukce, kterou převezmete a upravíte podle svých sloupců:
Z každé přijaté faktury vytěž: název dodavatele, DIČ dodavatele, evidenční číslo dokladu, datum vystavení, DUZP, základ daně, sazbu DPH, částku DPH a celkovou částku včetně DPH. Jeden řádek na fakturu. Přidej sloupec oddíl_KH s hodnotou B.2, pokud je celková částka včetně DPH vyšší než 10 000 Kč, jinak B.3. Datum formátuj jako RRRR-MM-DD.
Tahle instrukce není návrh, je to celá konfigurace úlohy. Tím, že ji napíšete jednou, určíte, jak vypadá každý řádek bez ohledu na to, kolik dokladů zpracováváte; stejný prompt dá stejně strukturovaný výstup u deseti i u tří set faktur. A protože se měsíční dávka přijatých dokladů svou povahou opakuje, dává smysl prompt uložit a pustit ho na dubnový stoh stejně jako na březnový.
Do promptu lze dopsat pravidla, která ošetří reálné varianty, aniž byste sahali do dat ručně. Pojmenování sloupců (například aby DIČ dodavatele mělo hlavičku DIC_dodavatele), výchozí hodnoty (pokud na dokladu chybí daň, nastav ji na 0), nebo pokyn k přeskočení nerelevantních stránek (vynech dodací listy, e-mailové průvodky a souhrnné strany). Jde o princip: čím konkrétnější pravidlo, tím méně ručních zásahů po vytěžení. Záludnější případy, jako doklady s více sazbami nebo opravné doklady, rozebírám v samostatné sekci.
Hromadnost je v tom přístupu jádro. Smysl není otevřít jeden doklad, opsat pět polí, zavřít a otevřít další; smysl je vzít celou dávku cizích PDF najednou a dostat z ní jednu tabulku, kde už je každá faktura na svém řádku a zařazená do B.2 nebo B.3.
Přesně takhle pracuje Invoice Data Extraction: nahrajete doklady, v přirozeném jazyce popíšete, co a jak vytěžit, a stáhnete strukturovanou tabulku. Prompt výše je přesně ten typ instrukce, který nástroj přijímá; není potřeba nastavovat šablony ani pravidla dopředu, protože konfigurací je samotný text promptu. Jednou napsaný prompt si uložíte do knihovny a použijete ho na každou další měsíční dávku, takže výstup zůstává konzistentní měsíc co měsíc. A protože jedna dávka zvládne velké množství smíšených PDF najednou (až 6 000 souborů v jedné úloze), zpracujete celý měsíc přijatých faktur jedním během, ne doklad po dokladu.
Výstup do Excelu a kontrola každého řádku proti faktuře
Výsledkem je tabulka, kterou účetní okamžitě pozná: sloupce dodavatel, DIČ, evidenční číslo, DUZP, základ, daň, plus počítaný sloupec oddíl_KH, a jeden řádek na každou fakturu. Z takové tabulky získáte podklad pro oba oddíly jediným filtrem. Vyfiltrujete oddíl_KH na B.2 a máte seznam dokladů, které se rozepisují jednotlivě, s přesně těmi poli, která hlášení žádá. Vyfiltrujete na B.3 a sečtete, čímž dostanete kumulativní částku do druhého oddílu. Žádné předtřiďování stohu, jen práce s hotovými daty.
Klíčová je ale možnost data zkontrolovat, ne jim jen věřit. Než řádek pošlete do kontrolního hlášení, chcete u sporných dokladů ověřit, že číslo, DIČ i částka odpovídají originálu. To umožní jediná věc: každý řádek nese odkaz na zdrojový soubor a číslo stránky. U kteréhokoli řádku tak skočíte rovnou na konkrétní stránku konkrétního PDF a porovnáte údaj s fakturou, aniž byste doklad hledali v adresáři. Kontrola, která by jinak znamenala prolézání desítek souborů, se zkrátí na klik.
Tady je také rozdíl proti většině nástrojů, které se pro vytěžování přijatých faktur nabízejí. Ty obvykle vytěžená data rovnou zaúčtují do jednoho konkrétního účetního systému, takže výstup je vázaný na ten program (vendor-lock). Pokud ale potřebujete prostý, vendor-neutrální podklad, chcete Excel, CSV nebo JSON, který naimportujete do libovolného programu nebo zkontrolujete samostatně. To je rozdíl mezi exportem, který slouží jednomu systému, a datasetem, který si držíte pod kontrolou a používáte jako vlastní evidenci přijatých faktur. Když potřebujete vytěžit přijaté faktury do Excelu bez přepisování s jedním řádkem na fakturu a počítaným sloupcem oddíl_KH, je právě tahle nezávislost na účetním programu to, co podklad činí použitelným kdekoli.
Strukturovaný výstup zároveň nahrazuje ruční přepisování dokladů do účetnictví. Dataset je uspořádaný tak, aby z něj šlo přímo naplnit oddíly kontrolního hlášení, místo aby se tatáž čísla z faktur opisovala ručně řádek po řádku.
Tahle podoba výstupu je přímo to, co Invoice Data Extraction dodává. Data si stáhnete jako Excel (.xlsx), CSV nebo JSON, hodnoty jsou v Excelu nativně otypované (čísla jako čísla, data jako data), takže s nimi rovnou počítáte a filtrujete, a každý řádek v sobě nese odkaz na zdrojový soubor a stránku pro okamžité porovnání s originálem. Verifikace proti zdroji a volba formátu nejsou nadstavba, ale standardní vlastnost výstupu.
Záludné doklady: více sazeb, zálohy, opravy a smíšené dávky PDF
Hladká faktura s jednou sazbou a jasným evidenčním číslem je v reálném stohu spíš výjimka. Právě okrajové případy rozhodují o tom, zda data v B.2 nakonec sednou, a stojí za to vědět, jak je při vytěžení ošetřit.
Doklad s více sazbami. Když jedna faktura nese 21 % i 12 %, nemáte jeden základ a jednu daň, ale dvě dvojice. Do podkladu pro B.2 je třeba je rozepsat po sazbách, protože každá sazba má svůj základ a svou daň; v praxi to znamená pro takový doklad více řádků, nebo více párů sloupců na jednom řádku, podle toho, jak si tabulku stavíte. Sečíst obě sazby do jednoho čísla je chyba, která se v hlášení projeví na vazbě mezi základem a daní.
Zálohové a opravné doklady. Zálohová faktura a opravný daňový doklad mají v kontrolním hlášení vlastní logiku. Opravné doklady mění už vykázaný odpočet a nesou znaménko (typicky se hodnoty snižují), takže je nelze v datech slít s běžnou fakturou, jako by šlo o další normální plnění. V tabulce je proto potřeba je rozlišit, ať už typem dokladu, nebo znaménkem u částek, aby bylo zřejmé, že jde o opravu, ne o nový nárok. Zvláštním případem jsou opravy daně u pohledávek za dlužníky v insolvenci podle § 44, které se do oddílu B.2 uvádějí bez ohledu na hranici 10 000 Kč.
Splátkové kalendáře a netypicky umístěné evidenční číslo. U splátkových kalendářů a u dokladů, kde dodavatel umístil evidenční číslo na nestandardní místo (do zápatí, k razítku, do předmětu e-mailu), se ruční přepisování plete nejčastěji, protože oko hledá číslo tam, kde bývá obvykle. Vytěžení musí umět najít správné pole i mimo obvyklou pozici a navázat ho na správný doklad, jinak skončíte s prohozenými nebo chybějícími čísly.
Smíšené dávky PDF. Přijaté faktury málokdy přijdou jako čisté jednotlivé soubory. Bývají proložené dodacími listy, souhrnnými stranami a e-mailovými průvodkami. Tyhle stránky do kontrolního hlášení nepatří a je třeba je odfiltrovat, aby se do tabulky nedostaly řádky, které do B.2 ani B.3 nepatří. Filtrování nerelevantních stránek je proto součást přípravy dat, ne dodatečný úklid.
Zvláštní případ představují souhrnné doklady, kde se jeden doklad rozpadá do více oddílů B podle povahy plnění. Pokud řešíte třeba stavební fakturaci, kde se jeden souhrnný doklad dělí mezi zakázky a režim přenesené daňové povinnosti, podrobně to rozebírá rozúčtování souhrnné faktury stavebnin do oddílů B kontrolního hlášení.
Lhůta, sankce a kde vytěžení dat končí
Kontrolní hlášení se podává do 25. dne. Právnické osoby ho podávají měsíčně, vždy do 25. dne následujícího měsíce. Fyzické osoby, které jsou čtvrtletními plátci, podávají čtvrtletně, ale se stejnou lhůtou do 25. dne po skončení období. Lhůta hlášení je přitom samostatná: kontrolní hlášení podáte do 25. i v případě, kdy se lhůta pro přiznání k DPH liší.
Cena chyby je vyčíslitelná, a to dává váhu všemu předchozímu. Za nepodané nebo opožděné kontrolní hlášení stanoví zákon pevné pokuty 1 000 Kč, 10 000 Kč, 30 000 Kč a 50 000 Kč podle toho, zda plátce podá doklad sám po lhůtě, až v náhradní lhůtě po výzvě správce daně, nebo jej nepodá vůbec; výši a podmínky shrnuje přehled sankce za kontrolní hlášení podle Finanční správy. K tomu se přičítá riziko, které je často dražší než samotná pokuta: chybně vykázaný přijatý doklad nad limit znamená ztrátu odpočtu, jak padlo na začátku.
Stejně poctivé je říct, kde vytěžení dat končí. Připraví strukturovaný Excel, CSV nebo JSON s poli pro B.2 a B.3, ale několik kroků zůstává na vás a na jiných nástrojích, a to záměrně:
- Nevaliduje DIČ v registru plátců. Ověření, zda je dodavatel ke dni plnění skutečně plátcem, je samostatný krok přes Registr plátců DPH, respektive systém ADIS. Vytěžení vám DIČ přečte z dokladu, neručí ale za jeho stav v registru.
- Nerozhoduje právně o nároku na odpočet ani o DUZP. To, zda na odpočet máte nárok a do jakého období plnění spadá, je odborné posouzení účetního nebo daňového poradce, ne výstup z extrakce.
- Nepodává kontrolní hlášení. Samotné odeslání na finanční správu zůstává na vás.
Tyhle hranice nejsou nedostatek, ale dělba práce. Nástroj odvede mechanickou, chybovou část (přečíst stovky cizích dokladů a srovnat je do jednoho tvaru), a odborné rozhodnutí i podání nechá tam, kam patří. Připravený dataset navíc neslouží jen kontrolnímu hlášení: data pro přiznání k DPH se s ním z velké části překrývají a souhrnné hlášení, kterým se vykazují plnění v rámci EU, je příbuzná, ale oddělená povinnost, do níž tatáž vytěžená pole rovněž zapadnou.
Extract invoice data to Excel with natural language prompts
Upload your invoices, describe what you need in plain language, and download clean, structured spreadsheets. No templates, no complex configuration.
Related Articles
Explore adjacent guides and reference articles on this topic.
Souhrnná faktura stavebnin: zakázky, PDP a KH
Jak z měsíční souhrnné faktury stavebnin vytěžit řádky, DL, PDP a zakázky do tabulky pro Pohodu, Money S3, ABRA Flexi nebo Helios.
Digitalizace paragonů PHM do účetnictví (Pohoda, Money S3)
Jak hromadně zdigitalizovat paragony PHM do tabulky pro zaúčtování v Pohodě a Money S3 — včetně 80% odpočtu DPH, knihy jízd a B.3 kontrolního hlášení.
Czech Kontrolní Hlášení: VAT Control Statement Guide
Guide to Czech kontrolní hlášení: who must file, CZK 10,000 threshold, required invoice fields, penalties up to CZK 500,000, and the Section 74b rule.