Skip to content
koliskoPublic

About

CLI pro přípravu přiznání k DPH a kontrolního hlášení z QR Faktur (Linux, Windows, macOS)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

22 Commits

Folders and files

Repository files navigation

dphcko

dphcko je lokální terminálová aplikace pro přípravu českého přiznání k DPH (DPHDP3) a kontrolního hlášení (DPHKH1) z vydaných PDF faktur. Běží jako jediná binárka bez CGO na macOS, Linuxu a Windows.

V1 je záměrně úzká: fyzická osoba, měsíční plátce, řádné podání, běžné tuzemské vydané faktury v CZK se sazbou 21 %. Neumí přijaté faktury a odpočty, dobropisy, zálohy, přenesenou povinnost ani jiné sazby či režimy.

Funkce

  • Jediná lokální binárka bez CGO pro macOS, Linux a Windows.
  • Interaktivní terminálové rozhraní ovládané klávesnicí.
  • Modální formuláře a potvrzení zobrazené přímo nad hlavním přehledem; Esc je zavře bez opuštění dashboardu.
  • Průvodce prvním spuštěním s předvyplněním veřejných údajů z ARES a možností ručního zadání při nedostupnosti služby.
  • Lokální profil plátce v čitelném dphcko.toml a celoobrazovkový editor, který ukáže všechna pole i neuložené změny.
  • Zakládání a přepínání měsíčních zdaňovacích období ve složkách RRRR/MM.
  • Načtení vydaných PDF faktur z QR Faktury nebo QR Platby+F bez OCR a cloudu.
  • Kontrola DIČ výstavce, CZK, sazby 21 %, DUZP, částek, duplicit a nepodporovaných typů dokladů.
  • Automatické rozdělení dokladů do A.4 a A.5 kontrolního hlášení včetně hranice 10 000 Kč a potvrzení koncového spotřebitele.
  • Generování přiznání DPHDP3, kontrolního hlášení DPHKH1 a čitelného textového přehledu za období.
  • Kontrolní součty, korunové zaokrouhlení přiznání a zachování haléřů v KH.
  • Nulové přiznání za období bez dokladů; prázdné KH se nevytváří.
  • Atomický zápis výstupů s omezenými oprávněními, ochranou před nechtěným přepsáním a bez odesílání dat mimo počítač uživatele.
  • Otevření stránky MOJE daně pro ruční načtení vygenerovaných XML.
  • Automatická synchronizace nových vydaných PDF z iDokladu přes samostatnou relaci Chromu, bez placeného API a bez ukládání hesla do konfigurace.
  • Automatické testy, validace proti XSD, CodeQL a multiplatformní buildy a release archivy na GitHubu.

Ukázka

Všechny údaje v ukázce jsou syntetické. Terminálové obrazovky pocházejí z reálně spuštěné aplikace se dvěma ukázkovými PDF fakturami. Stejné faktury jsou zdrojem testovacích XML a obrazovek portálu MOJE daně níže.

První nastavení profilu

První nastavení syntetického profilu Jana Nováka v dphcko

Profil a nastavení

Editor ukazuje celý uložený profil najednou. Rozpracované hodnoty barevně odliší a před uložením je znovu zkontroluje.

Editor syntetického profilu Jana Nováka se zvýrazněnou změnou

Vstupní PDF faktury

Obě faktury obsahují skutečně dekódovatelnou QR Fakturu a lze je použít pro vyzkoušení aplikace. První doklad za 1 210 Kč bez DIČ odběratele vstupuje do A.5, druhý za 12 100 Kč s DIČ odběratele do A.4. Dohromady tvoří základ 11 000 Kč a DPH 2 310 Kč zobrazené v přiznání níže. PNG náhledy jsou přímé rendery celých stran uložených PDF bez dalších úprav.

Stáhnout ukázkovou fakturu FV-2026-08-001

Ukázková PDF faktura FV-2026-08-001 pro oddíl A.5

Stáhnout ukázkovou fakturu FV-2026-08-002

Ukázková PDF faktura FV-2026-08-002 pro oddíl A.4

Načtené faktury a ovládání

Ještě před generováním aplikace ukáže rozdělení dokladů do A.4 a A.5, celkový základ daně, DPH i částku včetně DPH.

Přehled načtených faktur v dphcko

Výsledek po načtení do MOJE daně

Následující obrazovky jsou skutečné screenshoty portálu MOJE daně po ručním načtení testovacích XML se smyšleným plátcem Janem Novákem. Nejde o skutečné daňové podání a žádný z formulářů nebyl odeslán.

Identifikační údaje syntetického plátce ve formuláři přiznání k DPH na portálu MOJE daně

Řádek 1 přiznání k DPH načtený ze syntetického XML na portálu MOJE daně

Oddíl A.4 kontrolního hlášení načtený ze syntetického XML na portálu MOJE daně

Použití

  1. Stáhněte archiv pro svůj systém z GitHub Releases a rozbalte binárku.
  2. V samostatné pracovní složce spusťte dphcko.
  3. První průvodce načte veřejné údaje podle IČO z ARES a nechá je potvrdit. Výsledný profil uloží jako viditelný dphcko.toml v této složce.
  4. Klávesou n vytvořte období (předvolený je poslední dokončený měsíc), například 2026/08/, a vložte PDF faktury přímo do této složky.
  5. Volitelně klávesou i spusťte synchronizaci iDokladu. Při prvním použití se ve zvláštní relaci Chromu přihlaste; další kroky už aplikace provede sama. Zapamatuje si číslo posledního úspěšně převzatého dokladu, v seznamu vydaných faktur najde všechny novější, jednotlivě stáhne jejich PDF a podle DUZP je uloží do správných složek RRRR/MM. Při úplně první synchronizaci vezme výchozí číslo z lokálních faktur; pokud žádné nejsou, stáhne celou dostupnou historii. Existující PDF nikdy nepřepíše a stav posune až po úspěšném stažení a ověření všech nových dokladů. Přihlášení zůstává v .dphcko/idoklad-chrome a synchronizační stav v .dphcko/idoklad-state.json; ani jedno se neukládá do dphcko.toml.
  6. r faktury znovu načte a pouze g spustí závěrečnou kontrolu a generování. Enter nic negeneruje. Pokud už cílové soubory existují, aplikace před jejich přepsáním zobrazí výslovné potvrzení. Potom otevře v nastaveném prohlížeči obecnou stránku EPO pro ruční načtení XML. Klávesa o tuto stránku kdykoliv znovu otevře bez opakovaného generování. Klávesa c otevře celý profil; šipkami nebo Tabem se přechází mezi poli, Enter či Ctrl+S změny uloží a Esc editor zavře bez uložení.

Výstupy vzniknou v RRRR/MM/vystup/:

  • DPHDP3_RRRR-MM.xml
  • DPHKH1_RRRR-MM.xml (jen když existují podporované doklady)
  • prehled_RRRR-MM.txt

Aplikace XML nikam automaticky nenahrává, neodesílá ani nepodepisuje. Otevře pouze stránku Načtení XML souboru v EPO, kde uživatel vybere soubor ze složky vystup/. Ve formuláři spusťte kontrolu a před podáním porovnejte čitelný přehled s evidencí.

Prohlížeč pro EPO

Pokud browser v konfiguraci chybí nebo má hodnotu default, použije se systémový výchozí prohlížeč. Konkrétní prohlížeč lze nastavit v dphcko.toml jednoslovnou hodnotou malými písmeny:

[app]
browser = "chrome"

Podporované hodnoty jsou default, chrome, chromium, edge, firefox, brave, safari, opera a vivaldi. Pokud vybraný prohlížeč není dostupný, aplikace zobrazí chybu a bez vědomí uživatele nepřejde k jinému prohlížeči.

Import z iDokladu vyžaduje prohlížeč založený na Chromiu: chrome, chromium, edge nebo brave. Při hodnotě default se pro import zkusí Google Chrome; nastavení výchozího systémového prohlížeče se nadále používá pro otevření EPO. Synchronizace ovládá veřejné webové rozhraní iDokladu, nikoli jeho placené API; výrazná změna stránky iDokladu proto může vyžadovat aktualizaci dphcko.

Požadavky na faktury

Každé PDF musí obsahovat čitelnou QR Fakturu, případně QR Platbu+F s vloženým payloadem X-INV. Bez ní se doklad odmítne; aplikace nepoužívá OCR, cloud ani odhady. Kontroluje DIČ výstavce, CZK, 21% daň, DUZP, součty, duplicity a podporovaný typ dokladu.

Kompatibilní kód nevytváří jen jeden konkrétní program. Z oficiální dokumentace jsou ověřené například tyto bezplatné nebo omezené bezplatné varianty:

Nejde o žebříček ani doporučení konkrétní služby a podmínky bezplatných variant se mohou měnit. Při výběru vždy ověřte výslovnou podporu QR Faktury nebo QR Platby+F (oficiální název kombinovaného formátu). Samotná QR Platba obsahuje pouze údaje pro bankovní převod a aplikaci dphcko nestačí.

Doklady do 10 000 Kč včetně DPH patří do A.5. Vyšší doklad s DIČ odběratele patří do A.4. U vyššího dokladu bez DIČ musí uživatel výslovně potvrdit koncového spotřebitele, jinak se generování zastaví.

TODO

Náměty pro další verze; pořadí není závazný plán vydání:

  • Přijaté tuzemské faktury, odpočet DPH a odpovídající oddíly B.2/B.3 KH.
  • Dobropisy, vrubopisy a opravy základu nebo výše daně.
  • Zálohové faktury a daňové doklady k přijatým či poskytnutým platbám.
  • Snížená sazba DPH, osvobozená plnění a souběh více sazeb na jednom dokladu.
  • Tuzemský režim přenesení daňové povinnosti.
  • Plnění v EU: dodání a pořízení zboží, služby a souhrnné hlášení.
  • Dovoz, vývoz a další plnění se třetími zeměmi.
  • Faktury v cizích měnách včetně použití správného kurzu.
  • Čtvrtletní zdaňovací období fyzické osoby: volba měsíčního/čtvrtletního režimu v profilu, společné zpracování tří měsíců a správné čtvrtletní záhlaví v přiznání k DPH i kontrolním hlášení.
  • Právnické osoby.
  • Multiprofil: správa a přepínání více plátců s různými IČO a DIČ.
  • Opravná a dodatečná přiznání a následná kontrolní hlášení.
  • Ruční doplnění dokladu, OCR a import faktur bez QR Faktury.
  • Další vstupní formáty a napojení na fakturační nebo účetní systémy.
  • Přímé bezpečné načtení, podepsání a odeslání podání do EPO.
  • Aktualizace XML schémat a číselníků bez nutnosti nové verze aplikace.

Vývoj

Je potřeba Go podle go.mod a pro validaci golden XML také xmllint.

make verify

Schémata EPO jsou v repozitáři jako kontrolované snapshoty: DPHDP3 03.01.03 a DPHKH1 03.01.14, obě ze dne 9. 3. 2026. GitHub Actions ověřují testy, XSD a cross-build pro darwin/amd64, darwin/arm64, linux/amd64, linux/arm64 a windows/amd64.

Release vznikne standardně pushnutím tagu:

git tag v0.1.0
git push origin v0.1.0

Workflow přes GoReleaser vytvoří pět archivů a checksums.txt v GitHub Releases. Lokálně lze stejnou skladbu ověřit příkazem make dist.

Důležité upozornění

Program je pomůcka, ne daňové poradenství. Záměrně odmítá data mimo popsaný rozsah. Za úplnost evidence a správnost podání odpovídá uživatel; finální XML vždy zkontrolujte v aktuálním EPO.

About

CLI pro přípravu přiznání k DPH a kontrolního hlášení z QR Faktur (Linux, Windows, macOS)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages