10 typowych błędów Factur-X / ZUGFeRD i jak je naprawić
Najczęstsze błędy walidacji faktur Factur-X i ZUGFeRD, z wyjaśnieniami i rozwiązaniami krok po kroku — od struktury PDF/A-3 po reguły biznesowe EN 16931.
Zweryfikuj swój plik teraz
Za darmo, natychmiast i w 100% w przeglądarce - żaden plik nie jest przesyłany.
Dlaczego faktury Factur-X są odrzucane
Faktury Factur-X i ZUGFeRD łączą dwie warstwy złożoności: strukturę kontenera PDF/A-3 oraz osadzony model danych XML (UN/CEFACT CII, zgodny z EN 16931). Błędy mogą wystąpić w każdej z warstw. Strukturalnie prawidłowy PDF może zawierać nieprawidłowy XML, a semantycznie poprawny XML może być osadzony w pliku PDF, który nie spełnia zgodności PDF/A-3. Zrozumienie obu warstw jest kluczowe dla tworzenia faktur, które przechodzą zautomatyzowaną walidację w Chorus Pro, ZRE i platformach e-fakturowania nabywców.
Najczęstszym źródłem błędów jest rozbieżność między tym, co generuje oprogramowanie księgowe, a tym, czego wymaga standard EN 16931. Wiele systemów ERP generuje Factur-X z niedopasowaniem poziomu profilu, błędami zaokrągleń lub brakującymi polami obowiązkowymi - zwłaszcza przy pierwszej konfiguracji lub po aktualizacji oprogramowania.
Błędy struktury PDF/A-3
Kontener PDF musi być zgodny z PDF/A-3b (lub wyższym). Oto najczęstsze błędy na poziomie PDF:
PDF niezgodny z PDF/A-3
Plik musi być PDF/A-3b (lub PDF/A-3u). Standardowe pliki PDF generowane przez aplikacje biurowe nie są PDF/A-3. Użyj certyfikowanej biblioteki Factur-X (np. biblioteki Factur-X dla Pythona, Mustang Project lub zgodnej platformy e-fakturowania), aby wygenerować pliki zgodne z PDF/A-3.
XML nieosadzony jako AFRelationship=Alternative
Osadzony XML musi mieć metadaną AFRelationship ustawioną na 'Alternative' (dla standardowego Factur-X) lub 'Data' (dla niektórych wariantów ZUGFeRD). Nieprawidłowe AFRelationship powoduje niepowodzenia walidacji w Chorus Pro i ZRE.
Błędna nazwa pliku XML w załączniku PDF
Factur-X wymaga, aby XML był załączony jako 'factur-x.xml'. ZUGFeRD wymaga 'ZUGFeRD-invoice.xml' (ZUGFeRD 1.0) lub 'zugferd-invoice.xml' (ZUGFeRD 2.x). Nazwa pliku rozróżnia wielkość liter. Błędna nazwa pliku powoduje niepowodzenia ekstrakcji w zautomatyzowanych systemach przetwarzania.
Brakujące metadane XMP w PDF
PDF musi zawierać metadane XMP deklarujące profil i wersję Factur-X/ZUGFeRD. Element metadanych to urn:factur-x:pdfa:CrossIndustryDocument:invoice:1p0#ConformanceLevel. Bez tych metadanych systemy przetwarzające nie mogą określić poziomu profilu.
PDF wygenerowany ze skanera (tylko obraz)
Zeskanowane pliki PDF skonwertowane do PDF/A-3 są technicznie prawidłowym PDF/A-3, ale brakuje im wymaganego załącznika XML. Faktura Factur-X wymaga zarówno warstwy wizualnej PDF, JAK I osadzonego XML. PDF musi być generowany programowo z danych faktury, a nie skanowany.
Błędy danych XML (CII / EN 16931)
Te błędy występują w osadzonym XML, niezależnie od poprawności kontenera PDF:
Brakujący numer VAT sprzedawcy
EN 16931 wymaga numeru identyfikacyjnego VAT sprzedawcy (SellerTradeParty/SpecifiedTaxRegistration/ID ze schemeID='VA'). Brakujący numer VAT powoduje niepowodzenie reguły BR-CO-09 i odrzucenie przez platformy organów podatkowych.
Niedopasowanie zaokrąglenia kwoty VAT
Obliczona kwota podatku (taxBasisAmount × taxRate / 100) musi być zgodna z zadeklarowaną TaxTotalAmount w granicach 0,01 €. Błędy zaokrągleń w systemach ERP - zwłaszcza przy wielu pozycjach o różnych stawkach - są najczęstszą przyczyną niepowodzeń reguł EN 16931 (BR-CO-15).
Niedopasowanie sumy całkowitej
GrandTotalAmount musi być równe LineTotalAmount − AllowanceTotalAmount + ChargeTotalAmount + TaxTotalAmount. Każda rozbieżność, nawet o 0,01 €, powoduje niepowodzenie reguły EN 16931 BR-CO-16. Sprawdź, czy wszystkie kwoty pośrednie są poprawnie zsumowane.
Błędny identyfikator profilu w GuidelineSpecifiedDocumentContextParameter
Profil musi być zadeklarowany w nagłówku XML. Typowe poprawne wartości: urn:cen.eu:en16931:2017 (EN 16931 COMFORT), urn:factur-x.eu:1p0:minimum, urn:factur-x.eu:1p0:basicwl, itd. Niedopasowanie między zadeklarowanym profilem a rzeczywiście obecnymi danymi powoduje niepowodzenia walidacji.
Brakujące kwoty pozycji faktury lub cena jednostkowa
EN 16931 wymaga co najmniej: opisu towaru, ilości, jednostki miary, ceny jednostkowej i kwoty rozszerzenia pozycji dla każdej pozycji faktury. Wiele faktur w profilu MINIMUM pomija szczegóły pozycji, co jest prawidłowe tylko dla tego poziomu profilu - przełączenie na profil EN 16931 bez dodania danych szczegółów pozycji powoduje niepowodzenia reguł.
Waliduj swoje faktury Factur-X natychmiast
Walidator Factur-X firmy ValidateFin wyodrębnia osadzony XML z Twojej faktury PDF, waliduje strukturę CII, sprawdza obowiązkowe pola EN 16931 i podświetla błędy z precyzyjną informacją zwrotną na poziomie pól. Całe przetwarzanie odbywa się w Twojej przeglądarce - żaden plik nie jest przesyłany.
Otwórz walidator Factur-XCzęsto zadawane pytania
Jak naprawić niezgodność PDF/A-3 w mojej fakturze Factur-X?
Nie można przekonwertować standardowego PDF na PDF/A-3 za pomocą prostego narzędzia - zgodność z PDF/A-3 musi być zapewniona podczas generowania PDF. Użyj certyfikowanej biblioteki Factur-X (Factur-X dla Pythona, Mustang Project, iText dla Javy lub komercyjnej platformy e-fakturowania), która od początku generuje pliki zgodne z PDF/A-3b.
Jaka jest poprawna nazwa pliku XML dla Factur-X?
Dla Factur-X (standard francuski/europejski) wymagana nazwa pliku to 'factur-x.xml' (małe litery, myślnik). Dla ZUGFeRD 1.0 jest to 'ZUGFeRD-invoice.xml'. Dla ZUGFeRD 2.x jest to 'zugferd-invoice.xml' (małe litery). Nazwa pliku rozróżnia wielkość liter - użyj dokładnie wymaganej nazwy.
Moja faktura przechodzi walidację schematu, ale nie przechodzi w Chorus Pro - dlaczego?
Chorus Pro stosuje zarówno walidację schematu XSD, JAK I walidację reguł biznesowych Schematron EN 16931. XML prawidłowy schematowo może nadal nie przejść reguł biznesowych, takich jak BR-CO-15 (niedopasowanie kwoty VAT) lub BR-CO-16 (niedopasowanie sumy całkowitej). Użyj ValidateFin, aby sprawdzić zgodność z regułami biznesowymi EN 16931 przed przesłaniem.
Jakiego profilu Factur-X wymaga Belgia?
Belgia akceptuje formaty zgodne z EN 16931. Dla Factur-X oznacza to co najmniej profil EN 16931 (COMFORT), który przenosi wszystkie obowiązkowe terminy biznesowe, w tym szczegóły na poziomie pozycji, pełne zestawienie VAT i informacje o płatności. Profile MINIMUM i BASIC WL są niewystarczające dla zgodności B2B w Belgii.
Jak naprawić błąd zaokrąglenia VAT w Factur-X?
Oblicz kwoty VAT stosując zaokrąglanie w górę (round-half-up) do 2 miejsc po przecinku na poziomie zestawienia VAT, a nie na poziomie pozycji. Zsumuj zestawienia VAT, aby uzyskać TaxTotalAmount. Następnie zweryfikuj GrandTotalAmount = LineTotalAmount - AllowanceTotalAmount + ChargeTotalAmount + TaxTotalAmount. Jeśli różnica wynosi dokładnie 0,01 €, jest to problem zaokrąglenia w konfiguracji Twojego ERP.
Jaka jest różnica między ZUGFeRD a Factur-X?
ZUGFeRD to standard niemiecki, opracowany przez FeRD (Forum elektronische Rechnung Deutschland). Factur-X to wspólny standard francusko-niemiecki, który dostosowuje ZUGFeRD 2.0+ do wymagań francuskiego Chorus Pro. Od ZUGFeRD 2.1 oba są technicznie identyczne - ten sam format XML, te same profile. Używana nazwa zależy od kraju i kontekstu.
Którego profilu Factur-X powinienem używać?
Użyj minimalnego profilu, który spełnia Twoje wymagania zgodności: MINIMUM do archiwizacji (bez danych płatności), BASIC WL dla faktur zawierających tylko sumy pozycji, BASIC dla standardowych faktur z podstawowymi szczegółami pozycji, EN 16931 (COMFORT) dla pełnej zgodności z EN 16931 oraz EXTENDED dla dodatkowych danych biznesowych. Dla zgodności B2B we Francji i Belgii użyj profilu EN 16931 lub wyższego.
Czy mogę zwalidować fakturę Factur-X bez oprogramowania?
Tak - użyj walidatora Factur-X firmy ValidateFin w swojej przeglądarce. Przeciągnij fakturę PDF, a narzędzie wyodrębni osadzony XML, zwaliduje strukturę CII, sprawdzi obowiązkowe pola EN 16931 i wyświetli wszystkie dane faktury. Bez instalacji, bez przesyłania plików, całkowicie za darmo.
Czym są metadane AFRelationship w Factur-X?
AFRelationship to metadana PDF, która deklaruje relację między PDF a osadzonym załącznikiem. Dla faktur Factur-X musi być ustawiona na 'Alternative' - wskazując, że XML jest alternatywną reprezentacją tej samej treści co PDF. Niektóre warianty ZUGFeRD używają 'Data'. Błędne AFRelationship powoduje niepowodzenia ekstrakcji.
Jak sprawdzić, czy mój PDF Factur-X jest prawidłowym PDF/A-3?
ValidateFin wyodrębnia i waliduje osadzony XML z Twojego PDF Factur-X. Do pełnego sprawdzenia zgodności PDF/A-3 (poza ekstrakcją XML) użyj dedykowanych walidatorów PDF/A, takich jak veraPDF (open source) lub narzędzi komercyjnych, takich jak Callas pdfToolbox. Zgodność PDF/A-3 wymaga konkretnych metadanych, profili kolorów i osadzania czcionek, które mogą w pełni zweryfikować tylko dedykowane walidatory PDF.