Fakturoid API v3 (2026): průvodce integrací a automatizací
Fakturoid API v3 v praxi (2026): OAuth2, webhooky, API limity podle tarifu, ukázky v PHP i Pythonu a oficiální MCP server pro napojení AI agentů.
Obsah článku 15 sekcí
V kostce
- Fakturoid API v3 je v září 2026 stále aktuální, používá OAuth 2.0, webhooky a limity 1 500 až 20 000 požadavků měsíčně podle tarifu.
- Tarif Na každý den za 211 Kč měsíčně dává 3 000 požadavků, což vystačí na zhruba 1 000 faktur, tarif Na maximum za 393 Kč jich dává 20 000.
- Access token platí typicky hodinu, takže implementuj automatický refresh a vždy ulož nový refresh_token, protože ten starý přestane platit.
- Oficiální MCP server z roku 2026 napojí Fakturoid na AI asistenty jako Claude, umí vystavovat faktury i hlídat platby a platí pro něj stejné API limity.
Fakturoid je jeden z nejpopulárnějších českých cloudových fakturačních nástrojů, který denně používají desetitisíce firem, freelancerů a daňových poradců. API v3 je v září 2026 stále aktuální verzí — žádné v4 nevyšlo — a přináší moderní OAuth 2.0 autentizaci, stabilní webhooky a jasně definované rate limity s hlavičkami, které vám umožní automaticky reagovat na události v reálném čase. Novinkou roku 2026 je navíc oficiální MCP server, přes který se dá Fakturoid napojit přímo na AI asistenty jako Claude.
V tomto průvodci vám krok za krokem ukážeme, jak Fakturoid API v3 integrovat do vašeho systému — od registrace OAuth aplikace přes vytváření faktur v PHP a Pythonu až po napojení na Make.com, n8n a AI agenty. Vše je aktualizováno pro září 2026, včetně aktuálních tarifů a konkrétních API limitů pro jednotlivé tarify.
Proč používat Fakturoid API v3?
Ruční fakturace je pomalá a náchylná k chybám. S API můžete:
- Automaticky vystavovat faktury při nové objednávce z e-shopu nebo po platbě v aplikaci
- Synchronizovat kontakty mezi CRM (Raynet, HubSpot) a Fakturodem obousměrně
- Sledovat platby v reálném čase díky webhookům místo pravidelného dotazování
- Párovat bankovní platby s fakturami a odeslat potvrzení zákazníkovi
- Generovat reporty pro účetnictví bez ručního exportu
- Propojit fakturaci s Make.com, n8n, AI agentem nebo vlastním back-endem
Oproti starší verzi v2 (která používala API klíč) přináší v3 především bezpečnější OAuth 2.0 autentizaci, lepší strukturované chybové odpovědi a sjednocený formát webhook notifikací.
Základní informace o API v3 (k září 2026)
| Parametr | Hodnota |
|---|---|
| Base URL | https://app.fakturoid.cz/api/v3 |
| Aktuální verze | v3 (nejnovější, v4 nevydáno) |
| Autentizace | OAuth 2.0 (Authorization Code flow, volitelně PKCE) |
| Rate limit | dle tarifu — 1 500 až 20 000 požadavků/měsíc (viz tabulka níže) |
| Protokol | Pouze HTTPS |
| Formát | JSON |
| Rate-limit hlavičky | X-RateLimit-Remaining, X-RateLimit-Reset |
| Dokumentace | fakturoid.cz/api/v3 |
Aktuální tarify Fakturoidu a API limity (2026)
Používání API je podmíněno vaším tarifem. Od února 2025 Fakturoid používá strukturu tarifů Zdarma / Na lehko / Na každý den / Na maximum, takže staré názvy (Basic, Plus, Premium) už neplatí. Ceny uvádíme při roční platbě; při měsíční platbě jsou o dvacet až dvěstě korun vyšší.
| Tarif | Cena od (roční platba) | API požadavky/měsíc | Vhodné pro |
|---|---|---|---|
| Zdarma | 0 Kč | 1 500 | Testování, malí freelanceri |
| Na lehko | 151 Kč/měs. | omezené (nižší než Na každý den) | Pár faktur měsíčně |
| Na každý den | 211 Kč/měs. | 3 000 (cca 1 000 faktur) | Běžný chod firmy |
| Na maximum | 393 Kč/měs. | 20 000 (cca 6 000 faktur) | Firmy, účtárny, agentury |
Praktické poznatky k limitům:
- 3 000 požadavků stačí na vystavení zhruba 1 000 faktur — jeden vytvořený doklad totiž typicky spotřebuje dva až tři požadavky (vytvoření kontaktu, vytvoření faktury, odeslání).
- Na tarifu Na maximum si můžete přikoupit dalších 10 000 API požadavků nad rámec tarifu dle aktuálního ceníku — hodí se pro sezónní špičky (fakturační vlny po konci projektu).
- Každý další uživatel nebo účetní stojí 91 Kč/měsíc při roční platbě.
- Pro nové podnikatele (IČO méně než 12 měsíců) je k dispozici sleva 50 % na první roční fakturu — ideální kombinace pro start s API.
Přesné aktuální ceny ověřte v oficiálním ceníku a v dokumentaci rate-limitingu.
OAuth 2.0 autentizace krok za krokem
OAuth 2.0 je základem pro práci s Fakturoid API v3. Zde je kompletní postup od registrace aplikace až po automatický refresh tokenu.
Registrace OAuth aplikace
- Přihlaste se do svého Fakturoid účtu
- Přejděte do Nastavení → Connect other apps → OAuth 2 for app developers
- Klikněte na Vytvořit novou aplikaci
- Vyplňte název aplikace a
redirect_uri(např.https://vase-domena.cz/callback) - Uložte si Client ID a Client Secret — nikdy je nepoužívejte v klientském kódu
Získání autorizačního kódu
Přesměrujte uživatele na autorizační endpoint:
https://app.fakturoid.cz/api/v3/oauth/authorize
?client_id={CLIENT_ID}
&redirect_uri={REDIRECT_URI}
&response_type=code
&scope=read write
Po souhlasu vás Fakturoid přesměruje zpět na redirect_uri s parametrem code.
Výměna kódu za token
curl -X POST https://app.fakturoid.cz/api/v3/oauth/token \
-H "Content-Type: application/json" \
-d '{
"grant_type": "authorization_code",
"code": "AUTORIZACNI_KOD",
"client_id": "VAS_CLIENT_ID",
"client_secret": "VAS_CLIENT_SECRET",
"redirect_uri": "https://vase-domena.cz/callback"
}'
Odpověď obsahuje access_token (životnost typicky 1 hodina) a refresh_token.
Automatický refresh tokenu
Token je třeba pravidelně obnovovat. Implementujte automatický refresh:
curl -X POST https://app.fakturoid.cz/api/v3/oauth/token \
-H "Content-Type: application/json" \
-d '{
"grant_type": "refresh_token",
"refresh_token": "VAS_REFRESH_TOKEN",
"client_id": "VAS_CLIENT_ID",
"client_secret": "VAS_CLIENT_SECRET"
}'
Důležité: Vždy uložte nový refresh_token z odpovědi — starý přestane platit.
Klíčové endpointy a CRUD operace
Většina endpointů vyžaduje slug vašeho Fakturoid účtu (název účtu) v URL.
Faktury (Invoices)
GET /api/v3/{slug}/invoices.json # Seznam faktur
POST /api/v3/{slug}/invoices.json # Vytvoření faktury
GET /api/v3/{slug}/invoices/{id}.json # Detail faktury
PATCH /api/v3/{slug}/invoices/{id}.json # Úprava faktury
DELETE /api/v3/{slug}/invoices/{id}.json # Smazání faktury
Příklad vytvoření faktury:
{
"subject_id": 123,
"due_date": "2026-10-15",
"currency": "CZK",
"payment_method": "bank",
"lines": [
{
"name": "Webový vývoj — září 2026",
"quantity": 40,
"unit_name": "hod",
"unit_price": 1500,
"vat_rate": 21
},
{
"name": "Hosting a správa serveru",
"quantity": 1,
"unit_price": 2000,
"vat_rate": 21
}
]
}
Kontakty (Subjects)
GET /api/v3/{slug}/subjects.json # Seznam kontaktů
POST /api/v3/{slug}/subjects.json # Nový kontakt
GET /api/v3/{slug}/subjects/{id}.json # Detail kontaktu
PATCH /api/v3/{slug}/subjects/{id}.json # Úprava kontaktu
Události a párování plateb
GET /api/v3/{slug}/invoices/{id}/events.json # Historie událostí faktury
POST /api/v3/{slug}/invoices/{id}/fire.json # Spuštění akce (odeslání, upomínka)
Události zahrnují: vytvoření, odeslání e-mailem, zaplacení, upomínka, smazání. Pomocí fire.json můžete fakturu programově odeslat klientovi nebo vygenerovat upomínku.
Novinka 2026: Fakturoid MCP server pro AI agenty
Fakturoid v roce 2026 spustil oficiální MCP server (Model Context Protocol) — odkaz najdete v patičce webu pod „API pro vývojáře a MCP server". Co to v praxi znamená?
MCP je otevřený standard, kterým AI asistenti jako Claude komunikují s externími nástroji. Místo abyste psali vlastní integrační vrstvu, připojíte AI agenta přímo k Fakturoidu a ten může:
- Vystavovat faktury přirozeným jazykem — „Vystav fakturu za 40 hodin vývoje klientovi XY, splatnost 14 dní"
- kontrolovat stav plateb — „Které faktury jsou po splatnosti déle než týden?"
- připravovat měsíční přehledy pro vedení bez exportu do Excelu
Pro koho je to užitečné:
- Freelanceři a malé firmy — fakturujete přímo z chatu s AI, bez přepínání aplikací
- Agentury — AI agent sleduje dokončené úkoly v projektovém nástroji a automaticky vystavuje faktury
- Účetní — rychlé dotazy na stav dokladů bez nutnosti rozumět API
MCP server se řídí stejnými API limity jako klasické API, takže veškerá matematika limitů z předchozí tabulky platí i tady. Pokud už MCP servery používáte, je to nejrychlejší cesta k automatizované fakturaci — bez jediného řádku kódu.
Praktický příklad v PHP
Třída pro Fakturoid klienta s token managementem
<?php
declare(strict_types=1);
class FakturoidClient
{
private const BASE_URL = 'https://app.fakturoid.cz/api/v3';
public function __construct(
private string $slug,
private string $accessToken,
private string $userAgent = 'MojeApp ([email protected])'
) {}
public function createInvoice(array $data): array
{
$ch = curl_init(self::BASE_URL . "/{$this->slug}/invoices.json");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer {$this->accessToken}",
'Content-Type: application/json',
"User-Agent: {$this->userAgent}",
],
CURLOPT_POSTFIELDS => json_encode($data, JSON_THROW_ON_ERROR),
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode !== 201) {
throw new RuntimeException("Fakturoid API chyba: HTTP {$httpCode} — {$response}");
}
return json_decode($response, true, 512, JSON_THROW_ON_ERROR);
}
public function markAsPaid(int $invoiceId): array
{
$ch = curl_init(self::BASE_URL . "/{$this->slug}/invoices/{$invoiceId}/fire.json");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer {$this->accessToken}",
'Content-Type: application/json',
"User-Agent: {$this->userAgent}",
],
CURLOPT_POSTFIELDS => json_encode(['event' => 'pay']),
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode !== 200) {
throw new RuntimeException("Nepodařilo se označit fakturu jako zaplacenou: HTTP {$httpCode}");
}
return json_decode($response, true, 512, JSON_THROW_ON_ERROR);
}
}
// Použití
$client = new FakturoidClient('muj-ucet', $accessToken);
$invoice = $client->createInvoice([
'subject_id' => 456,
'due_date' => '2026-10-01',
'currency' => 'CZK',
'lines' => [
[
'name' => 'Konzultace — září 2026',
'quantity' => 8,
'unit_name' => 'hod',
'unit_price' => 2000,
'vat_rate' => 21,
],
],
]);
echo "Faktura č. {$invoice['number']} vytvořena.\n";
Praktický příklad v Pythonu
import requests
from datetime import datetime, timedelta
class FakturoidClient:
BASE_URL = "https://app.fakturoid.cz/api/v3"
def __init__(self, slug: str, access_token: str):
self.slug = slug
self.session = requests.Session()
self.session.headers.update({
"Authorization": f"Bearer {access_token}",
"Content-Type": "application/json",
"User-Agent": "MojeApp ([email protected])",
})
def list_invoices(self, page: int = 1, status: str = None) -> list:
"""Načte seznam faktur s paginací a volitelným filtrem stavu."""
params = {"page": page}
if status:
params["status"] = status
resp = self.session.get(
f"{self.BASE_URL}/{self.slug}/invoices.json",
params=params,
timeout=30,
)
resp.raise_for_status()
return resp.json()
def create_invoice(self, subject_id: int, lines: list,
due_days: int = 14, currency: str = "CZK") -> dict:
"""Vytvoří novou fakturu se splatností X dní ode dneška."""
due_date = (datetime.now() + timedelta(days=due_days)).strftime("%Y-%m-%d")
data = {
"subject_id": subject_id,
"due_date": due_date,
"currency": currency,
"lines": lines,
}
resp = self.session.post(
f"{self.BASE_URL}/{self.slug}/invoices.json",
json=data,
timeout=30,
)
resp.raise_for_status()
return resp.json()
# Použití
client = FakturoidClient("muj-ucet", "VAS_ACCESS_TOKEN")
novy = client.create_invoice(
subject_id=789,
lines=[{
"name": "SEO audit webu",
"quantity": 1,
"unit_price": 15000,
"vat_rate": 21,
}],
due_days=30,
)
print(f"Vytvořena faktura: {novy['number']} splatná {novy['due_date']}")
Webhooky a real-time notifikace
Webhooky vám umožní reagovat na události v Fakturoidu okamžitě, bez pollingu. Šetříte tak API limity a dosahujete nižší latence — při limitu 3 000 požadavků měsíčně je to rozdíl mezi fungující a přetíženou integrací.
Registrace webhooku
curl -X POST https://app.fakturoid.cz/api/v3/webhooks \
-H "Authorization: Bearer VAS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"url": "https://vase-domena.cz/webhooks/fakturoid",
"events": ["invoice.created", "invoice.paid", "invoice.overdue"]
}'
Dostupné webhook události
| Událost | Kdy se spustí |
|---|---|
invoice.created |
Nová faktura vytvořena |
invoice.sent |
Faktura odeslána klientovi |
invoice.paid |
Faktura zaplacena |
invoice.overdue |
Faktura po splatnosti |
invoice.deleted |
Faktura smazána |
Zpracování webhooku v PHP
<?php
// webhook-handler.php
$payload = json_decode(file_get_contents('php://input'), true);
switch ($payload['event'] ?? '') {
case 'invoice.paid':
$invoiceId = $payload['invoice_id'];
markOrderAsPaid($invoiceId); // označ objednávku v e-shopu
sendPaymentConfirmation($invoiceId); // pošli potvrzení zákazníkovi
break;
case 'invoice.overdue':
$invoiceId = $payload['invoice_id'];
sendPaymentReminder($invoiceId);
notifySlack("Faktura #{$invoiceId} je po splatnosti!");
break;
}
http_response_code(200);
echo json_encode(['status' => 'ok']);
Zabezpečení webhooků
- Omezení IP adres — povolte pouze IP adresy Fakturoidu
- HTTPS — webhook URL musí používat HTTPS
- Verifikace podpisu — pokud Fakturoid posílá signature header, vždy ho ověřujte
- Idempotence — stejnou událost zpracujte jen jednou (kontrolujte
event_id)
Integrace s Make.com a n8n (bez kódu)
Make.com: Automatická fakturace z e-shopu
Vytvořte scénář, který při nové objednávce automaticky vystaví fakturu:
- Trigger: Webhook z e-shopu (Shoptet, WooCommerce, vlastní)
- Modul HTTP:
POSTna/api/v3/{slug}/invoices.json- Headers:
Authorization: Bearer {token} - Body: JSON s fakturačními daty z triggeru
- Headers:
- Modul Email/Slack: Notifikace o úspěchu
- Error handler: Retry s exponenciálním backoffem
Tip V Make.com použijte Data Store pro uložení tokenu a naplánovaný refresh.
n8n: Self-hosted alternativa
n8n nabízí plnou kontrolu nad workflow a neomezené spuštění:
- Bez limitů na počet běhů (self-hosted)
- Data zůstávají u vás — vhodné pro GDPR citlivé scénáře
- Open-source — možnost vlastních úprav
- Cenově výhodnější pro velké objemy
V n8n použijte uzel HTTP Request s OAuth2 credential typem, který si sám řeší refresh tokenu. Pokročilejší variantou je n8n AI Agent node, který dokáže fakturaci kombinovat s dalšími kroky — například po zaplacení faktury rovnou aktualizovat CRM a rozeslat poděkování.
Nejčastější chyby a troubleshooting
Chyba 401: Unauthorized
Příčina Expirovaný nebo neplatný access token.
Řešení:
- Zkontrolujte, zda token nevypršel (typická životnost 1 hodina)
- Použijte
refresh_tokenpro získání nového access tokenu - Ověřte formát hlavičky:
Authorization: Bearer {token}
Chyba 422: Unprocessable Entity
Příčina Chybné nebo chybějící povinné parametry.
Řešení:
- Ověřte, že
subject_idodkazuje na existující kontakt - Formát data musí být
YYYY-MM-DD - Každá řádka faktury musí mít
nameaunit_price
Chyba 429: Too Many Requests
Příčina Překročen měsíční rate limit (Free = 1 500, Na každý den = 3 000, Na maximum = 20 000 požadavků).
Řešení:
- Sledujte hlavičku
X-RateLimit-Remaining - Implementujte caching pro často opakující se dotazy (např. Redis pro seznam kontaktů)
- Použijte webhooky místo pollingu
- Přechod na vyšší tarif nebo přikoupení balíčku dalších 10 000 požadavků (Na maximum)
Webhook nedorazí
Příčina Firewall blokuje příchozí spojení, neplatný SSL certifikát nebo chybná URL.
Řešení:
- Ověřte, že je endpoint dostupný z internetu
- Zkontrolujte platnost SSL certifikátu (Let's Encrypt stačí)
- Testujte endpoint manuálně pomocí
curl - Zkontrolujte logy webového serveru
Bezpečnostní doporučení
- Nikdy neukládejte tokeny v kódu — použijte environment variables nebo secrets manager (Vault, AWS Secrets Manager)
- Implementujte PKCE pro mobilní a SPA aplikace
- Minimální scope — pokud nepotřebujete zapisovat, požadujte jen
read - Rotace refresh tokenů — při každém refreshi uložte nový token
- Audit log — zaznamenávejte všechna API volání pro debugging a compliance
FAQ: Nejčastější otázky k Fakturoid API (2026)
Je Fakturoid API stále ve verzi v3?
Ano, v září 2026 je v3 nejnovější verzí. Verze v4 nebyla vydána. Endpointy, OAuth 2.0 flow a datové struktury zůstávají stabilní, takže integrace napsané v předchozích letech nadále fungují.
Kolik API požadavků mám k dispozici?
Podle tarifu: Zdarma 1 500, Na každý den 3 000 (cca 1 000 faktur) a Na maximum 20 000 požadavků měsíčně (cca 6 000 faktur), s možností přikoupit balíček 10 000 navíc. Stav sledujte přes hlavičku X-RateLimit-Remaining.
Mohu používat API v3 s bezplatným účtem?
Ano, API je dostupné i na Free tarifu. Ten umožňuje vystavit neomezený počet faktur až 5 různým odběratelům, takže je ideální pro vývoj a testování integrace.
Funguje Fakturoid s AI asistenty?
Ano — Fakturoid provozuje oficiální MCP server, přes který připojíte AI nástroje jako Claude přímo k fakturaci. AI agent pak umí vystavovat faktury, kontrolovat platby nebo připravovat přehledy přirozeným jazykem, bez vlastní integrace.
Jak migruji z API v2 na v3?
Hlavní změna je přechod z API klíče na OAuth 2.0. Datové struktury zůstávají z velké části kompatibilní. Postup:
- Zaregistrujte OAuth aplikaci ve Fakturoidu
- Implementujte OAuth flow a refresh logiku
- Postupně přepněte endpointy na URL s
/api/v3/ - Otestujte na samostatném testovacím účtu
Jak zjistím, že se blížím rate limitu?
Sledujte response hlavičku X-RateLimit-Remaining. Nastavte si alert, když hodnota klesne pod 200. Implementujte caching (např. Redis pro seznam kontaktů) a preferujte webhooky místo pravidelného pollingu.
Závěr a doporučený postup
Fakturoid API v3 je v roce 2026 robustní a stabilní základ pro automatizaci fakturace v českém prostředí — a s oficiálním MCP serverem je napojení na AI agenty záležitost minut, ne týdnů. Klíčem k úspěšné integraci je správná implementace OAuth 2.0, respektování rate limitů a využití webhooků pro real-time reakce.
Doporučený postup pro začátek:
- Zaregistrujte OAuth aplikaci ve Fakturoidu
- Implementujte autentizaci (Authorization Code flow s refresh logikou)
- Začněte s jednoduchým CRUD — čtení faktur a vytvoření jedné zkušební
- Přidejte webhooky pro sledování plateb
- Rozšiřte o Make.com, n8n nebo MCP server pro komplexní workflow napříč nástroji
Díky správné integraci s Fakturoid API ušetříte desítky hodin ruční práce měsíčně a minimalizujete riziko chyb v účetnictví.
Související návody a nástroje
- Pokud zvažujete přechod, projděte si srovnání Fakturoid alternativ včetně cen a funkcí.
- Pro obchodní týmy dává smysl propojit fakturaci také s Raynet CRM — napojení přes API je podobně jednoduché.
- Automatizaci fakturace můžete začlenit do širšího workflow popsaného v návodu na AI pro e-shopy.
AI nástroje pro účetní s ověřenými cenami: průvodce AI pro účetní.