EN16931
Perioada liniei: data de sfârșit nu poate fi înainte de start
Codul regulii este BR-30.
Mesajul exact din validatorul ANAF
Ce înseamnă
Dacă pe linia facturii completezi o perioadă de prestare (BT-134 data de început și BT-135 data de sfârșit), data de sfârșit trebuie să fie cel puțin egală cu cea de început. Regula se uită exclusiv la perioada de pe linie (cac:InvoicePeriod din cac:InvoiceLine), nu la una la nivel de factura. O perioadă inversată este tratată ca eroare de conținut, nu ca problemă de format.
Cum repari
În programul de facturare, la perioada de pe linie, validează că data de sfârșit să fie mai mare sau egală cu data de început și blochează salvarea/emiterea dacă nu e. Verifică liniile la care perioada a fost preluată invers dintr-un contract sau dintr-un import și corectează datele.
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:LineExtensionAmount currencyID="RON">1000.00</cbc:LineExtensionAmount>
<cac:InvoicePeriod>
<cbc:StartDate>2024-06-01</cbc:StartDate>
<cbc:EndDate>2024-05-15</cbc:EndDate>
</cac:InvoicePeriod>
<cac:Item>
<cbc:Name>Serviciu de consultanta</cbc:Name>
</cac:Item>
</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:LineExtensionAmount currencyID="RON">1000.00</cbc:LineExtensionAmount>
<cac:InvoicePeriod>
<cbc:StartDate>2024-06-01</cbc:StartDate>
<cbc:EndDate>2024-06-30</cbc:EndDate>
</cac:InvoicePeriod>
<cac:Item>
<cbc:Name>Serviciu de consultanta</cbc:Name>
</cac:Item>
</cac:InvoiceLine>
</ubl:Invoice>Greșeala asta strică și alte verificări, deci în același răspuns vei găsi și: BR-29. Le repari pe toate odată cu asta.
ro16931-ubl-1.0.9. Factura cu fragmentul din stânga a fost respinsă cu exact 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 engleză
If both Invoice line period start date (BT-134) and Invoice line period end date (BT-135) are given then the Invoice line period end date (BT-135) shall be later or equal to the Invoice line period start date (BT-134).
Unde se aplică
$Invoice_Line_Period
Condiția care trebuie să fie adevărată
$BR-30
Ce nu rezultă din textul oficial al regulii
Factura de referință nu conține deloc cac:InvoicePeriod pe linie, așa că grupul l-am adăugat integral în ambele fragmente, după cbc:LineExtensionAmount și înainte de cac:Item, conform ordinii UBL 2.1 pentru InvoiceLine. Datele 2024-06-01 / 2024-06-30 sunt alese de mine ca exemplu de perioadă validă, nu provin din factura de referință.