Reference · EN 16931 · BR-CO
BR-CO — Conditions and calculations
The EN 16931 business rules in the BR-CO family (Conditions and calculations), with CEN's own wording, the business terms each one names, and where each is asserted in a UBL invoice. To check a document against these rules, use the free EN 16931 validator.
These are the EN 16931 business rules of this family, as published by CEN/TC 434 in the validation artefacts that accompany the standard. The wording here is the rule text itself, and it is never a paraphrase. The codes in parentheses are business terms (BT-) and business term groups (BG-), the semantic model's names for the fields a rule constrains, and the location given with each rule is where it is asserted in a UBL invoice.
Rules
Value added tax point date (BT-7) and Value added tax point date code (BT-8) are mutually exclusive.
Terms: BT-7, BT-8
Location: /ubl:Invoice | /cn:CreditNote
Each Invoice line (BG-25) shall be categorized with an Invoiced item VAT category code (BT-151).
Terms: BG-25, BT-151
Location: cac:InvoiceLine | cac:CreditNoteLine
Document level allowance reason code (BT-98) and Document level allowance reason (BT-97) shall indicate the same type of allowance.
Terms: BT-98, BT-97
Location: /ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = false()] | /cn:CreditNote/cac:AllowanceCharge[cbc:ChargeIndicator = false()]
Document level charge reason code (BT-105) and Document level charge reason (BT-104) shall indicate the same type of charge.
Terms: BT-105, BT-104
Location: /ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = true()] | /cn:CreditNote/cac:AllowanceCharge[cbc:ChargeIndicator = true()]
Invoice line allowance reason code (BT-140) and Invoice line allowance reason (BT-139) shall indicate the same type of allowance reason.
Terms: BT-140, BT-139
Location: //cac:InvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()] | //cac:CreditNoteLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()]
Invoice line charge reason code (BT-145) and Invoice line charge reason (BT-144) shall indicate the same type of charge reason.
Terms: BT-145, BT-144
Location: //cac:InvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = true()] | //cac:CreditNoteLine/cac:AllowanceCharge[cbc:ChargeIndicator = true()]
The Seller VAT identifier (BT-31), the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48) shall have a prefix in accordance with ISO code ISO 3166-1 alpha-2 by which the country of issue may be identified. Nevertheless, Greece may use the prefix ‘EL’.
Terms: BT-31, BT-63, BT-48
Location: //cac:PartyTaxScheme[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']
Sum of Invoice line net amount (BT-106) = Σ Invoice line net amount (BT-131).
Terms: BT-106, BT-131
Location: cac:LegalMonetaryTotal
Sum of allowances on document level (BT-107) = Σ Document level allowance amount (BT-92).
Terms: BT-107, BT-92
Location: cac:LegalMonetaryTotal
Sum of charges on document level (BT-108) = Σ Document level charge amount (BT-99).
Terms: BT-108, BT-99
Location: cac:LegalMonetaryTotal
Invoice total amount without VAT (BT-109) = Σ Invoice line net amount (BT-131) - Sum of allowances on document level (BT-107) + Sum of charges on document level (BT-108).
Terms: BT-109, BT-131, BT-107, BT-108
Location: cac:LegalMonetaryTotal
Invoice total VAT amount (BT-110) = Σ VAT category tax amount (BT-117).
Terms: BT-110, BT-117
Location: /ubl:Invoice/cac:TaxTotal | /cn:CreditNote/cac:TaxTotal
Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).
Terms: BT-112, BT-109, BT-110
Location: /ubl:Invoice | /cn:CreditNote
Amount due for payment (BT-115) = Invoice total amount with VAT (BT-112) -Paid amount (BT-113) +Rounding amount (BT-114).
Terms: BT-115, BT-112, BT-113, BT-114
Location: cac:LegalMonetaryTotal
VAT category tax amount (BT-117) = VAT category taxable amount (BT-116) x (VAT category rate (BT-119) / 100), rounded to two decimals.
Terms: BT-117, BT-116, BT-119
Location: cac:TaxTotal/cac:TaxSubtotal
An Invoice shall at least have one VAT breakdown group (BG-23).
Terms: BG-23
Location: /ubl:Invoice | /cn:CreditNote
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.
Terms: BG-14, BT-73, BT-74
Location: cac:InvoicePeriod
If Invoice line period (BG-26) is used, the Invoice line period start date (BT-134) or the Invoice line period end date (BT-135) shall be filled, or both.
Terms: BG-26, BT-134, BT-135
Location: cac:InvoiceLine/cac:InvoicePeriod | cac:CreditNoteLine/cac:InvoicePeriod
Each Document level allowance (BG-20) shall contain a Document level allowance reason (BT-97) or a Document level allowance reason code (BT-98), or both.
Terms: BG-20, BT-97, BT-98
Location: /ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = false()] | /cn:CreditNote/cac:AllowanceCharge[cbc:ChargeIndicator = false()]
Each Document level charge (BG-21) shall contain a Document level charge reason (BT-104) or a Document level charge reason code (BT-105), or both.
Terms: BG-21, BT-104, BT-105
Location: /ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = true()] | /cn:CreditNote/cac:AllowanceCharge[cbc:ChargeIndicator = true()]
Each Invoice line allowance (BG-27) shall contain an Invoice line allowance reason (BT-139) or an Invoice line allowance reason code (BT-140), or both.
Terms: BG-27, BT-139, BT-140
Location: //cac:InvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()] | //cac:CreditNoteLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()]
Each Invoice line charge (BG-28) shall contain an Invoice line charge reason (BT-144) or an Invoice line charge reason code (BT-145), or both.
Terms: BG-28, BT-144, BT-145
Location: //cac:InvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = true()] | //cac:CreditNoteLine/cac:AllowanceCharge[cbc:ChargeIndicator = true()]
In order for the buyer to automatically identify a supplier, the Seller identifier (BT-29), the Seller legal registration identifier (BT-30) and/or the Seller VAT identifier (BT-31) shall be present.
Terms: BT-29, BT-30, BT-31
Location: cac:AccountingSupplierParty
What this does not cover
This page states what the rules say. To check a document against them, use the free EN 16931 validator.
Sources
- CEN/TC 434 EN 16931 validation artefacts (Schematron) — the published rule set this page quotes, in the abstract model and code list rule files.