ValidateFin
Powrót do bloga
Zaktualizowano 14 mar 2026Fakturowanie elektroniczne13 min czytaniaAutor: Eliel Nicaise

Factur-X i ZUGFeRD: standard hybrydowej faktury PDF

Factur-X (Francja/Niemcy) i ZUGFeRD osadzają ustrukturyzowaną fakturę XML wewnątrz pliku PDF/A-3. Wyjaśniamy, jak działa standard i jak odczytywać te hybrydowe faktury.

Czym jest faktura hybrydowa?

Faktura Factur-X lub ZUGFeRD to plik PDF zawierający dwie rzeczy jednocześnie: czytelny dla człowieka PDF (widoczna faktura) oraz czytelny maszynowo plik XML osadzony jako załącznik (dane strukturyzowane). Oba współistnieją w jednym pliku PDF/A-3.

Ten podwójny format to najlepsze z obu światów: ludzie czytają PDF, oprogramowanie księgowe automatycznie przetwarza XML. Jest to obowiązkowy format e-fakturowania we Francji (od 2026 roku) i szeroko stosowany w Niemczech i Belgii.

Format został znormalizowany przez FNFE-MPE (Francja) i FeRD (Niemcy) i jest obecnie oficjalnym formatem e-fakturowania dla transakcji B2G i B2B w obu krajach.

Norma EN 16931

Osadzony XML jest zgodny z europejską normą EN 16931 (semantyczny model danych dla faktur elektronicznych). Factur-X i ZUGFeRD są implementacjami tej normy — używają tej samej struktury danych, z niewielkimi różnicami w nazewnictwie.

Istnieje kilka profili zgodności, od najprostszego (MINIMUM, tylko 6 pól) po najbardziej kompletny (EXTENDED, wszystkie pola opcjonalne). Większość firm korzysta z profilu EN 16931 lub COMFORT.

Zgodność między Factur-X 1.0 a ZUGFeRD 2.0+ oznacza, że jedna implementacja może obsługiwać oba rynki — co obniża koszty rozwoju i umożliwia bezproblemowe fakturowanie transgraniczne.

Kluczowe pola w osadzonym XML

  • ExchangedDocument / IDNumer faktury — unikalny identyfikator dokumentu.
  • SellerTradeParty / NameNazwa i numer VAT sprzedawcy (obowiązkowe dla zgodności podatkowej).
  • SpecifiedTradeSettlement / GrandTotalAmountŁączna kwota brutto — musi odpowiadać PDF.
  • ApplicableTradeTaxPodział VAT: stawka, podstawa opodatkowania i kwota podatku dla każdej stawki VAT.
  • BuyerTradeParty / NameNazwa prawna nabywcy i numer VAT — wymagane do odliczenia podatku po stronie nabywcy.
  • InvoiceReferencedDocumentOdniesienie do oryginalnej faktury (w przypadku faktur korygujących) lub numer zamówienia.
  • SpecifiedTradePaymentTermsTermin płatności, warunki rabatu i warunki kar.
  • SpecifiedTradeAllowanceChargeRabaty i dopłaty zastosowane do faktury — wyszczególnione według typu i kwoty.

Factur-X vs ZUGFeRD: jaka jest różnica?

Factur-X to standard francusko-niemiecki, promowany jako Factur-X we Francji i ZUGFeRD w Niemczech. Od ZUGFeRD 2.0 (2019) oba są technicznie identyczne i w pełni interoperacyjne.

Jedyna rzeczywista różnica to branding i lokalna adopcja: francuskie podmioty publiczne i platformy (jak Chorus Pro) używają nazwy Factur-X, natomiast niemieckie systemy fakturowania odwołują się do ZUGFeRD. Osadzony schemat XML (CII — Cross Industry Invoice) jest ten sam.

Dla programistów oznacza to, że potrzebny jest tylko jeden parser XML do obsługi obu formatów. ValidateFin obsługuje obie nazwy transparentnie.

Porównanie profili Factur-X / ZUGFeRD

Standard definiuje kilka profili zgodności, od minimalnego do w pełni szczegółowego:

ProfilPolaPozycjeZastosowanie
MINIMUM~6 pólNieArchiwizacja — PDF jest źródłem danych
BASIC WL~20 pólNieProste faktury bez szczegółów pozycji
BASIC~30 pólTakStandardowe faktury z pozycjami
EN 16931 (COMFORT)~60 pólTakPełna zgodność z UE — zalecany
EXTENDED~100+ pólTakRozszerzenia branżowe
XRECHNUNG~60 pólTakNiemiecki sektor publiczny (B2G)

Większość firm powinna celować w profil EN 16931 (COMFORT), ponieważ zapewnia pełną zgodność z normą europejską, pozostając jednocześnie łatwym w obsłudze.

Jak utworzyć fakturę Factur-X

Tworzenie faktury Factur-X obejmuje trzy kroki: wygenerowanie XML CII, osadzenie go w kontenerze PDF/A-3 i walidację wyniku. Oto przebieg pracy:

  • Wygeneruj XML CIIUtwórz plik XML zgodny ze schematem EN 16931, zawierający wszystkie wymagane pola dla docelowego profilu.
  • Utwórz kontener PDF/A-3Plik PDF musi być zgodny z PDF/A-3 (ISO 19005-3), który pozwala na osadzanie dowolnych plików jako załączników.
  • Osadź XML jako załącznikDołącz plik XML (o nazwie factur-x.xml lub zugferd-invoice.xml) z AFRelationship ustawionym na 'Alternative'.
  • Dodaj metadane XMPDołącz metadane XMP Factur-X w katalogu PDF, aby zadeklarować profil i poziom zgodności.
  • Zwaliduj wynikUżyj walidatora Factur-X, aby zweryfikować zgodność z PDF/A-3, poprawność schematu XML i zgodność z profilem.

Narzędzie Factur-X ValidateFin może wyodrębnić i zweryfikować XML z dowolnego istniejącego pliku PDF Factur-X lub ZUGFeRD.

Typowe błędy walidacji Factur-X

Oto najczęstsze problemy wykrywane podczas walidacji faktur Factur-X/ZUGFeRD:

Brak załącznika XML

PDF nie zawiera osadzonego pliku XML lub plik ma nieprawidłową nazwę (musi to być factur-x.xml lub zugferd-invoice.xml).

Niezgodność z PDF/A-3

PDF nie jest prawidłowym plikiem PDF/A-3 — częsty problem przy generowaniu plików PDF standardowymi bibliotekami, które nie obsługują formatu archiwalnego.

Niezgodność profilu

XML deklaruje profil (np. EN 16931), ale brakuje wymaganych pól dla tego poziomu profilu.

Niespójność sumy VAT

Suma poszczególnych kwot VAT nie odpowiada zadeklarowanej łącznej kwocie VAT. Różnice zaokrągleń powyżej 1 centa wywołują ten błąd.

Brak metadanych XMP

Katalog PDF nie zawiera wymaganych metadanych XMP Factur-X deklarujących profil i wersję.

Wyodrębnij i zweryfikuj faktury Factur-X

Nasza przeglądarka Factur-X / ZUGFeRD wyodrębnia osadzony XML z faktury PDF i wyświetla wszystkie dane rozliczeniowe — sprzedawca, nabywca, kwoty, linie VAT i linie faktury. 100% lokalne, bez przesyłania danych.

Otwórz Przeglądarkę Factur-X

Często zadawane pytania

Jaka jest różnica między Factur-X a ZUGFeRD?

Factur-X i ZUGFeRD to w zasadzie ten sam format — faktura hybrydowa osadzająca ustrukturyzowany XML wewnątrz pliku PDF/A-3. Factur-X to branding francuski/europejski, a ZUGFeRD to branding niemiecki. Od ZUGFeRD 2.0 oba są w pełni kompatybilne i zgodne z EN 16931.

Jakie są profile Factur-X/ZUGFeRD?

Istnieje 6 profili: MINIMUM (podstawowa identyfikacja), BASIC WL (bez pozycji), BASIC (z pozycjami), EN 16931/COMFORT (pełna zgodność), EXTENDED (dodatkowe pola) i XRECHNUNG (sektor publiczny w Niemczech). Wyższe profile umożliwiają bardziej zautomatyzowane przetwarzanie.

Jak mogę wyodrębnić dane XML z pliku PDF Factur-X?

Przeglądarka Factur-X ValidateFin automatycznie wyodrębnia osadzony XML z dowolnego pliku PDF Factur-X lub ZUGFeRD. Prześlij plik PDF — narzędzie odczytuje osadzony załącznik, parsuje XML i wyświetla wszystkie ustrukturyzowane dane faktury. Wszystko działa lokalnie w przeglądarce.

Czy Factur-X jest obowiązkowy we Francji?

Tak. Od 2026 roku wszystkie faktury B2B we Francji muszą być wystawiane w formacie elektronicznym, przy czym Factur-X jest jednym z trzech akceptowanych formatów obok UBL i CII. Fakturowanie B2G przez Chorus Pro wymaga formatów ustrukturyzowanych już teraz.

Czy mogę używać Factur-X do fakturowania międzynarodowego?

Tak. Factur-X/ZUGFeRD jest oparty na europejskiej normie EN 16931 i jest akceptowany w całej UE. Profil EN 16931 COMFORT zapewnia kompatybilność z większością europejskich wymogów e-fakturowania.

Jakie narzędzia mogą generować faktury Factur-X?

Większość nowoczesnych systemów ERP i oprogramowania księgowego (SAP, Sage, DATEV, Cegid) obsługuje eksport Factur-X/ZUGFeRD. Dostępne są również biblioteki open source, takie jak Mustang (Java) i Factur-X (Python), do niestandardowych implementacji.

Jak wybrać odpowiedni profil?

Dla większości transakcji B2B zalecany jest EN 16931 (COMFORT). Dla francuskiego B2G przez Chorus Pro wystarczyć może MINIMUM lub BASIC. Dla niemieckiego sektora publicznego (B2G) wymagany jest XRECHNUNG. Sprawdź wymagania partnera handlowego.

Jaka jest różnica między Factur-X a UBL?

Factur-X osadza XML CII (Cross Industry Invoice) wewnątrz pliku PDF. UBL to samodzielny format XML bez opakowania PDF. Factur-X jest preferowany, gdy ważna jest czytelność dla człowieka (PDF), natomiast UBL jest używany do czystej wymiany maszyna-maszyna (np. Peppol).

Czy mogę przekonwertować fakturę UBL na Factur-X?

Tak, ale wymaga to mapowania pól UBL na pola CII i wygenerowania opakowania PDF/A-3. Zawartość semantyczna jest podobna, ponieważ oba implementują EN 16931, ale schematy XML się różnią. Specjalistyczne narzędzia obsługują tę konwersję.

Jak Chorus Pro obsługuje faktury Factur-X?

Chorus Pro, francuska rządowa platforma fakturowania, akceptuje Factur-X jako jeden z obsługiwanych formatów. Wyodrębnia dane XML do automatycznego przetwarzania, jednocześnie archiwizując PDF dla celów prawnych. Profil MINIMUM to minimalne wymaganie.