diff --git a/rules/sch/PEPPOL-EN16931-UBL.sch b/rules/sch/PEPPOL-EN16931-UBL.sch
index 9addfc2..4b19c90 100644
--- a/rules/sch/PEPPOL-EN16931-UBL.sch
+++ b/rules/sch/PEPPOL-EN16931-UBL.sch
@@ -255,8 +255,7 @@ Last update: 2024 November release 3.0.18.
- Document MUST not contain empty
- elements.
+ Document MUST not contain empty elements.
- Business process MUST be
- provided.
- Business process
- MUST be in the format 'urn:fdc:peppol.eu:2017:poacc:billing:NN:1.0' where NN indicates the
- process number.
+ Business process MUST be provided.
+ Business process MUST be in the format 'urn:fdc:peppol.eu:2017:poacc:billing:NN:1.0' where NN indicates the process number.
No more than one note is allowed on document level, unless both the buyer and
- seller are German organizations.
+ flag="fatal">No more than one note is allowed on document level, unless both the buyer and seller are German organizations.
A buyer reference or purchase order reference MUST be provided.
Specification identifier MUST have the value
- 'urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0'.
- Only
- one tax total with tax subtotals MUST be provided.
+ flag="fatal">Specification identifier MUST have the value 'urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0'.
+ Only one tax total with tax subtotals MUST be provided.
Only one tax total without tax subtotals MUST be provided when tax currency
- code is provided.
+ flag="fatal">Only one tax total without tax subtotals MUST be provided when tax currency code is provided.
Invoice total VAT amount and Invoice total VAT amount in accounting currency
- MUST have the same operational sign
+ flag="fatal">Invoice total VAT amount and Invoice total VAT amount in accounting currency MUST have the same operational sign
VAT accounting currency code MUST be different from invoice currency code when
- provided.
+ flag="fatal">VAT accounting currency code MUST be different from invoice currency code when provided.
- Buyer electronic address
- MUST be provided
+ Buyer electronic address MUST be provided
- Seller electronic address
- MUST be provided
+ Seller electronic address MUST be provided
- Allowance/charge base amount MUST
- be provided when allowance/charge percentage is provided.
+ Allowance/charge base amount MUST be provided when allowance/charge percentage is provided.
- Allowance/charge percentage MUST
- be provided when allowance/charge base amount is provided.
+ Allowance/charge percentage MUST be provided when allowance/charge base amount is provided.
@@ -343,8 +329,7 @@ Last update: 2024 November release 3.0.18.
cbc:Amount
else
0, (xs:decimal(cbc:BaseAmount) * xs:decimal(cbc:MultiplierFactorNumeric)) div 100, 0.02)"
- flag="fatal">Allowance/charge amount must equal base amount * percentage/100 if base amount
- and percentage exists
+ flag="fatal">Allowance/charge amount must equal base amount * percentage/100 if base amount and percentage exists
Allowance/charge ChargeIndicator value MUST equal 'true' or 'false'
@@ -354,28 +339,23 @@ Last update: 2024 November release 3.0.18.
context="
cac:PaymentMeans[some $code in tokenize('49 59', '\s')
satisfies normalize-space(cbc:PaymentMeansCode) = $code]">
- Mandate
- reference MUST be provided for direct debit.
+ Mandate reference MUST be provided for direct debit.
- All
- currencyID attributes must have the same value as the invoice currency code (BT-5), except
- for the invoice total VAT amount in accounting currency (BT-111).
+ All currencyID attributes must have the same value as the invoice currency code (BT-5), except for the invoice total VAT amount in accounting currency (BT-111).
Start
- date of line period MUST be within invoice period.
+ test="xs:date(text()) >= xs:date(../../../cac:InvoicePeriod/cbc:StartDate)" flag="fatal">Start date of line period MUST be within invoice period.
End
- date of line period MUST be within invoice period.
+ test="xs:date(text()) <= xs:date(../../../cac:InvoicePeriod/cbc:EndDate)" flag="fatal">End date of line period MUST be within invoice period.
@@ -423,14 +403,11 @@ Last update: 2024 November release 3.0.18.
0" />
Invoice line net amount MUST equal (Invoiced quantity * (Item net price/item
- price base quantity) + Sum of invoice line charge amount - sum of invoice line allowance
- amount
+ flag="fatal">Invoice line net amount MUST equal (Invoiced quantity * (Item net price/item price base quantity) + Sum of invoice line charge amount - sum of invoice line allowance amount
Base quantity MUST be a positive number above zero.
- Only
- one invoiced object is allowed pr line
+ Only one invoiced object is allowed pr line
Element Document reference can only be used for Invoice line object
@@ -441,8 +418,7 @@ Last update: 2024 November release 3.0.18.
flag="fatal">Charge on price level is NOT allowed. Only value 'false' allowed.
Item net price MUST equal (Gross price - Allowance amount) when gross price is
- provided.
+ flag="fatal">Item net price MUST equal (Gross price - Allowance amount) when gross price is provided.
@@ -460,14 +436,12 @@ Last update: 2024 November release 3.0.18.
GLN
- must have a valid format according to GS1 rules.
+ test="matches(normalize-space(), '^[0-9]+$') and u:gln(normalize-space())" flag="fatal">GLN must have a valid format according to GS1 rules.
Norwegian
- organization number MUST be stated in the correct format.
+ test="matches(normalize-space(), '^[0-9]{9}$') and u:mod11(normalize-space())" flag="fatal">Norwegian organization number MUST be stated in the correct format.
@@ -483,22 +457,18 @@ Last update: 2024 November release 3.0.18.
- IPA
- Code (Codice Univoco Unità Organizzativa) must be stated in the correct format
+ IPA Code (Codice Univoco Unità Organizzativa) must be stated in the correct format
- Tax Code
- (Codice Fiscale) must be stated in the correct format
+ Tax Code (Codice Fiscale) must be stated in the correct format
- Tax Code
- (Codice Fiscale) must be stated in the correct format
+ Tax Code (Codice Fiscale) must be stated in the correct format
- Italian
- VAT Code (Partita Iva) must be stated in the correct format
+ Italian VAT Code (Partita Iva) must be stated in the correct format
@@ -523,17 +492,11 @@ Last update: 2024 November release 3.0.18.
For Norwegian suppliers, most invoice issuers are required to append
- "Foretaksregisteret" to their
- invoice. "Dersom selger er aksjeselskap, allmennaksjeselskap eller filial av utenlandsk
- selskap skal også ordet «Foretaksregisteret» fremgå av salgsdokumentet, jf.
- foretaksregisterloven § 10-2."
+ flag="warning">For Norwegian suppliers, most invoice issuers are required to append "Foretaksregisteret" to their invoice. "Dersom selger er aksjeselskap, allmennaksjeselskap eller filial av utenlandsk selskap skal også ordet «Foretaksregisteret» fremgå av salgsdokumentet, jf. foretaksregisterloven § 10-2."
For Norwegian suppliers, a VAT number MUST be the country code prefix NO
- followed by a valid Norwegian organization number (nine numbers) followed by the letters
- MVA.
+ flag="fatal">For Norwegian suppliers, a VAT number MUST be the country code prefix NO followed by a valid Norwegian organization number (nine numbers) followed by the letters MVA.
@@ -552,14 +515,12 @@ Last update: 2024 November release 3.0.18.
test="not(((boolean(cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID))
and (normalize-space(cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID/@schemeID) != '0184'))
)"
- flag="fatal">For Danish Suppliers it is mandatory to specify schemeID as "0184" (DK
- CVR-number) when PartyLegalEntity/CompanyID is used for AccountingSupplierParty
+ flag="fatal">For Danish Suppliers it is mandatory to specify schemeID as "0184" (DK CVR-number) when PartyLegalEntity/CompanyID is used for AccountingSupplierParty
For Danish Suppliers, a Credit note cannot have a negative total
- (PayableAmount)
+ flag="fatal">For Danish Suppliers, a Credit note cannot have a negative total (PayableAmount)
@@ -567,28 +528,24 @@ Last update: 2024 November release 3.0.18.
test="not((boolean(cbc:ID))
and (normalize-space(cbc:ID/@schemeID) = '')
)"
- flag="fatal">For Danish Suppliers it is mandatory to use schemeID when
- PartyIdentification/ID is used for AccountingCustomerParty or AccountingSupplierParty
+ flag="fatal">For Danish Suppliers it is mandatory to use schemeID when PartyIdentification/ID is used for AccountingCustomerParty or AccountingSupplierParty
For Danish suppliers the following Payment means codes are allowed: 1, 10, 31,
- 42, 48, 49, 50, 58, 59, 93 and 97
+ flag="fatal">For Danish suppliers the following Payment means codes are allowed: 1, 10, 31, 42, 48, 49, 50, 58, 59, 93 and 97
For Danish suppliers bank account and registration account is mandatory if
- payment means is 31 or 42
+ flag="fatal">For Danish suppliers bank account and registration account is mandatory if payment means is 31 or 42
For Danish suppliers PaymentMandate/ID and PayerFinancialAccount/ID are
- mandatory when payment means is 49
+ flag="fatal">For Danish suppliers PaymentMandate/ID and PayerFinancialAccount/ID are mandatory when payment means is 49
For Danish Suppliers PaymentID is mandatory and MUST start with 01#, 04# or 15#
- (kortartkode), and PayeeFinancialAccount/ID (Giro kontonummer) is mandatory and must be 7
- characters long, when payment means equals 50 (Giro)
+ flag="fatal">For Danish Suppliers PaymentID is mandatory and MUST start with 01#, 04# or 15# (kortartkode), and PayeeFinancialAccount/ID (Giro kontonummer) is mandatory and must be 7 characters long, when payment means equals 50 (Giro)
For Danish Suppliers if the PaymentID is prefixed with 04# or 15# the 16 digits
- instruction Id must be added to the PaymentID eg. "04#1234567890123456" when Payment means
- equals 50 (Giro)
+ flag="fatal">For Danish Suppliers if the PaymentID is prefixed with 04# or 15# the 16 digits instruction Id must be added to the PaymentID eg. "04#1234567890123456" when Payment means equals 50 (Giro)
For Danish Suppliers the PaymentID is mandatory and MUST start with 71#, 73# or
- 75# (kortartkode) and PayeeFinancialAccount/ID (Kreditornummer) is mandatory and must be
- exactly 8 characters long, when Payment means equals 93 (FIK)
+ flag="fatal">For Danish Suppliers the PaymentID is mandatory and MUST start with 71#, 73# or 75# (kortartkode) and PayeeFinancialAccount/ID (Kreditornummer) is mandatory and must be exactly 8 characters long, when Payment means equals 93 (FIK)
For Danish Suppliers if the PaymentID is prefixed with 71# or 75# the 15-16
- digits instruction Id must be added to the PaymentID eg. "71#1234567890123456" when payment
- Method equals 93 (FIK)
+ flag="fatal">For Danish Suppliers if the PaymentID is prefixed with 71# or 75# the 15-16 digits instruction Id must be added to the PaymentID eg. "71#1234567890123456" when payment Method equals 93 (FIK)
If ItemClassification is provided from Danish suppliers, UNSPSC version
- 19.0501 should be used.
+ flag="warning">If ItemClassification is provided from Danish suppliers, UNSPSC version 19.0501 should be used.
@@ -651,9 +599,7 @@ Last update: 2024 November release 3.0.18.
and (number(cbc:AllowanceChargeReason) >= 0)
and (number(cbc:AllowanceChargeReason) <= 9999))
)"
- flag="fatal">When specifying non-VAT Taxes for Danish customers, Danish suppliers MUST use
- the AllowanceChargeReasonCode="ZZZ" and the 4-digit Tax category MUST be specified in
- AllowanceChargeReason
+ flag="fatal">When specifying non-VAT Taxes for Danish customers, Danish suppliers MUST use the AllowanceChargeReasonCode="ZZZ" and the 4-digit Tax category MUST be specified in AllowanceChargeReason
@@ -661,20 +607,12 @@ Last update: 2024 November release 3.0.18.
[IT-R-001] BT-32 (Seller tax registration identifier) - For Italian suppliers
- BT-32 minimum length 11 and maximum length shall be 16. Per i fornitori italiani il BT-32
- deve avere una lunghezza tra 11 e 16 caratteri
+ flag="fatal">[IT-R-001] BT-32 (Seller tax registration identifier) - For Italian suppliers BT-32 minimum length 11 and maximum length shall be 16. Per i fornitori italiani il BT-32 deve avere una lunghezza tra 11 e 16 caratteri
- [IT-R-002] BT-35
- (Seller address line 1) - Italian suppliers MUST provide the postal address line 1 - I
- fornitori italiani devono indicare l'indirizzo postale.
- [IT-R-003] BT-37
- (Seller city) - Italian suppliers MUST provide the postal address city - I fornitori
- italiani devono indicare la città di residenza.
- ">[IT-R-004] BT-38
- (Seller post code) - Italian suppliers MUST provide the postal address post code - I
- fornitori italiani devono indicare il CAP di residenza.
+ [IT-R-002] BT-35 (Seller address line 1) - Italian suppliers MUST provide the postal address line 1 - I fornitori italiani devono indicare l'indirizzo postale.
+ [IT-R-003] BT-37 (Seller city) - Italian suppliers MUST provide the postal address city - I fornitori italiani devono indicare la città di residenza.
+ ">[IT-R-004] BT-38 (Seller post code) - Italian suppliers MUST provide the postal address post code - I fornitori italiani devono indicare il CAP di residenza.
@@ -686,23 +624,18 @@ Last update: 2024 November release 3.0.18.
flag="fatal">For Swedish suppliers, Swedish VAT-numbers must consist of 14 characters.
For Swedish suppliers, the Swedish VAT-numbers must have the trailing 12
- characters in numeric form
+ flag="fatal">For Swedish suppliers, the Swedish VAT-numbers must have the trailing 12 characters in numeric form
- Swedish
- organisation numbers should be numeric.
- Swedish
- organisation numbers consist of 10 characters.
- The
- last digit of a Swedish organization number must be valid according to the Luhn algorithm.
+ Swedish organisation numbers should be numeric.
+ Swedish organisation numbers consist of 10 characters.
+ The last digit of a Swedish organization number must be valid according to the Luhn algorithm.
For Swedish suppliers, when using Seller tax registration identifier, 'Godkänd
- för F-skatt' must be stated
+ flag="fatal">For Swedish suppliers, when using Seller tax registration identifier, 'Godkänd för F-skatt' must be stated
@@ -712,30 +645,25 @@ Last update: 2024 November release 3.0.18.
- For
- Swedish suppliers using Plusgiro, the Account ID must be numeric
+ For Swedish suppliers using Plusgiro, the Account ID must be numeric
For Swedish suppliers using Plusgiro, the Account ID must have 2-8 characters
- For
- Swedish suppliers using Bankgiro, the Account ID must be numeric
+ For Swedish suppliers using Bankgiro, the Account ID must be numeric
For Swedish suppliers using Bankgiro, the Account ID must have 7-8 characters
- For Swedish suppliers using Swedish
- Bankgiro or Plusgiro, the proper way to indicate this is to use Code 30 for PaymentMeans and
- FinancialInstitutionBranch ID with code SE:BANKGIRO or SE:PLUSGIRO
+ For Swedish suppliers using Swedish Bankgiro or Plusgiro, the proper way to indicate this is to use Code 30 for PaymentMeans and FinancialInstitutionBranch ID with code SE:BANKGIRO or SE:PLUSGIRO
- For domestic transactions between Swedish
- trading partners, credit transfer should be indicated by PaymentMeansCode="30"
+ For domestic transactions between Swedish trading partners, credit transfer should be indicated by PaymentMeansCode="30"
@@ -763,15 +691,13 @@ Last update: 2024 November release 3.0.18.
- When the Supplier is
- Greek, the Invoice Id should consist of 6 segments
+ When the Supplier is Greek, the Invoice Id should consist of 6 segments
When the Supplier is Greek, the Invoice Id first segment must be a valid TIN
- Number and match either the Supplier's or the Tax Representative's Tin Number
+ flag="fatal">When the Supplier is Greek, the Invoice Id first segment must be a valid TIN Number and match either the Supplier's or the Tax Representative's Tin Number
When the Supplier is Greek, the Invoice Id second segment must be a valid Date
- that matches the invoice Issue Date
+ flag="fatal">When the Supplier is Greek, the Invoice Id second segment must be a valid Date that matches the invoice Issue Date
When Supplier is Greek, the Invoice Id third segment must be a positive integer
When Supplier is Greek, the Invoice Id in the fourth segment must be a valid
- greek document type
- When Supplier
- is Greek, the Invoice Id fifth segment must not be empty
- When Supplier
- is Greek, the Invoice Id sixth segment must not be empty
+ flag="fatal">When Supplier is Greek, the Invoice Id in the fourth segment must be a valid greek document type
+ When Supplier is Greek, the Invoice Id fifth segment must not be empty
+ When Supplier is Greek, the Invoice Id sixth segment must not be empty
- Greek
- Suppliers must provide their full name as they are registered in the Greek Business Registry
- (G.E.MH.) as a legal entity or in the Tax Registry as a natural person
+ Greek Suppliers must provide their full name as they are registered in the Greek Business Registry (G.E.MH.) as a legal entity or in the Tax Registry as a natural person
Greek suppliers must provide their Seller Tax Registration Number, prefixed
- by the country code
+ flag="warning">Greek suppliers must provide their Seller Tax Registration Number, prefixed by the country code
For the Greek Suppliers, the VAT must start with 'EL' and must be a valid TIN
- number
+ flag="fatal">For the Greek Suppliers, the VAT must start with 'EL' and must be a valid TIN number
When Supplier is Greek, there must be one MARK Number
- When Supplier is Greek, there should be one invoice url
+ test="count(cac:AdditionalDocumentReference[cbc:DocumentDescription = '##INVOICE|URL##'])=1">When Supplier is Greek, there should be one invoice url
When Supplier is Greek, there should be no more than one invoice url
+ flag="fatal">When Supplier is Greek, there should be no more than one invoice url
- When Supplier is
- Greek, the MARK Number must be a positive integer
+ When Supplier is Greek, the MARK Number must be a positive integer
@@ -839,21 +755,16 @@ Last update: 2024 November release 3.0.18.
context="cac:AdditionalDocumentReference[$isGreekSender and cbc:DocumentDescription = '##INVOICE|URL##']">
When Supplier is Greek and the INVOICE URL Document reference exists, the
- External Reference URI should be present
+ flag="fatal">When Supplier is Greek and the INVOICE URL Document reference exists, the External Reference URI should be present
- Greek
- Suppliers must provide the full name of the buyer
+ Greek Suppliers must provide the full name of the buyer
- Greek
- suppliers that send an invoice through the PEPPOL network must use a correct TIN number as
- an electronic address according to PEPPOL Electronic Address Identifier scheme (schemeID
- 9933).
+ Greek suppliers that send an invoice through the PEPPOL network must use a correct TIN number as an electronic address according to PEPPOL Electronic Address Identifier scheme (schemeID 9933).
@@ -868,10 +779,7 @@ Last update: 2024 November release 3.0.18.
- Greek
- Suppliers that send an invoice through the PEPPOL network to a greek buyer must use a
- correct TIN number as an electronic address according to PEPPOL Electronic Address
- Identifier scheme (SchemeID 9933)
+ Greek Suppliers that send an invoice through the PEPPOL network to a greek buyer must use a correct TIN number as an electronic address according to PEPPOL Electronic Address Identifier scheme (SchemeID 9933)
@@ -884,61 +792,41 @@ Last update: 2024 November release 3.0.18.
context="ubl-creditnote:CreditNote[$SupplierCountry = 'IS'] | ubl-invoice:Invoice[$SupplierCountry = 'IS']">
[IS-R-001]-If seller is icelandic then invoice type should be 380 or 381 — Ef
- seljandi er íslenskur þá ætti gerð reiknings (BT-3) að vera sölureikningur (380) eða
- kreditreikningur (381).
+ flag="warning">[IS-R-001]-If seller is icelandic then invoice type should be 380 or 381 — Ef seljandi er íslenskur þá ætti gerð reiknings (BT-3) að vera sölureikningur (380) eða kreditreikningur (381).
[IS-R-002]-If seller is icelandic then it shall contain sellers legal id — Ef
- seljandi er íslenskur þá skal reikningur innihalda íslenska kennitölu seljanda (BT-30).
+ flag="fatal">[IS-R-002]-If seller is icelandic then it shall contain sellers legal id — Ef seljandi er íslenskur þá skal reikningur innihalda íslenska kennitölu seljanda (BT-30).
[IS-R-003]-If seller is icelandic then it shall contain his address with street
- name and zip code — Ef seljandi er íslenskur þá skal heimilisfang seljanda innihalda
- götuheiti og póstnúmer (BT-35 og BT-38).
+ flag="fatal">[IS-R-003]-If seller is icelandic then it shall contain his address with street name and zip code — Ef seljandi er íslenskur þá skal heimilisfang seljanda innihalda götuheiti og póstnúmer (BT-35 og BT-38).
[IS-R-006]-If seller is icelandic and payment means code is 9 then a 12 digit
- account id must exist — Ef seljandi er íslenskur og greiðslumáti (BT-81) er krafa (kóti 9)
- þá skal koma fram 12 stafa númer (bankanúmer, höfuðbók 66 og reikningsnúmer) (BT-84)
+ flag="fatal">[IS-R-006]-If seller is icelandic and payment means code is 9 then a 12 digit account id must exist — Ef seljandi er íslenskur og greiðslumáti (BT-81) er krafa (kóti 9) þá skal koma fram 12 stafa númer (bankanúmer, höfuðbók 66 og reikningsnúmer) (BT-84)
[IS-R-007]-If seller is icelandic and payment means code is 42 then a 12 digit
- account id must exist — Ef seljandi er íslenskur og greiðslumáti (BT-81) er millifærsla
- (kóti 42) þá skal koma fram 12 stafa reikningnúmer (BT-84)
+ flag="fatal">[IS-R-007]-If seller is icelandic and payment means code is 42 then a 12 digit account id must exist — Ef seljandi er íslenskur og greiðslumáti (BT-81) er millifærsla (kóti 42) þá skal koma fram 12 stafa reikningnúmer (BT-84)
[IS-R-008]-If seller is icelandic and invoice contains supporting description
- EINDAGI then the id form must be YYYY-MM-DD — Ef seljandi er íslenskur þá skal eindagi
- (BT-122, DocumentDescription = EINDAGI) vera á forminu YYYY-MM-DD.
+ flag="fatal">[IS-R-008]-If seller is icelandic and invoice contains supporting description EINDAGI then the id form must be YYYY-MM-DD — Ef seljandi er íslenskur þá skal eindagi (BT-122, DocumentDescription = EINDAGI) vera á forminu YYYY-MM-DD.
[IS-R-009]-If seller is icelandic and invoice contains supporting description
- EINDAGI invoice must have due date — Ef seljandi er íslenskur þá skal reikningur sem
- inniheldur eindaga (BT-122, DocumentDescription = EINDAGI) einnig hafa gjalddaga (BT-9).
+ flag="fatal">[IS-R-009]-If seller is icelandic and invoice contains supporting description EINDAGI invoice must have due date — Ef seljandi er íslenskur þá skal reikningur sem inniheldur eindaga (BT-122, DocumentDescription = EINDAGI) einnig hafa gjalddaga (BT-9).
[IS-R-010]-If seller is icelandic and invoice contains supporting description
- EINDAGI the id date must be same or later than due date — Ef seljandi er íslenskur þá skal
- eindagi (BT-122, DocumentDescription = EINDAGI) skal vera sami eða síðar en gjalddagi (BT-9)
- ef eindagi er til staðar.
+ flag="fatal">[IS-R-010]-If seller is icelandic and invoice contains supporting description EINDAGI the id date must be same or later than due date — Ef seljandi er íslenskur þá skal eindagi (BT-122, DocumentDescription = EINDAGI) skal vera sami eða síðar en gjalddagi (BT-9) ef eindagi er til staðar.
[IS-R-004]-If seller and buyer are icelandic then the invoice shall contain the
- buyers icelandic legal identifier — Ef seljandi og kaupandi eru íslenskir þá skal
- reikningurinn innihalda íslenska kennitölu kaupanda (BT-47).
+ flag="fatal">[IS-R-004]-If seller and buyer are icelandic then the invoice shall contain the buyers icelandic legal identifier — Ef seljandi og kaupandi eru íslenskir þá skal reikningurinn innihalda íslenska kennitölu kaupanda (BT-47).
[IS-R-005]-If seller and buyer are icelandic then the invoice shall contain the
- buyers address with street name and zip code — Ef seljandi og kaupandi eru íslenskir þá skal
- heimilisfang kaupanda innihalda götuheiti og póstnúmer (BT-50 og BT-53)
+ flag="fatal">[IS-R-005]-If seller and buyer are icelandic then the invoice shall contain the buyers address with street name and zip code — Ef seljandi og kaupandi eru íslenskir þá skal heimilisfang kaupanda innihalda götuheiti og póstnúmer (BT-50 og BT-53)
@@ -955,56 +843,41 @@ Last update: 2024 November release 3.0.18.
this rule now only applies to credit notes
-->
[NL-R-001] For suppliers in the Netherlands, if the document is a creditnote,
- the document MUST contain an invoice reference
- (cac:BillingReference/cac:InvoiceDocumentReference/cbc:ID)
+ flag="fatal">[NL-R-001] For suppliers in the Netherlands, if the document is a creditnote, the document MUST contain an invoice reference (cac:BillingReference/cac:InvoiceDocumentReference/cbc:ID)
- [NL-R-002]
- For suppliers in the Netherlands the supplier's address
- (cac:AccountingSupplierParty/cac:Party/cac:PostalAddress) MUST contain street name
- (cbc:StreetName), city (cbc:CityName) and post code (cbc:PostalZone)
+ [NL-R-002] For suppliers in the Netherlands the supplier's address (cac:AccountingSupplierParty/cac:Party/cac:PostalAddress) MUST contain street name (cbc:StreetName), city (cbc:CityName) and post code (cbc:PostalZone)
[NL-R-003] For suppliers in the Netherlands, the legal entity identifier MUST
- be either a KVK or OIN number (schemeID 0106 or 0190)
+ flag="fatal">[NL-R-003] For suppliers in the Netherlands, the legal entity identifier MUST be either a KVK or OIN number (schemeID 0106 or 0190)
- [NL-R-004]
- For suppliers in the Netherlands, if the customer is in the Netherlands, the customer
- address (cac:AccountingCustomerParty/cac:Party/cac:PostalAddress) MUST contain the street
- name (cbc:StreetName), the city (cbc:CityName) and post code (cbc:PostalZone)
+ [NL-R-004] For suppliers in the Netherlands, if the customer is in the Netherlands, the customer address (cac:AccountingCustomerParty/cac:Party/cac:PostalAddress) MUST contain the street name (cbc:StreetName), the city (cbc:CityName) and post code (cbc:PostalZone)
[NL-R-005] For suppliers in the Netherlands, if the customer is in the
- Netherlands, the customer's legal entity identifier MUST be either a KVK or OIN number
- (schemeID 0106 or 0190)
+ flag="fatal">[NL-R-005] For suppliers in the Netherlands, if the customer is in the Netherlands, the customer's legal entity identifier MUST be either a KVK or OIN number (schemeID 0106 or 0190)
- [NL-R-006]
- For suppliers in the Netherlands, if the fiscal representative is in the Netherlands, the
- representative's address (cac:TaxRepresentativeParty/cac:PostalAddress) MUST contain street
- name (cbc:StreetName), city (cbc:CityName) and post code (cbc:PostalZone)
+ [NL-R-006] For suppliers in the Netherlands, if the fiscal representative is in the Netherlands, the representative's address (cac:TaxRepresentativeParty/cac:PostalAddress) MUST contain street name (cbc:StreetName), city (cbc:CityName) and post code (cbc:PostalZone)
[NL-R-007] For suppliers in the Netherlands, the supplier MUST provide a means
- of payment (cac:PaymentMeans) if the payment is from customer to supplier
+ flag="fatal">[NL-R-007] For suppliers in the Netherlands, the supplier MUST provide a means of payment (cac:PaymentMeans) if the payment is from customer to supplier
@@ -1015,15 +888,11 @@ Last update: 2024 November release 3.0.18.
normalize-space(cbc:PaymentMeansCode) = '57' or
normalize-space(cbc:PaymentMeansCode) = '58' or
normalize-space(cbc:PaymentMeansCode) = '59'"
- flag="fatal">[NL-R-008] For suppliers in the Netherlands, if the customer is in the
- Netherlands, the payment means code (cac:PaymentMeans/cbc:PaymentMeansCode) MUST be one of
- 30, 48, 49, 57, 58 or 59
+ flag="fatal">[NL-R-008] For suppliers in the Netherlands, if the customer is in the Netherlands, the payment means code (cac:PaymentMeans/cbc:PaymentMeansCode) MUST be one of 30, 48, 49, 57, 58 or 59
- [NL-R-009] For
- suppliers in the Netherlands, if an order line reference (cac:OrderLineReference/cbc:LineID)
- is used, there must be an order reference on the document level (cac:OrderReference/cbc:ID)
+ [NL-R-009] For suppliers in the Netherlands, if an order line reference (cac:OrderLineReference/cbc:LineID) is used, there must be an order reference on the document level (cac:OrderReference/cbc:ID)
@@ -1035,8 +904,7 @@ Last update: 2024 November release 3.0.18.
- An invoice shall contain
- information on "PAYMENT INSTRUCTIONS" (BG-16).
+ An invoice shall contain information on "PAYMENT INSTRUCTIONS" (BG-16).
The element "Buyer reference" (BT-10) shall be provided.
@@ -1057,58 +925,37 @@ Last update: 2024 November release 3.0.18.
If one of the VAT codes S, Z, E, AE, K, G, L, or M is used, an invoice shall
- contain at least one of the following elements: "Seller VAT identifier" (BT-31) or "Seller
- tax registration identifier" (BT-32) or "SELLER TAX REPRESENTATIVE PARTY" (BG-11).
+ id="DE-R-016">If one of the VAT codes S, Z, E, AE, K, G, L, or M is used, an invoice shall contain at least one of the following elements: "Seller VAT identifier" (BT-31) or "Seller tax registration identifier" (BT-32) or "SELLER TAX REPRESENTATIVE PARTY" (BG-11).
The element "Invoice type code" (BT-3) should only contain the following
- values from code list UNTDID 1001: 326 (Partial invoice), 380 (Commercial invoice), 384
- (Corrected invoice), 389 (Self-billed invoice), 381 (Credit note), 875 (Partial construction
- invoice), 876 (Partial final construction invoice), 877 (Final construction invoice).
+ id="DE-R-017">The element "Invoice type code" (BT-3) should only contain the following values from code list UNTDID 1001: 326 (Partial invoice), 380 (Commercial invoice), 384 (Corrected invoice), 389 (Self-billed invoice), 381 (Credit note), 875 (Partial construction invoice), 876 (Partial final construction invoice), 877 (Final construction invoice).
Information on cash discounts for prompt payment (Skonto) shall be provided
- within the element "Payment terms" BT-20 in the following way: First segment "SKONTO",
- second segment amount of days ("TAGE=N"), third segment percentage ("PROZENT=N"). Percentage
- must be separated by dot with two decimal places. In case the base value of the invoiced
- amount is not provided in BT-115 but as a partial amount, the base value shall be provided
- as fourth segment "BASISBETRAG=N" as semantic data type amount. Each entry shall start with
- a #, the segments must be separated by # and a row shall end with a #. A complete statement
- on cash discount for prompt payment shall end with a XML-conformant line break. All
- statements on cash discount for prompt payment shall be given in capital letters. Additional
- whitespaces (blanks, tabulators or line breaks) are not allowed. Other characters or texts
- than defined above are not allowed.
+ id="DE-R-018">Information on cash discounts for prompt payment (Skonto) shall be provided within the element "Payment terms" BT-20 in the following way: First segment "SKONTO", second segment amount of days ("TAGE=N"), third segment percentage ("PROZENT=N"). Percentage must be separated by dot with two decimal places. In case the base value of the invoiced amount is not provided in BT-115 but as a partial amount, the base value shall be provided as fourth segment "BASISBETRAG=N" as semantic data type amount. Each entry shall start with a #, the segments must be separated by # and a row shall end with a #. A complete statement on cash discount for prompt payment shall end with a XML-conformant line break. All statements on cash discount for prompt payment shall be given in capital letters. Additional whitespaces (blanks, tabulators or line breaks) are not allowed. Other characters or texts than defined above are not allowed.
Attached documents provided with an invoice in "ADDITIONAL SUPPORTING
- DOCUMENTS" (BG-24) shall have a unique filename (non case-sensitive) within the element
- ″Attached document″ (BT-125).
+ id="DE-R-022">Attached documents provided with an invoice in "ADDITIONAL SUPPORTING DOCUMENTS" (BG-24) shall have a unique filename (non case-sensitive) within the element ″Attached document″ (BT-125).
If "Invoice type code" (BT-3) contains the code 384 (Corrected invoice),
- "PRECEDING INVOICE REFERENCE" (BG-3) should be provided at least once.
+ id="DE-R-026">If "Invoice type code" (BT-3) contains the code 384 (Corrected invoice), "PRECEDING INVOICE REFERENCE" (BG-3) should be provided at least once.
If the group "DIRECT DEBIT" (BG-19) is delivered, the element "Bank assigned
- creditor identifier" (BT-90) shall be provided.
+ id="DE-R-030">If the group "DIRECT DEBIT" (BG-19) is delivered, the element "Bank assigned creditor identifier" (BT-90) shall be provided.
If the group "DIRECT DEBIT" (BG-19) is delivered, the element "Debited account
- identifier" (BT-91) shall be provided.
+ id="DE-R-031">If the group "DIRECT DEBIT" (BG-19) is delivered, the element "Debited account identifier" (BT-91) shall be provided.
- The group "SELLER CONTACT"
- (BG-6) shall be provided.
+ The group "SELLER CONTACT" (BG-6) shall be provided.
@@ -1132,13 +979,10 @@ Last update: 2024 November release 3.0.18.
id="DE-R-007">The element "Seller contact email address" (BT-43) shall be provided.
"Seller contact telephone number" (BT-42) should contain a valid telephone
- number. A valid telephone should consist of 3 digits minimum.
+ id="DE-R-027">"Seller contact telephone number" (BT-42) should contain a valid telephone number. A valid telephone should consist of 3 digits minimum.
"Seller contact email address" (BT-43) should contain exactly one @-sign,
- which should not be framed by a whitespace or a dot but by at least two characters on each
- side. A dot should not be the first or last character.
+ id="DE-R-028">"Seller contact email address" (BT-43) should contain exactly one @-sign, which should not be framed by a whitespace or a dot but by at least two characters on each side. A dot should not be the first or last character.
@@ -1153,12 +997,10 @@ Last update: 2024 November release 3.0.18.
context="(/ubl-invoice:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address | /ubl-creditnote:CreditNote/cac:Delivery/cac:DeliveryLocation/cac:Address)[$supplierCountryIsDE and $customerCountryIsDE]">
The element "Deliver to city" (BT-77) shall be provided if the group "DELIVER
- TO ADDRESS" (BG-15) is delivered.
+ id="DE-R-010">The element "Deliver to city" (BT-77) shall be provided if the group "DELIVER TO ADDRESS" (BG-15) is delivered.
The element "Deliver to post code" (BT-78) shall be provided if the group
- "DELIVER TO ADDRESS" (BG-15) is delivered.
+ id="DE-R-011">The element "Deliver to post code" (BT-78) shall be provided if the group "DELIVER TO ADDRESS" (BG-15) is delivered.
@@ -1166,39 +1008,30 @@ Last update: 2024 November release 3.0.18.
The element "Payment account identifier" (BT-84) should contain a valid IBAN
- if code 58 SEPA is provided in "Payment means type code" (BT-81).
- If "Payment means type
- code" (BT-81) contains a code for credit transfer (30, 58), "CREDIT TRANSFER" (BG-17) shall
+ id="DE-R-019">The element "Payment account identifier" (BT-84) should contain a valid IBAN if code 58 SEPA is provided in "Payment means type code" (BT-81).
+ If "Payment means type code" (BT-81) contains a code for credit transfer (30, 58), "CREDIT TRANSFER" (BG-17) shall
be provided.
If "Payment means type code" (BT-81) contains a code for credit transfer
- (30, 58), BG-18 and BG-19 shall not be provided.
+ id="DE-R-023-2">If "Payment means type code" (BT-81) contains a code for credit transfer (30, 58), BG-18 and BG-19 shall not be provided.
- If "Payment means type code"
- (BT-81) contains a code for payment card (48, 54, 55), "PAYMENT CARD INFORMATION" (BG-18)
- shall be provided.
+ If "Payment means type code" (BT-81) contains a code for payment card (48, 54, 55), "PAYMENT CARD INFORMATION" (BG-18) shall be provided.
If "Payment means type code" (BT-81) contains a code for payment card (48,
- 54, 55), BG-17 and BG-19 shall not be provided.
+ id="DE-R-024-2">If "Payment means type code" (BT-81) contains a code for payment card (48, 54, 55), BG-17 and BG-19 shall not be provided.
The element "Debited account identifier" (BT-91) should contain a valid IBAN
- if code 59 SEPA is provided in "Payment means type code" (BT-81).
- If "Payment means type code"
- (BT-81) contains a code for direct debit (59), "DIRECT DEBIT" (BG-19) shall be provided.
+ id="DE-R-020">The element "Debited account identifier" (BT-91) should contain a valid IBAN if code 59 SEPA is provided in "Payment means type code" (BT-81).
+ If "Payment means type code" (BT-81) contains a code for direct debit (59), "DIRECT DEBIT" (BG-19) shall be provided.
If "Payment means type code" (BT-81) contains a code for direct debit (59),
- BG-17 and BG-18 shall not be provided.
+ id="DE-R-025-2">If "Payment means type code" (BT-81) contains a code for direct debit (59), BG-17 and BG-18 shall not be provided.
@@ -1267,8 +1100,7 @@ Last update: 2024 November release 3.0.18.
flag="fatal">Invoice type code MUST be set according to the profile.
Invoice type code 326 or 384 are only allowed when both buyer and
- seller are German organizations
+ flag="fatal">Invoice type code 326 or 384 are only allowed when both buyer and seller are German organizations
@@ -1281,47 +1113,37 @@ Last update: 2024 November release 3.0.18.
A date
- MUST be formatted YYYY-MM-DD.
+ test="string-length(text()) = 10 and (string(.) castable as xs:date)" flag="fatal">A date MUST be formatted YYYY-MM-DD.
Electronic
- address identifier scheme must be from the codelist "Electronic Address Identifier Scheme"
+ satisfies @schemeID = $code" flag="fatal">Electronic address identifier scheme must be from the codelist "Electronic Address Identifier Scheme"
- Tax Category
- G MUST be used when exemption reason code is VATEX-EU-G
+ Tax Category G MUST be used when exemption reason code is VATEX-EU-G
- Tax Category
- O MUST be used when exemption reason code is VATEX-EU-O
+ Tax Category O MUST be used when exemption reason code is VATEX-EU-O
- Tax Category
- K MUST be used when exemption reason code is VATEX-EU-IC
+ Tax Category K MUST be used when exemption reason code is VATEX-EU-IC
- Tax
- Category AE MUST be used when exemption reason code is VATEX-EU-AE
+ Tax Category AE MUST be used when exemption reason code is VATEX-EU-AE
- Tax Category
- E MUST be used when exemption reason code is VATEX-EU-D
+ Tax Category E MUST be used when exemption reason code is VATEX-EU-D
- Tax Category
- E MUST be used when exemption reason code is VATEX-EU-F
+ Tax Category E MUST be used when exemption reason code is VATEX-EU-F
- Tax Category
- E MUST be used when exemption reason code is VATEX-EU-I
+ Tax Category E MUST be used when exemption reason code is VATEX-EU-I
- Tax Category
- E MUST be used when exemption reason code is VATEX-EU-J
+ Tax Category E MUST be used when exemption reason code is VATEX-EU-J
\ No newline at end of file