CIUS-RO
Data de sfârșit de perioadă trebuie scrisă în format YYYY-MM-DD
Codul regulii este BR-RO-DT006.
Mesajul exact din validatorul ANAF
Ce înseamnă
Orice dată din factură - perioada de facturare la nivel de factură (BT-74) sau perioada aferentă unei linii (BT-135) - trebuie scrisă în format ISO 8601, adică YYYY-MM-DD. Validatorul ANAF verifică două lucruri: lungimea exactă de 10 caractere și faptul că textul poate fi interpretat ca o dată calendaristică validă. De aceea pică atât formatul românesc 05.06.2024, cât și o dată scrisă fără zerouri, de tipul 2024-6-5.
Cum repari
În programul de facturare, setează formatul de dată pe ISO 8601 (yyyy-MM-dd) pentru câmpul de perioada facturată, atât la nivel de factură, cât și pe fiecare linie. Dacă datele vin din alt sistem (ERP, import Excel) în format DD.MM.YYYY, convertește-le înainte de generarea XML-ului.
Exemplu
Așa pică
<ubl:Invoice xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="H87">10</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="RON">1000.00</cbc:LineExtensionAmount>
<cac:InvoicePeriod>
<cbc:EndDate>05.06.2024</cbc:EndDate>
</cac:InvoicePeriod>
</cac:InvoiceLine>
</ubl:Invoice>Așa trece
<ubl:Invoice xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="H87">10</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="RON">1000.00</cbc:LineExtensionAmount>
<cac:InvoicePeriod>
<cbc:EndDate>2024-06-05</cbc:EndDate>
</cac:InvoicePeriod>
</cac:InvoiceLine>
</ubl:Invoice>În practică nu ajungi să vezi codul regulii: valoarea e respinsă mai devreme, de schema XML, iar mesajul arată cum scrie mai sus. Regula există și ea, dar prinde doar cazurile pe care schema le lasă să treacă.
ro16931-ubl-1.0.9. Factura cu fragmentul din stânga a fost respinsă cu mesajul de mai sus; cea cu fragmentul din dreapta a trecut fără nicio eroare. Verificarea s-a făcut pe 14.09.2026.Regula așa cum e scrisă în schematronul oficial
Textul oficial, în română
Un element de tip data (BT-74, BT-135) trebuie sa respecte formatul YYYY-MM-DD
Textul oficial, în engleză
A date (BT-74, BT-135) MUST be formatted YYYY-MM-DD. ({element} = '{valoare}')
Unde se aplică
cbc:EndDate
Condiția care trebuie să fie adevărată
string-length(text()) = 10 and (string(.) castable as xs:date)
Ce nu rezultă din textul oficial al regulii
Nu pot confirma din datele primite dacă eroarea vine de pe perioada de la nivel de factură (BT-74, cac:InvoicePeriod în antet) sau de pe cea de linie (BT-135) - ambele folosesc cbc:EndDate și ambele trebuie să respecte același format; exemplul de mai sus folosește perioada de linie. Perioada de facturare este opțională în CIUS-RO: dacă factura nu acoperă o perioadă, elementul poate lipsi cu totul, iar regula nu se aplică.