Codul regulii este BR-30.
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.
Î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.
<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><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.
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.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).
$Invoice_Line_Period
$BR-30
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ță.