Nordlet pro vývojáře aplikací
Přidejte do svého softwaru fakturaci, účetnictví a daňová přiznání v EU prostřednictvím jednoho JSON API, typových SDK, webhooků, serveru MCP a sandboxových společností.
Mnoho aplikací generuje finanční události: objednávka je zaplacena, předplatné se obnoví, proběhne vrácení peněz. Každá z těchto událostí musí skončit v účetnictví firmy.
Nordlet je účetní software navržený s důrazem na API (API-first). Všechno, co webová aplikace umí, je dostupné také prostřednictvím jednoho JSON API. Vaše aplikace odesílá události a Nordlet vede účetnictví a připravuje daňová přiznání.
Co Nordlet dokáže
- Zpřístupňuje každou akci jako
POST /v1/{module}/{resource}/{action}s tělem v JSONu, například/v1/sales/invoices/create. - Ověřuje každý požadavek pomocí klíče API, který náleží jedné společnosti. Každý klíč nese oprávnění (scopes), jako například
sales:readnebosales:write, která omezují, co může provádět. - Přijímá částky jako desetinná čísla v textovém formátu (decimal strings), nikdy ne jako čísla s plovoucí řádovou čárkou, takže se vlivem zaokrouhlování neztrácí žádné centy.
- Podporuje hlavičku
Idempotency-Keyu každé změny. Opakovaný požadavek se stejným klíčem vrátí první odpověď místo toho, aby úkol prováděl dvakrát. Idempotence znamená, že opakovaný požadavek má stejný účinek jako jeden požadavek. - Vrací každou chybu v jednom sdíleném formátu.
- Umožňuje 300 požadavků za minutu na jeden klíč API.
- Zaznamenává každou změnu do protokolu změn (audit log).
Průvodce konvencemi API se věnuje každému z těchto pravidel podrobně.
Účetnictví, které zůstává v pořádku
- Vystavení faktury přiřadí číslo bez mezer v číselné řadě, zkontroluje, zda je účetní období otevřené, a zaúčtuje účetní zápis v rámci téže databázové transakce.
- Každé zaúčtování musí být vyrovnané (má vyrovnanou má dáti / dal). Samotná databáze to kontroluje při uložení transakce.
- Vystavené a zaevidované doklady nelze smazat. Nesprávné spárování s bankou se ruší stornovacím zápisem, nikoli úpravou starého dokladu. To je podstata, kterou představuje neměnná hlavní kniha.
SDK, MCP a webhooky
- Typová SDK pro TypeScript, Python, Go, Java, C#, Ruby, PHP, Swift a Rust se generují ze stejného popisu OpenAPI. Dokud není SDK oficiálně vydáno, nainstalujete si ho ze zdrojového repozitáře. Podívejte se na průvodce SDK.
- K dispozici je kolekce pro Postman obsahující všechny koncové body (endpoints).
- Server MCP umožňuje asistentovi s umělou inteligencí, jako je Claude Code, vyhledávat v API a volat ho pomocí vašeho klíče API. Každé volání je běžným požadavkem API se stejnými oprávněními a limity.
- Webhooky informují vaši aplikaci, když se něco stane, například
sale_invoice.issuednebosale_invoice.paid. Každé doručení je podepsané podpisem HMAC, takže si můžete ověřit, že pochází z Nordletu. Neúspěšná doručení se opakovaně pokoušejí odeslat po dobu přibližně 24 hodin.
Testování pomocí sandboxových společností
- Vytvořte společnost s parametrem
isSandbox: truenebo zaškrtněte políčko sandbox při zakládání společnosti v aplikaci. - Sandboxová společnost funguje stejně jako ta skutečná: stejné moduly, stejné API.
- Je zřetelně označena jako testovací data a skutečnou společnost nelze na sandboxovou převést ani opačně.
- Přiznání a elektronické faktury sandboxové společnosti se odesílají do testovacích služeb úřadů.
- Využití v sandboxové společnosti se měří a fakturuje stejně jako využití ve skutečné společnosti.
Průvodce začínáme vás provede vytvořením prvního klíče API, vystavením první faktury a celým cyklem.
FAQ
Může jedna aplikace obsluhovat několik společností?
Ano. Každý klíč API patří jedné společnosti, takže vytvoříte jeden klíč pro každou společnost. Každé doručení webhooku nese identifikátor companyId společnosti, které náleží, takže jeden příjemce může obsluhovat více společností.
Musím si daňová přiznání sestavovat sám?
Ne. Nordlet sestavuje přiznání z účetnictví. U každého přiznání buď odešle data, vytvoří soubor k nahrání, nebo zobrazí hodnoty, které sami zadáte, v závislosti na konkrétní zemi. Tabulka podpory přiznání uvádí přehled pro jednotlivé případy.