Electronic Invoice API
Walidacja i tworzenie e-faktur przez interfejs
Te same reguły co w walidatorze w przeglądarce, dla Państwa oprogramowania: wysyłanie faktury i otrzymywanie wyniku jako JSON, tworzenie e-faktur na podstawie własnych danych. Plan Free nic nie kosztuje i obejmuje 50 wywołań miesięcznie.
Co obejmuje API: tworzy i waliduje XRechnung, ZUGFeRD i Factur-X (EN 16931). Walidacja przez API i MCP obejmuje także kolejne formaty europejskie, zob. obsługiwane formaty. Nie wysyła faktur. Jest przeznaczone wyłącznie dla firm.
Przewodniki z przykładami: XRechnung, ZUGFeRD, walidacja, eksport DATEV, integracja z Claude, ChatGPT, Copilot i własnymi agentami, dokumentacja serwera MCP.
Możliwości API
| Funkcja | Opis |
|---|---|
| Walidacja | UBL, CII oraz PDF ZUGFeRD/Factur-X zgodnie z EN 16931 i XRechnung 3.0 oraz kolejnymi formatami europejskimi (zob. obsługiwane formaty): wynik, uwagi z identyfikatorem reguły, lokalizacją i krótkim wyjaśnieniem. Pliki PDF są sprawdzane jako kontenery PDF/A-3, a osadzony XML jak każda inna faktura. |
| Tworzenie | XRechnung (UBL, CII), ZUGFeRD i Factur-X jako PDF/A-3 na podstawie faktury JSON. Każdy plik jest walidowany tą samą ścieżką kontroli przed zwróceniem; w przypadku błędów otrzymują Państwo uwagi zamiast pliku. |
| Wizualizacja | XML XRechnung lub ZUGFeRD jako czytelny PDF lub HTML, aby odbiorcy mogli odczytać i zarchiwizować faktury. |
| Konwersja | Konwersja między UBL i CII, XRechnung na PDF ZUGFeRD. |
| Ekstrakcja | Dane faktury jako JSON, CSV oraz jako partia księgowa DATEV dla faktur przychodzących. |
| Partia (wsadowo) | Walidacja wielu plików w jednym ZIP (do 200 plików, 5 MiB na plik, 50 MiB łącznie). Wynik dla każdego pliku, wykrywane są zduplikowane numery faktur w partii, a raport podsumowujący dostępny jest jako JSON, CSV lub PDF. Od planu Starter. Każdy sprawdzony plik liczy się jako jedno wywołanie, a na konto może działać jednocześnie jedna partia. |
| Kontrola poprawności | Więcej niż format: obowiązkowe dane zgodnie z § 14 ust. 4 niemieckiej ustawy o VAT (UStG), błędy obliczeń, skonto (rabat za szybką płatność) i termin płatności, zduplikowane numery faktur w partii, forma numeru VAT (bez sprawdzania w niemieckim Federalnym Urzędzie Centralnym ds. Podatków (BZSt) ani w VIES). |
Obsługiwane formaty
Dotyczy walidacji przez API i serwer MCP. Walidator w przeglądarce nadal sprawdza wyłącznie XRechnung i ZUGFeRD, a plik nigdy nie opuszcza Państwa urządzenia.
| Kraj | Format | Co jest sprawdzane |
|---|---|---|
| Niemcy | XRechnung 3.0 (UBL, CII) | Reguły EN 16931 i CIUS XRechnung |
| UE | EN 16931 (UBL, CII) | Reguły EN 16931 |
| Niemcy, Francja | ZUGFeRD / Factur-X 1.09.2 (MINIMUM, BASIC WL, BASIC, EN 16931, EXTENDED) | Reguły dla każdego profilu oraz kontrola kontenera PDF/A-3 |
| Europa | Peppol BIS Billing 3.0.21 (UBL Invoice and CreditNote) | Reguły formatu pliku. Brak wysyłania i odbierania przez sieć Peppol. |
| Holandia | NLCIUS (SI-UBL 2.0.3.13, NLCIUS-CII 1.0.3.13) | Reguły krajowe |
| Rumunia | CIUS-RO 1.0.1 | Reguły krajowe |
| Francja | Francuskie reguły CIUS (FNFE France_RFE 1.4.0.04), z country=FR, w tym EXTENDED-CTC-FR | Reguły krajowe |
| Pozostałe kraje UE | Inne CIUS EN 16931, na przykład Chorwacja, Portugalia | Wyłącznie podstawowe reguły EN 16931. Wynik to co najwyżej „ostrzeżenia”, z informacją, że reguły krajowe nie zostały sprawdzone. |
| Włochy | FatturaPA (XSD 1.2.3) | Wyłącznie oficjalny schemat. Dalsze kontrole przeprowadza organ (SdI). |
| Polska | KSeF FA(3) | Wyłącznie oficjalny schemat, bez górnych limitów powtórzeń. Dalsze kontrole przeprowadza organ (KSeF). |
Generowanie i konwersja nadal ograniczają się do XRechnung, ZUGFeRD i EN 16931. API sprawdza format pliku Peppol BIS; nie wysyła faktur.
Nasze własne testy (31 października 2026): 223 z 223 przypadków testowych (oficjalne przypadki testowe KoSIT i nasze własne przypadki błędów) dały oczekiwany wynik; 35 z 35 wygenerowanych faktur (wszystkie kategorie podatkowe, pięć formatów) przechodzi niezależną kontrolę krzyżową w walidatorze KoSIT, Mustang i veraPDF. To test na próbkach, a nie certyfikacja.
Prywatność: jak zbudowane jest API
- Wyłącznie w pamięci: Faktury są przetwarzane i nie są przechowywane. Kontener działa z systemem plików tylko do odczytu, a pliki tymczasowe znajdują się w pamięci.
- Brak treści w logach: Każde żądanie tworzy jedną linię logu z identyfikatorem żądania, czasem, czasem trwania, rozmiarem i wynikiem. Brak treści faktur i brak adresów IP w logach aplikacji.
- Serwery przetwarzające w Niemczech: Właściwe przetwarzanie odbywa się na serwerach Hetzner Online GmbH w Niemczech (centrum danych w Norymberdze). W przypadku korzystania z serwera MCP żądanie jest najpierw przetwarzane w pamięci w Cloudflare Worker pod adresem mcp.electronic-invoice.app; Cloudflare może w tym celu korzystać z centrów danych poza UE.
- Brama nadrzędna: Kontrola kluczy i limitów odbywa się w Cloudflare Worker. Widzi ona żądania w pamięci, ponieważ je przekazuje, i nie przechowuje żadnych treści. W konsoli klucz API jest przechowywany wyłącznie jako hash; w przypadku połączeń OAuth z serwerem MCP jest dodatkowo przechowywany zaszyfrowany algorytmem AES-256-GCM. Dane połączenia OAuth są przechowywane w Durable Objects z wymogiem lokalizacji w UE. Liczniki wywołań są przechowywane. Cloudflare może kierować żądania również przez centra danych poza UE; szczegóły znajdują się w umowie powierzenia przetwarzania danych.
- Przetwarzanie danych: Obowiązuje umowa powierzenia przetwarzania danych (DPA).
- Brak wykorzystania do własnych celów: Nie wykorzystujemy danych z faktur do własnych celów, w szczególności do reklamy, ulepszania produktów, analiz ani trenowania modeli AI.
- Rozliczenia: Stałe miesięczne subskrypcje przez Stripe. Stripe nie poznaje ani treści faktur, ani liczby Państwa wywołań.
Plany
| Plan | Cena miesięcznie | Wywołania w pakiecie | Wywołania na minutę | Równocześnie | Po przekroczeniu |
|---|---|---|---|---|---|
| Free | 0 EUR | 50 | około 10 | 2 | Twardy limit: kolejne wywołania są odrzucane |
| Starter | 19 EUR | 2 000 | około 60 | 4 | Kolejne wywołania są odrzucane (429) do końca okresu rozliczeniowego lub do zmiany planu na wyższy |
| Business | 49 EUR | 10 000 | około 300 | 6 | Kolejne wywołania są odrzucane (429) do końca okresu rozliczeniowego lub do zmiany planu na wyższy |
| Pro | 149 EUR | 50 000 | około 1 000 | 8 | Kolejne wywołania są odrzucane (429) do końca okresu rozliczeniowego lub do zmiany planu na wyższy |
Stałe ceny miesięczne, bez rozliczania według zużycia. VAT nie jest naliczany na podstawie § 19 niemieckiej ustawy o VAT (UStG) (mały przedsiębiorca). API jest przeznaczone wyłącznie dla firm; obowiązują warunki. Przejście do konsoli
Limity i duże wolumeny
Co się liczy: Odpowiedzi 200, 400, 422 i 504 liczą się jako jedno wywołanie; w przypadku partii liczy się każdy sprawdzony plik. 401, 403, 404, 405, 411, 413, 429, 500, 502, 503 oraz /v1/health nie są liczone.
Limit na minutę: Wartości są przybliżone i obowiązują dla każdej lokalizacji Cloudflare. Po jego przekroczeniu API odpowiada 429 rate_limited. Równocześnie oznacza uruchomione i oczekujące wywołania jednego konta. Po przekroczeniu tej liczby API odpowiada natychmiast 429 too_many_concurrent.
Wiele faktur: Wiele plików XML należy przesyłać do /v1/validate/batch (od planu Starter). Należy wysyłać tylko kilka żądań jednocześnie. Generowanie PDF trwa kilka sekund; w przypadku 503 należy ponowić próbę po Retry-After. 429 rate_limited, too_many_concurrent i batch_in_progress również podają tam czas oczekiwania w sekundach.
Rozmiar i format: Żądanie może mieć do 10 MiB (10 485 760 bajtów), partia do 50 MiB. Content-Type jest obsługiwany elastycznie: tylko multipart/form-data jest odczytywany osobno, w przeciwnym razie API wykrywa format na podstawie treści.
Przykłady kodu
Ładowanie przykładów ...
Dokumentacja referencyjna
Ładowanie dokumentacji referencyjnej ...
Teksty prawne są dostępne w języku niemieckim i angielskim: polityka prywatności, warunki API i nota prawna. Wiążąca prawnie jest wyłącznie wersja niemiecka.