Kancl.ai · připravujeme

Spolehlivé jádro. Více cest k němu.

Jak je Kancl postavený a proč.

Kancl je open source headless ERP: firemní pravidla a data tvoří samostatné jádro. Přehledné UI, vestavěný asistent a externí platforma používají stejné aplikační

Databáze a aplikační pravidla

PostgreSQL drží firemní záznamy, transakce a audit. Jádro ověřuje oprávnění, počítá částky přesnými desetinnými čísly a hlídá stavy dokladů. Model navrhuje kroky; nemůže přepsat účetní pravidlo ani přímo měnit firemní tabulky.

Jedna instance pro jednu firmu

Každá firma má vlastní databázi, úložiště příloh, tajemství a doménu. Data dvou firem se nepotkají v jedné databázi, takže izolace nestojí na filtrech v dotazech. První verze se instaluje přes Docker Compose na jeden server; Kubernetes přijde později.

Python a modulární monolit

Jeden backend v Pythonu, worker jako samostatný proces téhož projektu. Jeden toolchain, jedna sada testů, žádné zbytečné služby. Správnost hlídají kontrakty a testy, ne volba jazyka.

React UI, HTTP API a MCP

React a TypeScript pro pracovní rozhraní. HTTP API pro UI, kancl-mcp jako adaptér pro externí AI klienty. Všechny cesty volají stejný registr nástrojů a stejná pravidla, včetně kontroly oprávnění a historie. Externí klient se v první verzi připojí osobním tokenem, OAuth pro connectory Claude a ChatGPT přijde později.

Vestavěný agent

Malý runtime: chat, trvalé úlohy v Postgresu, katalog nástrojů, příručka firmy a recepty, ve kterých agent připraví a člověk schválí. Bez spouštění kódu a bez subagentů v první verzi. Model dodá nakonfigurovaný poskytovatel v EU, nebo vlastní klíč firmy. Mzdová data k modelu nejdou.

Z projektu AI//BRO (MIT) přebíráme jen vybrané kusy kódu a postupy, například trvalé úlohy a napojení na datovou schránku. Kancl na něm za běhu nezávisí.

Přihlášení a oprávnění

První verze: passkey, odkaz e‑mailem a Google. Microsoft a Seznam přijdou později. Přihlášení prokazuje identitu; role a oprávnění určuje instance. Správa práv, změna bankovních účtů, citlivé exporty a podání vyžadují čerstvé ověření. Připojení e‑mailové schránky je samostatné povolení.

Schválení platí pro konkrétní obsah

Server spojí potvrzení s člověkem, akcí, verzí dokladu a příjemcem. Změna obsahu vyžádá nové schválení. Opakovaný požadavek nesmí vystavit druhou fakturu. Odesílání jde přes transakční outbox; nejistý výsledek se dohledá, ne pošle znovu.

Legislativa jako verzovaná data

Sazby, limity a XML schémata jsou verzovaná data s platností od–do v repozitáři aplikace. Výpočet si vybere pravidla podle data období a podání si pamatuje, z jaké verze vzniklo. Aktualizace přijde s novou verzí aplikace.

Banka a podání bez autopilota

Banku Kancl jen čte: Fio přes API, ostatní přes import výpisu. Platební příkazy vydá jako soubor pain.001 nebo ABO k podpisu v bance. Podání připraví jako validovaný soubor s kontrolním seznamem; přímé odeslání datovou schránkou přijde později.

Zálohy a upgrade

Šifrované zálohy databáze i příloh a pravidelný test obnovy do izolované instance. Upgrade jedním příkazem udělá zálohu před migrací; při chybě se zastaví a obnoví podle postupu. Obnova nikdy znovu neodešle starou platbu ani zprávu.

Vývoj pomocí AI agentů

Kód píšou AI agenti. Proto má návrh jednoznačné kontrakty, nezávislé testovací příklady, kontrolu migrací a obnovy a samostatné revize. Správnost účetnictví se neodvozuje z toho, že kompilace nebo testy prošly.

prošly.