BR-CO-03: Value added tax point date (BT-7) and tax point date code (BT-8) are mutually exclusive
Official message
[BR-CO-03] Value added tax point date (BT-7) and Value added tax point date code (BT-8) are mutually exclusive.
[BR-CO-03] Value added tax point date (BT-7) and Value added tax point date code (BT-8) are mutually exclusive.
[BR-CO-03] Value added tax point date (BT-7) and Value added tax point date code (BT-8) are mutually exclusive.
- Severity
- Error The invoice is invalid and may be rejected by the recipient.
- Applies to
- EN 16931 (CII), EN 16931 (UBL), Factur-X / ZUGFeRD EN 16931
- Affected fields
- BT-7, BT-8
What does this mean?
The value added tax point date (BT-7) and the value added tax point date code (BT-8) must not be stated together. The invoice contains both.
Typical causes
Both a specific date and a code for the tax point were entered.
CII: the check covers the whole document. If the date is in one VAT breakdown and the code in another, the rule is triggered as well.
How to fix the error
Use only one of the two: either the date (BT-7) or the code (BT-8) that indicates which date is relevant for the tax point.
Remove the other one everywhere in the invoice.
CII: ram:ApplicableTradeTax/ram:TaxPointDate (BT-7) or ram:ApplicableTradeTax/ram:DueDateTypeCode (BT-8), UBL: cbc:TaxPointDate (BT-7) or cac:InvoicePeriod/cbc:DescriptionCode (BT-8).
Generate and validate the invoice again.
In E-Rechnungsfreund
In the invoice form, expert view ("Experte"), section "Datum & Zeiträume" (dates and periods), fill in only one of the fields "Steuerfälligkeitsdatum (BT-7)" (tax point date) or "Steuerfälligkeitscode (BT-8)" (tax point date code). The entry applies to the whole invoice: the code is written into every VAT breakdown, the date only once (into the first VAT breakdown).
In section "Steueraufstellung (BG-23)" (VAT breakdown) leave the fields "Steuerfall.-Datum (BT-7)" and "Steuerfall.-Code (BT-8)" empty. An invoice has only one tax point date or only one tax point date code; the app does not accept a different date or code per VAT breakdown, or a date in one VAT breakdown and a code in another. If both fields above are filled in, the document contains both.
Validate the invoice again.
Example
Wrong
<ram:ApplicableTradeTax>
<ram:CalculatedAmount>190.00</ram:CalculatedAmount>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:BasisAmount>1000.00</ram:BasisAmount>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:TaxPointDate><udt:DateString format="102">20261015</udt:DateString></ram:TaxPointDate>
<ram:DueDateTypeCode>5</ram:DueDateTypeCode>
<ram:RateApplicablePercent>19.00</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
Correct
<ram:ApplicableTradeTax>
<ram:CalculatedAmount>190.00</ram:CalculatedAmount>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:BasisAmount>1000.00</ram:BasisAmount>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:TaxPointDate><udt:DateString format="102">20261015</udt:DateString></ram:TaxPointDate>
<ram:RateApplicablePercent>19.00</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
For developers: test expression per syntax
EN 16931 (CII) (CII)
Context: //ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax
((//ram:TaxPointDate) and not(//ram:DueDateTypeCode)) or (not (//ram:TaxPointDate) and (//ram:DueDateTypeCode)) or (not (//ram:TaxPointDate) and not (//ram:DueDateTypeCode))
EN 16931 (UBL) (UBL)
Context: /ubl:Invoice | /cn:CreditNote
(exists(cbc:TaxPointDate) and not(cac:InvoicePeriod/cbc:DescriptionCode)) or (not(cbc:TaxPointDate) and exists(cac:InvoicePeriod/cbc:DescriptionCode)) or (not(cbc:TaxPointDate) and not(cac:InvoicePeriod/cbc:DescriptionCode))
Factur-X / ZUGFeRD EN 16931 (CII)
Technical ID in the source: FX-SCH-A-000051
Context: //ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax
((ram:TaxPointDate) and not (ram:DueDateTypeCode)) or (not (ram:TaxPointDate) and (ram:DueDateTypeCode)) or (not (ram:TaxPointDate) and not (ram:DueDateTypeCode))
Related validation rules
- BR-CO-04: Invoiced item VAT category code (BT-151) is missing
- BR-CO-05: Document level allowance reason code (BT-98) and allowance reason (BT-97) must indicate the same type
- BR-CO-06: Document level charge reason code (BT-105) and charge reason (BT-104) must indicate the same type
- BR-CO-07: Invoice line allowance reason code (BT-140) and allowance reason (BT-139) must indicate the same type
- BR-CO-08: Invoice line charge reason code (BT-145) and charge reason (BT-144) must indicate the same type
- BR-CO-09: VAT identifier without valid country prefix (BT-31, BT-48, BT-63)
Last updated:
Explanation of the validation rule, not legal or tax advice.