MyÚčto MyÚčto.cz Manuál
Stáhnout PDF Zpět na hlavní stránku

9. Klientský portál

Klientský portál je samostatná domovská obrazovka pro roli client — účet, který účetní firma zřídí svému klientovi (podnikateli, majiteli firmy), aby mohl bez zprostředkování účetní pracovat s vlastními doklady a zároveň měl po ruce rychlý přehled hospodaření. Portál není oddělená aplikace ani zjednodušené UI — klient se přihlašuje do stejného MyÚčto.cz, jen s výrazně užší nabídkou menu a s doklady, které se po zaúčtování uzamknou proti dalším úpravám.

Poznámka

Role client je jiná kategorie než readonly (viz § 71.2.2 Role). Readonly je interní pracovník firmy, který smí jen číst a exportovat cokoliv. Client je naopak externí osoba (majitel firmy, na kterou účetní vede agendu), která smí vystavovat a upravovat vlastní doklady, ale nevidí nic z účetnictví, banky, reportů ani nastavení systému a nemůže sáhnout na doklad, který už účetní zaúčtovala.

9.1 Kdo roli client dostane a jak

Uživatele s klientskou rolí zakládá výhradně superadmin v Systém → Uživatelé (stejný formulář jako u ostatních rolí, viz § 71.2 Uživatelé):

  1. V poli Role se zvolí aktivní role typu client.
  2. V sekci přiřazení firem se našeptávačem přidají firmy, ke kterým má klient mít přístup — typicky jedna, u víceoborových klientů i více. U každé firmy lze ponechat výchozí klientskou roli nebo vybrat jinou aktivní roli typu client; interní roli typu staff backend odmítne.
  3. Bez uloženého přiřazení k žádné firmě se klient po přihlášení dostane na portál, ale uvidí jen prázdný stav s výzvou kontaktovat účetní (viz § 9.3.6) — přístup je fail-closed: žádná firma v systému mu není vidět, dokud ji superadmin explicitně nepřiřadí.
  4. U klienta s víc firmami funguje běžný přepínač dodavatele ve spodní liště — portál i všechny stránky se přepnou na aktuálně zvolenou firmu.
Tip

Heslo, 2FA a Můj profil fungují pro klienta stejně jako pro ostatní role (viz § 71.3) — klient si po prvním přihlášení může nastavit vlastní 2FA, pokud to instalace vyžaduje.

9.2 Menu klienta — jen zlomek aplikace

Po přihlášení nabídne menu klientovi jen pět sekcí: Přehled (portál, domovská stránka), Prodej (vydané faktury + pravidelná fakturace), Nákup (přijaté faktury), Kontakty (klienti/dodavatelé) a Dokumenty s položkou Chybějící doklady (viz § 9.8). Na desktopu jsou sekce v horní liště s popup položkami, na mobilu v nabídce . Nápovědu otevírá kontextová ikona ? v horní liště. Cokoliv jiného v aplikaci existuje — účetnictví, banka, sklad, e-shop, reporty, Grafy, kniha jízd, DMS dokumenty, nastavení, administrace uživatelů — klient v menu vůbec nevidí a při pokusu dostat se tam přímo přes adresu URL ho systém přesměruje zpátky na portál. Toto omezení je vynucené na dvou místech zároveň (frontend i API), takže ho nejde obejít ani ruční úpravou adresy v prohlížeči.

Uvnitř povolených sekcí ale klient není v režimu jen pro čtení — smí zakládat i upravovat vlastní doklady stejně jako účetní, pokud doklad ještě nebyl zaúčtovaný (viz § 9.5):

Naopak klientovi zůstávají nedostupné i uvnitř těchto sekcí citlivější podsekce — například platební příkazy (bankovní ABO/KPC soubory a ověřování účtů), sken e-mailové schránky účetní, zakázky ani DMS dokumenty k přijatým fakturám. Sklad a e-shop, daňová evidence, účetní deník a bankovní výpisy jsou pro klienta zavřené úplně.

9.3 Co portál (Přehled) zobrazuje

Domovská stránka klienta (/portal) je agregovaný přehled hospodaření aktuálně zvolené firmy — čistě souhrnná čísla, žádná jména konkrétních zákazníků/dodavatelů ani čísla dokladů se v přehledu neobjevují (to je záměrné bezpečnostní omezení, platí i pro náhled účetní/admina). V záhlaví je název firmy, rozsah období (od 1. 1. do dneška) a poznámka „Orientační přehled hospodaření — není účetní závěrka."

9.3.1 KPI dlaždice

Čtveřice/pětice karet ukazuje fakturováno / náklady / rozdíl za pět období — tento měsíc, minulý měsíc, letos (YTD), loni do dneška a posledních 12 měsíců. Pokud firma pracuje ve víc měnách, každá karta zobrazí řádek za každou měnu zvlášť (částky se nesčítají napříč měnami).

9.3.2 Měsíční graf

Sloupcový graf fakturace vs. nákladů za posledních 12 měsíců. Pokud firma používá víc měn, nad grafem je přepínač měny (výchozí CZK, jinak první dostupná).

9.3.3 Cashflow — pohledávky, závazky, výhled

Tři karty vedle sebe:

9.3.4 DPH a daňové termíny

U plátců DPH karta DPH ukáže aktuální období, daň na výstupu, daň na vstupu, výslednou daňovou povinnost (nebo nadměrný odpočet) a termín podání. U neplátců se místo toho zobrazí informace „Firma není plátce DPH." Vedle karta Daňové termíny vypisuje blížící se termíny v okně 35 dní dopředu (barevně podle závažnosti) — souvisí s § 35 Výkazy DPH.

9.3.5 Pruh „Účetní čeká na doklady"

Pokud má klient otevřené (nevyřízené) vyžádání dokladů, zobrazí se hned pod záhlavím výrazný pruh s počtem a odkazem na stránku Chybějící doklady — po termínu je pruh červený, jinak žlutý. Pruh zmizí, jakmile klient všechny otevřené požadavky vyřídí (nahraje doklad nebo je účetní uzavře jinak).

9.3.6 Prázdný stav bez firmy

Klient bez přiřazené firmy (viz § 9.1) uvidí místo přehledu jednoduchou zprávu, že jeho účet zatím není propojen se žádnou firmou, a výzvu kontaktovat účetní. Nová firma bez jakýchkoliv dokladů zobrazí analogický „zatím tu nejsou žádná data" stav.

9.4 Rychlé akce

Pod přehledem jsou (jen pokud má přihlášený uživatel právo zápisu) tři dlaždice pro rychlý skok mimo portál: Vystavit fakturu, Nahrát přijatou fakturu a Přidat kontakt — vedou přímo na formulář nové faktury / přijaté faktury / klienta. Samotná stránka portálu žádný formulář neobsahuje — je to čistě přehledová obrazovka, zakládání a editace dokladů se vždy odehrává na příslušných stránkách Faktury, Přijaté faktury a Klienti.

9.5 Zámek zaúčtovaných dokladů

Jádrem bezpečnosti role client je jednotný zámek zaúčtovaných dokladů — jakmile účetní doklad zaúčtuje (nebo pro něj vznikne aktivní zápis v účetním deníku, nebo spadá do uzavřeného účetního období), stává se pro klienta needitovatelným. Doklad zamyká kterákoli z těchto podmínek:

Zamčený doklad zobrazuje badge „Zaúčtováno" s vysvětlením „Doklad je zaúčtovaný — změny a storno vyřídí vaše účetní." (u uzavřeného období obdobný text). Akce jako úprava, storno, smazání, přidání/zrušení platby nebo napojení zálohy z menu detailu prostě zmizí — nejsou jen zašedlé, ale skryté, protože konečné rozhodnutí stejně vynucuje server. Naopak zůstávají dostupné akce, které doklad nemění (zobrazení, PDF, odeslání e-mailem, přidání přílohy) nebo vytvářejí nový doklad (klonování, daňový doklad k platbě).

U přijatých faktur má klient navíc speciální pravidlo: přechod do stavu Zaplaceno nebo zpět je povolený i bez zaúčtování (tenhle přechod sám o sobě doklad nezamyká — přeznačení „zaplaceno" není účetní úkon), ale přechod do stavu Zaúčtováno klient nikdy neudělá — to je vždy vyhrazené účetní/adminovi.

Upozornění

Zámek je čistě serverová záležitost — frontend badge je jen informativní. I kdyby se klient pokusil odeslat požadavek na úpravu zamčeného dokladu mimo běžné UI, API ho odmítne. Naopak jakmile účetní zaúčtování stornuje (zápis zruší), doklad se klientovi znovu odemkne.

Pro účetní a admina funguje zámek jinak — otevřené období smí upravovat vždy, u uzavřeného období dostanou informativní chybu místo tichého zamítnutí a admin si může úpravu vynutit (s automatickým záznamem do historie akcí). Detaily vynucené editace řeší § 55 Bezpečnost — RBAC.

9.6 Náhled portálu pro účetní a admina

Portál není určený jen klientovi — v menu Grafy → Přehled firmy ho najde i admin a účetní, u aktuálně zvolené firmy vidí přesně to samé, co by viděl klient. Slouží to jako rychlá kontrola „co vidí klient" i jako samostatný přehled hospodaření bez nutnosti procházet jednotlivé reporty. Náhled je čistě informativní a nijak neomezuje, co účetní/admin může jinde v aplikaci dělat — nemá vlastní zámek ani jiná omezení navíc.

9.7 Omezení a tipy

Tip

Než klientovi předáte přístup, zkontrolujte v Grafy → Přehled firmy na jeho firmě, jestli přehled dává smysl (zaúčtované doklady, aktuální DPH stav) — ušetří to zbytečné dotazy „proč mi tohle nejde upravit", protože klient uvidí přesně to, co vy v náhledu.

9.8 Vyžádané doklady od klienta

Nejčastější zdržení měsíční uzávěrky je čekání na doklady od klienta — dřív se urgovalo e-mailem mimo systém a nikdo neviděl, co už dorazilo. Vyžádané doklady řeší tenhle koloběh přímo v aplikaci: účetní založí požadavek, klient ho vidí v portálu a doklad rovnou nahraje.

9.8.1 Účetní strana — Dokumenty → Chybějící doklady

Stránka Dokumenty → Chybějící doklady (/document-requests) nabízí:

9.8.2 Klientská strana — nahrání dokladu

Klient vidí otevřené požadavky na stránce Chybějící doklady v portálu (/portal/document-requests) — u každého popis, kontextovou částku/datum a termín (po termínu červeně). Tlačítko Nahrát doklad otevře výběr souboru (PDF nebo foto/scan) — po nahrání systém doklad automaticky zpracuje stejnou AI extrakcí jako import přijatých faktur účetní (vytěží dodavatele, položky, DPH), založí koncept přijaté faktury a požadavek přepne na stav Nahráno — čeká na kontrolu. Vyřízené požadavky zůstávají na stránce v sekci Vyřízené jako historie.

Poznámka

Nahrání dokladu jen navrhne — koncept přijaté faktury pak zkontroluje a dokončí účetní stejně jako u ostatních AI importů (viz § 25 AI extrakce přijatých faktur). Požadavek se do stavu Vyřízeno nepřepne automaticky — o tom rozhoduje účetní po kontrole.

9.8.3 Notifikace na obou stranách

Dashboard účetní i domovská stránka portálu klienta zobrazí počet otevřených požadavků jako barevnou dlaždici/pruh (červeně, pokud je aspoň jeden po termínu) — proklik vede rovnou na příslušnou stránku. Pokud klient na požadavek nereaguje, denní úloha (cron-document-request-reminders.php) po výchozích 3 dnech pošle e-mailovou urgenci (šablona E-mail šablony → Chybí doklad, upravitelná stejně jako ostatní šablony) a opakuje ji nejdřív po 7 dnech (cooldown) — obojí lze při spuštění úlohy přenastavit parametry --days a --cooldown.

9.8.4 Tenant izolace

Klient vidí vždy jen požadavky vlastní aktuálně zvolené firmy — stejný fail-closed princip jako zbytek portálu (viz § 9.1). Cizí požadavek (jiné firmy) vrátí 404, ne 403, aby se neprozrazovala ani jeho existence.