secretariat 3.1.0 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (20) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +6 -2
  3. data/lib/secretariat/constants.rb +1 -1
  4. data/lib/secretariat/helpers.rb +15 -0
  5. data/lib/secretariat/invoice.rb +38 -15
  6. data/lib/secretariat/line_item.rb +1 -2
  7. data/lib/secretariat/tax.rb +33 -0
  8. data/lib/secretariat/trade_party.rb +1 -1
  9. data/lib/secretariat/validation_error.rb +1 -1
  10. data/lib/secretariat/validator.rb +4 -4
  11. data/lib/secretariat/version.rb +2 -2
  12. data/lib/secretariat/versioner.rb +15 -0
  13. data/lib/secretariat.rb +2 -1
  14. data/schemas/{factur-x_1.0.0.7/Factur-X_1.0.07_EN16931.sch → factur-x_1/Factur-X_1.07.2_EN16931.sch} +70 -66
  15. data/schemas/{factur-x_1.0.0.7/Factur-X_1.0.07_EN16931.xsd → factur-x_1/Factur-X_1.07.2_EN16931.xsd} +3 -3
  16. data/schemas/{factur-x_1.0.0.7/Factur-X_1.0.07_EN16931_codedb.xml → factur-x_1/Factur-X_1.07.2_EN16931_codedb.xml} +35 -3
  17. data/schemas/{factur-x_1.0.0.7/Factur-X_1.0.07_EN16931_urn_un_unece_uncefact_data_standard_RABIE_100.xsd → factur-x_1/Factur-X_1.07.2_EN16931_urn_un_unece_uncefact_data_standard_RABIE_100.xsd} +2 -2
  18. metadata +8 -7
  19. /data/schemas/{factur-x_1.0.0.7/Factur-X_1.0.07_EN16931_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd → factur-x_1/Factur-X_1.07.2_EN16931_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd} +0 -0
  20. /data/schemas/{factur-x_1.0.0.7/Factur-X_1.0.07_EN16931_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd → factur-x_1/Factur-X_1.07.2_EN16931_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 78a5b530fb987800431c180f91436cd9d538ed364f478aa17ddee805e85fc2f3
4
- data.tar.gz: c4d569c8923b971e91eb5d1862f1e8484ddaf402cb62b6e405c4bee24ba2518f
3
+ metadata.gz: 8fb7cefb10c5f0b91d7b501d0501be8d52094de356e29f4bf0bbacb08bff3f25
4
+ data.tar.gz: 5ac439e6180ad5c51a6dcc6b835f28ca7b9ee4d63d4e42734ef186502a0dfd63
5
5
  SHA512:
6
- metadata.gz: 7dbdd370a0790c03b4f2fdbbefa16c3653e5554236e97b25eb7ff778ec1253a57e1323166ada9e8010fd5b47266ceee0bfc5e3c4e0f4d31a98f8ffd2d417f5d1
7
- data.tar.gz: 61c934e0e8994226b61ad2780695c610d86000265cb0e95478d994f3740143f5849c3662be0fe2e8754cc5ef02aff1176f2e7753a5036437cb087a39d833fb56
6
+ metadata.gz: 9df593f5068171fb4d6f7aaaf114981eb08edc51e621e1f0f782b8615ce461f16a41e6c80b3557dbac2271805b5e1d22f56807ef35503cb67a07c7ba89d8a75f
7
+ data.tar.gz: 2bc606ddd72a5f442a8c2c042859a566a0da3cff6a9e20b34b3b95f31cd9e0516fba1ab8b01b15ce3bf5e29c27bc562bb88a241504ccd34963d085d85fc02a06
data/README.md CHANGED
@@ -2,14 +2,18 @@
2
2
 
3
3
  See tests for examples.
4
4
 
5
- # Some words of caution
5
+ ## Some words of caution
6
6
 
7
7
  1. This is an opinionated library optimised for my very specific usecase
8
8
  2. While I did start to add some validations to make sure you can't input absolute garbage into this, I cannot guarantee factual (as in taxation law) correctness of the resulting XML.
9
9
  1. The library, for ZUGFeRD 2.x, currently only supports the EN16931 variant. This is probably what you want as well. PRs welcome.
10
10
  3. This does not contain any code to attach the XML to a PDF file, mainly because I have yet to find a ruby library to do that. For software that does this, take a look at [this python library](https://github.com/akretion/factur-x).
11
11
 
12
- # LICENSE
12
+ ## Contributors
13
+
14
+ See [CONTRIBUTORS.md](CONTRIBUTORS.md).
15
+
16
+ ## LICENSE
13
17
 
14
18
  See [LICENSE](LICENSE).
15
19
 
@@ -1,5 +1,5 @@
1
1
  =begin
2
- Copyright Jan Krutisch
2
+ Copyright Jan Krutisch and contributors (see CONTRIBUTORS.md)
3
3
 
4
4
  Licensed under the Apache License, Version 2.0 (the "License");
5
5
  you may not use this file except in compliance with the License.
@@ -1,3 +1,18 @@
1
+ =begin
2
+ Copyright Jan Krutisch and contributors (see CONTRIBUTORS.md)
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ =end
1
16
  module Secretariat
2
17
  module Helpers
3
18
  def self.format(something, round: nil, digits:2)
@@ -1,5 +1,5 @@
1
1
  =begin
2
- Copyright Jan Krutisch
2
+ Copyright Jan Krutisch and contributors (see CONTRIBUTORS.md)
3
3
 
4
4
  Licensed under the Apache License, Version 2.0 (the "License");
5
5
  you may not use this file except in compliance with the License.
@@ -61,6 +61,16 @@ module Secretariat
61
61
  TAX_CATEGORY_CODES[tax_category] || 'S'
62
62
  end
63
63
 
64
+ def taxes
65
+ taxes = {}
66
+ line_items.each do |line_item|
67
+ taxes[line_item.tax_percent] = Tax.new(tax_percent: BigDecimal(line_item.tax_percent)) if taxes[line_item.tax_percent].nil?
68
+ taxes[line_item.tax_percent].tax_amount += BigDecimal(line_item.tax_amount)
69
+ taxes[line_item.tax_percent].base_amount += BigDecimal(line_item.net_amount) * line_item.quantity
70
+ end
71
+ taxes.values
72
+ end
73
+
64
74
  def payment_code
65
75
  PAYMENT_CODES[payment_type] || '1'
66
76
  end
@@ -69,12 +79,24 @@ module Secretariat
69
79
  @errors = []
70
80
  tax = BigDecimal(tax_amount)
71
81
  basis = BigDecimal(basis_amount)
72
- calc_tax = basis * BigDecimal(tax_percent) / BigDecimal(100)
73
- calc_tax = calc_tax.round(2, :down)
74
- if tax != calc_tax
75
- @errors << "Tax amount and calculated tax amount deviate: #{tax} / #{calc_tax}"
82
+ summed_tax_amount = taxes.sum(&:tax_amount)
83
+ if tax != summed_tax_amount
84
+ @errors << "Tax amount and summed tax amounts deviate: #{tax_amount} / #{summed_tax_amount}"
85
+ return false
86
+ end
87
+ summed_tax_base_amount = taxes.sum(&:base_amount)
88
+ if basis != summed_tax_base_amount
89
+ @errors << "Base amount and summed tax base amount deviate: #{basis} / #{summed_tax_base_amount}"
76
90
  return false
77
91
  end
92
+ taxes.each do |tax|
93
+ calc_tax = tax.base_amount * BigDecimal(tax.tax_percent) / BigDecimal(100)
94
+ calc_tax = calc_tax.round(2, :down)
95
+ if tax.tax_amount != calc_tax
96
+ @errors << "Tax amount and calculated tax amount deviate for rate #{tax.tax_percent}: #{tax.tax_amount} / #{calc_tax}"
97
+ return false
98
+ end
99
+ end
78
100
  grand_total = BigDecimal(grand_total_amount)
79
101
  calc_grand_total = basis + tax
80
102
  if grand_total != calc_grand_total
@@ -200,18 +222,19 @@ module Secretariat
200
222
  end
201
223
  end
202
224
  end
203
- xml['ram'].ApplicableTradeTax do
225
+ taxes.each do |tax|
226
+ xml['ram'].ApplicableTradeTax do
227
+ Helpers.currency_element(xml, 'ram', 'CalculatedAmount', tax.tax_amount, currency_code, add_currency: version == 1)
228
+ xml['ram'].TypeCode 'VAT'
229
+ if tax_reason_text && tax_reason_text != ''
230
+ xml['ram'].ExemptionReason tax_reason_text
231
+ end
232
+ Helpers.currency_element(xml, 'ram', 'BasisAmount', tax.base_amount, currency_code, add_currency: version == 1)
233
+ xml['ram'].CategoryCode tax_category_code(version: version)
204
234
 
205
- Helpers.currency_element(xml, 'ram', 'CalculatedAmount', tax_amount, currency_code, add_currency: version == 1)
206
- xml['ram'].TypeCode 'VAT'
207
- if tax_reason_text && tax_reason_text != ''
208
- xml['ram'].ExemptionReason tax_reason_text
235
+ percent = by_version(version, 'ApplicablePercent', 'RateApplicablePercent')
236
+ xml['ram'].send(percent, Helpers.format(tax.tax_percent))
209
237
  end
210
- Helpers.currency_element(xml, 'ram', 'BasisAmount', basis_amount, currency_code, add_currency: version == 1)
211
- xml['ram'].CategoryCode tax_category_code(version: version)
212
-
213
- percent = by_version(version, 'ApplicablePercent', 'RateApplicablePercent')
214
- xml['ram'].send(percent, Helpers.format(tax_percent))
215
238
  end
216
239
  if version == 2 && service_period_start && service_period_end
217
240
  xml['ram'].BillingSpecifiedPeriod do
@@ -1,5 +1,5 @@
1
1
  =begin
2
- Copyright Jan Krutisch
2
+ Copyright Jan Krutisch and contributors (see CONTRIBUTORS.md)
3
3
 
4
4
  Licensed under the Apache License, Version 2.0 (the "License");
5
5
  you may not use this file except in compliance with the License.
@@ -12,7 +12,6 @@ distributed under the License is distributed on an "AS IS" BASIS,
12
12
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
13
  See the License for the specific language governing permissions and
14
14
  limitations under the License.
15
-
16
15
  =end
17
16
 
18
17
 
@@ -0,0 +1,33 @@
1
+ =begin
2
+ Copyright Jan Krutisch and contributors (see CONTRIBUTORS.md)
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ =end
16
+
17
+ require 'bigdecimal'
18
+
19
+ module Secretariat
20
+ Tax = Struct.new('Tax',
21
+ :tax_percent,
22
+ :tax_amount,
23
+ :base_amount,
24
+ keyword_init: true
25
+ ) do
26
+
27
+ def initialize(*)
28
+ super
29
+ self.tax_amount = 0
30
+ self.base_amount = 0
31
+ end
32
+ end
33
+ end
@@ -1,5 +1,5 @@
1
1
  =begin
2
- Copyright Jan Krutisch
2
+ Copyright Jan Krutisch and contributors (see CONTRIBUTORS.md)
3
3
 
4
4
  Licensed under the Apache License, Version 2.0 (the "License");
5
5
  you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  =begin
2
- Copyright Jan Krutisch
2
+ Copyright Jan Krutisch and contributors (see CONTRIBUTORS.md)
3
3
 
4
4
  Licensed under the Apache License, Version 2.0 (the "License");
5
5
  you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  =begin
2
- Copyright Jan Krutisch
2
+ Copyright Jan Krutisch and contributors (see CONTRIBUTORS.md)
3
3
 
4
4
  Licensed under the Apache License, Version 2.0 (the "License");
5
5
  you may not use this file except in compliance with the License.
@@ -25,17 +25,17 @@ module Secretariat
25
25
  class Validator
26
26
  SCHEMATRON = [
27
27
  '../../schemas/zugferd_1/ZUGFeRD1p0.sch',
28
- '../../schemas/factur-x_1.0.0.7/Factur-X_1.0.07_EN16931.sch'
28
+ '../../schemas/factur-x_1/Factur-X_1.07.2_EN16931.sch'
29
29
  ]
30
30
 
31
31
  SCHEMA = [
32
32
  '../../schemas/zugferd_1/ZUGFeRD1p0.xsd',
33
- '../../schemas/factur-x_1.0.0.7/Factur-X_1.0.07_EN16931.xsd'
33
+ '../../schemas/factur-x_1/Factur-X_1.07.2_EN16931.xsd'
34
34
  ]
35
35
 
36
36
  SCHEMA_DIR = [
37
37
  '../../schemas/zugferd_1',
38
- '../../schemas/factur-x_1.0.0.7/'
38
+ '../../schemas/factur-x_1/'
39
39
  ]
40
40
 
41
41
  attr_accessor :doc, :version
@@ -1,5 +1,5 @@
1
1
  =begin
2
- Copyright Jan Krutisch
2
+ Copyright Jan Krutisch and contributors (see CONTRIBUTORS.md)
3
3
 
4
4
  Licensed under the Apache License, Version 2.0 (the "License");
5
5
  you may not use this file except in compliance with the License.
@@ -15,5 +15,5 @@ limitations under the License.
15
15
  =end
16
16
 
17
17
  module Secretariat
18
- VERSION = '3.1.0'
18
+ VERSION = '3.2.0'
19
19
  end
@@ -1,3 +1,18 @@
1
+ =begin
2
+ Copyright Jan Krutisch and contributors (see CONTRIBUTORS.md)
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ =end
1
16
  module Secretariat
2
17
  module Versioner
3
18
  def by_version(version, v1, v2)
data/lib/secretariat.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  =begin
2
- Copyright Jan Krutisch
2
+ Copyright Jan Krutisch and contributors (see CONTRIBUTORS.md)
3
3
 
4
4
  Licensed under the Apache License, Version 2.0 (the "License");
5
5
  you may not use this file except in compliance with the License.
@@ -23,3 +23,4 @@ require_relative 'secretariat/invoice'
23
23
  require_relative 'secretariat/trade_party'
24
24
  require_relative 'secretariat/line_item'
25
25
  require_relative 'secretariat/validator'
26
+ require_relative 'secretariat/tax'
@@ -2,7 +2,7 @@
2
2
  <schema xmlns="http://purl.oclc.org/dsdl/schematron"
3
3
  queryBinding="xslt2"
4
4
  schemaVersion="iso">
5
- <title>Schema for Factur-X; 1.0.07; EN16931-COMPLIANT (FULLY)</title>
5
+ <title>Schema for Factur-X; 1.07.2; EN16931-COMPLIANT (FULLY)</title>
6
6
  <ns uri="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100" prefix="rsm"/>
7
7
  <ns uri="urn:un:unece:uncefact:data:standard:QualifiedDataType:100" prefix="qdt"/>
8
8
  <ns uri="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100" prefix="ram"/>
@@ -133,7 +133,7 @@
133
133
  [BR-65]-The Item classification identifier (BT-158) shall have a Scheme identifier.</assert>
134
134
  <assert test="(ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[upper-case(ram:TypeCode) = &apos;VAT&apos;]/ram:CategoryCode)">
135
135
  [BR-CO-04]-Each Invoice line (BG-25) shall be categorized with an Invoiced item VAT category code (BT-151).</assert>
136
- <assert test="string-length(substring-after(ram:SpecifiedTradeSettlement/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount,&apos;.&apos;))&lt;=2">
136
+ <assert test="string-length(substring-after(ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount,&apos;.&apos;))&lt;=2">
137
137
  [BR-DEC-23]-The allowed maximum number of decimals for the Invoice line net amount (BT-131) is 2.</assert>
138
138
  </rule>
139
139
  </pattern>
@@ -261,7 +261,7 @@
261
261
  <rule context="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=&apos;false&apos;]/ram:CategoryTradeTax[ram:CategoryCode = &apos;M&apos;]">
262
262
  <assert test="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = (&apos;VA&apos;, &apos;FC&apos;)] or /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = &apos;VA&apos;]">
263
263
  [BR-AG-03]-An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "IPSI" shall contain the Seller VAT Identifier (BT-31), the Seller Tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).</assert>
264
- <assert test="ram:RateApplicablePercent &gt; 0">
264
+ <assert test="ram:RateApplicablePercent &gt;= 0">
265
265
  [BR-AG-06]-In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "IPSI" the Document level allowance VAT rate (BT-96) shall be 0 (zero) or greater than zero.</assert>
266
266
  </rule>
267
267
  </pattern>
@@ -333,7 +333,7 @@
333
333
  <rule context="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=&apos;true&apos;]/ram:CategoryTradeTax[ram:CategoryCode = &apos;M&apos;]">
334
334
  <assert test="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = (&apos;VA&apos;, &apos;FC&apos;)] or /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = &apos;VA&apos;]">
335
335
  [BR-AG-04]-An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "IPSI" shall contain the Seller VAT Identifier (BT-31), the Seller Tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).</assert>
336
- <assert test="ram:RateApplicablePercent &gt; 0">
336
+ <assert test="ram:RateApplicablePercent &gt;= 0">
337
337
  [BR-AG-07]-In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "IPSI" the Document level charge VAT rate (BT-103) shall be 0 (zero) or greater than zero.</assert>
338
338
  </rule>
339
339
  </pattern>
@@ -421,12 +421,16 @@
421
421
  [BR-CO-27]-Either the IBAN or a Proprietary ID (BT-84) shall be used.</assert>
422
422
  </rule>
423
423
  </pattern>
424
+ <pattern>
425
+ <rule context="//ram:SpecifiedTradeSettlementPaymentMeans[ram:TypeCode=&apos;30&apos; or ram:TypeCode=&apos;58&apos;]/ram:PayeePartyCreditorFinancialAccount">
426
+ <assert test="(ram:IBANID) or (ram:ProprietaryID)">
427
+ [BR-61]-If the Payment means type code (BT-81) means SEPA credit transfer, Local credit transfer or Non-SEPA international credit transfer, the Payment account identifier (BT-84) shall be present.</assert>
428
+ </rule>
429
+ </pattern>
424
430
  <pattern>
425
431
  <rule context="//ram:SpecifiedTradeSettlementPaymentMeans[ram:TypeCode=&apos;30&apos; or ram:TypeCode=&apos;58&apos;]/ram:PayerPartyDebtorFinancialAccount">
426
432
  <assert test="(ram:IBANID) or (ram:ProprietaryID)">
427
433
  [BR-50]-A Payment account identifier (BT-84) shall be present if Credit transfer (BG-16) information is provided in the Invoice.</assert>
428
- <assert test="(ram:IBANID) or (ram:ProprietaryID)">
429
- [BR-61]-If the Payment means type code (BT-81) means SEPA credit transfer, Local credit transfer or Non-SEPA international credit transfer, the Payment account identifier (BT-84) shall be present.</assert>
430
434
  </rule>
431
435
  </pattern>
432
436
  <pattern>
@@ -561,7 +565,7 @@
561
565
  <rule context="//rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode = &apos;M&apos;]">
562
566
  <assert test="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = (&apos;VA&apos;, &apos;FC&apos;)] or /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = &apos;VA&apos;]">
563
567
  [BR-AG-02]-An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "IPSI" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).</assert>
564
- <assert test="ram:RateApplicablePercent &gt; 0">
568
+ <assert test="ram:RateApplicablePercent &gt;= 0">
565
569
  [BR-AG-05]-In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "IPSI" the Invoiced item VAT rate (BT-152) shall be 0 (zero) or greater than zero.</assert>
566
570
  </rule>
567
571
  </pattern>
@@ -670,7 +674,7 @@
670
674
  <pattern>
671
675
  <rule context="/rsm:CrossIndustryInvoice/rsm:ExchangedDocument/ram:IncludedNote/ram:SubjectCode">
672
676
  <let name="codeValue4" value="."/>
673
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=4]/enumeration[@value=$codeValue4]">
677
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=4]/enumeration[@value=$codeValue4]">
674
678
  Value of 'ram:SubjectCode' is not allowed.</assert>
675
679
  </rule>
676
680
  </pattern>
@@ -695,14 +699,14 @@
695
699
  <pattern>
696
700
  <rule context="/rsm:CrossIndustryInvoice/rsm:ExchangedDocument/ram:IssueDateTime/udt:DateTimeString[@format]">
697
701
  <let name="codeValue3" value="@format"/>
698
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=3]/enumeration[@value=$codeValue3]">
702
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=3]/enumeration[@value=$codeValue3]">
699
703
  Value of '@format' is not allowed.</assert>
700
704
  </rule>
701
705
  </pattern>
702
706
  <pattern>
703
707
  <rule context="/rsm:CrossIndustryInvoice/rsm:ExchangedDocument/ram:TypeCode">
704
708
  <let name="codeValue2" value="."/>
705
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=2]/enumeration[@value=$codeValue2]">
709
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=2]/enumeration[@value=$codeValue2]">
706
710
  Value of 'ram:TypeCode' is not allowed.</assert>
707
711
  </rule>
708
712
  </pattern>
@@ -735,7 +739,7 @@
735
739
  <pattern>
736
740
  <rule context="/rsm:CrossIndustryInvoice/rsm:ExchangedDocumentContext/ram:GuidelineSpecifiedDocumentContextParameter/ram:ID">
737
741
  <let name="codeValue1" value="."/>
738
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=1]/enumeration[@value=$codeValue1]">
742
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=1]/enumeration[@value=$codeValue1]">
739
743
  Value of 'ram:ID' is not allowed.</assert>
740
744
  </rule>
741
745
  </pattern>
@@ -806,14 +810,14 @@
806
810
  <pattern>
807
811
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[ram:TypeCode=&quot;130&quot;]/ram:ReferenceTypeCode">
808
812
  <let name="codeValue14" value="."/>
809
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=14]/enumeration[@value=$codeValue14]">
813
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=14]/enumeration[@value=$codeValue14]">
810
814
  Value of 'ram:ReferenceTypeCode' is not allowed.</assert>
811
815
  </rule>
812
816
  </pattern>
813
817
  <pattern>
814
818
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[ram:TypeCode=&quot;130&quot;]/ram:TypeCode">
815
819
  <let name="codeValue23" value="."/>
816
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=23]/enumeration[@value=$codeValue23]">
820
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=23]/enumeration[@value=$codeValue23]">
817
821
  Value of 'ram:TypeCode' is not allowed.</assert>
818
822
  </rule>
819
823
  </pattern>
@@ -870,7 +874,7 @@
870
874
  <pattern>
871
875
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[ram:TypeCode=&quot;50&quot;]/ram:TypeCode">
872
876
  <let name="codeValue22" value="."/>
873
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=22]/enumeration[@value=$codeValue22]">
877
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=22]/enumeration[@value=$codeValue22]">
874
878
  Value of 'ram:TypeCode' is not allowed.</assert>
875
879
  </rule>
876
880
  </pattern>
@@ -903,7 +907,7 @@
903
907
  <pattern>
904
908
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[ram:TypeCode=&quot;916&quot;]/ram:AttachmentBinaryObject[@mimeCode]">
905
909
  <let name="codeValue21" value="@mimeCode"/>
906
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=21]/enumeration[@value=$codeValue21]">
910
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=21]/enumeration[@value=$codeValue21]">
907
911
  Value of '@mimeCode' is not allowed.</assert>
908
912
  </rule>
909
913
  </pattern>
@@ -934,7 +938,7 @@
934
938
  <pattern>
935
939
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[ram:TypeCode=&quot;916&quot;]/ram:TypeCode">
936
940
  <let name="codeValue20" value="."/>
937
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=20]/enumeration[@value=$codeValue20]">
941
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=20]/enumeration[@value=$codeValue20]">
938
942
  Value of 'ram:TypeCode' is not allowed.</assert>
939
943
  </rule>
940
944
  </pattern>
@@ -1061,7 +1065,7 @@
1061
1065
  <pattern>
1062
1066
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:GlobalID[@schemeID]">
1063
1067
  <let name="codeValue15" value="@schemeID"/>
1064
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=15]/enumeration[@value=$codeValue15]">
1068
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=15]/enumeration[@value=$codeValue15]">
1065
1069
  Value of '@schemeID' is not allowed.</assert>
1066
1070
  </rule>
1067
1071
  </pattern>
@@ -1082,7 +1086,7 @@
1082
1086
  <pattern>
1083
1087
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:CountryID">
1084
1088
  <let name="codeValue7" value="."/>
1085
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=7]/enumeration[@value=$codeValue7]">
1089
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=7]/enumeration[@value=$codeValue7]">
1086
1090
  Value of 'ram:CountryID' is not allowed.</assert>
1087
1091
  </rule>
1088
1092
  </pattern>
@@ -1101,7 +1105,7 @@
1101
1105
  <pattern>
1102
1106
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:SpecifiedLegalOrganization/ram:ID[@schemeID]">
1103
1107
  <let name="codeValue16" value="@schemeID"/>
1104
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=16]/enumeration[@value=$codeValue16]">
1108
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=16]/enumeration[@value=$codeValue16]">
1105
1109
  Value of '@schemeID' is not allowed.</assert>
1106
1110
  </rule>
1107
1111
  </pattern>
@@ -1120,7 +1124,7 @@
1120
1124
  <pattern>
1121
1125
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID]">
1122
1126
  <let name="codeValue18" value="@schemeID"/>
1123
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=18]/enumeration[@value=$codeValue18]">
1127
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=18]/enumeration[@value=$codeValue18]">
1124
1128
  Value of '@schemeID' is not allowed.</assert>
1125
1129
  </rule>
1126
1130
  </pattern>
@@ -1145,7 +1149,7 @@
1145
1149
  <pattern>
1146
1150
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:URIUniversalCommunication/ram:URIID[@schemeID]">
1147
1151
  <let name="codeValue17" value="@schemeID"/>
1148
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=17]/enumeration[@value=$codeValue17]">
1152
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=17]/enumeration[@value=$codeValue17]">
1149
1153
  Value of '@schemeID' is not allowed.</assert>
1150
1154
  </rule>
1151
1155
  </pattern>
@@ -1302,7 +1306,7 @@
1302
1306
  <pattern>
1303
1307
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:PostalTradeAddress/ram:CountryID">
1304
1308
  <let name="codeValue7" value="."/>
1305
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=7]/enumeration[@value=$codeValue7]">
1309
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=7]/enumeration[@value=$codeValue7]">
1306
1310
  Value of 'ram:CountryID' is not allowed.</assert>
1307
1311
  </rule>
1308
1312
  </pattern>
@@ -1339,7 +1343,7 @@
1339
1343
  <pattern>
1340
1344
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID]">
1341
1345
  <let name="codeValue19" value="@schemeID"/>
1342
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=19]/enumeration[@value=$codeValue19]">
1346
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=19]/enumeration[@value=$codeValue19]">
1343
1347
  Value of '@schemeID' is not allowed.</assert>
1344
1348
  </rule>
1345
1349
  </pattern>
@@ -1406,7 +1410,7 @@
1406
1410
  <pattern>
1407
1411
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:GlobalID[@schemeID]">
1408
1412
  <let name="codeValue15" value="@schemeID"/>
1409
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=15]/enumeration[@value=$codeValue15]">
1413
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=15]/enumeration[@value=$codeValue15]">
1410
1414
  Value of '@schemeID' is not allowed.</assert>
1411
1415
  </rule>
1412
1416
  </pattern>
@@ -1427,7 +1431,7 @@
1427
1431
  <pattern>
1428
1432
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:CountryID">
1429
1433
  <let name="codeValue7" value="."/>
1430
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=7]/enumeration[@value=$codeValue7]">
1434
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=7]/enumeration[@value=$codeValue7]">
1431
1435
  Value of 'ram:CountryID' is not allowed.</assert>
1432
1436
  </rule>
1433
1437
  </pattern>
@@ -1446,7 +1450,7 @@
1446
1450
  <pattern>
1447
1451
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedLegalOrganization/ram:ID[@schemeID]">
1448
1452
  <let name="codeValue16" value="@schemeID"/>
1449
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=16]/enumeration[@value=$codeValue16]">
1453
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=16]/enumeration[@value=$codeValue16]">
1450
1454
  Value of '@schemeID' is not allowed.</assert>
1451
1455
  </rule>
1452
1456
  </pattern>
@@ -1501,7 +1505,7 @@
1501
1505
  <pattern>
1502
1506
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:URIUniversalCommunication/ram:URIID[@schemeID]">
1503
1507
  <let name="codeValue17" value="@schemeID"/>
1504
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=17]/enumeration[@value=$codeValue17]">
1508
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=17]/enumeration[@value=$codeValue17]">
1505
1509
  Value of '@schemeID' is not allowed.</assert>
1506
1510
  </rule>
1507
1511
  </pattern>
@@ -1532,7 +1536,7 @@
1532
1536
  <pattern>
1533
1537
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ActualDeliverySupplyChainEvent/ram:OccurrenceDateTime/udt:DateTimeString[@format]">
1534
1538
  <let name="codeValue3" value="@format"/>
1535
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=3]/enumeration[@value=$codeValue3]">
1539
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=3]/enumeration[@value=$codeValue3]">
1536
1540
  Value of '@format' is not allowed.</assert>
1537
1541
  </rule>
1538
1542
  </pattern>
@@ -1673,7 +1677,7 @@
1673
1677
  <pattern>
1674
1678
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:GlobalID[@schemeID]">
1675
1679
  <let name="codeValue15" value="@schemeID"/>
1676
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=15]/enumeration[@value=$codeValue15]">
1680
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=15]/enumeration[@value=$codeValue15]">
1677
1681
  Value of '@schemeID' is not allowed.</assert>
1678
1682
  </rule>
1679
1683
  </pattern>
@@ -1694,7 +1698,7 @@
1694
1698
  <pattern>
1695
1699
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:CountryID">
1696
1700
  <let name="codeValue7" value="."/>
1697
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=7]/enumeration[@value=$codeValue7]">
1701
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=7]/enumeration[@value=$codeValue7]">
1698
1702
  Value of 'ram:CountryID' is not allowed.</assert>
1699
1703
  </rule>
1700
1704
  </pattern>
@@ -1771,21 +1775,21 @@
1771
1775
  <pattern>
1772
1776
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode">
1773
1777
  <let name="codeValue10" value="."/>
1774
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=10]/enumeration[@value=$codeValue10]">
1778
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=10]/enumeration[@value=$codeValue10]">
1775
1779
  Value of 'ram:CategoryCode' is not allowed.</assert>
1776
1780
  </rule>
1777
1781
  </pattern>
1778
1782
  <pattern>
1779
1783
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:DueDateTypeCode">
1780
1784
  <let name="codeValue28" value="."/>
1781
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=28]/enumeration[@value=$codeValue28]">
1785
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=28]/enumeration[@value=$codeValue28]">
1782
1786
  Value of 'ram:DueDateTypeCode' is not allowed.</assert>
1783
1787
  </rule>
1784
1788
  </pattern>
1785
1789
  <pattern>
1786
1790
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:ExemptionReasonCode">
1787
1791
  <let name="codeValue26" value="."/>
1788
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=26]/enumeration[@value=$codeValue26]">
1792
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=26]/enumeration[@value=$codeValue26]">
1789
1793
  Value of 'ram:ExemptionReasonCode' is not allowed.</assert>
1790
1794
  </rule>
1791
1795
  </pattern>
@@ -1810,14 +1814,14 @@
1810
1814
  <pattern>
1811
1815
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:TaxPointDate/udt:DateString[@format]">
1812
1816
  <let name="codeValue27" value="@format"/>
1813
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=27]/enumeration[@value=$codeValue27]">
1817
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=27]/enumeration[@value=$codeValue27]">
1814
1818
  Value of '@format' is not allowed.</assert>
1815
1819
  </rule>
1816
1820
  </pattern>
1817
1821
  <pattern>
1818
1822
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:TypeCode">
1819
1823
  <let name="codeValue9" value="."/>
1820
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=9]/enumeration[@value=$codeValue9]">
1824
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=9]/enumeration[@value=$codeValue9]">
1821
1825
  Value of 'ram:TypeCode' is not allowed.</assert>
1822
1826
  </rule>
1823
1827
  </pattern>
@@ -1830,7 +1834,7 @@
1830
1834
  <pattern>
1831
1835
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:BillingSpecifiedPeriod/ram:EndDateTime/udt:DateTimeString[@format]">
1832
1836
  <let name="codeValue3" value="@format"/>
1833
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=3]/enumeration[@value=$codeValue3]">
1837
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=3]/enumeration[@value=$codeValue3]">
1834
1838
  Value of '@format' is not allowed.</assert>
1835
1839
  </rule>
1836
1840
  </pattern>
@@ -1843,7 +1847,7 @@
1843
1847
  <pattern>
1844
1848
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:BillingSpecifiedPeriod/ram:StartDateTime/udt:DateTimeString[@format]">
1845
1849
  <let name="codeValue3" value="@format"/>
1846
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=3]/enumeration[@value=$codeValue3]">
1850
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=3]/enumeration[@value=$codeValue3]">
1847
1851
  Value of '@format' is not allowed.</assert>
1848
1852
  </rule>
1849
1853
  </pattern>
@@ -1856,7 +1860,7 @@
1856
1860
  <pattern>
1857
1861
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode">
1858
1862
  <let name="codeValue24" value="."/>
1859
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=24]/enumeration[@value=$codeValue24]">
1863
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=24]/enumeration[@value=$codeValue24]">
1860
1864
  Value of 'ram:InvoiceCurrencyCode' is not allowed.</assert>
1861
1865
  </rule>
1862
1866
  </pattern>
@@ -1883,7 +1887,7 @@
1883
1887
  <pattern>
1884
1888
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceReferencedDocument/ram:FormattedIssueDateTime/qdt:DateTimeString[@format]">
1885
1889
  <let name="codeValue33" value="@format"/>
1886
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=33]/enumeration[@value=$codeValue33]">
1890
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=33]/enumeration[@value=$codeValue33]">
1887
1891
  Value of '@format' is not allowed.</assert>
1888
1892
  </rule>
1889
1893
  </pattern>
@@ -1954,7 +1958,7 @@
1954
1958
  <pattern>
1955
1959
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:GlobalID[@schemeID]">
1956
1960
  <let name="codeValue15" value="@schemeID"/>
1957
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=15]/enumeration[@value=$codeValue15]">
1961
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=15]/enumeration[@value=$codeValue15]">
1958
1962
  Value of '@schemeID' is not allowed.</assert>
1959
1963
  </rule>
1960
1964
  </pattern>
@@ -1973,7 +1977,7 @@
1973
1977
  <pattern>
1974
1978
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:SpecifiedLegalOrganization/ram:ID[@schemeID]">
1975
1979
  <let name="codeValue16" value="@schemeID"/>
1976
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=16]/enumeration[@value=$codeValue16]">
1980
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=16]/enumeration[@value=$codeValue16]">
1977
1981
  Value of '@schemeID' is not allowed.</assert>
1978
1982
  </rule>
1979
1983
  </pattern>
@@ -2052,7 +2056,7 @@
2052
2056
  <pattern>
2053
2057
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=&quot;false&quot;]/ram:CategoryTradeTax/ram:CategoryCode">
2054
2058
  <let name="codeValue10" value="."/>
2055
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=10]/enumeration[@value=$codeValue10]">
2059
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=10]/enumeration[@value=$codeValue10]">
2056
2060
  Value of 'ram:CategoryCode' is not allowed.</assert>
2057
2061
  </rule>
2058
2062
  </pattern>
@@ -2083,14 +2087,14 @@
2083
2087
  <pattern>
2084
2088
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=&quot;false&quot;]/ram:CategoryTradeTax/ram:TypeCode">
2085
2089
  <let name="codeValue9" value="."/>
2086
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=9]/enumeration[@value=$codeValue9]">
2090
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=9]/enumeration[@value=$codeValue9]">
2087
2091
  Value of 'ram:TypeCode' is not allowed.</assert>
2088
2092
  </rule>
2089
2093
  </pattern>
2090
2094
  <pattern>
2091
2095
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=&quot;false&quot;]/ram:ReasonCode">
2092
2096
  <let name="codeValue29" value="."/>
2093
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=29]/enumeration[@value=$codeValue29]">
2097
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=29]/enumeration[@value=$codeValue29]">
2094
2098
  Value of 'ram:ReasonCode' is not allowed.</assert>
2095
2099
  </rule>
2096
2100
  </pattern>
@@ -2139,7 +2143,7 @@
2139
2143
  <pattern>
2140
2144
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=&quot;true&quot;]/ram:CategoryTradeTax/ram:CategoryCode">
2141
2145
  <let name="codeValue10" value="."/>
2142
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=10]/enumeration[@value=$codeValue10]">
2146
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=10]/enumeration[@value=$codeValue10]">
2143
2147
  Value of 'ram:CategoryCode' is not allowed.</assert>
2144
2148
  </rule>
2145
2149
  </pattern>
@@ -2170,14 +2174,14 @@
2170
2174
  <pattern>
2171
2175
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=&quot;true&quot;]/ram:CategoryTradeTax/ram:TypeCode">
2172
2176
  <let name="codeValue9" value="."/>
2173
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=9]/enumeration[@value=$codeValue9]">
2177
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=9]/enumeration[@value=$codeValue9]">
2174
2178
  Value of 'ram:TypeCode' is not allowed.</assert>
2175
2179
  </rule>
2176
2180
  </pattern>
2177
2181
  <pattern>
2178
2182
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=&quot;true&quot;]/ram:ReasonCode">
2179
2183
  <let name="codeValue30" value="."/>
2180
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=30]/enumeration[@value=$codeValue30]">
2184
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=30]/enumeration[@value=$codeValue30]">
2181
2185
  Value of 'ram:ReasonCode' is not allowed.</assert>
2182
2186
  </rule>
2183
2187
  </pattern>
@@ -2204,7 +2208,7 @@
2204
2208
  <pattern>
2205
2209
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradePaymentTerms/ram:DueDateDateTime/udt:DateTimeString[@format]">
2206
2210
  <let name="codeValue3" value="@format"/>
2207
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=3]/enumeration[@value=$codeValue3]">
2211
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=3]/enumeration[@value=$codeValue3]">
2208
2212
  Value of '@format' is not allowed.</assert>
2209
2213
  </rule>
2210
2214
  </pattern>
@@ -2283,7 +2287,7 @@
2283
2287
  <pattern>
2284
2288
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=../../ram:InvoiceCurrencyCode and @currencyID]">
2285
2289
  <let name="codeValue31" value="@currencyID"/>
2286
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=31]/enumeration[@value=$codeValue31]">
2290
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=31]/enumeration[@value=$codeValue31]">
2287
2291
  Value of '@currencyID' is not allowed.</assert>
2288
2292
  </rule>
2289
2293
  </pattern>
@@ -2296,7 +2300,7 @@
2296
2300
  <pattern>
2297
2301
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=../../ram:TaxCurrencyCode and @currencyID]">
2298
2302
  <let name="codeValue32" value="@currencyID"/>
2299
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=32]/enumeration[@value=$codeValue32]">
2303
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=32]/enumeration[@value=$codeValue32]">
2300
2304
  Value of '@currencyID' is not allowed.</assert>
2301
2305
  </rule>
2302
2306
  </pattern>
@@ -2373,14 +2377,14 @@
2373
2377
  <pattern>
2374
2378
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:TypeCode">
2375
2379
  <let name="codeValue25" value="."/>
2376
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=25]/enumeration[@value=$codeValue25]">
2380
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=25]/enumeration[@value=$codeValue25]">
2377
2381
  Value of 'ram:TypeCode' is not allowed.</assert>
2378
2382
  </rule>
2379
2383
  </pattern>
2380
2384
  <pattern>
2381
2385
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:TaxCurrencyCode">
2382
2386
  <let name="codeValue24" value="."/>
2383
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=24]/enumeration[@value=$codeValue24]">
2387
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=24]/enumeration[@value=$codeValue24]">
2384
2388
  Value of 'ram:TaxCurrencyCode' is not allowed.</assert>
2385
2389
  </rule>
2386
2390
  </pattern>
@@ -2537,7 +2541,7 @@
2537
2541
  <pattern>
2538
2542
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeAgreement/ram:GrossPriceProductTradePrice/ram:BasisQuantity[@unitCode]">
2539
2543
  <let name="codeValue8" value="@unitCode"/>
2540
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=8]/enumeration[@value=$codeValue8]">
2544
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=8]/enumeration[@value=$codeValue8]">
2541
2545
  Value of '@unitCode' is not allowed.</assert>
2542
2546
  </rule>
2543
2547
  </pattern>
@@ -2562,7 +2566,7 @@
2562
2566
  <pattern>
2563
2567
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeAgreement/ram:NetPriceProductTradePrice/ram:BasisQuantity[@unitCode]">
2564
2568
  <let name="codeValue8" value="@unitCode"/>
2565
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=8]/enumeration[@value=$codeValue8]">
2569
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=8]/enumeration[@value=$codeValue8]">
2566
2570
  Value of '@unitCode' is not allowed.</assert>
2567
2571
  </rule>
2568
2572
  </pattern>
@@ -2587,7 +2591,7 @@
2587
2591
  <pattern>
2588
2592
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeDelivery/ram:BilledQuantity[@unitCode]">
2589
2593
  <let name="codeValue8" value="@unitCode"/>
2590
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=8]/enumeration[@value=$codeValue8]">
2594
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=8]/enumeration[@value=$codeValue8]">
2591
2595
  Value of '@unitCode' is not allowed.</assert>
2592
2596
  </rule>
2593
2597
  </pattern>
@@ -2644,14 +2648,14 @@
2644
2648
  <pattern>
2645
2649
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:AdditionalReferencedDocument/ram:ReferenceTypeCode">
2646
2650
  <let name="codeValue14" value="."/>
2647
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=14]/enumeration[@value=$codeValue14]">
2651
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=14]/enumeration[@value=$codeValue14]">
2648
2652
  Value of 'ram:ReferenceTypeCode' is not allowed.</assert>
2649
2653
  </rule>
2650
2654
  </pattern>
2651
2655
  <pattern>
2652
2656
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:AdditionalReferencedDocument/ram:TypeCode">
2653
2657
  <let name="codeValue13" value="."/>
2654
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=13]/enumeration[@value=$codeValue13]">
2658
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=13]/enumeration[@value=$codeValue13]">
2655
2659
  Value of 'ram:TypeCode' is not allowed.</assert>
2656
2660
  </rule>
2657
2661
  </pattern>
@@ -2684,7 +2688,7 @@
2684
2688
  <pattern>
2685
2689
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode">
2686
2690
  <let name="codeValue10" value="."/>
2687
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=10]/enumeration[@value=$codeValue10]">
2691
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=10]/enumeration[@value=$codeValue10]">
2688
2692
  Value of 'ram:CategoryCode' is not allowed.</assert>
2689
2693
  </rule>
2690
2694
  </pattern>
@@ -2715,7 +2719,7 @@
2715
2719
  <pattern>
2716
2720
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:TypeCode">
2717
2721
  <let name="codeValue9" value="."/>
2718
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=9]/enumeration[@value=$codeValue9]">
2722
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=9]/enumeration[@value=$codeValue9]">
2719
2723
  Value of 'ram:TypeCode' is not allowed.</assert>
2720
2724
  </rule>
2721
2725
  </pattern>
@@ -2728,7 +2732,7 @@
2728
2732
  <pattern>
2729
2733
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:BillingSpecifiedPeriod/ram:EndDateTime/udt:DateTimeString[@format]">
2730
2734
  <let name="codeValue3" value="@format"/>
2731
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=3]/enumeration[@value=$codeValue3]">
2735
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=3]/enumeration[@value=$codeValue3]">
2732
2736
  Value of '@format' is not allowed.</assert>
2733
2737
  </rule>
2734
2738
  </pattern>
@@ -2741,7 +2745,7 @@
2741
2745
  <pattern>
2742
2746
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:BillingSpecifiedPeriod/ram:StartDateTime/udt:DateTimeString[@format]">
2743
2747
  <let name="codeValue3" value="@format"/>
2744
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=3]/enumeration[@value=$codeValue3]">
2748
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=3]/enumeration[@value=$codeValue3]">
2745
2749
  Value of '@format' is not allowed.</assert>
2746
2750
  </rule>
2747
2751
  </pattern>
@@ -2786,7 +2790,7 @@
2786
2790
  <pattern>
2787
2791
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=&quot;false&quot;]/ram:ReasonCode">
2788
2792
  <let name="codeValue11" value="."/>
2789
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=11]/enumeration[@value=$codeValue11]">
2793
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=11]/enumeration[@value=$codeValue11]">
2790
2794
  Value of 'ram:ReasonCode' is not allowed.</assert>
2791
2795
  </rule>
2792
2796
  </pattern>
@@ -2819,7 +2823,7 @@
2819
2823
  <pattern>
2820
2824
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=&quot;true&quot;]/ram:ReasonCode">
2821
2825
  <let name="codeValue12" value="."/>
2822
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=12]/enumeration[@value=$codeValue12]">
2826
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=12]/enumeration[@value=$codeValue12]">
2823
2827
  Value of 'ram:ReasonCode' is not allowed.</assert>
2824
2828
  </rule>
2825
2829
  </pattern>
@@ -2866,7 +2870,7 @@
2866
2870
  <pattern>
2867
2871
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedTradeProduct/ram:DesignatedProductClassification/ram:ClassCode[@listID]">
2868
2872
  <let name="codeValue6" value="@listID"/>
2869
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=6]/enumeration[@value=$codeValue6]">
2873
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=6]/enumeration[@value=$codeValue6]">
2870
2874
  Value of '@listID' is not allowed.</assert>
2871
2875
  </rule>
2872
2876
  </pattern>
@@ -2879,7 +2883,7 @@
2879
2883
  <pattern>
2880
2884
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedTradeProduct/ram:GlobalID[@schemeID]">
2881
2885
  <let name="codeValue5" value="@schemeID"/>
2882
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=5]/enumeration[@value=$codeValue5]">
2886
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=5]/enumeration[@value=$codeValue5]">
2883
2887
  Value of '@schemeID' is not allowed.</assert>
2884
2888
  </rule>
2885
2889
  </pattern>
@@ -2892,7 +2896,7 @@
2892
2896
  <pattern>
2893
2897
  <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedTradeProduct/ram:OriginTradeCountry/ram:ID">
2894
2898
  <let name="codeValue7" value="."/>
2895
- <assert test="document(&apos;Factur-X_1.0.07_EN16931_codedb.xml&apos;)//cl[@id=7]/enumeration[@value=$codeValue7]">
2899
+ <assert test="document(&apos;Factur-X_1.07.2_EN16931_codedb.xml&apos;)//cl[@id=7]/enumeration[@value=$codeValue7]">
2896
2900
  Value of 'ram:ID' is not allowed.</assert>
2897
2901
  </rule>
2898
2902
  </pattern>
@@ -6,9 +6,9 @@
6
6
  xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100"
7
7
  targetNamespace="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"
8
8
  elementFormDefault="qualified">
9
- <xs:import namespace="urn:un:unece:uncefact:data:standard:QualifiedDataType:100" schemaLocation="Factur-X_1.0.07_EN16931_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd"/>
10
- <xs:import namespace="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100" schemaLocation="Factur-X_1.0.07_EN16931_urn_un_unece_uncefact_data_standard_RABIE_100.xsd"/>
11
- <xs:import namespace="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100" schemaLocation="Factur-X_1.0.07_EN16931_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd"/>
9
+ <xs:import namespace="urn:un:unece:uncefact:data:standard:QualifiedDataType:100" schemaLocation="Factur-X_1.07.2_EN16931_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd"/>
10
+ <xs:import namespace="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100" schemaLocation="Factur-X_1.07.2_EN16931_urn_un_unece_uncefact_data_standard_RABIE_100.xsd"/>
11
+ <xs:import namespace="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100" schemaLocation="Factur-X_1.07.2_EN16931_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd"/>
12
12
  <xs:element name="CrossIndustryInvoice" type="rsm:CrossIndustryInvoiceType"/>
13
13
  <xs:complexType name="CrossIndustryInvoiceType">
14
14
  <xs:sequence>
@@ -692,6 +692,14 @@
692
692
  <enumeration value="0228"/>
693
693
  <enumeration value="0229"/>
694
694
  <enumeration value="0230"/>
695
+ <enumeration value="0231"/>
696
+ <enumeration value="0232"/>
697
+ <enumeration value="0233"/>
698
+ <enumeration value="0234"/>
699
+ <enumeration value="0235"/>
700
+ <enumeration value="0236"/>
701
+ <enumeration value="0237"/>
702
+ <enumeration value="0238"/>
695
703
  </cl>
696
704
  <cl id="6">
697
705
  <enumeration value="AA"/>
@@ -4561,6 +4569,14 @@
4561
4569
  <enumeration value="0228"/>
4562
4570
  <enumeration value="0229"/>
4563
4571
  <enumeration value="0230"/>
4572
+ <enumeration value="0231"/>
4573
+ <enumeration value="0232"/>
4574
+ <enumeration value="0233"/>
4575
+ <enumeration value="0234"/>
4576
+ <enumeration value="0235"/>
4577
+ <enumeration value="0236"/>
4578
+ <enumeration value="0237"/>
4579
+ <enumeration value="0238"/>
4564
4580
  </cl>
4565
4581
  <cl id="16">
4566
4582
  <enumeration value="0002"/>
@@ -4788,6 +4804,14 @@
4788
4804
  <enumeration value="0228"/>
4789
4805
  <enumeration value="0229"/>
4790
4806
  <enumeration value="0230"/>
4807
+ <enumeration value="0231"/>
4808
+ <enumeration value="0232"/>
4809
+ <enumeration value="0233"/>
4810
+ <enumeration value="0234"/>
4811
+ <enumeration value="0235"/>
4812
+ <enumeration value="0236"/>
4813
+ <enumeration value="0237"/>
4814
+ <enumeration value="0238"/>
4791
4815
  </cl>
4792
4816
  <cl id="17">
4793
4817
  <enumeration value="0002"/>
@@ -4805,6 +4829,7 @@
4805
4829
  <enumeration value="0147"/>
4806
4830
  <enumeration value="0151"/>
4807
4831
  <enumeration value="0170"/>
4832
+ <enumeration value="0177"/>
4808
4833
  <enumeration value="0183"/>
4809
4834
  <enumeration value="0184"/>
4810
4835
  <enumeration value="0188"/>
@@ -4836,6 +4861,7 @@
4836
4861
  <enumeration value="0221"/>
4837
4862
  <enumeration value="0225"/>
4838
4863
  <enumeration value="0230"/>
4864
+ <enumeration value="0235"/>
4839
4865
  <enumeration value="9901"/>
4840
4866
  <enumeration value="9910"/>
4841
4867
  <enumeration value="9913"/>
@@ -4969,7 +4995,6 @@
4969
4995
  <enumeration value="GYD"/>
4970
4996
  <enumeration value="HKD"/>
4971
4997
  <enumeration value="HNL"/>
4972
- <enumeration value="HRK"/>
4973
4998
  <enumeration value="HTG"/>
4974
4999
  <enumeration value="HUF"/>
4975
5000
  <enumeration value="IDR"/>
@@ -5062,6 +5087,7 @@
5062
5087
  <enumeration value="UYU"/>
5063
5088
  <enumeration value="UYW"/>
5064
5089
  <enumeration value="UZS"/>
5090
+ <enumeration value="VED"/>
5065
5091
  <enumeration value="VES"/>
5066
5092
  <enumeration value="VND"/>
5067
5093
  <enumeration value="VUV"/>
@@ -5086,6 +5112,7 @@
5086
5112
  <enumeration value="YER"/>
5087
5113
  <enumeration value="ZAR"/>
5088
5114
  <enumeration value="ZMW"/>
5115
+ <enumeration value="ZWG"/>
5089
5116
  <enumeration value="ZWL"/>
5090
5117
  </cl>
5091
5118
  <cl id="25">
@@ -5207,6 +5234,8 @@
5207
5234
  <enumeration value="VATEX-EU-143-1J"/>
5208
5235
  <enumeration value="VATEX-EU-143-1K"/>
5209
5236
  <enumeration value="VATEX-EU-143-1L"/>
5237
+ <enumeration value="VATEX-EU-144"/>
5238
+ <enumeration value="VATEX-EU-146-1E"/>
5210
5239
  <enumeration value="VATEX-EU-148"/>
5211
5240
  <enumeration value="VATEX-EU-148-A"/>
5212
5241
  <enumeration value="VATEX-EU-148-B"/>
@@ -5222,6 +5251,7 @@
5222
5251
  <enumeration value="VATEX-EU-151-1C"/>
5223
5252
  <enumeration value="VATEX-EU-151-1D"/>
5224
5253
  <enumeration value="VATEX-EU-151-1E"/>
5254
+ <enumeration value="VATEX-EU-159"/>
5225
5255
  <enumeration value="VATEX-EU-309"/>
5226
5256
  <enumeration value="VATEX-EU-79-C"/>
5227
5257
  <enumeration value="VATEX-EU-AE"/>
@@ -5506,7 +5536,6 @@
5506
5536
  <enumeration value="GYD"/>
5507
5537
  <enumeration value="HKD"/>
5508
5538
  <enumeration value="HNL"/>
5509
- <enumeration value="HRK"/>
5510
5539
  <enumeration value="HTG"/>
5511
5540
  <enumeration value="HUF"/>
5512
5541
  <enumeration value="IDR"/>
@@ -5599,6 +5628,7 @@
5599
5628
  <enumeration value="UYU"/>
5600
5629
  <enumeration value="UYW"/>
5601
5630
  <enumeration value="UZS"/>
5631
+ <enumeration value="VED"/>
5602
5632
  <enumeration value="VES"/>
5603
5633
  <enumeration value="VND"/>
5604
5634
  <enumeration value="VUV"/>
@@ -5623,6 +5653,7 @@
5623
5653
  <enumeration value="YER"/>
5624
5654
  <enumeration value="ZAR"/>
5625
5655
  <enumeration value="ZMW"/>
5656
+ <enumeration value="ZWG"/>
5626
5657
  <enumeration value="ZWL"/>
5627
5658
  </cl>
5628
5659
  <cl id="32">
@@ -5687,7 +5718,6 @@
5687
5718
  <enumeration value="GYD"/>
5688
5719
  <enumeration value="HKD"/>
5689
5720
  <enumeration value="HNL"/>
5690
- <enumeration value="HRK"/>
5691
5721
  <enumeration value="HTG"/>
5692
5722
  <enumeration value="HUF"/>
5693
5723
  <enumeration value="IDR"/>
@@ -5780,6 +5810,7 @@
5780
5810
  <enumeration value="UYU"/>
5781
5811
  <enumeration value="UYW"/>
5782
5812
  <enumeration value="UZS"/>
5813
+ <enumeration value="VED"/>
5783
5814
  <enumeration value="VES"/>
5784
5815
  <enumeration value="VND"/>
5785
5816
  <enumeration value="VUV"/>
@@ -5804,6 +5835,7 @@
5804
5835
  <enumeration value="YER"/>
5805
5836
  <enumeration value="ZAR"/>
5806
5837
  <enumeration value="ZMW"/>
5838
+ <enumeration value="ZWG"/>
5807
5839
  <enumeration value="ZWL"/>
5808
5840
  </cl>
5809
5841
  <cl id="33">
@@ -5,8 +5,8 @@
5
5
  xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100"
6
6
  targetNamespace="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"
7
7
  elementFormDefault="qualified">
8
- <xs:import namespace="urn:un:unece:uncefact:data:standard:QualifiedDataType:100" schemaLocation="Factur-X_1.0.07_EN16931_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd"/>
9
- <xs:import namespace="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100" schemaLocation="Factur-X_1.0.07_EN16931_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd"/>
8
+ <xs:import namespace="urn:un:unece:uncefact:data:standard:QualifiedDataType:100" schemaLocation="Factur-X_1.07.2_EN16931_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd"/>
9
+ <xs:import namespace="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100" schemaLocation="Factur-X_1.07.2_EN16931_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd"/>
10
10
  <xs:complexType name="CreditorFinancialAccountType">
11
11
  <xs:sequence>
12
12
  <xs:element name="IBANID" type="udt:IDType" minOccurs="0"/>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: secretariat
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Krutisch
@@ -79,17 +79,18 @@ files:
79
79
  - lib/secretariat/helpers.rb
80
80
  - lib/secretariat/invoice.rb
81
81
  - lib/secretariat/line_item.rb
82
+ - lib/secretariat/tax.rb
82
83
  - lib/secretariat/trade_party.rb
83
84
  - lib/secretariat/validation_error.rb
84
85
  - lib/secretariat/validator.rb
85
86
  - lib/secretariat/version.rb
86
87
  - lib/secretariat/versioner.rb
87
- - schemas/factur-x_1.0.0.7/Factur-X_1.0.07_EN16931.sch
88
- - schemas/factur-x_1.0.0.7/Factur-X_1.0.07_EN16931.xsd
89
- - schemas/factur-x_1.0.0.7/Factur-X_1.0.07_EN16931_codedb.xml
90
- - schemas/factur-x_1.0.0.7/Factur-X_1.0.07_EN16931_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd
91
- - schemas/factur-x_1.0.0.7/Factur-X_1.0.07_EN16931_urn_un_unece_uncefact_data_standard_RABIE_100.xsd
92
- - schemas/factur-x_1.0.0.7/Factur-X_1.0.07_EN16931_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd
88
+ - schemas/factur-x_1/Factur-X_1.07.2_EN16931.sch
89
+ - schemas/factur-x_1/Factur-X_1.07.2_EN16931.xsd
90
+ - schemas/factur-x_1/Factur-X_1.07.2_EN16931_codedb.xml
91
+ - schemas/factur-x_1/Factur-X_1.07.2_EN16931_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd
92
+ - schemas/factur-x_1/Factur-X_1.07.2_EN16931_urn_un_unece_uncefact_data_standard_RABIE_100.xsd
93
+ - schemas/factur-x_1/Factur-X_1.07.2_EN16931_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd
93
94
  - schemas/zugferd_1/ZUGFeRD1p0.sch
94
95
  - schemas/zugferd_1/ZUGFeRD1p0.xsd
95
96
  - schemas/zugferd_1/ZUGFeRD1p0_urn_un_unece_uncefact_data_standard_QualifiedDataType_12.xsd