NowośćBezpłatne sprawdzanie PINT AE dla ZEA
API dla deweloperów · Strona odbiorcy

InvoiceIn.

Każda e-faktura, którą odbierasz, jako jeden JSON.

Jeden bezstanowy endpoint. Wyślij POST-em to, co trafia do Twojej skrzynki — XRechnung, ZUGFeRD, Factur-X, Peppol BIS 3, FatturaPA, KSeF — i odbierz kanoniczny JSON wg EN 16931, raport walidacji z podpowiedziami, co wystawca musi poprawić, PDF do pokazania człowiekowi oraz CSV lub DATEV do księgowości. Przetwarzanie w pamięci, ~10–50 ms na dokument.

Tylko w pamięci. Nic nie jest zapisywane. Bez punktu dostępowego Peppol.

Po co to istnieje

Dostawcy Twoich klientów wystawiają teraz faktury ustrukturyzowane FA(3) przez KSeF — a oprogramowanie klienta musi je odczytać. Do tego dochodzą XRechnung z Niemiec, FatturaPA z Włoch i Factur-X z Francji, a Twój kod był pisany pod PDF-y. Zamiast pięciu parserów i pięciu zestawów reguł wysyłasz nam plik i dostajesz jeden JSON plus listę tego, co jest w nim nie tak, opisaną słowami, które księgowa może przekazać dostawcy. Dokumentu nigdy nie przechowujemy.

Demo na żywo

Wrzuć prawdziwą fakturę, którą odbierasz. Parsujemy ją, walidujemy według oficjalnych zestawów reguł i pokazujemy podpowiedzi — nic nie zostaje zapisane.

XML lub hybrydowy PDF, do 10 MB. Albo wybierz plik przyciskiem.

Język podpowiedzi

Demo: 20 faktur dziennie, bez klucza. Pliki są przetwarzane w pamięci i usuwane.

Co dostajesz

Pięć wyników. Jedno wywołanie.

01 · JSON

Kanoniczny JSON wg EN 16931

Jeden kształt dla każdej składni. Pola nazwane według modelu semantycznego z numerami BT/BG: sprzedawca, nabywca, pozycje, podział VAT, sumy, płatność i IBAN, referencje, załączniki. Krajowe rozszerzenia trafiają do extensions.

02 · Walidacja

Raport walidacji z podpowiedziami co poprawić

Oficjalne zestawy reguł plus arytmetyczne kontrole krzyżowe. Każda niespełniona reguła ma podpowiedź prostym językiem, po angielsku, niemiecku, francusku, włosku lub polsku — co wystawca musi zmienić i którego pola (numer BT) to dotyczy.

03 · Podgląd

Czytelny PDF lub HTML

Ten sam układ A4 dla każdej składni, etykiety po angielsku, niemiecku, francusku, włosku lub polsku. Dla osoby zatwierdzającej, która chce zobaczyć fakturę, a nie XML.

04 · Eksport

CSV i DATEV

Płaski CSV per pozycja lub per dokument oraz paczka księgowań DATEV (niemiecki format księgowy; Buchungsstapel EXTF 700) dla faktury przychodzącej — SKR03 lub SKR04, Twoje konto wierzyciela.

05 · Agenci

Serwer MCP

Zdalnie pod /mcp lub lokalnie przez stdio. Claude, Cursor, n8n albo Twój własny agent odczytuje i waliduje fakturę jednym wywołaniem narzędzia.

Formaty

Co wchodzi, co jest sprawdzane.

Wykrywanie jest automatyczne — wysyłasz plik, my mówimy, co to było. Hybrydowe PDF-y są otwierane, a osadzony XML wyodrębniany; sam PDF nigdy nie trafia na dysk.

Obsługiwane formaty wejściowe i walidacja stosowana do każdego z nich
FormatSkładniaKontenerStosowana walidacja
XRechnung 3.0UBL 2.1 lub CII D16BXMLXSD · EN 16931 Schematron 1.3.17 · XRechnung 3.0.2 · arytmetyka
EN 16931UBL 2.1 lub CII D16BXMLXSD · EN 16931 Schematron 1.3.17 · arytmetyka
Peppol BIS Billing 3UBL 2.1XMLXSD · EN 16931 · reguły Peppol BIS 3 · arytmetyka
ZUGFeRD 2.x / Factur-X — EN 16931, EXTENDED, XRECHNUNGCII D16Bhybrydowy PDF/A-3 lub sam XMLXSD · EN 16931 Schematron 1.3.17 · arytmetyka
ZUGFeRD 2.x / Factur-X — BASIC, BASIC WL, MINIMUMCII D16Bhybrydowy PDF/A-3 lub sam XMLXSD · reguły profilu Factur-X 1.09.2 (FX-SCH) · arytmetyka (reguły podstawowe EN 16931 nie mają zastosowania poniżej profilu EN 16931)
ZUGFeRD 1.0CII (CrossIndustryDocument 1p0)hybrydowy PDF/A-3 lub sam XMLSchemat · arytmetyka
FatturaPA 1.2FatturaPAXMLFatturaPA 1.2.2 XSD · arytmetyka (pliki wielodokumentowe zwracane jako paczka)
KSeF FA(2) / FA(3)schemat FAXMLFA(2) / FA(3) XSD · arytmetyka
Francja — CTC-FR (sprzedawca i nabywca we Francji)UBL 2.1 lub CII D16BXML lub PDF Factur-XXSD · EN 16931 · FNFE CTC-FR 1.4.0.04 (reguły BR-FR, Flux 2) · arytmetyka
RO e-Factura (CIUS-RO)UBL 2.1XMLXSD · CIUS-RO 1.0.1, który zawiera już reguły EN 16931 · arytmetyka
ZEA — PINT AE (Billing, Self-Billing)UBL 2.1XMLXSD · OpenPeppol PINT AE 1.0.4 (wspólne reguły PINT + reguły ZEA) · bezpłatna strona sprawdzania (EN)

Wersje reguł są też dostępne na żywo pod GET /v1/formats. Brakuje formatu, który odbierasz? Daj nam znać.

Dla kogo

Dla zespołów, które teraz muszą to odbierać.

Odbiór faktur ustrukturyzowanych przestał być opcją: w Polsce KSeF jest obowiązkowy dla wszystkich B2B od 1 kwietnia 2026, w Niemczech obowiązek odbioru trwa od 1 stycznia 2025, Belgia przez Peppol od stycznia 2026, Francja od 1 września 2026. Strona odbiorcy potrzebuje parsera, walidatora i sposobu, by pokazać dokument człowiekowi — i to jest cały produkt.

SaaS do AP i księgowości

Twoi klienci przekazują to, co wysyłają ich dostawcy. Jeden endpoint zamienia sześć składni w jeden JSON, który Twój proces dopasowania i akceptacji już rozumie — plus podpowiedź, którą można przekazać dostawcy, gdy jego plik jest błędny.

Wtyczki do ERP i sklepów

Dolibarr, InvoicePlane, Sylius, Shopware, Odoo — wtyczka, która czyta przychodzące faktury KSeF, XRechnung i Factur-X, to funkcja do wdrożenia w tym sprincie zamiast półrocznego projektu parsera. Bez Javy, bez toolchainu Schematron w Twoim buildzie.

Agencje budujące narzędzia dla MŚP

Mali klienci w PL, DE, FR, IT i Beneluksie dostają e-faktury i pytają Cię, co z nimi zrobić. Zwaliduj, wyrenderuj, wyeksportuj do CSV lub DATEV — i odeślij odrzucenie wystawcy z dokładnym polem do poprawy.

API

Trzy linijki do pierwszego parsowania.

Wyślij plik jako pole multipart file albo jako surowe body XML/PDF. Uwierzytelnij się przez Authorization: Bearer <key> lub X-Api-Key. Bez klucza dostajesz limit demo: 20 faktur na IP dziennie.

curl -X POST "https://invoicein-api.peculiar.systems/v1/invoice?include=validation&lang=en" \
  -H "Authorization: Bearer $INVOICEIN_KEY" \
  -F "[email protected]"

Przykładowa odpowiedź (skrócona)

{
  "ok": true,
  "source": {
    "format": "xrechnung-ubl",
    "syntax": "UBL",
    "profile": "XRechnung 3.0",
    "container": "xml"
  },
  "invoice": {
    "document": {
      "id": "RE-2026-0421",
      "issue_date": "2026-08-30",
      "type_code": "380",
      "currency": "EUR",
      "buyer_reference": "04011000-12345-03"
    },
    "seller": {
      "name": "Nordlicht Werkstatt GmbH",
      "vat_id": "DE123456789",
      "electronic_address": { "value": "[email protected]", "scheme": "EM" },
      "address": { "line1": "Kanalstraße 12", "city": "Kiel", "postcode": "24103", "country": "DE" }
    },
    "buyer": { "name": "Beispiel Bau AG", "address": { "city": "Hamburg", "country": "DE" } },
    "payment": {
      "means_code": "58",
      "credit_transfers": [{ "iban": "DE02120300000000202051" }]
    },
    "totals": { "line_net": 314.86, "net": 314.86, "tax": 22.04, "gross": 336.09, "due": 336.09 },
    "tax_breakdown": [{ "category": "S", "rate": 7, "taxable": 314.86, "tax": 22.04 }],
    "lines": [
      { "id": "1", "quantity": 3.5, "unit": "HUR", "net_amount": 314.86,
        "price": { "amount": 89.96 }, "tax": { "category": "S", "rate": 7 },
        "item": { "name": "Wartung Lüftungsanlage" } }
    ],
    "extensions": {}
  },
  "validation": {
    "valid": false,
    "errors": 1,
    "warnings": 0,
    "rule_sets": [
      { "id": "EN16931-UBL", "version": "EN 16931 validation artefacts 1.3.17" },
      { "id": "XRechnung-UBL", "version": "XRechnung 3.0.2 Schematron 2.6.0" }
    ],
    "issues": [
      {
        "id": "BR-CO-15",
        "severity": "error",
        "rule_set": "EN16931-UBL",
        "message": "[BR-CO-15]-Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).",
        "hint": "Kwota faktury z VAT (BT-112) musi być równa kwocie bez VAT (BT-109) plus łączny VAT (BT-110). 314.86 + 22.04 = 336.90, ale dokument podaje 336.09 — wystawca zaokrąglił sumy niezależnie od pozycji.",
        "field": "totals.gross (BT-112)",
        "who": "sender"
      }
    ]
  },
  "timings_ms": { "detect": 1.2, "map": 3.8, "validate": 18.1, "total": 23.4 }
}

Endpointy

POST /v1/invoice
Wszystko w jednym JSON. ?include=validation,html,pdf,csv,datev&lang=en|de|fr|it|pl
POST /v1/validate
Tylko raport.
POST /v1/parse
Tylko kanoniczny JSON, bez walidacji.
POST /v1/render.html
Czytelny HTML.
POST /v1/render.pdf
Czytelny PDF A4.
POST /v1/export.csv
Płaski CSV. ?level=lines|documents
POST /v1/export.datev
Paczka księgowań DATEV. ?skr=03|04&creditor_account=70000
GET /v1/formats
Obsługiwane formaty wejściowe i wersje zestawów reguł.
GET /v1/rules/{id}
Objaśnienie id reguły prostym językiem. ?lang=de
GET /v1/countries
Jakiego formatu wymaga obowiązek w danym kraju i czym go walidujemy.
GET /v1/vat/{number}
Sprawdza numer VAT UE: format offline, potem VIES na żywo, z datowanym potwierdzeniem.
GET /v1/peppol/{id}
Czy kontrahent jest opublikowany w Peppol i co może odbierać.
GET /docs
Dokumentacja OpenAPI.
MCP /mcp
Zdalny serwer MCP; lokalny build stdio na życzenie.

Błędy wracają jako {"ok": false, "error": {"code", "message", "hint"}} z odpowiadającym statusem HTTP. Pozostałe kredyty są w nagłówku X-Credits-Remaining.

Cennik Ceny beta

Płacisz za dokument. Kupione kredyty nigdy nie wygasają.

Jedna faktura = jeden kredyt, niezależnie od tego, jakie wyniki zażądasz w danym wywołaniu; plik zawierający kilka faktur kosztuje jeden kredyt za każdą. Bez miesięcznego minimum, bez opłat za użytkowników.

Free
€0
100 faktur

Z pierwszym kluczem, ważne 30 dni. Bez karty. Wystarczy, by podpiąć integrację i przetestować ją na prawdziwych plikach dostawców.

Starter
€29
250 faktur

Dla wtyczki w produkcji z garstką klientów.

Growth
€99
1000 faktur

Typowy przedział dla narzędzia AP lub agencji obsługującej kilku klientów.

Scale
€399
5000 faktur

Większe wolumeny i obrazy on-premise na fakturę — zapytaj.

Ceny netto (bez VAT). Płatność na fakturę lub przez link płatniczy; samoobsługowy checkout wkrótce. Faktura na życzenie przy większych wolumenach. Limit demo (20 faktur na IP dziennie) nie wymaga żadnego klucza.

Poproś o klucz.

Zostaw e-mail i, jeśli chcesz, napisz, co odbierasz. Odpowiemy kluczem oraz fakturą lub linkiem płatniczym dla płatnych pakietów.

Wybrany pakiet:

Wyniki walidacji opisują, co oficjalne zestawy reguł mówią o pliku. Nie są poradą prawną ani podatkową i żadna automatyczna kontrola nie certyfikuje dokumentu jako przyjętego przez administrację skarbową (w tym KSeF) ani przez nabywcę.

FAQ

Krótkie odpowiedzi.

Czy to punkt dostępowy Peppol?
Nie. InvoiceIn to strona odbiorcy. Działa z tym, co dostarcza Twój punkt dostępowy, skrzynka, pobranie z portalu (np. z KSeF) lub upload od klienta — także z plikami Peppol BIS 3. Wysyłka i dostarczanie w sieci zostają u Twojego dotychczasowego dostawcy.
Czy przechowujecie moje faktury?
Nie. Każde żądanie jest parsowane, walidowane i renderowane w pamięci, a po wysłaniu odpowiedzi usuwane. Żaden dokument nie jest zapisywany na dysku; nie ma kolejki, cache'u ani logu treści dokumentów. Logi żądań zawierają tylko znacznik czasu, endpoint, status, rozmiar i id klucza.
Które wersje reguł uruchamiacie?
  • Artefakty walidacyjne EN 16931 1.3.17 (Schematron UBL i CII)
  • XRechnung 3.0.2 — KoSIT Schematron 2.6.0 (UBL i CII)
  • Reguły Peppol BIS Billing 3.0, aktualny master
  • Profil przejściowy FNFE CTC-FR 1.4.0.04 (reguły BR-FR, Flux 2) — stosowany, gdy sprzedawca i nabywca mają siedzibę we Francji
  • CIUS-RO 1.0.1 (ro16931-ubl-1.0.9) — werdykt i treść komunikatów są takie jak w SPV ANAF
  • Konwencje rynkowe, których nie czyta żaden Schematron: niemieckie warunki skonta (Skonto) w wolnym tekście oraz polski numer KSeF (?ksef=)
  • UBL 2.1 XSD · CII D16B XSD · FatturaPA 1.2.2 XSD · KSeF FA(2) i FA(3) XSD
  • Arytmetyczne kontrole krzyżowe (sumy pozycji, VAT per kategoria, sumy końcowe) dla każdego formatu

Każda odpowiedź podaje użyte wersje: validation.rule_sets w treści i nagłówek X-Invoicein-Rulesets. Zmiany są datowane na /rules/changelog (kanał Atom) i w GET /v1/rulesets; każde id reguły można objaśnić przez GET /v1/rules/{id}?lang=pl.

A co z Factur-X BASIC i MINIMUM?
Sprawdzana Schematronem Factur-X 1.09.2 dla zadeklarowanego profilu (MINIMUM, BASIC WL lub BASIC: krotności, listy kodów, elementy spoza podzbioru), plus schemat i arytmetyka. Reguły podstawowe EN 16931 obowiązują od profilu EN 16931 wzwyż (EN 16931, EXTENDED, XRECHNUNG); niższe profile z definicji pomijają pola, których te reguły wymagają, więc ocenia się je według ich własnych reguł. Dla ZUGFeRD 1.0 nie dostarczamy zestawu reguł: tylko struktura i arytmetyka, oznaczone jako coverage: schema.
Czy mogę uruchomić to on-premise?
Tak — obraz Dockera z tymi samymi endpointami i serwerem MCP jest dostępny na życzenie. Przydatne, gdy faktury dostawców nie mogą opuszczać Twojej sieci.
RODO / umowa powierzenia?
Umowa powierzenia przetwarzania danych jest dostępna na życzenie. Podprocesorzy: tylko dostawca hostingu.