România: e-Factura obligatorie prin RO e-Factura
În România, sistemul RO e-Factura (gestionat de ANAF) este obligatoriu de la 1 iulie 2022 pentru B2G și de la 1 ianuarie 2024 pentru B2B în relațiile cu produse cu risc fiscal ridicat, extins la toate B2B de la 1 iulie 2024. Toate facturile B2B trebuie încărcate în sistemul RO e-Factura prin SPV (Spațiul Privat Virtual) folosind formatul XML CIUS-RO bazat pe Peppol BIS Billing 3.0 / EN 16931. În Germania este în vigoare obligația de primire pentru B2B intern de la 1 ianuarie 2025, companiile românești care facturează clienți germani trebuie să poată livra formate compatibile.
XRechnung 3.0
XRechnung este standardul german pentru e-facturi structurate, bazat pe norma europeană CEN/EN 16931. Versiunea 3.0 este obligatorie din februarie 2024 și se identifică prin CustomizationID 'urn:cen.eu:en16931:2017#compliant#urn:xoev-de:kosit:standard:xrechnung_3.0'. Payload-ul este XML simplu, fie UBL 2.1, fie UN/CEFACT Cross Industry Invoice (CII). CIUS-RO românesc folosește aceeași bază EN 16931.
ZUGFeRD / Factur-X
ZUGFeRD (germană) și Factur-X identic la nivel internațional sunt formate hibride: un PDF/A-3 cu XML structurat încorporat ca atașament de fișier (factur-x.xml). Profilurile variază de la MINIMUM, prin BASIC WL, BASIC, EN 16931 (COMFORT) până la EXTENDED. Doar de la profilul EN 16931 în sus, factura este pe deplin conformă CEN-16931. Validatorul nostru detectează profilul automat.
Business Terms (BT) conform EN 16931
EN 16931 codifică fiecare informație de factură ca un Business Term cu un număr unic. BT-uri obligatorii: BT-1 număr factură, BT-2 dată emitere, BT-3 cod tip factură (UNTDID 1001), BT-5 cod monedă (ISO 4217), BT-9 data scadenței, BT-22 notă / referință cumpărător, BT-27 nume vânzător, BT-40 țara vânzătorului, BT-44 nume cumpărător, BT-55 țara cumpărătorului. Totaluri monetare obligatorii: BT-109 TaxExclusiveAmount, BT-110 TaxAmount, BT-112 TaxInclusiveAmount, BT-115 PayableAmount.
Consistență matematică
EN 16931 cere ca totalurile să se adune corect: TaxExclusiveAmount (BT-109) plus TaxAmount (BT-110) trebuie să fie egal cu TaxInclusiveAmount (BT-112). PayableAmount (BT-115) trebuie să fie egal cu totalul brut minus orice avans plătit. O sursă comună de erori în practică: rotunjirea pe linie și apoi din nou pe cotă de TVA produce diferențe de 1 cent. Validatorul nostru tolerează 1 cent; orice peste asta este raportat ca eroare gravă.
Protecția datelor
Validatorul rulează în întregime în browser. Fișierele XML sunt parsate cu DOMParser nativ, PDF-urile sunt încărcate local de pdf-lib și factur-x.xml încorporat este extras în memorie. Nu există încărcare pe server, jurnalizare, cookie. Validatorul este conform GDPR și sigur pentru date B2B confidențiale. Cotele românești de TVA (19% standard, 9% redusă, alimente, medicamente, 5%, cărți, locuințe sociale) sunt procesate corect.