Validation rules

BR-CO-20 — EN 16931 rule

An invoice line period (BG-26) is present but carries neither a start date (BT-134) nor an end date (BT-135).

Rule
BR-CO-20 — official EN 16931 / XRechnung rule
Severity
error
Detected by
tier 3 — KoSIT validator (authoritative)
Reachability
Not expressible through the normbill invoice model — documented for completeness

The request schema rejects empty line periods via Zod refine.

How to fix it

Fill the line period's start_date and/or end_date, or omit period.

BR-CO-20 auf Deutsch — was bedeutet der Fehler?

Ein Positionszeitraum (BG-26) ist vorhanden, enthält aber weder Startdatum (BT-134) noch Enddatum (BT-135).

So beheben Sie den Fehler

Füllen Sie cbc:StartDate und/oder cbc:EndDate im Zeitraum der Position — oder entfernen Sie ihn.

Related rules

  • BR-CO-19 — An invoicing period (BG-14) is present but carries neither a start date (BT-73) nor an end date (BT-74).
  • BR-CO-21 — A document-level allowance (BG-20) carries neither a reason text (BT-97) nor a reason code (BT-98) — at…
  • BR-CO-18 — The invoice has no VAT breakdown (BG-23) — at least one is required.
  • BR-CO-22 — A document-level charge (BG-21) carries neither a reason text (BT-104) nor a reason code (BT-105) — at least…
  • BR-CO-17 — A VAT breakdown's tax amount (BT-117) does not equal its taxable amount (BT-116) multiplied by the category…
  • BR-CO-23 — An invoice line allowance (BG-27) carries neither a reason text (BT-139) nor a reason code (BT-140) — at…

Official sources

Every 422 from the API lists the rule id, the path in your request JSON, a plain-language message and a suggested fix — see the docs overview for the report format.

Or try it live: drop any XRechnung XML on the free validator — same KoSIT-backed report, no account.

Spotted something?

Bug, missing feature, wrong validation result — tell us. The page you're on is attached automatically; email optional.