Erori e-FacturaBR-30

Perioada liniei: data de sfârșit nu poate fi înainte de start

Codul regulii este BR-30.

Mesajul exact din validatorul ANAF

textEroare=[BR-30]-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).
textEroare=[BR-29]-If both Invoicing period start date (BT-73) and Invoicing period end date (BT-74) are given then the Invoicing period end date (BT-74) shall be later or equal to the Invoicing period start date (BT-73).

Ce inseamna

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

Asa pica

<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>

Asa 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>

Greseala asta strica si alte verificari, deci in acelasi raspuns vei gasi si: BR-29. Le repari pe toate odata cu asta.

Verificat. Am pus fiecare din cele doua fragmente intr-o factura completa si le-am trecut prin validatorul oficial ANAF, versiunea ro16931-ubl-1.0.9. Factura cu fragmentul din stanga a fost respinsa cu exact mesajul de mai sus; cea cu fragmentul din dreapta a trecut fara nicio eroare. Verificarea s-a facut pe 14.09.2026.
Regula asa cum e scrisa in schematronul oficial

Textul oficial, in engleza

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 aplica

$Invoice_Line_Period

Conditia care trebuie sa fie adevarata

$BR-30
Ce nu rezulta 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ță.