ValidateFin

RO e-Factura Validator Romania

Dowiedz się, czy ANAF odrzuciłby Twoją fakturę — i na jakiej regule (BR-RO-001, BR-RO-100, ERRIdentif) — zanim wyślesz ją do SPV.

Official CIUS-RO SchematronUBL 2.1 XSDCUI / CNP100% local
100% Lokalnie

Czym jest RO e-Factura i dlaczego ANAF odrzuca fakturę?

RO e-Factura to obowiązkowy rumuński system e-fakturowania: każda faktura B2B przechodzi przez platformę ANAF (SPV) od 1 lipca 2024 r., a B2C od 1 stycznia 2025 r. Faktura odrzucona przez platformę prawnie nie została wystawiona. Formatem jest RO_CIUS — krajowa specyfikacja (CIUS) europejskiej normy EN 16931, przenoszona w OASIS UBL 2.1 (faktura = FACT1, nota kredytowa = FCN). Ten darmowy walidator uruchamia te same trzy warstwy co ANAF, w tej samej kolejności: XSD OASIS UBL 2.1; OFICJALNY Schematron CIUS-RO opublikowany przez Ministerstwo Finansów (ro16931-ubl-1.0.9, obowiązujący od 5 czerwca 2024 r.), zawierający zarówno reguły rdzenia EN 16931 (BR-*, BR-CO-*), jak i rumuńskie (BR-RO-001 dla CustomizationID, BR-RO-020 dla kodu typu faktury, BR-RO-100 dla pisowni SECTOR1…SECTOR6 w Bukareszcie…); oraz kontrolę tożsamości podatkowej, która żyje POZA Schematronem i którą większość narzędzi pomija — cyfrę kontrolną CUI oraz CNP, odrzucane przez ANAF pod kodem ERRIdentif. Wszystko działa w przeglądarce: faktura nigdy nie opuszcza Twojego urządzenia.

Najważniejsze fakty

  • Obowiązkowe: B2B od 1 lipca 2024 r., B2C od 1 stycznia 2025 r. Faktura odrzucona przez ANAF prawnie nie została wystawiona.
  • Format: RO_CIUS, krajowa CIUS normy EN 16931, przenoszona w OASIS UBL 2.1 — Invoice (FACT1) lub CreditNote (FCN).
  • BT-24 musi mieć dokładnie wartość urn:cen.eu:en16931:2017#compliant#urn:efactura.mfinante.ro:CIUS-RO:1.0.1 — wartość 1.0.0 jest martwa od 29 grudnia 2022 r. (BR-RO-001).
  • To narzędzie uruchamia WŁASNY Schematron ministerstwa (ro16931-ubl-1.0.9), a nie jego przepisanie — jego reguły i jego rumuńskie komunikaty, co do słowa.
  • Cyfr kontrolnych CUI i CNP NIE MA w Schematronie: ANAF odrzuca je osobno, pod kodem ERRIdentif. Walidator uruchamiający wyłącznie Schematron uzna takie faktury za poprawne.
  • W Bukareszcie miasto (BT-37) musi brzmieć SECTOR1…SECTOR6 — a nie „Sector 1”, czyli tak, jak zapisuje je samo rozporządzenie ministra.

O walidatorze RO e-Factura

RO e-Factura to obowiązkowy system e-fakturowania w Rumunii. Każda faktura B2B przechodzi przez platformę rozliczeniową ANAF (SPV) od 1 lipca 2024 r., a każda faktura B2C od 1 stycznia 2025 r. Platforma albo przyjmuje plik, albo go odrzuca — a faktura odrzucona prawnie nie jest fakturą. Jedyne pytanie, które ma znaczenie, nie brzmi więc „czy mój XML jest poprawnie zbudowany?”, lecz „czy ANAF go przyjmie, a jeśli nie, to dlaczego?”. Właśnie na to pytanie odpowiada to narzędzie.

Odpowiada, uruchamiając te same trzy warstwy co sam ANAF, w tej samej kolejności. Najpierw XSD OASIS UBL 2.1 — schemat wychwytuje to, czego nie widzi żadna reguła biznesowa, na przykład element w złej kolejności, i ANAF odrzuca na tym etapie, zanim sprawdzi cokolwiek innego. Następnie OFICJALNY Schematron CIUS-RO opublikowany przez Ministerstwo Finansów (ro16931-ubl-1.0.9, obowiązujący od 5 czerwca 2024 r.): nie reimplementacja, lecz sam plik ministerstwa, skompilowany i wykonany bez zmian. Zawiera on podstawowe reguły EN 16931 (BR-*, BR-CO-*) oraz reguły rumuńskie (BR-RO-*), a jego komunikaty to dokładnie te, które SPV odeśle Ci co do słowa.

Trzecia warstwa to ta, którą pomija niemal każde darmowe narzędzie. Cyfra kontrolna CUI (rumuńskiego numeru podatkowego) i CNP (numeru osobowego używanego w B2C) NIE jest częścią Schematronu — ANAF weryfikuje je osobno i odrzuca fakturę pod własnym kodem ERRIdentif („CUI cumparator incorect”, „CNP sau NIF vanzator incorect”). Walidator, który uruchamia wyłącznie Schematron, uzna zatem za poprawny plik, który ANAF odrzuci. Nasze reguły dla tych dwóch identyfikatorów ustaliliśmy, odpytując oficjalny walidator offline ministerstwa jako wyrocznię — algorytmy nie są nigdzie opublikowane — i odwzorowują one to, co robi on naprawdę: CNP musi nie tylko przejść swoją sumę kontrolną, ale zakodowana w nim data urodzenia musi istnieć (31 kwietnia zostaje odrzucony), podczas gdy NIF (zaczynający się od 9) nie zawiera żadnej daty i jest z tego testu zwolniony.

Do zapamiętania

  • Zielony werdykt oznacza tutaj, że czysty jest PLIK. SPV sprawdza dodatkowo, kto go składa, czy strony są zarejestrowane i czy mieścisz się w terminie (5 dni roboczych od 1 stycznia 2026 r.) — to wymaga systemów ANAF i jest wprost wymienione w wyniku.
  • BR-RO-001 to najczęstsze odrzucenie: faktura wciąż deklarująca CIUS-RO:1.0.0. Oba pliki przykładowe publikowane przez samo ministerstwo zawierają tę martwą wartość — i własny walidator ministerstwa je odrzuca.
  • Kontrola CUI jest czysto arytmetyczna: numer poprawnie zbudowany, lecz nieistniejący, przejdzie walidację. Zaliczenie tej kontroli nie oznacza, że firma istnieje.
  • Anonimowy identyfikator B2C 0000000000000 (trzynaście zer) jest legalny i nigdy nie może zostać odrzucony — działa produkcyjnie od 16 grudnia 2024 r.
  • RO_CIUS obejmuje także składnię CII, ale ministerstwo nie publikuje dla niej ani Schematronu, ani walidatora: oba jego oficjalne narzędzia przyjmują wyłącznie UBL. Mówimy to wprost, zamiast symulować werdykt, którego nie potrafimy odtworzyć.

Najczęściej zadawane pytania

Dlaczego ANAF odrzuca moją fakturę z błędem BR-RO-001?

Ponieważ BT-24 (CustomizationID) nie zawiera dokładnej wartości wymaganej przez RO_CIUS: urn:cen.eu:en16931:2017#compliant#urn:efactura.mfinante.ro:CIUS-RO:1.0.1. Poprzednia wartość, kończąca się na 1.0.0, została wycofana 29 grudnia 2022 r. rozporządzeniem OMF 4092/2022 i jest odrzucana. To zdecydowanie najczęstsze odrzucenie — a obie przykładowe faktury opublikowane na mfinante.gov.ro wciąż ją zawierają.

Co oznacza „CUI cumparator incorect”?

Oznacza, że rumuński numer podatkowy nabywcy (CUI) ma błędną cyfrę kontrolną. Kontrola ta nie jest częścią Schematronu: ANAF wykonuje ją osobno i zgłasza pod kodem ERRIdentif — dlatego walidator uruchamiający wyłącznie Schematron powie Ci, że faktura jest w porządku. Uwaga: kontrola jest czysto arytmetyczna — na tym etapie ANAF nie weryfikuje, czy firma istnieje, a jedynie czy numer jest poprawnie zbudowany. Odpowiedniki komunikatu to „CUI vanzator incorect” dla sprzedawcy oraz „CNP sau NIF … incorect”, gdy identyfikatorem jest 13-cyfrowy numer osobowy.

Moim miastem jest Bukareszt, a faktura jest odrzucana (BR-RO-100). Dlaczego?

Ponieważ gdy krajem jest RO, a jednostką podziału (BT-39/BT-40) jest RO-B, miasto (BT-37) musi być jedną z wartości SECTOR1, SECTOR2, SECTOR3, SECTOR4, SECTOR5, SECTOR6 — wielkimi literami, bez spacji. Samo rozporządzenie ministra zapisuje je jako „Sector 1”, „Sector 2”…, ale Schematron, który ANAF faktycznie uruchamia, wymaga SECTOR1. Gdy treść przepisu i implementacja się rozmijają, to implementacja odrzuca Twój plik.

Jakie kody rodzaju faktury (BT-3) akceptuje Rumunia?

W dokumencie Invoice: 380 (faktura), 384 (faktura korygująca), 389 (samofakturowanie) i 751 (faktura — informacja do celów księgowych). Kod 381 (nota kredytowa) jest akceptowany wyłącznie w dokumencie CreditNote, nigdy w Invoice — treść reguły BR-RO-020 wymienia wszystkie pięć razem, co wprowadza w błąd; jej XPath już nie.

Czy to narzędzie wysyła moją fakturę do ANAF?

Nie. Nic nie opuszcza Twojej przeglądarki: XSD, oficjalny Schematron i kontrole identyfikatorów działają lokalnie, na Twoim komputerze. Oznacza to również, że nie możemy wykonać kontroli wymagających systemów ANAF — Twojego uwierzytelnienia, rejestru podatników, terminu przesłania — i wynik wymienia je wprost, zamiast je przemilczeć.

Czy mogę zwalidować tutaj e-fakturę w składni CII (UN/CEFACT)?

Nie, i jest to decyzja świadoma. RO_CIUS faktycznie obejmuje składnię CII, ale Ministerstwo Finansów nie publikuje dla niej ani Schematronu, ani walidatora: oba jego oficjalne narzędzia — aplikacja offline i usługa sieciowa /validare — przyjmują wyłącznie UBL (FACT1 i FCN). Nie bylibyśmy w stanie odtworzyć werdyktu ANAF dla pliku CII, więc mówimy to wprost, zamiast go zmyślać. Użyj walidatora UBL/Peppol dla reguł EN 16931 albo przekonwertuj fakturę do UBL.

ValidateFin is an independent tool, neither certified nor endorsed by ANAF or the Romanian Ministry of Finance. “Official” refers to the artefacts it runs — the CIUS-RO Schematron (ro16931-ubl-1.0.9) and the OASIS UBL 2.1 schemas published by the Ministry — not to any accreditation of this tool. A file that passes here still has to be accepted by the SPV, which additionally checks the depositor’s identity, the taxpayer registry and the transmission deadline; those checks are listed explicitly in the result rather than passed over in silence. Validating a file here does not transmit it to ANAF.