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

28. Banka — import výpisů a párování plateb

Místo ručního označování faktur jako zaplacených naimportuj GPC/ABO nebo podporovaný PDF výpis z banky. Systém pohyby deduplikuje, nabídne jejich párování s doklady a v podvojném účetnictví připraví bezpečné zaúčtování.

Návrhy zaúčtování, položky vyžadující zásah a historii automatických rozhodnutí najdete souhrnně v kapitole Automat účtování.

V rozbalovacím menu konkrétního pohybu je akce Vytvořit účtovací pravidlo. Předvyplní údaje protistrany a text pohybu; podmínky i účty můžete upravit. Používá plný editor bankovních pravidel. V polích MD a D hledáte účet podle čísla i názvu; bankovní strana nabízí účty 221 a nebankovní vynechává saldokonta. Uložení vytvoří pravidlo pro další podobné platby, samotný pohyb nezaúčtuje. Akci lze použít i u již zaúčtovaného pohybu.

GPC (ABO) je standardní český formát pro elektronickou výměnu výpisů. Umí ho exportovat: KB, Fio Bank, ČSOB, Raiffeisenbank, Česká spořitelna, mBank, a další.

Tip

Místo (nebo vedle) výpisů umí systém zpracovávat i bankovní e-mailová avíza z IMAP schránky — hodí se, když banka posílá oznámení o příchozí platbě rychleji než pravidelný výpis. Konfigurace bankovních účtů, IMAP schránek a parserů má vlastní kapitolu Bankovní účty a e-mailová avíza (IMAP) — najdeš ji na dalších záložkách téže stránky Peníze → Bankovní účty.

28.1 Stažení GPC výpisu z banky

Postup je v každé bance trochu jiný:

BankaCesta v internet bankingu
KBÚčet → Historie pohybů → Export → formát „GPC ABO"
FioPřehled účtu → Stažení dat → formát „GPC"
ČSOBÚčet → Výpisy → Stáhnout → formát „ABO"
RaiffeisenDetail účtu → Pohyby → Export → ABO formát
ČSDetail účtu → Výpisy → formát „ABO"

Stáhni soubor (typicky .gpc nebo .abo, někdy .txt). Velikost ~10–100 KB na měsíc obvykle.

28.2 Upload výpisu do MyÚčto

Přímé API načítání sdružuje pohyby do jednoho výpisu za měsíc, účet a měnu. V přehledu i detailu vidíte vypočtený nebo bankou potvrzený konečný zůstatek. Tlačítko GPC stáhne dostupný bankovní originál, případně vypočtený export. Pokud chybí výchozí zůstatek nebo výpočet nelze ověřit, vypočtený export není dostupný.

Při načtení nebo opakovaném párování výpisu se doplní chybějící evidence úhrady u přesně spárované příchozí platby, která pokrývá celou dosud neuhrazenou fakturu. Existující platby a ruční označení faktury jako zaplacené se zachovají.

Jednotlivé odpovědi banky se v seznamu nezobrazují jako další překrývající se výpisy. GPC pro účet s API evidencí se začlení do stejného měsíce. Pokud pokrývá všechny jeho pohyby, nahradí API přehled jako hlavní bankovní výpis pod stejným odkazem. Zachová se párování i zaúčtování a originální GPC lze stáhnout. Neúplný GPC nesmaže pohyby, které už byly načtené přes API. PDF příloha úplného podkladu zůstane dostupná u měsíčního výpisu. Další PDF původních podkladů najdeš v nabídce akcí jeho detailu.

V hlavním menu Peníze → Bankovní účty, záložka Bankovní výpisy → tlačítko Nahrát GPC/ABO nebo PDF.

Upload výpisu
Upload výpisu

💡 PDF výpis místo GPC. Některé banky GPC/ABO export nenabízejí (Banka CREDITAS), případně ho konkrétní účet nemá zapnutý. Pro Creditas, ČSOB, KB a Raiffeisenbank proto stačí nahrát rovnou PDF výpis — systém ho deterministicky rozparsuje na transakce (bez AI) a ověří, že součet sedí na počáteční a konečný zůstatek z hlavičky (na haléř přesně). Dál to funguje úplně stejně jako GPC — párování, stavy účtů i originál ke stažení. Jeden soubor může být GPC/ABO nebo PDF, rozhoduje přípona; naráz jde vybrat i mix obojího.

Vyber soubor (drag & drop nebo klik). Po nahrání:

  1. Kontrola duplicit — SHA-256 odmítne opakovaný stejný soubor; stabilní otisk jednotlivých pohybů navíc přeskočí transakce, které se opakují v překrývajícím se denním a měsíčním výpisu. Několik skutečných pohybů se shodným datem, částkou, VS a popisem v jednom souboru se přitom zachová jako samostatné transakce — rozhoduje i pořadí jejich výskytu v souboru.
  2. Validace bankovního účtu — server zkontroluje, že číslo účtu z hlavičky výpisu patří některé z měn aktuálního dodavatele.
  3. Parsing transakcí — přečte všechny řádky.
  4. Auto-matching — nejprve se u všech pohybů vyhodnotí silné signály, zejména VS, zbývající částka, číslo dokladu ve zprávě a známý účet protistrany. Ve druhém průchodu se u dosud volných odchozích plateb bez VS zkusí přesná shoda částky, měny a data. Jednoznačná shoda se potvrdí, slabší se jen nabídne.
  5. Update faktur — plně uhrazený doklad dostane stav paid a datum úhrady podle bankovní transakce; nižší platba se zapíše jako částečná a sníží zbývající částku.

Výsledek rozlišuje počet pohybů nalezených v souboru, počet skutečně založených a počet automaticky spárovaných. Jestliže se některé pohyby shodují s již evidovanými, zobrazí se samostatné varování s počty nalezeno / založeno / přeskočeno jako duplicita. U dávkového nahrání se přeskočené pohyby sečtou do společného varování. Zkontroluj je, zvlášť pokud nejde o očekávaný překryv výpisů.

Pokud měsíční GPC obsahuje platby již načtené z API, připojí se k existujícím pohybům. Rozdílné bankovní reference se propojí automaticky, pokud kromě účtu, měny, data a částky souhlasí protiúčet s variabilním symbolem nebo dostatečně podrobný popis platby. Rozdíly v mezerách, interpunkci a doplněném názvu před oddělovačem se zohledňují. Každá platba musí mít jediný protějšek v obou zdrojích. Samotné datum a částka bez dalších údajů mohou vyžadovat potvrzení nalezených dvojic. Před potvrzením porovnej údaje obou zdrojů; původní párování a zaúčtování zůstane zachované. Podrobnosti jsou v kapitole Bankovní účty.

Příklad výsledku bez přeskočených duplicit:

Importováno: 12 transakcí, spárováno: 8, k manuálnímu párování: 4.

28.3 Seznam výpisů

Záložka Bankovní výpisy ukáže historii.

Nad seznamem lze hledat také uvnitř transakcí všech výpisů:

Filtry prohledávají všechny příchozí i odchozí platby a kombinují se; výsledkem jsou výpisy obsahující alespoň jednu transakci, která splňuje všechna zadaná kritéria.

V podvojném účetnictví lze navíc zvolit Výpisy s nezaúčtovanými pohyby. Seznam u každého výpisu ukáže jejich počet. Ignorované položky a provizorní e-mailová avíza se do tohoto počtu nezahrnují.

SloupecVýznam
DatumDatum výpisu
ČísloČíslo výpisu z banky
ÚčetČíslo účtu / IBAN
MěnaCZK / EUR / …
PříchozíSuma kreditních transakcí
OdchozíSuma debetních transakcí
Spárováno12/14 — 12 z 14 transakcí spárováno na faktury
ImportovánoDatum + uživatel

V seznamu výpisů lze protistranu vyhledat psaním do filtru. Nabídka ukazuje nejvýše 50 shod; další najdeš upřesněním hledání. Vybraná protistrana zůstává součástí odkazu i uloženého filtru.

Smazání výpisu (jen administrátor) smaže výpis i s jeho transakcemi. Každý spárovaný pohyb se předtím uvolní stejně jako při Zrušit spárování: platba vzniklá párováním se z faktury odebere, faktura se vrátí do stavu podle zbývajících plateb a zaúčtovaný pohyb se v podvojném účetnictví stornuje. Opětovný import téhož výpisu pak pohyby spáruje a zaúčtuje znovu, bez dvojí úhrady. Smazání se odmítne, když by po něm v evidenci něco nesedělo:

28.3.1 Všechny pohyby

Záložka Všechny pohyby je společný přehled transakcí napříč výpisy, účty a roky. Na rozdíl od fronty K zaúčtování ukazuje i již spárované a zaúčtované pohyby. U každého řádku vidíš náš zdrojový účet, účet protistrany, výpis, párování a stav zaúčtování.

Akce jsou stejné jako v detailu konkrétního výpisu: otevření nebo zrušení párování, rozdělené párování, vytvoření dokladu, přiložení podkladu, vyžádání dokladu, ignorování i ruční zaúčtování. Po provedené akci se aktualizuje tentýž řádek; není nutné dohledávat původní výpis. Filtry podle našeho účtu, data, částky, protistrany, párování a zaúčtování lze kombinovat.

28.4 Detail výpisu

Klik na řádek → detail.

Zůstatky z API a export GPC

U pohybů z API tlačítko GPC vytváří export v profilu ČSOB/CREDITAS (CP1250, řádky 074/075/078/079). Export obsahuje všechny evidované zaúčtované pohyby stejného účtu a měny od začátku měsíce do data zvoleného výpisu. Není omezený stránkováním ani filtrem tabulky. Avíza se nezahrnují a pohyb sdílený mezi API a GPC se započítá jednou. Původní JSON z API slouží interně, v uživatelském rozhraní se nenabízí ke stažení.

Výpočet navazuje na poslední předchozí GPC nebo PDF se známým konečným zůstatkem. Přičte příjmy a odečte výdaje, včetně evidovaných pohybů mezi výchozím výpisem a začátkem měsíce. Pokud u API účtu není žádný známý počáteční ani konečný zůstatek, výpočet začíná od nuly a zahrne všechny evidované pohyby účtu v dané měně až do data výpisu. Pohyby před začátkem měsíce tvoří jeho počáteční zůstatek. Tento výchozí předpoklad odpovídá novému účtu s nulovým zůstatkem; u účtu se starší historií nahraj předchozí bankovní výpis. Známý zůstatek se nulou nenahrazuje.

Zůstatek je označený jako vypočtený a předpokládá úplnou evidenci pohybů. Po nahrání originálního bankovního výpisu ke stejnému koncovému dni se porovná s bankovním zůstatkem. Shoda se zobrazí jako potvrzená, rozdíl zablokuje nový export a ukáže částku ke kontrole. Výpočet probíhá při čtení, takže není potřeba ruční přepočet. Původní zůstatky, párování ani účetní zápisy se nepřepisují a nevytváří se dorovnávací platba.

Export má označení MYUCTO EXPORT a není originálním výpisem banky. Zpětný import tohoto exportu do MyÚčta je odmítnutý, aby se vypočtené údaje nevydávaly za bankou potvrzené. Pro ověření nahraj originální GPC z banky. Dlouhé bankovní reference se přesouvají do doplňujícího textu a základní řádek dostává lokální identifikátor. Formát není totožný s KB KM ani s rozšířeným ABO České spořitelny; v cílovém programu zvol profil GPC kompatibilní s ČSOB. Zahraniční protiúčet, který se nevejde do domácího pole, se uvádí v popisu. Delší popisy se zkracují na kapacitu formátu.

Technické specifikace: ČSOB GPC a CREDITAS GPC.

Po nahrání originálního GPC se jeho pohyby propojí s již evidovanými pohyby z API. Jejich ID, párování i zaúčtování zůstávají zachované. Pokud GPC pokrývá pohyby zobrazeného období, detail API nabídne odkaz na bankovní výpis a tlačítko GPC stáhne originál místo dopočítaného exportu. Původní API podklad zůstává zachovaný pro dohledatelnost. Nejednoznačné shody import zastaví k prověření. Samotná PDF příloha u API výpisu bez zpracovaných zůstatků nepotvrzuje výpočet; v takovém případě je dopočítaný export zablokovaný, dokud jej nenahradí GPC.

Tabulka transakcí:

Dialog Zaúčtovat předvyplňuje analytiku vlastního bankovního účtu a u spárované úhrady kontaci podle faktury. Používá stejný výpočet jako účetní zpracování, včetně víceřádkového rozúčtování. Pokud nelze kontaci bezpečně připravit, zobrazí důvod a odeslání zablokuje. Po ručním zrušení zaúčtování zůstává faktura spárovaná a kontaci lze znovu nabídnout; zápis se neobnoví samotným otevřením dialogu.

Pohyb použitý k úhradě mzdového závazku má stav Spárováno se mzdami. Označení zaúčtování otevře existující zápis úhrady v účetním deníku, ať vznikl z banky, nebo ze mzdového modulu. Pokud zápis vytvořily mzdy, banka další zaúčtování nenabízí a starší návrh kontace se zneplatní. Párování s fakturou se u mzdové úhrady nenabízí. Pokud mzdové párování účetní zápis nevytvořilo, lze pohyb ručně zaúčtovat v bance. Částečné mzdové zaúčtování má vlastní označení a pohyb zůstává mezi nezaúčtovanými, dokud zápisy nepokryjí celou částku. Příprava mzdového příkazu, e-mailové avízo ani prohlášení Zaplatil jsem samy bankovní úhradu do deníku nezapisují. Skutečný pohyb z API nebo výpisu se propojí s mzdovým závazkem a zaúčtuje pouze jednou.

SloupecVýznam
DatumDatum zaúčtování
Částka+ (kredit) / − (debet)
Měna
ProtistranaNázev + číslo účtu (pokud bance zaslala)
VSVariabilní symbol z transakce
KS / SSKonstantní / specifický symbol
PopisPoznámka z banky
StavSpárováno (zelená) / Bez shody (šedá) / Ignorováno (oranž.)
FakturaPokud spárováno, číslo faktury (klikatelné)

Odchozí platby se u přijatých faktur párují také podle platebního variabilního symbolu, vedle interního a dodavatelského čísla dokladu. Doslovná shoda má přednost před numerickou normalizací; nejednoznačné shody vyžadují kontrolu. Očekávaná částka zahrnuje zaokrouhlení dokladu, odečtené zálohy a již zaevidované úhrady. Zaokrouhlení se zohledňuje také při náhradním hledání podle protistrany nebo částky a data a při vrácení peněz z přijatého dobropisu.

28.4.1 Částečné platby (více převodů na jednu fakturu)

Příchozí platba se shodným variabilním symbolem, ale nižší částkou než zbývá uhradit, se zaeviduje jako částečná úhrada (záznam v boxu Platby detailu faktury) — faktura zůstává pohledávkou se sníženým zůstatkem a badge Částečně uhrazeno. Další převody se přičítají; jakmile platby pokryjí částku k úhradě, faktura se označí jako zaplacená (paid_at = datum poslední platby). U zálohové faktury se k částečné platbě plátci DPH rovnou připraví koncept daňového dokladu k přijaté platbě (viz § 11.1.2); doplatek zálohy, ke které už existuje finální doklad, se eviduje na finál. Stejně fungují platby z e-mailových avíz (29. Bankovní účty).

U cizoměnové faktury placené na CZK účet se přepočet kurzem dokladu použije jen k rozpoznání platby. Pokud se CZK pohyb vejde do devizové tolerance, zaeviduje se jako úhrada celého zbývajícího obnosu v měně faktury. Skutečná CZK částka zůstává beze změny na bankovní transakci; nemusí se rovnat částce faktury násobené kurzem dokladu. Výrazně nižší platba se nadále eviduje jako částečná úhrada přepočtená kurzem faktury. V podvojném účetnictví zůstává bankovní noha 221 ve skutečné CZK částce, pohledávka 311 se odúčtuje kurzem předpisu a rozdíl se zachytí na 563/663.

28.4.2 Manuální párování

Pro transakce, které se nespárovaly automaticky (typicky chybí VS, nebo částka nesedí kvůli devizovému kurzu či bankovnímu poplatku):

Skóre je dohledatelné složení signálů, nikoli odhad AI. Automatické potvrzení vyžaduje skóre nejméně 85 %, náskok alespoň 15 procentních bodů před druhým kandidátem a deterministické jádro: přesný VS, známý ověřený účet nebo jednoznačný součet více dokladů. Návrh od 35 % se může zobrazit k ručnímu posouzení. Překlep ve VS, přeplatek, rozdíl odpovídající poplatku, rozdílná měna nebo proforma automatické potvrzení vždy blokují bez ohledu na skóre.

Když nabídka nesedí, pokračuj klasickým ručním výběrem:

  1. Klik Spárovat → otevře se modal s vyhledávačem.
  2. Najdeš fakturu (číslo / klient / částka).
  3. Vyber a potvrď.

Ve stejné měně se zaeviduje platba ve výši transakce. U CZK platby cizoměnové faktury, která odpovídá celému zbytku v devizové toleranci, se faktura vyrovná celým zbytkem v její měně; přesný CZK pohyb zůstane na bankovní transakci. Výrazně nižší částka je částečná úhrada. Plné pokrytí označí fakturu paid (paid_at = datum transakce).

U odchozí platby bez VS může druhý průchod automaticky potvrdit jednu běžnou přijatou fakturu, pokud přesně sedí částka i měna, datum vystavení nebo splatnosti je nejvýše 14 dní od platby a na výpisu není jiný volný pohyb stejné částky. Doklad nesmí být uhrazen bankou, hotovostí ani zápočtem. U faktury už označené jako uhrazená musí navíc přesně sedět datum úhrady a název obchodníka musí mít společný významný token s názvem dodavatele. Jakákoli nejednoznačnost zůstane k ruční kontrole. Activity log: bank.matched_manual.

Sloučená úhrada (jedna platba na více faktur)

Když klient zaplatí víc vystavených faktur jednou platbou (součet sedí, ale variabilní symbol odpovídá jen jedné faktuře — nebo žádné), nabídne modal pod vyhledávačem sekci Sloučená úhrada. MyÚčto sám hledá kombinace faktur téhož klienta, jejichž součet odpovídá částce platby, ve výchozím okně ±7 dní kolem data platby. Klient se jménem podobným protistraně se nabízí první.

  1. Klik Spárovat → v sekci Sloučená úhrada se zobrazí návrhy kombinací (klient, jednotlivé faktury s částkami a datem, celkový součet).
  2. U správné kombinace klik Spárovat (N faktur).
  3. Každá faktura se uhradí svým plným zbytkem a označí jako zaplacená; zálohové faktury dostanou koncept finálního dokladu jako u běžné úhrady.

Pomůcky:

Omezení (záměrná, kvůli správnosti): kombinace jdou jen v rámci jednoho klienta a součet musí odpovídat částce platby (sloučená úhrada = uhradit všechny vybrané faktury celé; není to rozpouštění jedné platby na částečné úhrady). Zrušení spárování (§ 28.5) smaže všechny platby té transakce a vrátí všechny faktury zpět mezi pohledávky. Activity log: bank.tx_manual_match_split.

Tlačítko s ikonou oka otevře detail pohybu včetně protistrany, účtů, platebních symbolů, stavu, spárovaných faktur a nezkráceného popisu i poznámky. Je dostupné v detailu výpisu i mezi všemi pohyby, v tabulce a na mobilu. Po ignorování nebo zrušení spárování se seznam obnoví na pozadí se zachováním filtrů; v detailu výpisu zůstávají načtené i další stránky pohybů.

28.4.3 Ignorovat transakci

Pro transakce, které nejsou platby faktur (poplatky, převody mezi vlastními účty, refundace, …):

  1. Klik Ignorovat.
  2. V potvrzovacím dialogu můžeš doplnit vlastní poznámku (nejvýše 1000 znaků).
  3. Potvrď Ignorovat. Stav a poznámka se aktualizují přímo v seznamu bez opětovného načtení stránky; nastavený filtr zůstává zachovaný. Při filtru Bez shody transakce ze seznamu zmizí.

Poznámka je uložená u transakce a zobrazuje se u ignorovaného pohybu i při příštím otevření výpisu, v tabulce i na mobilu. Zrušení dialogu nic nemění.

Akce Zrušit spárování, u ignorovaného pohybu Zrušit ignorování, otevře potvrzovací dialog s datem, částkou a protistranou. Zrušení ignorování vrátí pohyb mezi pohyby bez shody. Pokud má pohyb poznámku k ignorování, dialog ji zobrazí a upozorní na její odstranění. Po potvrzení se poznámka smaže; zrušení dialogu ji zachová. Po potvrzení se řádek a počet spárovaných transakcí aktualizují bez reloadu; filtr zůstává zachovaný. Případná chyba se zobrazí přímo v dialogu.

28.4.4 Vytvoření přijaté faktury z výpisu (doklad o úhradě)

U odchozí (záporné) platby, ke které ještě nemáš v systému přijatou fakturu, můžeš rovnou založit její koncept přímo z výpisu:

  1. Detail výpisu → najdi odchozí transakci → klik Vytvořit fakturu.
  2. Vyber existujícího dodavatele (nebo klik Nový dodavatel a založ ho). Dodavatel se nezakládá automaticky — musíš ho potvrdit.
  3. Potvrď → vznikne koncept přijaté faktury v hrubé částce platby (1 položka, 0 % DPH) a rovnou se otevře v editoru.
  4. V editoru doplň rozpad DPH, skutečné číslo dokladu a nahraj PDF.

Variabilní symbol z platby se předvyplní do pole VS; číslo dokladu dostane dočasný placeholder BANK-{id} (přepiš ho na reálné číslo z faktury). Platba se zároveň spáruje na nově vzniklý koncept (vazba, ne paid — to potvrdíš až po finalizaci faktury).

💡 Tlačítko „Otevřít" u spárované transakce přeskočí na navázanou fakturu (vydanou i přijatou).

28.5 Reverse: zrušení spárování

Pokud automatika spárovala chybně:

  1. Detail výpisu → najdi transakci → klik Zrušit párování.
  2. Platba vzniklá párováním se z faktury odebere a stav faktury se přepočte ze zbývajících plateb. Faktura, kterou kryje jiná platba, zůstává zaplacená; jinak se vrátí na předchozí stav (sent / issued).
  3. Zaúčtovaný pohyb se stornuje. V uzavřeném nebo zamčeném období storno nejde a párování zůstane beze změny.
  4. Activity log: bank.tx_unmatch.

Ruční párování na fakturu, kterou už evidované platby plně kryjí, se odmítne. Vyšší platba se na faktuře zaeviduje jen do výše zbývající částky, stejně jako u automatického párování. Pokud platby faktury přesto přesahují částku k úhradě, úhrada se nezaúčtuje automaticky a čeká ve frontě K zaúčtování na kontrolu dvojí úhrady.

28.6 Cron — automatický scan

Místo ručního uploadu můžeš nastavit cron, který bude pravidelně skenovat adresář (např. private/bank-incoming/) a importovat nové výpisy:

cmd/cron-bank-scan.sh        # každých 30 minut

Setup:

  1. Banka pravidelně exportuje výpis e-mailem nebo SFTP do private/bank-incoming/
  2. Cron každých 30 min spustí php api/bin/cron-bank-scan.php
  3. Skript projde nové soubory, importuje, přesune do private/bank-archive/

28.7 Automatické zaúčtování spárovaných plateb (jen podvojné účetnictví)

Firmám vedoucím podvojné účetnictví MyÚčto po každém spárování/importu rovnou nabídne (a u opakovaných plateb i samo vytvoří) zápis do Účetního deníku. Daňová evidence žádný deník nemá — u ní se tato sekce, záložky ani tlačítka vůbec nezobrazují a bankovní modul funguje jen jako párování plateb popsané výše.

Automatika žije na stránce Peníze → Bankovní účty, kde firmě s podvojným účetnictvím přibudou vedle Bankovních výpisů záložky Všechny pohyby, K zaúčtování a Pravidla účtování:

Přímo v detailu výpisu (§ 28.4) navíc uvidíš u každé transakce aktuální stav zaúčtování a tlačítko podle situace — Zaúčtovat…, Schválit / Odmítnout, nebo u zaúčtovaného pohybu dvojici Přeúčtovat a Zrušit zaúčtování. Nad transakcemi lze filtrovat všechny / nezaúčtované / zaúčtované pohyby; filtr se kombinuje s filtrem stavu párování.

Přeúčtovat vs. Zrušit zaúčtování. Obojí míří na už zaúčtovaný pohyb, ale dělá něco jiného:

AkceCo uděláKdy jde
Přeúčtovatotevře řádky existujícího zápisu k opravě a zapíše opravenou kontaci; pohyb zůstane zaúčtovanýi v zamčeném nebo uzavřeném období (tam vznikne storno a nový zápis)
Zrušit zaúčtovánízápis stornuje a pohyb vrátí nezaúčtovaný do frontyjen když je období původního zápisu otevřené a nezamčené

Přeúčtování hlídá tytéž bankovní podmínky jako ruční zaúčtování: pohyb na účtu 221 musí sedět na částku z výpisu a bankovní noha se sama doplní na analytiku vlastního účtu výpisu. Celý postup i chování v zamčeném období popisuje § 48.8.2.

Automaticky zaúčtovanou transakci od ručního zápisu odliší odznak Automaticky. U návrhů je v přehledu vidět také stručné Proč — například název pravidla nebo informace, že návrh vznikl ze shody platby. Podrobné auditní vysvětlení hotového zápisu — tedy jestli za kontací stojí pravidlo účtování, vestavěné rozpoznání, naučená kontace, předkontace payment.* u spárované platby, nebo ruční přeúčtování — najdeš po jeho rozbalení v Účetním deníku, viz § 48.8.3.

28.7.1 Spárované platby faktur — přímý zápis

Jakmile se transakce spáruje s fakturou (automaticky dle VS, ručně nebo jako sloučená úhrada — § 28.4), MyÚčto se ji hned pokusí zaúčtovat. Konkrétní zápis závisí na typu dokladu:

Poznámka

Každý bankovní účet má svou analytiku. Účet 221 se nikdy nepoužívá plochý: bankovní strana zápisu padá na analytiku toho účtu, ze kterého je výpis — 221.100, 221.200, 221.300 … (o tečkovaném zápisu viz § 84.3.1). Číslo se přiděluje automaticky (první volné, které v účtovém rozvrhu nekoliduje) a najdeš i změníš ho v Nastavení → Bankovní účty → Kontace účtů. Díky tomu sedí zůstatek každé analytiky přesně na výpis daného účtu, inventarizace k rozvahovému dni se dá doložit výpisem a cizoměnové účty se přeceňují automaticky, bez míchání měn. Tam, kde text níž mluví o účtu 221, jde tedy o analytiku konkrétního účtu. Historické zápisy, které vznikly dřív, zůstávají na syntetice 221 — přesun na analytiky je účetní reklasifikace k datu a dělá se ručně, v otevřeném období.

U sloučené úhrady nebo částečných plateb rozdělených na víc faktur vznikne zápis s tolika řádky na straně 311/321 (resp. 324/314 u záloh), kolik je alokací; rozdíl do 1 Kč (zaokrouhlení, bankovní poplatek v alokaci) se dorovná automaticky na účet 648 (výnos) nebo 548 (náklad) — nad tuto toleranci se transakce nezaúčtuje sama a čeká na ruční zásah.

Než se zápis vytvoří, MyÚčto ověří:

Když některá podmínka nesedí (uzavřené období, faktura označená jako uhrazená bez evidované platby k ověření apod.), zápis se nevytvoří rovnou, ale místo něj přibude návrh v záložce K zaúčtování s vysvětlením v poznámce (např. „uzavřené období", „faktura už je označena jako zaplacená — ověřte"). Platby bez zaúčtovaného předpisu běžné faktury (ne zálohy), stejně jako křížová měna nebo CZK doklad placený cizí měnou, se nezaúčtují automaticky. Nevyřešený skutečný pohyb zůstane dohledatelný ve Všech pohybech a v jednotné frontě Účetnictví → K doúčtování, i když pro něj nevznikla kontace.

Tip

Vyúčtovací faktura ze zálohy. Když později zaúčtuješ finální (vyúčtovací) fakturu navázanou na zálohu (viz § 23.3.1 nebo § 15.8), zápis automaticky doplní i zúčtovací řádek zálohy (324/311 resp. 321/314) ve výši skutečně přijaté/zaplacené zálohy, nejvýše však do celkové částky vyúčtovacího dokladu. Případný přeplatek zůstane na 324/314 do vrácení nebo dalšího vyúčtování; částka se neodvozuje z nominální hodnoty proformy. Kombinace proforma s daňovým dokladem k přijaté platbě a vyúčtováním zároveň, nebo proforma s víc než jednou vyúčtovací fakturou, je mimo automatiku — takový zápis zaúčtuj ručně.

Poznámka

Zaúčtování spárované platby je idempotentní vůči transakci — přepárování (změna alokace, sloučená úhrada místo jednoduché) přepíše týž zápis, nevznikne duplicita. Zrušení spárování (§ 28.5) naopak zápis nejdřív stornuje (opravný zápis v deníku) a teprve pak fakturu vrátí mezi pohledávky/závazky — pokud je účetní období zápisu už uzavřené, zrušení spárování se nedokončí (hláška o uzavřeném období) a musíš nejdřív období otevřít nebo počkat na účetní.

28.7.1.1 Cizoměnové spárované platby (kurzový rozdíl)

Faktura v cizí měně (EUR, USD…) placená stejnou cizí měnou bankovní transakcí (na devizový účet) se zaúčtuje automaticky, včetně kurzového rozdílu. Stejně se zaúčtuje jednoznačně spárovaná CZK karetní platba za cizoměnovou přijatou fakturu — u ní nemusí být variabilní symbol a CZK částka se může lišit podle kurzu karetní asociace:

U platby stejnou cizí měnou fungují i částečné a sloučené úhrady (poměrná část na alokaci). CZK karetní platba za cizoměnový doklad se automaticky účtuje jen při jednoznačné vazbě 1:1 na celý doklad. Drobný nealokovaný zbytek do jedné jednotky cizí měny se vede odděleně jako provozní vyrovnání na 548/648, nikoli jako kurzový rozdíl. Mimo automatiku zůstává: křížová cizí měna (faktura v EUR placená v USD), CZK doklad placený cizí měnou a zálohová (proforma) faktura / zálohová přijatá faktura v cizí měně. Valutová pokladna umí samostatné hotovostní prodeje, nákupy a ostatní pohyby, ale úhradu cizoměnové faktury z pokladny záměrně blokuje; viz Pokladna.

Historické spárované transakce zaúčtuje správce příkazem php api/bin/backfill-bank-posting.php --supplier=<ID> --apply. Bez --apply se vypíše pouze dry-run. Back-fill respektuje existující párování i bez VS, bezpečně naváže jedinou odpovídající legacy platbu a plně kryté položky označené auto_partial uzavře jako plné. Nejednoznačné nebo skutečně částečné vazby nechá k ruční kontrole.

Nespárované transakce (odvody, poplatky, převody mezi vlastními účty) back-fill ve výchozím stavu vůbec nevyhodnocuje. S --rules je vyhodnotí, ale výsledek uloží vždy jen jako návrh. S --auto (implikuje --rules) se řídí nastavením Automatika účtování dané firmy: co má úroveň auto, dávka rovnou zaúčtuje, co má suggest, navrhne jako dosud. Firma bez nastavené automatiky má výchozí suggest, takže se pro ni ani s --auto nic nemění. Zavřená a schválená období se přeskočí (period_closed) bez ohledu na přepínače.

28.7.2 Pravidla účtování opakovaných plateb

Z rozbalovacího menu pohybu lze otevřít Vytvořit účtovací pravidlo. Otevře se stejný formulář jako na záložce Pravidla účtování, předvyplněný protistranou, zprávou, směrem, měnou a dostupnou kontací pohybu. Částka pohybu není výchozí účtovanou částkou; volitelný rozsah od/do zadáte sami nebo pomocí procentního rozpětí. Uložení pravidla samo pohyb nezaúčtuje.

Platby bez faktury (odvody na OSSZ/ZP, bankovní poplatky, úroky, leasing…) se neúčtují samy od prvního výskytu — na záložce Pravidla účtování si pro ně založíš pravidlo:

  1. Tlačítko Nové pravidlo → formulář: název, směr (příchozí/odchozí), aspoň jedno kritérium shody — protiúčet (+ volitelně kód banky), variabilní symbol, nebo fragment zprávy (podřetězec v popisu platby), volitelně rozsah částky (od–do), a kontace (účet MD/D). Pole Priorita určuje pořadí vyhodnocení (nižší číslo má přednost) a Limit pro automatiku může nad zadanou částkou vynutit pouze návrh, i když je pravidlo povýšené na automatické.
  2. Bankovní strana kontace musí být účet 221 (dle směru), druhá strana nesmí být saldokontní účet (311/321/314/324/325) — na spárované platby faktur pravidla nesahají, ty řeší § 28.7.1.
  3. Tlačítko Otestovat na historii (dry-run) ukáže, kolika transakcím za posledních 12 měsíců by pravidlo sedělo a kolik z nich je už zaúčtovaných — pomůže odladit kritéria dřív, než pravidlo uložíš.
  4. Při uložení nabídne zaškrtávátko „Navrhnout zaúčtování N historických plateb" (jen když dry-run něco našel) — vytvoří rovnou návrhy pro dosud nezaúčtované historické transakce v otevřených obdobích (max 200 položek).

U již uloženého aktivního pravidla lze stejný bezpečný běh spustit v seznamu tlačítkem Použít na historii. Zpracují se jen dosud nezaúčtované transakce v otevřených obdobích (max. 200) a vzniknou pouze návrhy ke schválení; opakované spuštění nevytváří duplicity. Nevyplněná dolní nebo horní mez částky znamená „bez omezení" na dané straně intervalu, nikoli částku 0 Kč.

Nové pravidlo vždy jen navrhuje (režim Návrh) — po importu vytvoří položku v K zaúčtování, kterou potvrdíš Schválit (případně přes ikonu ozubeného kolečka přepíšeš kontaci) nebo Odmítnout. Po pěti potvrzeních za sebou beze změny, bez odmítnutí a s vyplněným rozsahem částky se nabídne Povýšit na automatiku. Režim se nikdy nepřepne sám — povýšení vždy potvrdí člověk. Od dalšího výskytu se zápis vytvoří bez čekání ve frontě (transakce zůstane vidět v historii se štítkem, kdo/co ji zaúčtovalo).

Když transakci odpovídá víc aktivních pravidel najednou, MyÚčto nikdy neúčtuje automaticky — vytvoří návrh podle pravidla s vyšší úspěšností a označí to jako konflikt, ať si kontaci zkontroluješ ručně. Opakované odmítnutí téhož pravidla (3× po sobě u různých transakcí) ho samo deaktivuje — na to tě upozorní hláška při odmítnutí; pravidlo pak najdeš v seznamu vypnuté a můžeš ho opravit nebo smazat.

Nesedí-li žádné aktivní pravidlo, ale MyÚčto najde v posledním roce jedinou stejnou dvouřádkovou kontaci už dřív zaúčtovanou pro stejný protiúčet (a sedí-li VS, je-li vyplněný), nabídne rovnou naučený návrh — i bez založeného pravidla. Z libovolného ručního zaúčtování transakce navíc systém umí nabídnout „Podobná platba se opakuje…" → Vytvořit pravidlo s předvyplněnými kritérii i kontací, ať příště nemusíš zadávat nic ručně. Ruční opravy mají přednost před starší historií; naučený návrh zobrazí datum a změnu kontace. Rozporné opravy nový návrh nevytvoří.

Tip

Pravidlo v režimu Automaticky zaúčtuje stejně, ať výpis nahraješ ručně nebo ho naimportuje cron (§ 28.6) — motor automatiky je pro obě cesty stejný. Výjimka je zpětné doplnění historie při zakládání nového pravidla (§ 28.7.2, bod 4) — to i pro pravidlo v režimu Automaticky vždy jen navrhne, nikdy nezaúčtuje samo, ať máš na staré transakce jistotu, než je potvrdíš.

28.7.3 Vlastní převody mezi bankovními účty

Pohyb mezi dvěma bankovními účty téže firmy MyÚčto rozpozná podle účtu výpisu a protiúčtu. Ve frontě K zaúčtování jej označí štítkem 🔁 Vlastní převod a nabídne samostatné zaúčtování každé bankovní transakce přes účet 261 — Peníze na cestě:

Obě nohy se propojí, jakmile dorazí ve výpisech. V detailu výpisu lze přejít na druhou nohu; dokud ještě nedorazila, zůstává zůstatek 261 doloženým převodem na cestě. To je běžné například při odeslání 31. prosince a připsání 2. ledna.

Převod mezi účty v různých měnách systém pouze označí k ručnímu zaúčtování, protože je potřeba zohlednit kurzový rozdíl. Pokud už existuje podobný ruční zápis přes 261, automatika upozorní na možné zdvojení a bez kontroly jej nezaúčtuje. Stejné varování se zobrazí při ručním zadání převodu, ke kterému už existuje bankovní transakce.

28.7.4 Odvody ČSSZ, zdravotním pojišťovnám a finančnímu úřadu

Odchozí korunové platby na účty vedené u ČNB (kód banky 0710) MyÚčto rozpoznává samostatně. Nejprve hledá odpovídající předpis zálohy na daň, sociální nebo zdravotní pojištění podle variabilního symbolu, data splatnosti a částky. Pokud předpis nenajde, určí druh odvodu z variabilního symbolu firmy a předčíslí účtu finančního úřadu. Platby mimo banku 0710 tento detektor nikdy nepřebírá.

Rozpoznaný odvod se zobrazí ve frontě s kontací 336/341/342/343/345 proti 221, údajem Jistota a lidským vysvětlením. Platba i vratka DPH míří na zúčtovací analytiku 343.900 — tedy přesně na účet, na kterém po měsíčním zúčtování DPH (§ 84.3.3) leží skutečný závazek vůči finančnímu úřadu; firma bez analytik účtuje jako dřív na holou 343. Nejasný odvod zůstane pouze návrhem. Pokud na zúčtovacím účtu chybí zaúčtovaný předpis nebo jeho kreditní zůstatek nestačí na platbu, automatika zápis sama neprovede, aby nevytvořila debetní zůstatek závazku.

Na stránce Pravidla účtování lze tlačítkem Ze šablony založit připravené pravidlo pro odvody, bankovní poplatky, úroky, nájem nebo předplatné. Šablona doplní identifikátory z nastavení firmy a vždy vznikne v režimu Návrh. Firemní katalog se spravuje v Nástroje → Šablony bank. pravidel podle oprávnění bank.rules. Změna šablony ovlivní její budoucí použití v aktuální firmě; už dříve vytvořená pravidla se zpětně nemění. Použitou šablonu lze deaktivovat, ale ne smazat.

Fronta má vedle běžných návrhů také záložku Potřebuje mě. Sdružuje položky, které vyžadují rozhodnutí, i blokované položky z uzavřeného období. Jednotlivou položku lze po kontrole schválit; blokované a AI návrhy se nikdy neschvalují hromadně.

28.8 Tipy

28.9 Přímé napojení na banku (API)

Kromě ručního nahrání GPC/ABO nebo PDF (§ 28.2) umí MyÚčto pro vybrané banky stahovat pohyby přímo přes bankovní API a u většiny z nich i předávat platební příkazy. Napojení se zakládá na stránce Peníze → Bankovní účty, záložka Měny a účty, v sekci Přímé napojení na banku u konkrétního měnového účtu. Podrobný postup založení pro každou banku (přístupové údaje, certifikáty, OAuth souhlas) je v § 29.1.3. Tahle sekce shrnuje, co napojení jako celek umí, jaké má limity a jak je to bezpečnostně řešené.

28.9.1 Podporované banky

BankaKódTechnologiePohybyOdeslání příkazu
KB Business (KB+)0100Extra služba API Business — OAuth2, ADAA (pohyby) + BATCHDA (dávky)anoano, se souhlasem bpisp (§ 28.9.6)
Fio banka (ČR i SR)2010, 8330API token vázaný na konkrétní účetanoano
ČSOB0300CEB Business Connector — číslo smlouvy + komunikační certifikátanoano
Raiffeisenbank5500Premium API — Client ID + certifikátanoano
Česká spořitelna0800Premium Accounts API v3 — OAuth2 Authorization Codeanone (zatím neimplementováno)
Banka CREDITAS2250Bearer token, volitelně mTLS certifikátanoano

Přehled bank se v sekci zobrazuje vždy; v seznamu účtů pod ním se nabízí jen účet, jehož kód banky konektor podporuje — ostatní účty tam nejsou vidět. Každý měnový účet má vlastní přístupové údaje a vlastní stav napojení (aktivní / pozastavené / odpojené).

28.9.2 Co napojení dělá s pohyby

Stažené pohyby se ukládají jako bank_api a slučují do jednoho měsíčního výpisu pro danou firmu, účet, kód banky a měnu — opakované načtení stejného období doplní tentýž výpis, překrývající se pohyby se nezapočítají podruhé. Dál se s nimi pracuje úplně stejně jako s nahraným GPC: párování na faktury (§ 28.4.2), automatické zaúčtování v podvojném účetnictví (§ 28.7) i pravidla pro opakované platby. Pokud pro tentýž účet a měsíc později nahraješ úplný GPC, nahradí API přehled jako hlavní výpis a zachová párování i zaúčtování (§ 29.1.3).

Načítání má bezpečnostní meze:

28.9.3 Automatická synchronizace (cron)

Ruční tlačítko Načíst pohyby u účtu není jediná cesta — cron cmd/cron-bank-connections.{sh,cmd} (spouští php api/bin/cron-bank-connections.php) projde všechny aktivní napojení se zadanými přístupovými údaji a zavolá pro každé automatické pokračování posledního načtení. Pokud žádné napojení není aktivní, běh se přeskočí. Cron neřeší nic navíc oproti manuálnímu tlačítku — jen ho spouští za tebe pravidelně, typicky každých 15 minut (*/15 * * * *). Nastavení plánovače je v playbooku automatizačních skriptů.

Některé banky omezují, jak často lze pohyby stahovat. KB+ povoluje stažení nezměněných dat nejvýš jednou za 61 minut, jinak dotaz odmítne. Cron proto napojení KB+ zavolá až po uplynutí 61 minut od posledního pokusu a mezitím ho přeskočí. Nové pohyby z KB+ se tak v aplikaci objeví nejpozději zhruba za hodinu. Když banka dotaz kvůli četnosti odmítne, napojení se neoznačí jako chybné a další běh to zkusí znovu. Ruční tlačítko Načíst pohyby tímto odstupem omezené není.

28.9.4 Odeslání platebního příkazu

Napojení s podporou příkazů (viz tabulka výše) umí místo exportu KPC/PDF předat připravený příkaz z Nákup → Platební příkazy přímo bance k autorizaci (§ 29.1.4). Platí pro to vždy:

28.9.5 Zabezpečení přístupových údajů

Tokeny, API klíče, hesla k certifikátům i OAuth tokeny se ukládají výhradně na serveru, šifrované (AES-256-GCM, envelope s kontextem konkrétního napojení — dodavatel + účet), a do prohlížeče se po uložení už nevrací; ve formulářích se needitují, jen nahrazují. Šifrovací klíč (app.secret_encryption_key, resp. proměnná prostředí MYINVOICE_SECRET_KEY) musí nastavit správce instalace — bez něj napojení nejde vůbec dokončit. Klientské certifikáty (.p12/.pfx) mají limit 24 KiB a jejich privátní klíč se při komunikaci s bankou používá jen v paměti procesu, nikdy se neukládá rozšifrovaný na disk. Certifikátová napojení (ČSOB, Raiffeisenbank, KB+, volitelně CREDITAS) vyžadují na serveru PHP cURL s podporou klientského certifikátu v paměti a rozšíření OpenSSL.

28.9.6 KB Business (KB+) — rozšíření o odesílání dávek (BATCHDA)

Napojení KB+ stojí na registraci aplikace u KB (Software Statement) a na OAuth2 tokenech. Stejný základ mají všechna API KB. MyÚčto nad ním čte pohyby přes ADAA a volitelně odesílá platební dávky přes BATCHDA; STATDA (stažení originálních souborů výpisu) a NOTDA (notifikace) konektor nevyužívá.

Hromadné platby nepotřebují samostatný API klíč BATCHDA. Dávku autorizuje access token, který banka vydá se scope bpisp. Tento scope musí mít registrace aplikace i souhlas udělený k účtu. Pole klíč BATCHDA ve formuláři je nepovinné a na developer portálu KB ho běžně nezískáš. Vyplň ho jen tehdy, když ti ho KB výslovně vydala; pak se k dávce přiloží jako identifikátor volajícího. Bez něj MyÚčto posílá dávku jen s tokenem a klíč ADAA do služby dávek neposílá.

Zapnutí u nového napojení. Ve formuláři napojení u účtu (§ 29.1.3) zaškrtni Chci i hromadné platby (BATCHDA). Registrace aplikace se pak u KB žádá se scope adaa a bpisp a navazující souhlas v KB zahrnuje i oprávnění k odesílání dávek. Bez zaškrtnutí (a bez vyplněného klíče BATCHDA) se aplikace registruje jen se scope adaa a napojení umí výhradně čtení pohybů. Volbu zapni jen tehdy, když tvoje varianta Extra služby API Business dávky zahrnuje; jinak KB registraci se scope bpisp odmítne.

Rozšíření existujícího napojení. Sekce napojení u účtu ukáže, proč dávky nejdou, a podle toho vede na jednu ze dvou cest, kterými rozšíření řeší banka:

Registraci i souhlas musí v KB potvrdit tentýž uživatel (klient KB), jinak banka tokeny nevydá.

Platnost souhlasu. Access token platí jen několik minut a MyÚčto ho průběžně obnovuje refresh tokenem. Refresh token platí 12 měsíců. Po jeho vypršení přestane fungovat čtení pohybů i odesílání dávek a je potřeba Zahájit nové ověření v KB+; novou registraci aplikace to nevyžaduje.

Když napojení dávky odeslat neumí, zobrazí se u účtu upozornění s důvodem a odeslání příkazu aplikace odmítne dřív, než cokoli předá bance (payment_submission_unavailable). Příkaz pak nahraješ do KB ručně; čtení pohybů tím omezené není. Odeslaná dávka má nejvýše 100 plateb a její příjem bankou není autorizace ani úhrada. Tu je vždy nutné dokončit v internetovém bankovnictví.