Plugin pro ChatGPT: propojení MyÚčta a fakturace

„Připrav klientce fakturu za konzultaci, splatnost sedm dní, a ukaž mi ji, než ji vystavíš.“

Přesně takhle si představuju fakturaci v roce 2026. Napíšu jednu větu, ChatGPT si dohledá klienta, sáhne po správných nástrojích a připraví doklad. Já ho jen zkontroluju.

Zní to jednoduše. Když jsme ale spolu s ChatGPT stavěli pro MyÚčto privátní plugin, ukázalo se, že cesta od „to by šlo“ k „tohle se dá reálně používat“ vede přes připojení, oprávnění a hromadu drobností, na které člověk na začátku vůbec nemyslí.

Karta skillu Fakturace pro MyÚčto v ChatGPT: popis práce s klienty, zakázkami, koncepty faktur a pohledávkami a instrukce pro asistenta

1. Začít tím, co opravdu děláme

Než jsme napsali první řádek, sepsali jsme si, co s fakturami běžně děláme: hledáme klienty, koukáme do jejich historie, připravujeme koncepty, vystavujeme, hlídáme pohledávky a zakázky.

Nejvíc nám pomohlo vypsat si skutečné věty, které budeme do chatu psát:

  • „Kolik mi klienti aktuálně dluží?“
  • „Ukaž faktury po splatnosti.“
  • „Připrav koncept za návrh interiéru.“
  • „Změň cenu druhé položky.“

Každá taková věta musí mít oporu v nějakém nástroji. Co systém neumí, to pluginu žádná instrukce nepřidá. Tohle je dobré si uvědomit hned na začátku, ušetří to spoustu zklamání.

2. MCP server už existoval

MyÚčto už mělo vzdálený MCP server, takže jsme nemuseli stavět žádný další server ani prostředníka. Výhoda, která se nedá přecenit.

MCP dává asistentovi nástroje: přes ně čte aktuální data a provádí povolené operace. Plugin k tomu přidává instrukce pro konkrétní postupy, OpenAI jim říká skills. Určují pořadí kroků, co dělat, když něco chybí, a jak má vypadat výsledek.

U fakturace to v praxi znamená: najít klienta, ověřit zadání, připravit koncept, zkontrolovat výsledek.

3. Instrukce nejsou připojení

První poučení bylo docela banální: to, že se načtou instrukce, ještě neznamená, že plugin něco umí.

Plugin krásně popisoval, jak vyhledat klienta, jenže bez dostupných MCP nástrojů neměl odkud jeho údaje vzít. Museli jsme pořádně propojit aplikaci, MCP server a přihlášení přes OAuth.

Uživatel se přihlásí ke svému MyÚčtu a vybere rozsah přístupu. Jen čtení stačí na přehledy a hledání, na vytváření a úpravy záznamů je potřeba zápis.

Připojení jsme si nejdřív ověřovali na úplně jednoduchých čtecích operacích: kdo jsem a jaké firmy vidím. Teprve když tohle fungovalo, mělo smysl jít dál.

4. Nejvíc práce dají dobré instrukce

Technické připojení je jen polovina. Plugin musí taky vědět, kdy se zastavit a zeptat.

„Udělej další fakturu za 666 Kč“ neříká, za co se fakturuje. Asistent si nesmí domyslet „poradenství“ jen proto, že bylo na minulé faktuře.

Stejně tak „přidej klientovi položku do konceptu“ nemusí jednoznačně určit fakturu. Když má klient konceptů víc, plugin je má ukázat a nechat mě vybrat.

Doplnili jsme proto vedený postup: vybrat doklad, určit změnu, doplnit chybějící hodnoty, provést operaci a ověřit výsledek. Zároveň jsme hlídali, aby se z přesného zadání nestal zbytečný dotazník. Když řeknu všechno, nechci odpovídat na pět otázek.

Takhle vypadá jedna skutečná výměna. Plugin klienta našel jednoznačně, zeptal se na splatnost, kterou jsem nezadal, a po mé odpovědi založil jen koncept:

Konverzace v ChatGPT: plugin najde klienta, zeptá se na chybějící splatnost zakázky a založí koncept faktury za 1 500 Kč, který zůstává jen konceptem, nevystavený ani neodeslaný

5. Koncept není vystavení a vystavení není odeslání

Vytvoření konceptu neznamená souhlas s vystavením. Vystavení neznamená souhlas s odesláním klientovi.

Před každou podstatnou akcí proto plugin ukáže konkrétní přehled a chce potvrzení. U odeslání musí být jasné i to, komu e-mail odejde. Po chybě nebo timeoutu se nejdřív ověřuje, v jakém stavu věci skutečně jsou, aby opakované volání nevytvořilo duplicitní fakturu nebo neposlalo e-mail dvakrát.

A jedna věc z pohledu bezpečáka: instrukce řídí chování asistenta, ale nejsou bezpečnostní hranice. Oprávnění a omezení operací musí vynucovat server sám.

6. Plugin roste se službou

Na začátku MCP neumělo pořádně upravovat položky konceptu. Tuhle funkci jsme si vyžádali my: navrhli jsme, co přesně chceme, a druhý den to bylo hotové. Přibyly čtyři nástroje: změna hlavičky, přidání položky, úprava položky a její odebrání.

Aktualizace pluginu tak znamenala i úklid: vyhodit z instrukcí stará omezení a ověřit, že ChatGPT nové nástroje opravdu načetl.

Další úpravy už vycházely z běžného používání: uložené nastavení neplátce DPH, přímý odkaz na doklad a nabídka stažení PDF hned po vystavení.

7. Privátní verze je na testování

Nejdřív má smysl plugin prohnat skutečnými situacemi. Nejen těmi, které projdou napoprvé, ale i nejasným zadáním, několika podobnými klienty nebo chybějícím oprávněním.

Teprve pak dává smysl myslet na veřejnou verzi. Osobní nastavení jako konkrétní doména nebo neplátcovství DPH musí nahradit konfigurace jednotlivých uživatelů.

Nejlepší měřítko je nakonec praktické: napíšu, co potřebuju, normálními slovy, rozumím tomu, co se zrovna děje, a na konci dostanu ověřený výsledek. K tomu musí směřovat připojení, nástroje i instrukce.

Other Related Posts:

Vlastní fakturační systém

Vlastní fakturační systém

MyInvoice a MyÚčto

Když jsem začínal podnikat největší strašák byla fakturace a řešení toho papírování okolo. Většina systémů byla placená s vyjímkou Fakturovače. Vyhovoval mi, nicméně mu chybělo zabezpečení MFA (které doplnili nedávno). S rozmachem AI bylo otázkou času kdy se objeví něco dostupné...

29th Jun 2026
Jak se hledá AirTag

Jak se hledá AirTag

Ztratil jsem AirTag

Před představením AirTag 2 jsem výhodně pořidil AirTag první generace. Dal jsem to všude kam jsem mohl, protože se to někdy může hodit. Jak prozřetelné rozhodnutí.

Klíče takhle hledám poměrně často... ale nikdy by mě nenapadlo, že budu takhle hledat kočárek. Abych to upřesnil...

3rd Sep 2026