Tools › SmartFormular E-Rechnung lite › Validation rules › BR-IC-04
BR-IC-04
For a charge with "intra-community supply" (K), the seller's VAT number or tax number (BT-31, BT-32) and the buyer's VAT number (BT-48) is …
What the message means
For a charge with "intra-community supply" (K), the seller's VAT number or tax number (BT-31, BT-32) and the buyer's VAT number (BT-48) is missing.
What the issuer needs to change
Add the missing numbers.
Fields concerned
BG-21document level chargesBT-31seller VAT identifierBT-32seller tax registration identifierBT-48buyer VAT identifierBT-63seller tax representative VAT identifierBT-102document level charge VAT category code
Your invoice reports BR-IC-04? Check it with SmartFormular E-Rechnung lite, free to try until 31 December 2026: the tool shows every finding with an explanation, the invoice in readable form and a GiroCode to pay – in your browser, no upload.
Check an e-invoiceOrigin
- Rule set
- EN 16931 (CEN, rule set 1.3.16)
- Syntax
- CII, UBL
- Level
- Error
Original rule text
An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Intra-community supply" shall contain the Seller VAT Identifier (BT-31) or the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48).
Technical details for IT
UBL
Context: /ubl:Invoice | /cn:CreditNote Test: not((exists(//cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID) = 'K'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) and (exists(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID) or exists(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID)) and (exists(//cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID))) or not(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID) = 'K'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])))
CII
Context: //ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true()]/ram:CategoryTradeTax[ram:CategoryCode = 'K'][upper-case(ram:TypeCode) = 'VAT'] Test: not((//ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA'] or //ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']) and //ram:BuyerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA'])
Related rules
- BR-IC-01Lines, allowances or charges use the VAT category "intra-community supply" (K), but the VAT breakdown (BG-23) …
- BR-IC-02For lines with "intra-community supply" (K), the seller's VAT number or tax number (BT-31, BT-32) and the …
- BR-IC-03For an allowance with "intra-community supply" (K), the seller's VAT number or tax number (BT-31, BT-32) and …
- BR-IC-05For a line with "intra-community supply" (K) the VAT rate is wrong: it must be 0
- BR-IC-06For an allowance with "intra-community supply" (K) the VAT rate is wrong: it must be 0
- BR-IC-07For a charge with "intra-community supply" (K) the VAT rate is wrong: it must be 0