# BR-CO-19

Source: https://xmlvalid.com/rules/BR-CO-19

> If Invoicing period (BG-14) is used, the Invoicing period start date (BT-73) or the Invoicing period end date (BT-74) shall be filled, or both.

- Level: error
- Rule sets: EN 16931 rules (UBL) 1.3.17, EN 16931 rules 1.3.16 (UBL), EXTENDED-CTC-FR rules (UBL) 1.4.0.04, Romanian RO e-Factura rules (UBL) 1.0.9
- Context: `cac:InvoicePeriod`
- Test: `exists(cbc:StartDate) or exists(cbc:EndDate) or (exists(cbc:DescriptionCode) and not(exists(cbc:StartDate)) and not(exists(cbc:EndDate)))`

> If Invoicing period (BG-14) is used, the Invoicing period start date (BT-73) or the Invoicing period end date (BT-74) shall be filled, or both.

- Level: error
- Rule sets: EN 16931 rules (CII) 1.3.17, EN 16931 rules 1.3.16 (CII), EXTENDED-CTC-FR rules (CII) 1.4.0.04, Factur-X BASIC WL rules 1.09, Factur-X EN 16931 rules 1.09.2, Factur-X EXTENDED rules 1.09.2
- Context: `//ram:ApplicableHeaderTradeSettlement/ram:BillingSpecifiedPeriod`
- Test: `(ram:StartDateTime) or (ram:EndDateTime)`

## Why it fails

- A `cac:InvoicePeriod` is present but empty (`ram:BillingSpecifiedPeriod` in CII).

## How to fix it

- Give the invoicing period a start date, an end date or both, or leave the element out.

Validate a document against these rules: https://xmlvalid.com/validate
