Wróć do bloga

ZUGFeRD i XRechnung 2025 — poradnik e-faktur dla małych firm w Niemczech

Opublikowano 23 sierpnia 20269 min czytania
Ten poradnik dotyczy Niemiec. ZUGFeRD i XRechnung to dwa formaty e-faktur stosowane w Niemczech, a poniższe terminy dotyczą firm zarejestrowanych tam do celów podatkowych — w tym firm z zagranicznym kapitałem i jednoosobowych działalności prowadzonych w Niemczech. Jeśli Twoja firma jest zarejestrowana gdzie indziej, to Cię nie dotyczy.

Od 2025 roku e-faktura (E-Rechnung) staje się w niemieckim obrocie B2B stopniowo obowiązkowa. Dla wielu małych firm i osób prowadzących jednoosobową działalność brzmi to na początku skomplikowanie — ale takie nie jest. Z tego poradnika dowiesz się, czym są ZUGFeRD i XRechnung, jakie obowiązują terminy i jak zacząć z Invoice.app w kilka minut.

W skrócie: e-faktura to nie PDF w załączniku do e-maila, tylko faktura w ustrukturyzowanym, czytelnym maszynowo formacie zgodnym z europejską normą EN 16931. Dobra wiadomość: z aplikacją taką jak Invoice.app nie musisz zajmować się szczegółami technicznymi — wystawiasz fakturę jak zwykle, resztę robi aplikacja.

Czym jest e-faktura? ZUGFeRD i XRechnung w praktyce

Zwykła faktura PDF ani faktura papierowa nie są w rozumieniu przepisów e-fakturą. E-faktura zawiera wszystkie dane faktury w ustrukturyzowanym zbiorze danych, który oprogramowanie księgowe odbiorcy potrafi automatycznie wczytać i przetworzyć. W Niemczech są do tego dwa powszechne formaty — oba spełniają europejską normę EN 16931:

  • ZUGFeRD — format hybrydowy: zwykły, czytelny dla człowieka plik PDF (dokładniej: PDF/A-3), w którym osadzone są ustrukturyzowane dane XML. Twój klient widzi fakturę taką jak zawsze, a jego oprogramowanie odczytuje dane w tle. Jeden plik dla człowieka i dla maszyny.
  • XRechnungczysty dokument XML bez widocznego układu graficznego. To format wymagany przez instytucje publiczne (federalne, krajów związkowych i gminne), czyli w obrocie z administracją (B2G).

Technicznie oba formaty opierają się na tych samych standardach (UN/CEFACT CII, EN 16931). Dla Ciebie jako wystawcy faktury liczy się przede wszystkim jedno pytanie: do kogo trafia faktura — do firmy czy do instytucji publicznej? O tym za chwilę.

Od kiedy obowiązuje e-faktura?

Na mocy ustawy Wachstumschancengesetz Niemcy wprowadzają e-fakturę dla krajowych transakcji B2B etapami. Harmonogram:

DataCo obowiązuje
1 stycznia 2025Obowiązek odbioru: każda firma musi umieć odbierać i przetwarzać e-faktury — niezależnie od wielkości.
1 stycznia 2027Obowiązek wystawiania dla firm o obrocie powyżej 800 000 € w roku poprzednim.
1 stycznia 2028Obowiązek wystawiania dla wszystkich pozostałych firm.

Dla wielu małych firm na początku zmienia się tylko jedno: muszą umieć odbierać e-faktury. Obowiązek samodzielnego wysyłania e-faktur wchodzi w życie dopiero po okresach przejściowych wskazanych powyżej.

A drobni przedsiębiorcy? Również jako drobny przedsiębiorca (§ 19 UStG) musisz od 2025 roku umieć odbierać e-faktury. Z obowiązku samodzielnego wystawiania e-faktur drobni przedsiębiorcy są w obecnym stanie prawnym zwolnieni — faktury papierowe lub PDF pozostają tu dopuszczalne. Wyłączone są ponadto faktury na małe kwoty do 250 € oraz bilety przewozowe. Swój konkretny przypadek najlepiej wyjaśnij z doradcą podatkowym.

ZUGFeRD czy XRechnung — czego potrzebujesz?

Zasada jest prosta:

  • Faktura dla firmy (B2B) → plik PDF w formacie ZUGFeRD. Twój klient dostaje PDF jak zwykle — tyle że z osadzonymi danymi faktury.
  • Faktura dla instytucji publicznej (B2G) → plik XML w formacie XRechnung. Instytucje publiczne wymagają z reguły XRechnung (albo równoważnego dopuszczalnego formatu) i podają Ci Leitweg-ID — unikalny identyfikator, dzięki któremu Twoja faktura trafia do właściwego odbiorcy w administracji.

Najlepsze jest to, że w Invoice.app nie musisz wybierać formatu. Gdy tylko włączysz e-fakturę, przy każdej fakturze automatycznie powstaje ZUGFeRD. Jeśli u danego klienta wpiszesz dodatkowo Leitweg-ID, dla tego klienta automatycznie dojdzie plik XML XRechnung.

Jak wystawiać e-faktury w Invoice.app

Krok 1 — włącz e-fakturę

Otwórz ustawienia swojej firmy. Przy firmach niemieckich pojawia się tam sekcja „E-faktura” z przełącznikiem „Włącz e-fakturę”. Wystarczy jeden przełącznik — osobnego ustawienia dla ZUGFeRD i XRechnung świadomie nie ma: „Osadza dane e-faktury w każdym pliku PDF faktury (ZUGFeRD) i dołącza plik XML XRechnung dla klientów z Leitweg-ID”.

Ustawienia firmy w Invoice.app: sekcja „E-faktura” z przełącznikiem „Włącz e-fakturę”

Krok 2 — uzupełnij numer VAT UE

Do wystawiania niemieckich e-faktur Invoice.app potrzebuje numeru VAT UE Twojej firmy — samo pole NIP tutaj nie wystarczy. Wpisz numer identyfikacyjny VAT w profilu firmy (z kodem kraju, np. DE123456789). Jeśli go zabraknie, aplikacja zwróci na to uwagę przy wysyłce.

Krok 3 — wpisz Leitweg-ID (tylko dla instytucji publicznych)

Jeśli rozliczasz się z instytucją publiczną, wypełnij w formularzu klienta pole „Numer referencyjny klienta (Leitweg-ID)” — pojawia się ono u klientów z krajem Niemcy. Podpowiedź pod polem mówi to wprost: „Wymagane w przypadku faktur XRechnung dla niemieckich instytucji publicznych”. Przy zwykłych klientach B2B po prostu zostaw to pole puste.

Formularz klienta w Invoice.app z polem „Numer referencyjny klienta (Leitweg-ID)” dla faktur XRechnung dla instytucji publicznych

Krok 4 — wystaw fakturę i udostępnij ją

Wystaw fakturę jak zwykle i udostępnij ją. To, co dostaniesz przy udostępnianiu, zależy od klienta:

  • Klient firmowy (bez Leitweg-ID): pojedynczy plik PDF ZUGFeRD z osadzonymi danymi.
  • Instytucja publiczna (z Leitweg-ID): archiwum ZIP z plikiem PDF oraz osobnym plikiem XML XRechnung.

Osadzona e-faktura powstaje przy wysyłaniu, udostępnianiu lub eksportowaniu — nie w samym podglądzie na ekranie. Przy okazji: w eksporcie księgowym możesz dołączyć zbiorczo pliki XML XRechnung opcją „Pliki XRechnung”.

Podgląd niemieckiej faktury wystawionej w Invoice.app

Korygowanie faktur

Wysłanej już e-faktury nie zmieniasz bezpośrednio — wystawiasz korektę. W formularzu faktury wybierz rodzaj „Korekta”, w polu „Faktura korygowana” wskaż dokument źródłowy i wypełnij pole „Przyczyna korekty”. Korekta jest kompletną, poprawioną fakturą, która na nowo wykazuje pierwotne wartości i odwołuje się do oryginału (typ e-faktury 384). Ponieważ nadal jest to faktura sprzedaży, również korekta automatycznie otrzymuje swoje dane ZUGFeRD lub XRechnung.

Faktura korygująca w Invoice.app z odwołaniem do faktury korygowanej

Co jest sprawdzane? Najczęstsze potknięcia

Invoice.app sprawdza każdą e-fakturę przed wysyłką pod kątem oficjalnych reguł walidacji (EN 16931 oraz wytycznych XRechnung wydanych przez KoSIT). Jeśli coś się nie zgadza, pojawi się komunikat „Walidacja nie powiodła się” wraz z listą punktów do poprawienia — zanim faktura trafi do klienta. Najczęstsze z nich:

  1. Brak numeru VAT UE firmy. Do wystawienia e-faktury Invoice.app potrzebuje numeru identyfikacyjnego VAT wystawcy.
  2. Ceny brutto zamiast cen netto. Invoice.app wystawia obecnie niemieckie e-faktury wyłącznie na podstawie cen netto z wykazanym podatkiem. Przestaw fakturę na ceny netto.
  3. Nieustrukturyzowany adres firmy. Adres musi być zamieniony na pola strukturalne (ulica, kod pocztowy, miejscowość, kraj) — swobodny blok tekstu nie wystarczy.
  4. Nieobsługiwana kategoria podatkowa. Własne stawki 0% nie zadziałają — użyj wbudowanej niemieckiej stawki VAT albo jednej z kategorii obsługiwanych zgodnie z EN 16931 (zwolnienie, dostawa wewnątrzwspólnotowa, eksport lub odwrotne obciążenie).
Komunikat „Walidacja nie powiodła się” w Invoice.app — aplikacja sprawdza e-fakturę przed wysyłką

Odbieranie i import e-faktur

Obowiązek odbioru dotyczy każdej firmy od 1 stycznia 2025 roku — i to właśnie ta część dotyka większość firm jako pierwsza. Invoice.app odczytuje pliki ZUGFeRD i XRechnung, które przysyłają Ci dostawcy, i zamienia je w faktury, z którymi możesz dalej pracować.

  1. Wgraj plik. Na liście faktur znajdziesz pozycję „Importuj e-fakturę”. Możesz wgrać plik PDF ZUGFeRD, samodzielny plik XML XRechnung albo archiwum ZIP z maksymalnie 50 fakturami naraz.
  2. Sprawdzenie. Każdy plik jest weryfikowany względem EN 16931 i wytycznych XRechnung KoSIT, zanim cokolwiek zostanie utworzone.
  3. Przypisanie. Invoice.app porównuje Twoją firmę ze sprzedawcą i nabywcą: jeśli jesteś nabywcą, powstaje faktura zakupu; jeśli jesteś sprzedawcą — na przykład przy fakturze, którą sam wystawiłeś — faktura sprzedaży. Pozycje, podatki, rabaty, warunki płatności i sumy przechodzą razem z nią.
  4. Ochrona przed duplikatami. Faktura, którą już zaimportowałeś, zostanie rozpoznana i nie utworzy się po raz drugi — możesz więc bezpiecznie wgrać ten sam folder ponownie.
  5. Oryginał zostaje zachowany. Wgrany plik pozostaje załącznikiem utworzonego dokumentu. Zaimportowane faktury są tylko do odczytu, aby zgadzały się z plikiem przysłanym przez dostawcę.

Dwa ograniczenia: składnia UBL formatu XRechnung nie jest obecnie obsługiwana — w takim przypadku zaimportuj wariant ZUGFeRD (CII). Import należy też do abonamentu Premium i jest dostępny dla firm niemieckich.

Warto wiedzieć

  • Invoice.app tworzy pliki — wysyłkę wykonujesz Ty. Aplikacja wystawia zgodny z normą plik PDF ZUGFeRD lub XML XRechnung. Wysyłasz go klientowi samodzielnie (e-mailem) albo wgrywasz na portal fakturowy instytucji publicznej. Nie ma automatycznego przekazywania do urzędu ani do administracji skarbowej i nie ma Peppol.
  • E-fakturami stają się tylko faktury i noty kredytowe. Oferty i zamówienia nie generują danych ZUGFeRD ani XRechnung.
  • Podgląd nie pokazuje osadzonych danych. E-faktura powstaje dopiero przy wysyłaniu, udostępnianiu lub eksportowaniu.

Ten artykuł ma charakter ogólnie informacyjny i nie zastępuje porady podatkowej. W swojej konkretnej sprawie zwróć się do doradcy podatkowego.

Przydatne linki

FAQ — Najczęściej zadawane pytania o ZUGFeRD i XRechnung

ZUGFeRD to format hybrydowy: czytelny plik PDF z osadzonymi danymi XML, idealny do faktur dla firm (B2B). XRechnung to czysty dokument XML wymagany przez instytucje publiczne (B2G). Oba spełniają europejską normę EN 16931.

Tylko wtedy, gdy wystawiasz fakturę instytucji publicznej — to ona podaje Ci Leitweg-ID. Przy zwykłych fakturach B2B dla firm Leitweg-ID nie jest potrzebny; wystarczy plik PDF ZUGFeRD.

Nie. Do wystawienia e-faktury Invoice.app potrzebuje numeru VAT UE Twojej firmy — samo pole NIP tutaj nie wystarczy. Wpisz numer VAT UE z kodem kraju (np. DE123456789) w profilu firmy.

Nie. Invoice.app tworzy zgodny z normą plik (PDF ZUGFeRD lub XML XRechnung). Wysyłkę do klienta albo wgranie na portal instytucji wykonujesz samodzielnie. Dla Niemiec nie ma automatycznego przekazywania do urzędu.

Odbierać e-faktury musisz już od 2025 roku. Z obowiązku samodzielnego wystawiania e-faktur drobni przedsiębiorcy są w obecnym stanie prawnym zwolnieni — faktury papierowe lub PDF pozostają dopuszczalne. Swój przypadek wyjaśnij z doradcą podatkowym.

Invoice.app tworzy ZUGFeRD (profil EN 16931, osadzony w pliku PDF/A-3) oraz XRechnung (obecnie wersja 3.0, czysty XML). Oba odpowiadają normie EN 16931 i są automatycznie sprawdzane przed wysyłką.

Nie automatycznie. Sam plik PDF to dokument, który przeczyta człowiek, ale którego oprogramowanie nie przetworzy bez dodatkowych zabiegów. Dopiero gdy ustrukturyzowane dane XML są osadzone (ZUGFeRD) albo dołączone jako osobny plik (XRechnung), mówimy o e-fakturze w rozumieniu EN 16931.

Obowiązkowy jest ustrukturyzowany format zgodny z EN 16931 — ZUGFeRD i XRechnung to dwie dopuszczalne drogi spełnienia tej normy. Do faktur B2B możesz używać ZUGFeRD; instytucje publiczne wymagają z reguły XRechnung. To, który format jest konkretnie wymagany, zależy od odbiorcy.

Tak. Faktura ZUGFeRD to zwykły plik PDF z osadzonymi danymi i można ją wysłać e-mailem jak każdy inny PDF. Odbiorca widzi znaną mu fakturę i dodatkowo może automatycznie wczytać ustrukturyzowane dane.

Tak. Wgraj plik PDF ZUGFeRD, plik XML XRechnung albo archiwum ZIP z maksymalnie 50 fakturami. Invoice.app sprawdza każdy plik, na podstawie sprzedawcy i nabywcy rozpoznaje, czy to faktura zakupu czy sprzedaży, i tworzy ją odpowiednio — razem z pozycjami i sumami. Już zaimportowane faktury są rozpoznawane jako duplikaty. Składnia UBL formatu XRechnung nie jest obecnie obsługiwana.

Gotowy na niemieckie e-fakturowanie?

Pobierz Invoice.app i zacznij wysyłać e-faktury ZUGFeRD i XRechnung zgodne z EN 16931 — bez wtyczek, bez ręcznego XML.

Pobierz w App StorePobierz z Google PlayOtwórz aplikację internetową