@endevops/peppol-schema 0.1.0-beta.2 → 0.1.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/NOTICE +17 -0
- package/README.md +7 -4
- package/dist/all-union-fields-CxoyKBpI.d.ts +445 -0
- package/dist/all-union-fields-CxoyKBpI.d.ts.map +1 -0
- package/dist/{document-parser.d.ts → document-DCcObB-a.d.ts} +443 -52
- package/dist/document-DCcObB-a.d.ts.map +1 -0
- package/dist/eas-codes.generated-D8jjHFij.js +2136 -0
- package/dist/eas-codes.generated-D8jjHFij.js.map +1 -0
- package/dist/effect.d.ts +6274 -93
- package/dist/effect.d.ts.map +1 -0
- package/dist/effect.js +3239 -93
- package/dist/effect.js.map +1 -0
- package/dist/index.d.ts +2613 -135
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3373 -134
- package/dist/index.js.map +1 -0
- package/dist/is-valid-abn-160i38PG.js +162 -0
- package/dist/is-valid-abn-160i38PG.js.map +1 -0
- package/dist/is-valid-mod97-0208-CzMOXMO-.js +27 -0
- package/dist/is-valid-mod97-0208-CzMOXMO-.js.map +1 -0
- package/dist/is-valid-process-CSWL-q9f.js +1590 -0
- package/dist/is-valid-process-CSWL-q9f.js.map +1 -0
- package/dist/parser-options-mbqEQPSY.js +27 -0
- package/dist/parser-options-mbqEQPSY.js.map +1 -0
- package/dist/quantity-unit-code-to-intl-unit-15EykjMe.d.ts +168 -0
- package/dist/quantity-unit-code-to-intl-unit-15EykjMe.d.ts.map +1 -0
- package/dist/schematron.d.ts +1113 -363
- package/dist/schematron.d.ts.map +1 -0
- package/dist/schematron.js +4882 -360
- package/dist/schematron.js.map +1 -0
- package/dist/validations.d.ts +91 -14
- package/dist/validations.d.ts.map +1 -0
- package/dist/validations.js +25 -13
- package/dist/validations.js.map +1 -0
- package/dist/values.d.ts +13567 -0
- package/dist/values.d.ts.map +1 -0
- package/dist/values.js +3 -0
- package/dist/{values/quantity-unit-codes.generated.d.ts → vat-dates.generated-DTVWQAdn.d.ts} +265 -4
- package/dist/vat-dates.generated-DTVWQAdn.d.ts.map +1 -0
- package/dist/vatex-codes.generated-BSgP3n5t.js +22762 -0
- package/dist/vatex-codes.generated-BSgP3n5t.js.map +1 -0
- package/dist/xml.d.ts +31 -3
- package/dist/xml.d.ts.map +1 -0
- package/dist/xml.js +1 -2
- package/package.json +17 -6
- package/src/decoders/decode-billing.ts +32 -30
- package/src/decoders/decode-credit-note.ts +9 -6
- package/src/decoders/decode-invoice-response.ts +83 -59
- package/src/decoders/decode-invoice.ts +11 -8
- package/src/decoders/decode-message-level-response.ts +64 -46
- package/src/decoders/encode-credit-note.ts +23 -21
- package/src/decoders/encode-invoice-response.ts +17 -15
- package/src/decoders/encode-invoice.ts +24 -22
- package/src/decoders/encode-message-level-response.ts +15 -7
- package/src/decoders/errors.ts +11 -0
- package/src/decoders/fields/decode-additional-document-references.ts +32 -25
- package/src/decoders/fields/decode-address.ts +32 -21
- package/src/decoders/fields/decode-allowance-charges.ts +16 -11
- package/src/decoders/fields/decode-amount.ts +12 -8
- package/src/decoders/fields/decode-base-allowance-charge.ts +10 -8
- package/src/decoders/fields/decode-billing-references.ts +20 -12
- package/src/decoders/fields/decode-contact.ts +12 -7
- package/src/decoders/fields/decode-credit-note-lines.ts +17 -8
- package/src/decoders/fields/decode-delivery.ts +29 -18
- package/src/decoders/fields/decode-electronic-address.ts +9 -4
- package/src/decoders/fields/decode-identifier.ts +11 -9
- package/src/decoders/fields/decode-invoice-line-period.ts +11 -6
- package/src/decoders/fields/decode-invoice-lines.ts +17 -8
- package/src/decoders/fields/decode-invoice-message-document-party.ts +10 -8
- package/src/decoders/fields/decode-invoice-message-party.ts +13 -8
- package/src/decoders/fields/decode-invoice-period.ts +12 -9
- package/src/decoders/fields/decode-legal-monetary-total.ts +17 -12
- package/src/decoders/fields/decode-line-allowance-charges.ts +14 -6
- package/src/decoders/fields/decode-line-price.ts +13 -7
- package/src/decoders/fields/decode-line-shared.ts +66 -45
- package/src/decoders/fields/decode-message-level-party.ts +10 -5
- package/src/decoders/fields/decode-order-reference.ts +10 -5
- package/src/decoders/fields/decode-parties-tax-scheme.ts +16 -11
- package/src/decoders/fields/decode-party-legal-entity.ts +12 -7
- package/src/decoders/fields/decode-party-tax-scheme.ts +10 -5
- package/src/decoders/fields/decode-party.ts +32 -23
- package/src/decoders/fields/decode-payee-party.ts +32 -24
- package/src/decoders/fields/decode-payment-means.ts +60 -44
- package/src/decoders/fields/decode-payment-terms.ts +11 -6
- package/src/decoders/fields/decode-price-allowance-charge.ts +11 -8
- package/src/decoders/fields/decode-quantity.ts +12 -9
- package/src/decoders/fields/decode-simple-identifier.ts +10 -5
- package/src/decoders/fields/decode-tax-category.ts +12 -7
- package/src/decoders/fields/decode-tax-representative-party.ts +12 -7
- package/src/decoders/fields/decode-tax-totals.ts +44 -23
- package/src/decoders/fields/encode-additional-document-references.ts +21 -13
- package/src/decoders/fields/encode-address.ts +5 -3
- package/src/decoders/fields/encode-allowance-charges.ts +19 -11
- package/src/decoders/fields/encode-amount.ts +5 -3
- package/src/decoders/fields/encode-billing-references.ts +4 -2
- package/src/decoders/fields/encode-contact.ts +5 -3
- package/src/decoders/fields/encode-credit-note-lines.ts +6 -4
- package/src/decoders/fields/encode-delivery.ts +11 -9
- package/src/decoders/fields/encode-identifier.ts +6 -4
- package/src/decoders/fields/encode-invoice-line-period.ts +5 -3
- package/src/decoders/fields/encode-invoice-lines.ts +6 -4
- package/src/decoders/fields/encode-invoice-period.ts +5 -3
- package/src/decoders/fields/encode-legal-monetary-total.ts +12 -10
- package/src/decoders/fields/encode-line-allowance-charges.ts +19 -10
- package/src/decoders/fields/encode-line-price.ts +8 -6
- package/src/decoders/fields/encode-line-shared.ts +22 -16
- package/src/decoders/fields/encode-message-party.ts +14 -8
- package/src/decoders/fields/encode-order-reference.ts +5 -3
- package/src/decoders/fields/encode-parties-tax-scheme.ts +11 -4
- package/src/decoders/fields/encode-party-legal-entity.ts +5 -3
- package/src/decoders/fields/encode-party-tax-scheme.ts +6 -4
- package/src/decoders/fields/encode-party.ts +19 -17
- package/src/decoders/fields/encode-payee-party.ts +18 -16
- package/src/decoders/fields/encode-payment-means.ts +36 -27
- package/src/decoders/fields/encode-payment-terms.ts +5 -3
- package/src/decoders/fields/encode-price-allowance-charges.ts +7 -5
- package/src/decoders/fields/encode-quantity.ts +5 -3
- package/src/decoders/fields/encode-simple-identifier.ts +7 -3
- package/src/decoders/fields/encode-tax-category.ts +6 -4
- package/src/decoders/fields/encode-tax-representative-party.ts +9 -5
- package/src/decoders/fields/encode-tax-totals.ts +32 -16
- package/src/document-parser.ts +15 -10
- package/src/effect/fields/peppol-additional-document-reference-schema.ts +4 -5
- package/src/effect/fields/peppol-allowance-charge-schema.ts +6 -9
- package/src/effect/fields/peppol-amount-schema.ts +2 -2
- package/src/effect/fields/peppol-base-line-schema.ts +7 -7
- package/src/effect/fields/peppol-binary-object-schema.ts +1 -1
- package/src/effect/fields/peppol-credit-note-line-schema.ts +4 -5
- package/src/effect/fields/peppol-delivery-schema.ts +3 -3
- package/src/effect/fields/{identifier-schema.ts → peppol-identifier-schema.ts} +7 -11
- package/src/effect/fields/peppol-invoice-line-schema.ts +4 -5
- package/src/effect/fields/peppol-invoice-period-schema.ts +2 -3
- package/src/effect/fields/peppol-item-classification-schema.ts +1 -1
- package/src/effect/fields/peppol-legal-monetary-total-schema.ts +1 -1
- package/src/effect/fields/peppol-line-allowance-charge-schema.ts +4 -7
- package/src/effect/fields/peppol-line-item-schema.ts +5 -6
- package/src/effect/fields/peppol-line-price-allowance-charge-schema.ts +1 -1
- package/src/effect/fields/peppol-line-price-schema.ts +3 -3
- package/src/effect/fields/peppol-party-base-schema.ts +9 -10
- package/src/effect/fields/peppol-party-legal-entity-schema.ts +2 -2
- package/src/effect/fields/peppol-payee-party-schema.ts +4 -5
- package/src/effect/fields/peppol-payment-means-schema.ts +1 -1
- package/src/effect/fields/peppol-quantity-schema.ts +2 -2
- package/src/effect/fields/peppol-tax-category-schema.ts +2 -2
- package/src/effect/fields/peppol-tax-representative-schema.ts +2 -2
- package/src/effect/fields/peppol-tax-subtotal-category-schema.ts +1 -1
- package/src/effect/fields/peppol-tax-subtotal-schema.ts +2 -2
- package/src/effect/fields/peppol-tax-totals-base-schema.ts +2 -2
- package/src/effect/index.ts +1 -1
- package/src/effect/peppol-billing-base-schema.ts +24 -26
- package/src/effect/peppol-credit-note-schema.ts +22 -23
- package/src/effect/peppol-document-response-document-reference-schema.ts +2 -2
- package/src/effect/peppol-document-response-document-schema.ts +2 -2
- package/src/effect/peppol-document-response-line-response-content-schema.ts +2 -2
- package/src/effect/peppol-document-response-line-response-schema.ts +1 -1
- package/src/effect/peppol-document-schema.ts +90 -55
- package/src/effect/peppol-invoice-response-document-actual-response-schema.ts +2 -3
- package/src/effect/peppol-invoice-response-document-actual-response-status-schema.ts +1 -1
- package/src/effect/peppol-invoice-response-schema.ts +11 -12
- package/src/effect/peppol-invoice-response-status-reason-code-schema.ts +4 -4
- package/src/effect/peppol-invoice-schema.ts +38 -44
- package/src/effect/peppol-iso-date-string-schema.ts +9 -3
- package/src/effect/peppol-message-level-response-document-response-schema.ts +3 -3
- package/src/effect/peppol-message-level-response-party-schema.ts +2 -2
- package/src/effect/peppol-message-level-response-schema.ts +4 -5
- package/src/effect/values/additional-document-reference-code-schema.ts +4 -7
- package/src/effect/values/allowance-charge-reason-code-schema.ts +4 -8
- package/src/effect/values/application-response-type-code-schema.ts +1 -4
- package/src/effect/values/charge-reason-code-schema.ts +4 -8
- package/src/effect/values/credit-note-type-code-schema.ts +1 -4
- package/src/effect/values/currency-code-schema.ts +2 -7
- package/src/effect/values/document-type-schemes-schema.ts +1 -3
- package/src/effect/values/document-type-values-schema.ts +4 -5
- package/src/effect/values/duty-tax-fee-category-schema.ts +2 -7
- package/src/effect/values/electronic-codes-schema.ts +2 -7
- package/src/effect/values/icd-codes-schema.ts +2 -6
- package/src/effect/values/index.ts +0 -1
- package/src/effect/values/invoice-status-code-schema.ts +2 -4
- package/src/effect/values/invoice-type-code-schema.ts +2 -7
- package/src/effect/values/item-classification-codes-schema.ts +2 -7
- package/src/effect/values/mime-codes-schema.ts +4 -7
- package/src/effect/values/op-status-action-schema.ts +2 -7
- package/src/effect/values/op-status-reason-schema.ts +2 -7
- package/src/effect/values/participant-identifier-code-schema.ts +4 -7
- package/src/effect/values/payment-means-code-schema.ts +2 -7
- package/src/effect/values/peppol-country-code-schema.ts +2 -4
- package/src/effect/values/peppol-document-type-code-schema.ts +2 -7
- package/src/effect/values/quantity-unit-codes-schema.ts +2 -7
- package/src/effect/values/vat-date-code-schema.ts +1 -4
- package/src/effect/values/vatex-code-schema.ts +2 -7
- package/src/helpers/bool.ts +15 -7
- package/src/helpers/errors.ts +6 -0
- package/src/helpers/get-array.ts +15 -7
- package/src/helpers/get-prop.ts +7 -5
- package/src/helpers/num-or-und.ts +6 -6
- package/src/helpers/str-or-array.ts +12 -7
- package/src/helpers/str-or-und.ts +12 -8
- package/src/helpers/str.ts +8 -7
- package/src/schemas/values/document-type-schema.ts +2 -2
- package/src/schemas/values/document-type-values-schema.ts +2 -2
- package/src/schemas/values/process-schema.ts +2 -2
- package/src/schemas/values/process-xml-identifier-schema.ts +2 -2
- package/dist/constants/credit-note-doctype-id.d.ts +0 -4
- package/dist/constants/credit-note-doctype-id.d.ts.map +0 -1
- package/dist/constants/credit-note-doctype-id.js +0 -7
- package/dist/constants/credit-note-doctype-id.js.map +0 -1
- package/dist/constants/credit-note-process-id.d.ts +0 -4
- package/dist/constants/credit-note-process-id.d.ts.map +0 -1
- package/dist/constants/credit-note-process-id.js +0 -7
- package/dist/constants/credit-note-process-id.js.map +0 -1
- package/dist/constants/document-scheme.d.ts +0 -4
- package/dist/constants/document-scheme.d.ts.map +0 -1
- package/dist/constants/document-scheme.js +0 -6
- package/dist/constants/document-scheme.js.map +0 -1
- package/dist/constants/index.js +0 -15
- package/dist/constants/invoice-doctype-id.d.ts +0 -4
- package/dist/constants/invoice-doctype-id.d.ts.map +0 -1
- package/dist/constants/invoice-doctype-id.js +0 -7
- package/dist/constants/invoice-doctype-id.js.map +0 -1
- package/dist/constants/invoice-process-id.d.ts +0 -4
- package/dist/constants/invoice-process-id.d.ts.map +0 -1
- package/dist/constants/invoice-process-id.js +0 -7
- package/dist/constants/invoice-process-id.js.map +0 -1
- package/dist/constants/invoice-response-doctype-id.d.ts +0 -4
- package/dist/constants/invoice-response-doctype-id.d.ts.map +0 -1
- package/dist/constants/invoice-response-doctype-id.js +0 -7
- package/dist/constants/invoice-response-doctype-id.js.map +0 -1
- package/dist/constants/invoice-response-process-id.d.ts +0 -4
- package/dist/constants/invoice-response-process-id.d.ts.map +0 -1
- package/dist/constants/invoice-response-process-id.js +0 -8
- package/dist/constants/invoice-response-process-id.js.map +0 -1
- package/dist/constants/invoice-response-profile-id.d.ts +0 -4
- package/dist/constants/invoice-response-profile-id.d.ts.map +0 -1
- package/dist/constants/invoice-response-profile-id.js +0 -6
- package/dist/constants/invoice-response-profile-id.js.map +0 -1
- package/dist/constants/message-level-response-doctype-id.d.ts +0 -4
- package/dist/constants/message-level-response-doctype-id.d.ts.map +0 -1
- package/dist/constants/message-level-response-doctype-id.js +0 -7
- package/dist/constants/message-level-response-doctype-id.js.map +0 -1
- package/dist/constants/message-level-response-process-id.d.ts +0 -4
- package/dist/constants/message-level-response-process-id.d.ts.map +0 -1
- package/dist/constants/message-level-response-process-id.js +0 -8
- package/dist/constants/message-level-response-process-id.js.map +0 -1
- package/dist/constants/message-level-response-profile-id.d.ts +0 -4
- package/dist/constants/message-level-response-profile-id.d.ts.map +0 -1
- package/dist/constants/message-level-response-profile-id.js +0 -6
- package/dist/constants/message-level-response-profile-id.js.map +0 -1
- package/dist/constants/participant-scheme.d.ts +0 -8
- package/dist/constants/participant-scheme.d.ts.map +0 -1
- package/dist/constants/participant-scheme.js +0 -10
- package/dist/constants/participant-scheme.js.map +0 -1
- package/dist/constants/process-scheme.d.ts +0 -4
- package/dist/constants/process-scheme.d.ts.map +0 -1
- package/dist/constants/process-scheme.js +0 -6
- package/dist/constants/process-scheme.js.map +0 -1
- package/dist/constants/transport-profile.d.ts +0 -4
- package/dist/constants/transport-profile.d.ts.map +0 -1
- package/dist/constants/transport-profile.js +0 -6
- package/dist/constants/transport-profile.js.map +0 -1
- package/dist/decoders/decode-billing.js +0 -52
- package/dist/decoders/decode-billing.js.map +0 -1
- package/dist/decoders/decode-credit-note.js +0 -18
- package/dist/decoders/decode-credit-note.js.map +0 -1
- package/dist/decoders/decode-invoice-response.js +0 -82
- package/dist/decoders/decode-invoice-response.js.map +0 -1
- package/dist/decoders/decode-invoice.js +0 -21
- package/dist/decoders/decode-invoice.js.map +0 -1
- package/dist/decoders/decode-message-level-response.js +0 -66
- package/dist/decoders/decode-message-level-response.js.map +0 -1
- package/dist/decoders/encode-credit-note.js +0 -65
- package/dist/decoders/encode-credit-note.js.map +0 -1
- package/dist/decoders/encode-invoice-response.js +0 -61
- package/dist/decoders/encode-invoice-response.js.map +0 -1
- package/dist/decoders/encode-invoice.js +0 -66
- package/dist/decoders/encode-invoice.js.map +0 -1
- package/dist/decoders/encode-message-level-response.js +0 -50
- package/dist/decoders/encode-message-level-response.js.map +0 -1
- package/dist/decoders/fields/decode-additional-document-references.js +0 -31
- package/dist/decoders/fields/decode-additional-document-references.js.map +0 -1
- package/dist/decoders/fields/decode-address.js +0 -30
- package/dist/decoders/fields/decode-address.js.map +0 -1
- package/dist/decoders/fields/decode-allowance-charges.js +0 -16
- package/dist/decoders/fields/decode-allowance-charges.js.map +0 -1
- package/dist/decoders/fields/decode-amount.js +0 -18
- package/dist/decoders/fields/decode-amount.js.map +0 -1
- package/dist/decoders/fields/decode-base-allowance-charge.js +0 -19
- package/dist/decoders/fields/decode-base-allowance-charge.js.map +0 -1
- package/dist/decoders/fields/decode-billing-references.js +0 -15
- package/dist/decoders/fields/decode-billing-references.js.map +0 -1
- package/dist/decoders/fields/decode-contact.js +0 -16
- package/dist/decoders/fields/decode-contact.js.map +0 -1
- package/dist/decoders/fields/decode-credit-note-lines.js +0 -18
- package/dist/decoders/fields/decode-credit-note-lines.js.map +0 -1
- package/dist/decoders/fields/decode-delivery.js +0 -33
- package/dist/decoders/fields/decode-delivery.js.map +0 -1
- package/dist/decoders/fields/decode-electronic-address.js +0 -11
- package/dist/decoders/fields/decode-electronic-address.js.map +0 -1
- package/dist/decoders/fields/decode-identifier.js +0 -18
- package/dist/decoders/fields/decode-identifier.js.map +0 -1
- package/dist/decoders/fields/decode-invoice-line-period.js +0 -14
- package/dist/decoders/fields/decode-invoice-line-period.js.map +0 -1
- package/dist/decoders/fields/decode-invoice-lines.js +0 -18
- package/dist/decoders/fields/decode-invoice-lines.js.map +0 -1
- package/dist/decoders/fields/decode-invoice-message-document-party.js +0 -17
- package/dist/decoders/fields/decode-invoice-message-document-party.js.map +0 -1
- package/dist/decoders/fields/decode-invoice-message-party.js +0 -20
- package/dist/decoders/fields/decode-invoice-message-party.js.map +0 -1
- package/dist/decoders/fields/decode-invoice-period.js +0 -15
- package/dist/decoders/fields/decode-invoice-period.js.map +0 -1
- package/dist/decoders/fields/decode-legal-monetary-total.js +0 -21
- package/dist/decoders/fields/decode-legal-monetary-total.js.map +0 -1
- package/dist/decoders/fields/decode-line-allowance-charges.js +0 -12
- package/dist/decoders/fields/decode-line-allowance-charges.js.map +0 -1
- package/dist/decoders/fields/decode-line-price.js +0 -18
- package/dist/decoders/fields/decode-line-price.js.map +0 -1
- package/dist/decoders/fields/decode-line-shared.js +0 -62
- package/dist/decoders/fields/decode-line-shared.js.map +0 -1
- package/dist/decoders/fields/decode-message-level-party.js +0 -12
- package/dist/decoders/fields/decode-message-level-party.js.map +0 -1
- package/dist/decoders/fields/decode-order-reference.js +0 -15
- package/dist/decoders/fields/decode-order-reference.js.map +0 -1
- package/dist/decoders/fields/decode-parties-tax-scheme.js +0 -16
- package/dist/decoders/fields/decode-parties-tax-scheme.js.map +0 -1
- package/dist/decoders/fields/decode-party-legal-entity.js +0 -17
- package/dist/decoders/fields/decode-party-legal-entity.js.map +0 -1
- package/dist/decoders/fields/decode-party-tax-scheme.js +0 -16
- package/dist/decoders/fields/decode-party-tax-scheme.js.map +0 -1
- package/dist/decoders/fields/decode-party.js +0 -36
- package/dist/decoders/fields/decode-party.js.map +0 -1
- package/dist/decoders/fields/decode-payee-party.js +0 -32
- package/dist/decoders/fields/decode-payee-party.js.map +0 -1
- package/dist/decoders/fields/decode-payment-means.js +0 -56
- package/dist/decoders/fields/decode-payment-means.js.map +0 -1
- package/dist/decoders/fields/decode-payment-terms.js +0 -13
- package/dist/decoders/fields/decode-payment-terms.js.map +0 -1
- package/dist/decoders/fields/decode-price-allowance-charge.js +0 -17
- package/dist/decoders/fields/decode-price-allowance-charge.js.map +0 -1
- package/dist/decoders/fields/decode-quantity.js +0 -16
- package/dist/decoders/fields/decode-quantity.js.map +0 -1
- package/dist/decoders/fields/decode-simple-identifier.js +0 -12
- package/dist/decoders/fields/decode-simple-identifier.js.map +0 -1
- package/dist/decoders/fields/decode-tax-category.js +0 -18
- package/dist/decoders/fields/decode-tax-category.js.map +0 -1
- package/dist/decoders/fields/decode-tax-representative-party.js +0 -18
- package/dist/decoders/fields/decode-tax-representative-party.js.map +0 -1
- package/dist/decoders/fields/decode-tax-totals.js +0 -39
- package/dist/decoders/fields/decode-tax-totals.js.map +0 -1
- package/dist/decoders/fields/encode-additional-document-references.js +0 -25
- package/dist/decoders/fields/encode-additional-document-references.js.map +0 -1
- package/dist/decoders/fields/encode-address.js +0 -17
- package/dist/decoders/fields/encode-address.js.map +0 -1
- package/dist/decoders/fields/encode-allowance-charges.js +0 -18
- package/dist/decoders/fields/encode-allowance-charges.js.map +0 -1
- package/dist/decoders/fields/encode-amount.js +0 -12
- package/dist/decoders/fields/encode-amount.js.map +0 -1
- package/dist/decoders/fields/encode-billing-references.js +0 -11
- package/dist/decoders/fields/encode-billing-references.js.map +0 -1
- package/dist/decoders/fields/encode-contact.js +0 -13
- package/dist/decoders/fields/encode-contact.js.map +0 -1
- package/dist/decoders/fields/encode-credit-note-lines.js +0 -10
- package/dist/decoders/fields/encode-credit-note-lines.js.map +0 -1
- package/dist/decoders/fields/encode-delivery.js +0 -22
- package/dist/decoders/fields/encode-delivery.js.map +0 -1
- package/dist/decoders/fields/encode-identifier.js +0 -13
- package/dist/decoders/fields/encode-identifier.js.map +0 -1
- package/dist/decoders/fields/encode-invoice-line-period.js +0 -11
- package/dist/decoders/fields/encode-invoice-line-period.js.map +0 -1
- package/dist/decoders/fields/encode-invoice-lines.js +0 -10
- package/dist/decoders/fields/encode-invoice-lines.js.map +0 -1
- package/dist/decoders/fields/encode-invoice-period.js +0 -12
- package/dist/decoders/fields/encode-invoice-period.js.map +0 -1
- package/dist/decoders/fields/encode-legal-monetary-total.js +0 -18
- package/dist/decoders/fields/encode-legal-monetary-total.js.map +0 -1
- package/dist/decoders/fields/encode-line-allowance-charges.js +0 -16
- package/dist/decoders/fields/encode-line-allowance-charges.js.map +0 -1
- package/dist/decoders/fields/encode-line-price.js +0 -16
- package/dist/decoders/fields/encode-line-price.js.map +0 -1
- package/dist/decoders/fields/encode-line-shared.js +0 -49
- package/dist/decoders/fields/encode-line-shared.js.map +0 -1
- package/dist/decoders/fields/encode-message-party.js +0 -18
- package/dist/decoders/fields/encode-message-party.js.map +0 -1
- package/dist/decoders/fields/encode-order-reference.js +0 -12
- package/dist/decoders/fields/encode-order-reference.js.map +0 -1
- package/dist/decoders/fields/encode-parties-tax-scheme.js +0 -10
- package/dist/decoders/fields/encode-parties-tax-scheme.js.map +0 -1
- package/dist/decoders/fields/encode-party-legal-entity.js +0 -13
- package/dist/decoders/fields/encode-party-legal-entity.js.map +0 -1
- package/dist/decoders/fields/encode-party-tax-scheme.js +0 -13
- package/dist/decoders/fields/encode-party-tax-scheme.js.map +0 -1
- package/dist/decoders/fields/encode-party.js +0 -30
- package/dist/decoders/fields/encode-party.js.map +0 -1
- package/dist/decoders/fields/encode-payee-party.js +0 -25
- package/dist/decoders/fields/encode-payee-party.js.map +0 -1
- package/dist/decoders/fields/encode-payment-means.js +0 -42
- package/dist/decoders/fields/encode-payment-means.js.map +0 -1
- package/dist/decoders/fields/encode-payment-terms.js +0 -9
- package/dist/decoders/fields/encode-payment-terms.js.map +0 -1
- package/dist/decoders/fields/encode-price-allowance-charges.js +0 -14
- package/dist/decoders/fields/encode-price-allowance-charges.js.map +0 -1
- package/dist/decoders/fields/encode-quantity.js +0 -12
- package/dist/decoders/fields/encode-quantity.js.map +0 -1
- package/dist/decoders/fields/encode-simple-identifier.js +0 -9
- package/dist/decoders/fields/encode-simple-identifier.js.map +0 -1
- package/dist/decoders/fields/encode-tax-category.js +0 -14
- package/dist/decoders/fields/encode-tax-category.js.map +0 -1
- package/dist/decoders/fields/encode-tax-representative-party.js +0 -15
- package/dist/decoders/fields/encode-tax-representative-party.js.map +0 -1
- package/dist/decoders/fields/encode-tax-totals.js +0 -23
- package/dist/decoders/fields/encode-tax-totals.js.map +0 -1
- package/dist/document-parser.d.ts.map +0 -1
- package/dist/document-parser.js +0 -56
- package/dist/document-parser.js.map +0 -1
- package/dist/document.d.ts +0 -20
- package/dist/document.d.ts.map +0 -1
- package/dist/effect/fields/default-customization-id.d.ts +0 -4
- package/dist/effect/fields/default-customization-id.d.ts.map +0 -1
- package/dist/effect/fields/default-customization-id.js +0 -6
- package/dist/effect/fields/default-customization-id.js.map +0 -1
- package/dist/effect/fields/default-profile-id.d.ts +0 -4
- package/dist/effect/fields/default-profile-id.d.ts.map +0 -1
- package/dist/effect/fields/default-profile-id.js +0 -6
- package/dist/effect/fields/default-profile-id.js.map +0 -1
- package/dist/effect/fields/identifier-schema.d.ts +0 -30
- package/dist/effect/fields/identifier-schema.d.ts.map +0 -1
- package/dist/effect/fields/identifier-schema.js +0 -24
- package/dist/effect/fields/identifier-schema.js.map +0 -1
- package/dist/effect/fields/peppol-additional-document-reference-schema.d.ts +0 -76
- package/dist/effect/fields/peppol-additional-document-reference-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-additional-document-reference-schema.js +0 -108
- package/dist/effect/fields/peppol-additional-document-reference-schema.js.map +0 -1
- package/dist/effect/fields/peppol-address-schema.d.ts +0 -102
- package/dist/effect/fields/peppol-address-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-address-schema.js +0 -102
- package/dist/effect/fields/peppol-address-schema.js.map +0 -1
- package/dist/effect/fields/peppol-allowance-charge-schema.d.ts +0 -61
- package/dist/effect/fields/peppol-allowance-charge-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-allowance-charge-schema.js +0 -75
- package/dist/effect/fields/peppol-allowance-charge-schema.js.map +0 -1
- package/dist/effect/fields/peppol-amount-schema.d.ts +0 -20
- package/dist/effect/fields/peppol-amount-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-amount-schema.js +0 -22
- package/dist/effect/fields/peppol-amount-schema.js.map +0 -1
- package/dist/effect/fields/peppol-base-line-schema.d.ts +0 -213
- package/dist/effect/fields/peppol-base-line-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-base-line-schema.js +0 -132
- package/dist/effect/fields/peppol-base-line-schema.js.map +0 -1
- package/dist/effect/fields/peppol-billing-reference-schema.d.ts +0 -46
- package/dist/effect/fields/peppol-billing-reference-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-billing-reference-schema.js +0 -47
- package/dist/effect/fields/peppol-billing-reference-schema.js.map +0 -1
- package/dist/effect/fields/peppol-binary-object-schema.d.ts +0 -45
- package/dist/effect/fields/peppol-binary-object-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-binary-object-schema.js +0 -49
- package/dist/effect/fields/peppol-binary-object-schema.js.map +0 -1
- package/dist/effect/fields/peppol-contact-schema.d.ts +0 -19
- package/dist/effect/fields/peppol-contact-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-contact-schema.js +0 -20
- package/dist/effect/fields/peppol-contact-schema.js.map +0 -1
- package/dist/effect/fields/peppol-credit-note-line-schema.d.ts +0 -118
- package/dist/effect/fields/peppol-credit-note-line-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-credit-note-line-schema.js +0 -36
- package/dist/effect/fields/peppol-credit-note-line-schema.js.map +0 -1
- package/dist/effect/fields/peppol-delivery-schema.d.ts +0 -81
- package/dist/effect/fields/peppol-delivery-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-delivery-schema.js +0 -89
- package/dist/effect/fields/peppol-delivery-schema.js.map +0 -1
- package/dist/effect/fields/peppol-invoice-line-period-schema.d.ts +0 -33
- package/dist/effect/fields/peppol-invoice-line-period-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-invoice-line-period-schema.js +0 -35
- package/dist/effect/fields/peppol-invoice-line-period-schema.js.map +0 -1
- package/dist/effect/fields/peppol-invoice-line-schema.d.ts +0 -120
- package/dist/effect/fields/peppol-invoice-line-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-invoice-line-schema.js +0 -40
- package/dist/effect/fields/peppol-invoice-line-schema.js.map +0 -1
- package/dist/effect/fields/peppol-invoice-period-schema.d.ts +0 -18
- package/dist/effect/fields/peppol-invoice-period-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-invoice-period-schema.js +0 -28
- package/dist/effect/fields/peppol-invoice-period-schema.js.map +0 -1
- package/dist/effect/fields/peppol-item-classification-schema.d.ts +0 -44
- package/dist/effect/fields/peppol-item-classification-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-item-classification-schema.js +0 -46
- package/dist/effect/fields/peppol-item-classification-schema.js.map +0 -1
- package/dist/effect/fields/peppol-legal-monetary-total-schema.d.ts +0 -149
- package/dist/effect/fields/peppol-legal-monetary-total-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-legal-monetary-total-schema.js +0 -127
- package/dist/effect/fields/peppol-legal-monetary-total-schema.js.map +0 -1
- package/dist/effect/fields/peppol-line-allowance-charge-schema.d.ts +0 -46
- package/dist/effect/fields/peppol-line-allowance-charge-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-line-allowance-charge-schema.js +0 -48
- package/dist/effect/fields/peppol-line-allowance-charge-schema.js.map +0 -1
- package/dist/effect/fields/peppol-line-item-schema.d.ts +0 -158
- package/dist/effect/fields/peppol-line-item-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-line-item-schema.js +0 -163
- package/dist/effect/fields/peppol-line-item-schema.js.map +0 -1
- package/dist/effect/fields/peppol-line-price-allowance-charge-schema.d.ts +0 -45
- package/dist/effect/fields/peppol-line-price-allowance-charge-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-line-price-allowance-charge-schema.js +0 -30
- package/dist/effect/fields/peppol-line-price-allowance-charge-schema.js.map +0 -1
- package/dist/effect/fields/peppol-line-price-schema.d.ts +0 -44
- package/dist/effect/fields/peppol-line-price-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-line-price-schema.js +0 -32
- package/dist/effect/fields/peppol-line-price-schema.js.map +0 -1
- package/dist/effect/fields/peppol-order-reference-schema.d.ts +0 -37
- package/dist/effect/fields/peppol-order-reference-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-order-reference-schema.js +0 -38
- package/dist/effect/fields/peppol-order-reference-schema.js.map +0 -1
- package/dist/effect/fields/peppol-party-base-schema.d.ts +0 -115
- package/dist/effect/fields/peppol-party-base-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-party-base-schema.js +0 -127
- package/dist/effect/fields/peppol-party-base-schema.js.map +0 -1
- package/dist/effect/fields/peppol-party-legal-entity-schema.d.ts +0 -31
- package/dist/effect/fields/peppol-party-legal-entity-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-party-legal-entity-schema.js +0 -30
- package/dist/effect/fields/peppol-party-legal-entity-schema.js.map +0 -1
- package/dist/effect/fields/peppol-party-tax-scheme-schema.d.ts +0 -34
- package/dist/effect/fields/peppol-party-tax-scheme-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-party-tax-scheme-schema.js +0 -34
- package/dist/effect/fields/peppol-party-tax-scheme-schema.js.map +0 -1
- package/dist/effect/fields/peppol-payee-party-schema.d.ts +0 -68
- package/dist/effect/fields/peppol-payee-party-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-payee-party-schema.js +0 -99
- package/dist/effect/fields/peppol-payee-party-schema.js.map +0 -1
- package/dist/effect/fields/peppol-payment-means-schema.d.ts +0 -198
- package/dist/effect/fields/peppol-payment-means-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-payment-means-schema.js +0 -199
- package/dist/effect/fields/peppol-payment-means-schema.js.map +0 -1
- package/dist/effect/fields/peppol-payment-terms-schema.d.ts +0 -24
- package/dist/effect/fields/peppol-payment-terms-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-payment-terms-schema.js +0 -24
- package/dist/effect/fields/peppol-payment-terms-schema.js.map +0 -1
- package/dist/effect/fields/peppol-quantity-schema.d.ts +0 -20
- package/dist/effect/fields/peppol-quantity-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-quantity-schema.js +0 -22
- package/dist/effect/fields/peppol-quantity-schema.js.map +0 -1
- package/dist/effect/fields/peppol-reference-schema.d.ts +0 -8
- package/dist/effect/fields/peppol-reference-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-reference-schema.js +0 -7
- package/dist/effect/fields/peppol-reference-schema.js.map +0 -1
- package/dist/effect/fields/peppol-tax-category-schema.d.ts +0 -41
- package/dist/effect/fields/peppol-tax-category-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-tax-category-schema.js +0 -42
- package/dist/effect/fields/peppol-tax-category-schema.js.map +0 -1
- package/dist/effect/fields/peppol-tax-representative-schema.d.ts +0 -38
- package/dist/effect/fields/peppol-tax-representative-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-tax-representative-schema.js +0 -24
- package/dist/effect/fields/peppol-tax-representative-schema.js.map +0 -1
- package/dist/effect/fields/peppol-tax-subtotal-category-schema.d.ts +0 -21
- package/dist/effect/fields/peppol-tax-subtotal-category-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-tax-subtotal-category-schema.js +0 -28
- package/dist/effect/fields/peppol-tax-subtotal-category-schema.js.map +0 -1
- package/dist/effect/fields/peppol-tax-subtotal-schema.d.ts +0 -44
- package/dist/effect/fields/peppol-tax-subtotal-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-tax-subtotal-schema.js +0 -33
- package/dist/effect/fields/peppol-tax-subtotal-schema.js.map +0 -1
- package/dist/effect/fields/peppol-tax-totals-base-schema.d.ts +0 -44
- package/dist/effect/fields/peppol-tax-totals-base-schema.d.ts.map +0 -1
- package/dist/effect/fields/peppol-tax-totals-base-schema.js +0 -26
- package/dist/effect/fields/peppol-tax-totals-base-schema.js.map +0 -1
- package/dist/effect/peppol-billing-base-schema.d.ts +0 -619
- package/dist/effect/peppol-billing-base-schema.d.ts.map +0 -1
- package/dist/effect/peppol-billing-base-schema.js +0 -324
- package/dist/effect/peppol-billing-base-schema.js.map +0 -1
- package/dist/effect/peppol-credit-note-schema.d.ts +0 -467
- package/dist/effect/peppol-credit-note-schema.d.ts.map +0 -1
- package/dist/effect/peppol-credit-note-schema.js +0 -30
- package/dist/effect/peppol-credit-note-schema.js.map +0 -1
- package/dist/effect/peppol-document-response-document-reference-schema.d.ts +0 -37
- package/dist/effect/peppol-document-response-document-reference-schema.d.ts.map +0 -1
- package/dist/effect/peppol-document-response-document-reference-schema.js +0 -39
- package/dist/effect/peppol-document-response-document-reference-schema.js.map +0 -1
- package/dist/effect/peppol-document-response-document-schema.d.ts +0 -34
- package/dist/effect/peppol-document-response-document-schema.d.ts.map +0 -1
- package/dist/effect/peppol-document-response-document-schema.js +0 -36
- package/dist/effect/peppol-document-response-document-schema.js.map +0 -1
- package/dist/effect/peppol-document-response-line-response-content-schema.d.ts +0 -43
- package/dist/effect/peppol-document-response-line-response-content-schema.d.ts.map +0 -1
- package/dist/effect/peppol-document-response-line-response-content-schema.js +0 -48
- package/dist/effect/peppol-document-response-line-response-content-schema.js.map +0 -1
- package/dist/effect/peppol-document-response-line-response-schema.d.ts +0 -38
- package/dist/effect/peppol-document-response-line-response-schema.d.ts.map +0 -1
- package/dist/effect/peppol-document-response-line-response-schema.js +0 -33
- package/dist/effect/peppol-document-response-line-response-schema.js.map +0 -1
- package/dist/effect/peppol-document-schema.d.ts +0 -1090
- package/dist/effect/peppol-document-schema.d.ts.map +0 -1
- package/dist/effect/peppol-document-schema.js +0 -64
- package/dist/effect/peppol-document-schema.js.map +0 -1
- package/dist/effect/peppol-invoice-response-document-actual-response-schema.d.ts +0 -89
- package/dist/effect/peppol-invoice-response-document-actual-response-schema.d.ts.map +0 -1
- package/dist/effect/peppol-invoice-response-document-actual-response-schema.js +0 -70
- package/dist/effect/peppol-invoice-response-document-actual-response-schema.js.map +0 -1
- package/dist/effect/peppol-invoice-response-document-actual-response-status-schema.d.ts +0 -86
- package/dist/effect/peppol-invoice-response-document-actual-response-status-schema.d.ts.map +0 -1
- package/dist/effect/peppol-invoice-response-document-actual-response-status-schema.js +0 -58
- package/dist/effect/peppol-invoice-response-document-actual-response-status-schema.js.map +0 -1
- package/dist/effect/peppol-invoice-response-schema.d.ts +0 -431
- package/dist/effect/peppol-invoice-response-schema.d.ts.map +0 -1
- package/dist/effect/peppol-invoice-response-schema.js +0 -148
- package/dist/effect/peppol-invoice-response-schema.js.map +0 -1
- package/dist/effect/peppol-invoice-response-status-reason-code-schema.d.ts +0 -26
- package/dist/effect/peppol-invoice-response-status-reason-code-schema.d.ts.map +0 -1
- package/dist/effect/peppol-invoice-response-status-reason-code-schema.js +0 -29
- package/dist/effect/peppol-invoice-response-status-reason-code-schema.js.map +0 -1
- package/dist/effect/peppol-invoice-schema.d.ts +0 -472
- package/dist/effect/peppol-invoice-schema.d.ts.map +0 -1
- package/dist/effect/peppol-invoice-schema.js +0 -47
- package/dist/effect/peppol-invoice-schema.js.map +0 -1
- package/dist/effect/peppol-iso-date-string-schema.d.ts +0 -14
- package/dist/effect/peppol-iso-date-string-schema.d.ts.map +0 -1
- package/dist/effect/peppol-iso-date-string-schema.js +0 -15
- package/dist/effect/peppol-iso-date-string-schema.js.map +0 -1
- package/dist/effect/peppol-message-level-response-document-response-schema.d.ts +0 -48
- package/dist/effect/peppol-message-level-response-document-response-schema.d.ts.map +0 -1
- package/dist/effect/peppol-message-level-response-document-response-schema.js +0 -34
- package/dist/effect/peppol-message-level-response-document-response-schema.js.map +0 -1
- package/dist/effect/peppol-message-level-response-party-schema.d.ts +0 -21
- package/dist/effect/peppol-message-level-response-party-schema.d.ts.map +0 -1
- package/dist/effect/peppol-message-level-response-party-schema.js +0 -19
- package/dist/effect/peppol-message-level-response-party-schema.js.map +0 -1
- package/dist/effect/peppol-message-level-response-schema.d.ts +0 -124
- package/dist/effect/peppol-message-level-response-schema.d.ts.map +0 -1
- package/dist/effect/peppol-message-level-response-schema.js +0 -98
- package/dist/effect/peppol-message-level-response-schema.js.map +0 -1
- package/dist/effect/utils/get-credit-note-type-code-description.d.ts +0 -2
- package/dist/effect/utils/get-invoice-type-code-description.d.ts +0 -2
- package/dist/effect/utils/index.d.ts +0 -17
- package/dist/effect/utils/index.js +0 -11
- package/dist/effect/utils/is-valid-credit-note-type-code.d.ts +0 -2
- package/dist/effect/utils/is-valid-invoice-type-code.d.ts +0 -2
- package/dist/effect/utils/is-valid-process.d.ts +0 -2
- package/dist/effect/utils/peppol-base-64-schema.d.ts +0 -10
- package/dist/effect/utils/peppol-base-64-schema.d.ts.map +0 -1
- package/dist/effect/utils/peppol-base-64-schema.js +0 -12
- package/dist/effect/utils/peppol-base-64-schema.js.map +0 -1
- package/dist/effect/utils/peppol-vat-regex-schema.d.ts +0 -10
- package/dist/effect/utils/peppol-vat-regex-schema.d.ts.map +0 -1
- package/dist/effect/utils/peppol-vat-regex-schema.js +0 -46
- package/dist/effect/utils/peppol-vat-regex-schema.js.map +0 -1
- package/dist/effect/utils/peppol-xsd-time-schema.d.ts +0 -10
- package/dist/effect/utils/peppol-xsd-time-schema.d.ts.map +0 -1
- package/dist/effect/utils/peppol-xsd-time-schema.js +0 -11
- package/dist/effect/utils/peppol-xsd-time-schema.js.map +0 -1
- package/dist/effect/utils/quantity-unit-code-to-intl-unit.d.ts +0 -2
- package/dist/effect/values/additional-document-reference-code-schema.d.ts +0 -23
- package/dist/effect/values/additional-document-reference-code-schema.d.ts.map +0 -1
- package/dist/effect/values/additional-document-reference-code-schema.js +0 -21
- package/dist/effect/values/additional-document-reference-code-schema.js.map +0 -1
- package/dist/effect/values/allowance-charge-reason-code-schema.d.ts +0 -24
- package/dist/effect/values/allowance-charge-reason-code-schema.d.ts.map +0 -1
- package/dist/effect/values/allowance-charge-reason-code-schema.js +0 -23
- package/dist/effect/values/allowance-charge-reason-code-schema.js.map +0 -1
- package/dist/effect/values/application-response-type-code-schema.d.ts +0 -21
- package/dist/effect/values/application-response-type-code-schema.d.ts.map +0 -1
- package/dist/effect/values/application-response-type-code-schema.js +0 -20
- package/dist/effect/values/application-response-type-code-schema.js.map +0 -1
- package/dist/effect/values/charge-reason-code-schema.d.ts +0 -24
- package/dist/effect/values/charge-reason-code-schema.d.ts.map +0 -1
- package/dist/effect/values/charge-reason-code-schema.js +0 -23
- package/dist/effect/values/charge-reason-code-schema.js.map +0 -1
- package/dist/effect/values/credit-note-type-code-schema.d.ts +0 -21
- package/dist/effect/values/credit-note-type-code-schema.d.ts.map +0 -1
- package/dist/effect/values/credit-note-type-code-schema.js +0 -20
- package/dist/effect/values/credit-note-type-code-schema.js.map +0 -1
- package/dist/effect/values/currency-code-schema.d.ts +0 -24
- package/dist/effect/values/currency-code-schema.d.ts.map +0 -1
- package/dist/effect/values/currency-code-schema.js +0 -29
- package/dist/effect/values/currency-code-schema.js.map +0 -1
- package/dist/effect/values/document-type-schemes-schema.d.ts +0 -14
- package/dist/effect/values/document-type-schemes-schema.d.ts.map +0 -1
- package/dist/effect/values/document-type-schemes-schema.js +0 -19
- package/dist/effect/values/document-type-schemes-schema.js.map +0 -1
- package/dist/effect/values/document-type-values-schema.d.ts +0 -14
- package/dist/effect/values/document-type-values-schema.d.ts.map +0 -1
- package/dist/effect/values/document-type-values-schema.js +0 -20
- package/dist/effect/values/document-type-values-schema.js.map +0 -1
- package/dist/effect/values/duty-tax-fee-category-schema.d.ts +0 -24
- package/dist/effect/values/duty-tax-fee-category-schema.d.ts.map +0 -1
- package/dist/effect/values/duty-tax-fee-category-schema.js +0 -23
- package/dist/effect/values/duty-tax-fee-category-schema.js.map +0 -1
- package/dist/effect/values/electronic-codes-schema.d.ts +0 -24
- package/dist/effect/values/electronic-codes-schema.d.ts.map +0 -1
- package/dist/effect/values/electronic-codes-schema.js +0 -30
- package/dist/effect/values/electronic-codes-schema.js.map +0 -1
- package/dist/effect/values/icd-codes-schema.d.ts +0 -24
- package/dist/effect/values/icd-codes-schema.d.ts.map +0 -1
- package/dist/effect/values/icd-codes-schema.js +0 -22
- package/dist/effect/values/icd-codes-schema.js.map +0 -1
- package/dist/effect/values/index.d.ts +0 -29
- package/dist/effect/values/index.js +0 -29
- package/dist/effect/values/invoice-status-code-schema.d.ts +0 -21
- package/dist/effect/values/invoice-status-code-schema.d.ts.map +0 -1
- package/dist/effect/values/invoice-status-code-schema.js +0 -17
- package/dist/effect/values/invoice-status-code-schema.js.map +0 -1
- package/dist/effect/values/invoice-type-code-schema.d.ts +0 -21
- package/dist/effect/values/invoice-type-code-schema.d.ts.map +0 -1
- package/dist/effect/values/invoice-type-code-schema.js +0 -20
- package/dist/effect/values/invoice-type-code-schema.js.map +0 -1
- package/dist/effect/values/item-classification-codes-schema.d.ts +0 -24
- package/dist/effect/values/item-classification-codes-schema.d.ts.map +0 -1
- package/dist/effect/values/item-classification-codes-schema.js +0 -23
- package/dist/effect/values/item-classification-codes-schema.js.map +0 -1
- package/dist/effect/values/mime-codes-schema.d.ts +0 -24
- package/dist/effect/values/mime-codes-schema.d.ts.map +0 -1
- package/dist/effect/values/mime-codes-schema.js +0 -23
- package/dist/effect/values/mime-codes-schema.js.map +0 -1
- package/dist/effect/values/op-status-action-schema.d.ts +0 -21
- package/dist/effect/values/op-status-action-schema.d.ts.map +0 -1
- package/dist/effect/values/op-status-action-schema.js +0 -20
- package/dist/effect/values/op-status-action-schema.js.map +0 -1
- package/dist/effect/values/op-status-reason-schema.d.ts +0 -21
- package/dist/effect/values/op-status-reason-schema.d.ts.map +0 -1
- package/dist/effect/values/op-status-reason-schema.js +0 -20
- package/dist/effect/values/op-status-reason-schema.js.map +0 -1
- package/dist/effect/values/participant-identifier-code-schema.d.ts +0 -19
- package/dist/effect/values/participant-identifier-code-schema.d.ts.map +0 -1
- package/dist/effect/values/participant-identifier-code-schema.js +0 -18
- package/dist/effect/values/participant-identifier-code-schema.js.map +0 -1
- package/dist/effect/values/payment-means-code-schema.d.ts +0 -24
- package/dist/effect/values/payment-means-code-schema.d.ts.map +0 -1
- package/dist/effect/values/payment-means-code-schema.js +0 -30
- package/dist/effect/values/payment-means-code-schema.js.map +0 -1
- package/dist/effect/values/peppol-country-code-schema.d.ts +0 -21
- package/dist/effect/values/peppol-country-code-schema.d.ts.map +0 -1
- package/dist/effect/values/peppol-country-code-schema.js +0 -25
- package/dist/effect/values/peppol-country-code-schema.js.map +0 -1
- package/dist/effect/values/peppol-document-type-code-schema.d.ts +0 -21
- package/dist/effect/values/peppol-document-type-code-schema.d.ts.map +0 -1
- package/dist/effect/values/peppol-document-type-code-schema.js +0 -20
- package/dist/effect/values/peppol-document-type-code-schema.js.map +0 -1
- package/dist/effect/values/peppol-document-type-schema.d.ts +0 -21
- package/dist/effect/values/peppol-document-type-schema.d.ts.map +0 -1
- package/dist/effect/values/peppol-document-type-schema.js +0 -27
- package/dist/effect/values/peppol-document-type-schema.js.map +0 -1
- package/dist/effect/values/peppol-process-schema.d.ts +0 -20
- package/dist/effect/values/peppol-process-schema.d.ts.map +0 -1
- package/dist/effect/values/peppol-process-schema.js +0 -26
- package/dist/effect/values/peppol-process-schema.js.map +0 -1
- package/dist/effect/values/process-from-document-type-schema.d.ts +0 -17
- package/dist/effect/values/process-from-document-type-schema.d.ts.map +0 -1
- package/dist/effect/values/process-from-document-type-schema.js +0 -25
- package/dist/effect/values/process-from-document-type-schema.js.map +0 -1
- package/dist/effect/values/process-xml-identifier-schema.d.ts +0 -20
- package/dist/effect/values/process-xml-identifier-schema.d.ts.map +0 -1
- package/dist/effect/values/process-xml-identifier-schema.js +0 -26
- package/dist/effect/values/process-xml-identifier-schema.js.map +0 -1
- package/dist/effect/values/quantity-unit-codes-schema.d.ts +0 -24
- package/dist/effect/values/quantity-unit-codes-schema.d.ts.map +0 -1
- package/dist/effect/values/quantity-unit-codes-schema.js +0 -23
- package/dist/effect/values/quantity-unit-codes-schema.js.map +0 -1
- package/dist/effect/values/vat-date-code-schema.d.ts +0 -11
- package/dist/effect/values/vat-date-code-schema.d.ts.map +0 -1
- package/dist/effect/values/vat-date-code-schema.js +0 -15
- package/dist/effect/values/vat-date-code-schema.js.map +0 -1
- package/dist/effect/values/vatex-code-schema.d.ts +0 -24
- package/dist/effect/values/vatex-code-schema.d.ts.map +0 -1
- package/dist/effect/values/vatex-code-schema.js +0 -23
- package/dist/effect/values/vatex-code-schema.js.map +0 -1
- package/dist/helpers/bool.js +0 -14
- package/dist/helpers/bool.js.map +0 -1
- package/dist/helpers/get-array.js +0 -17
- package/dist/helpers/get-array.js.map +0 -1
- package/dist/helpers/get-prop.js +0 -24
- package/dist/helpers/get-prop.js.map +0 -1
- package/dist/helpers/is-defined.js +0 -8
- package/dist/helpers/is-defined.js.map +0 -1
- package/dist/helpers/num-or-und.js +0 -10
- package/dist/helpers/num-or-und.js.map +0 -1
- package/dist/helpers/str-or-und.js +0 -14
- package/dist/helpers/str-or-und.js.map +0 -1
- package/dist/invoice-response-codes/invoice-response-code-needs-schema.d.ts +0 -4
- package/dist/invoice-response-codes/invoice-response-code-needs-schema.d.ts.map +0 -1
- package/dist/invoice-response-codes/invoice-response-code-needs-schema.js +0 -10
- package/dist/invoice-response-codes/invoice-response-code-needs-schema.js.map +0 -1
- package/dist/invoice-response-codes/invoice-response-code-not-needs-schema.d.ts +0 -4
- package/dist/invoice-response-codes/invoice-response-code-not-needs-schema.d.ts.map +0 -1
- package/dist/invoice-response-codes/invoice-response-code-not-needs-schema.js +0 -11
- package/dist/invoice-response-codes/invoice-response-code-not-needs-schema.js.map +0 -1
- package/dist/invoice-response-codes/invoice-response-codes-order.d.ts +0 -5
- package/dist/invoice-response-codes/invoice-response-codes-order.d.ts.map +0 -1
- package/dist/invoice-response-codes/invoice-response-codes-order.js +0 -31
- package/dist/invoice-response-codes/invoice-response-codes-order.js.map +0 -1
- package/dist/node_modules/.pnpm/ts-extras@1.3.0/node_modules/ts-extras/distribution/object-entries.js +0 -26
- package/dist/node_modules/.pnpm/ts-extras@1.3.0/node_modules/ts-extras/distribution/object-entries.js.map +0 -1
- package/dist/node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/all-union-fields.d.ts +0 -82
- package/dist/node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/all-union-fields.d.ts.map +0 -1
- package/dist/node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/internal/object.d.ts +0 -36
- package/dist/node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/internal/object.d.ts.map +0 -1
- package/dist/node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/internal/type.d.ts +0 -12
- package/dist/node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/internal/type.d.ts.map +0 -1
- package/dist/node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/is-equal.d.ts +0 -32
- package/dist/node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/is-equal.d.ts.map +0 -1
- package/dist/node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/is-never.d.ts +0 -57
- package/dist/node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/is-never.d.ts.map +0 -1
- package/dist/node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/keys-of-union.d.ts +0 -44
- package/dist/node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/keys-of-union.d.ts.map +0 -1
- package/dist/node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/primitive.d.ts +0 -9
- package/dist/node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/primitive.d.ts.map +0 -1
- package/dist/node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/shared-union-fields.d.ts +0 -71
- package/dist/node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/shared-union-fields.d.ts.map +0 -1
- package/dist/node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/simplify.d.ts +0 -62
- package/dist/node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/simplify.d.ts.map +0 -1
- package/dist/node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/union-to-intersection.d.ts +0 -35
- package/dist/node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/union-to-intersection.d.ts.map +0 -1
- package/dist/node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/unknown-array.d.ts +0 -28
- package/dist/node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/unknown-array.d.ts.map +0 -1
- package/dist/peppol-validations/add-piva.d.ts +0 -7
- package/dist/peppol-validations/add-piva.d.ts.map +0 -1
- package/dist/peppol-validations/add-piva.js +0 -15
- package/dist/peppol-validations/add-piva.js.map +0 -1
- package/dist/peppol-validations/check-cf.d.ts +0 -7
- package/dist/peppol-validations/check-cf.d.ts.map +0 -1
- package/dist/peppol-validations/check-cf.js +0 -16
- package/dist/peppol-validations/check-cf.js.map +0 -1
- package/dist/peppol-validations/check-cf16.d.ts +0 -7
- package/dist/peppol-validations/check-cf16.d.ts.map +0 -1
- package/dist/peppol-validations/check-cf16.js +0 -15
- package/dist/peppol-validations/check-cf16.js.map +0 -1
- package/dist/peppol-validations/check-piva-se-it.d.ts +0 -7
- package/dist/peppol-validations/check-piva-se-it.d.ts.map +0 -1
- package/dist/peppol-validations/check-piva-se-it.js +0 -15
- package/dist/peppol-validations/check-piva-se-it.js.map +0 -1
- package/dist/peppol-validations/check-piva.d.ts +0 -7
- package/dist/peppol-validations/check-piva.d.ts.map +0 -1
- package/dist/peppol-validations/check-piva.js +0 -13
- package/dist/peppol-validations/check-piva.js.map +0 -1
- package/dist/peppol-validations/check-se-orgnr.d.ts +0 -7
- package/dist/peppol-validations/check-se-orgnr.d.ts.map +0 -1
- package/dist/peppol-validations/check-se-orgnr.js +0 -24
- package/dist/peppol-validations/check-se-orgnr.js.map +0 -1
- package/dist/peppol-validations/greek-tin-verification.d.ts +0 -7
- package/dist/peppol-validations/greek-tin-verification.d.ts.map +0 -1
- package/dist/peppol-validations/greek-tin-verification.js +0 -13
- package/dist/peppol-validations/greek-tin-verification.js.map +0 -1
- package/dist/peppol-validations/is-valid-abn.d.ts +0 -7
- package/dist/peppol-validations/is-valid-abn.d.ts.map +0 -1
- package/dist/peppol-validations/is-valid-abn.js +0 -29
- package/dist/peppol-validations/is-valid-abn.js.map +0 -1
- package/dist/peppol-validations/is-valid-gln.d.ts +0 -13
- package/dist/peppol-validations/is-valid-gln.d.ts.map +0 -1
- package/dist/peppol-validations/is-valid-gln.js +0 -19
- package/dist/peppol-validations/is-valid-gln.js.map +0 -1
- package/dist/peppol-validations/is-valid-iban.d.ts +0 -7
- package/dist/peppol-validations/is-valid-iban.d.ts.map +0 -1
- package/dist/peppol-validations/is-valid-iban.js +0 -20
- package/dist/peppol-validations/is-valid-iban.js.map +0 -1
- package/dist/peppol-validations/is-valid-mod11.d.ts +0 -7
- package/dist/peppol-validations/is-valid-mod11.d.ts.map +0 -1
- package/dist/peppol-validations/is-valid-mod11.js +0 -21
- package/dist/peppol-validations/is-valid-mod11.js.map +0 -1
- package/dist/peppol-validations/is-valid-mod97-0208.d.ts +0 -13
- package/dist/peppol-validations/is-valid-mod97-0208.d.ts.map +0 -1
- package/dist/peppol-validations/is-valid-mod97-0208.js +0 -20
- package/dist/peppol-validations/is-valid-mod97-0208.js.map +0 -1
- package/dist/peppol-validations/luhn-check.d.ts +0 -7
- package/dist/peppol-validations/luhn-check.d.ts.map +0 -1
- package/dist/peppol-validations/luhn-check.js +0 -25
- package/dist/peppol-validations/luhn-check.js.map +0 -1
- package/dist/peppol-validations/normalize-space.js +0 -11
- package/dist/peppol-validations/normalize-space.js.map +0 -1
- package/dist/schemas/billing-base.js +0 -321
- package/dist/schemas/billing-base.js.map +0 -1
- package/dist/schemas/credit-note.d.ts +0 -466
- package/dist/schemas/credit-note.d.ts.map +0 -1
- package/dist/schemas/credit-note.js +0 -29
- package/dist/schemas/credit-note.js.map +0 -1
- package/dist/schemas/document-response-document-reference-schema.d.ts +0 -10
- package/dist/schemas/document-response-document-reference-schema.d.ts.map +0 -1
- package/dist/schemas/document-response-document-reference-schema.js +0 -39
- package/dist/schemas/document-response-document-reference-schema.js.map +0 -1
- package/dist/schemas/document-response-document-schema.d.ts +0 -18
- package/dist/schemas/document-response-document-schema.d.ts.map +0 -1
- package/dist/schemas/document-response-document-schema.js +0 -36
- package/dist/schemas/document-response-document-schema.js.map +0 -1
- package/dist/schemas/document-response-line-response-content.d.ts +0 -16
- package/dist/schemas/document-response-line-response-content.d.ts.map +0 -1
- package/dist/schemas/document-response-line-response-content.js +0 -48
- package/dist/schemas/document-response-line-response-content.js.map +0 -1
- package/dist/schemas/document-response-line-response-schema.d.ts +0 -21
- package/dist/schemas/document-response-line-response-schema.d.ts.map +0 -1
- package/dist/schemas/document-response-line-response-schema.js +0 -33
- package/dist/schemas/document-response-line-response-schema.js.map +0 -1
- package/dist/schemas/fields/additional-document-reference-schema.d.ts +0 -33
- package/dist/schemas/fields/additional-document-reference-schema.d.ts.map +0 -1
- package/dist/schemas/fields/additional-document-reference-schema.js +0 -108
- package/dist/schemas/fields/additional-document-reference-schema.js.map +0 -1
- package/dist/schemas/fields/address-schema.d.ts +0 -23
- package/dist/schemas/fields/address-schema.d.ts.map +0 -1
- package/dist/schemas/fields/address-schema.js +0 -102
- package/dist/schemas/fields/address-schema.js.map +0 -1
- package/dist/schemas/fields/allowance-charge-schema.d.ts +0 -51
- package/dist/schemas/fields/allowance-charge-schema.d.ts.map +0 -1
- package/dist/schemas/fields/allowance-charge-schema.js +0 -75
- package/dist/schemas/fields/allowance-charge-schema.js.map +0 -1
- package/dist/schemas/fields/amount-schema.d.ts +0 -14
- package/dist/schemas/fields/amount-schema.d.ts.map +0 -1
- package/dist/schemas/fields/amount-schema.js +0 -22
- package/dist/schemas/fields/amount-schema.js.map +0 -1
- package/dist/schemas/fields/base-line-schema.d.ts +0 -114
- package/dist/schemas/fields/base-line-schema.d.ts.map +0 -1
- package/dist/schemas/fields/base-line-schema.js +0 -132
- package/dist/schemas/fields/base-line-schema.js.map +0 -1
- package/dist/schemas/fields/billing-references-schema.d.ts +0 -16
- package/dist/schemas/fields/billing-references-schema.d.ts.map +0 -1
- package/dist/schemas/fields/billing-references-schema.js +0 -46
- package/dist/schemas/fields/billing-references-schema.js.map +0 -1
- package/dist/schemas/fields/binary-object-schema.d.ts +0 -14
- package/dist/schemas/fields/binary-object-schema.d.ts.map +0 -1
- package/dist/schemas/fields/binary-object-schema.js +0 -52
- package/dist/schemas/fields/binary-object-schema.js.map +0 -1
- package/dist/schemas/fields/contact-schema.d.ts +0 -10
- package/dist/schemas/fields/contact-schema.d.ts.map +0 -1
- package/dist/schemas/fields/contact-schema.js +0 -20
- package/dist/schemas/fields/contact-schema.js.map +0 -1
- package/dist/schemas/fields/credit-note-line-schema.d.ts +0 -118
- package/dist/schemas/fields/credit-note-line-schema.d.ts.map +0 -1
- package/dist/schemas/fields/credit-note-line-schema.js +0 -36
- package/dist/schemas/fields/credit-note-line-schema.js.map +0 -1
- package/dist/schemas/fields/date-only-fn.d.ts +0 -8
- package/dist/schemas/fields/date-only-fn.d.ts.map +0 -1
- package/dist/schemas/fields/date-only-fn.js +0 -10
- package/dist/schemas/fields/date-only-fn.js.map +0 -1
- package/dist/schemas/fields/date-only-parser.d.ts +0 -5
- package/dist/schemas/fields/date-only-parser.d.ts.map +0 -1
- package/dist/schemas/fields/date-only-parser.js +0 -20
- package/dist/schemas/fields/date-only-parser.js.map +0 -1
- package/dist/schemas/fields/default-customization-id.d.ts +0 -4
- package/dist/schemas/fields/default-customization-id.d.ts.map +0 -1
- package/dist/schemas/fields/default-customization-id.js +0 -6
- package/dist/schemas/fields/default-customization-id.js.map +0 -1
- package/dist/schemas/fields/default-profile-id.d.ts +0 -4
- package/dist/schemas/fields/default-profile-id.d.ts.map +0 -1
- package/dist/schemas/fields/default-profile-id.js +0 -6
- package/dist/schemas/fields/default-profile-id.js.map +0 -1
- package/dist/schemas/fields/delivery-schema.d.ts +0 -32
- package/dist/schemas/fields/delivery-schema.d.ts.map +0 -1
- package/dist/schemas/fields/delivery-schema.js +0 -88
- package/dist/schemas/fields/delivery-schema.js.map +0 -1
- package/dist/schemas/fields/identifier-schema.d.ts +0 -14
- package/dist/schemas/fields/identifier-schema.d.ts.map +0 -1
- package/dist/schemas/fields/identifier-schema.js +0 -23
- package/dist/schemas/fields/identifier-schema.js.map +0 -1
- package/dist/schemas/fields/invoice-line-period-schema.d.ts +0 -9
- package/dist/schemas/fields/invoice-line-period-schema.d.ts.map +0 -1
- package/dist/schemas/fields/invoice-line-period-schema.js +0 -34
- package/dist/schemas/fields/invoice-line-period-schema.js.map +0 -1
- package/dist/schemas/fields/invoice-line-schema.d.ts +0 -120
- package/dist/schemas/fields/invoice-line-schema.d.ts.map +0 -1
- package/dist/schemas/fields/invoice-line-schema.js +0 -40
- package/dist/schemas/fields/invoice-line-schema.js.map +0 -1
- package/dist/schemas/fields/invoice-period-schema.d.ts +0 -18
- package/dist/schemas/fields/invoice-period-schema.d.ts.map +0 -1
- package/dist/schemas/fields/invoice-period-schema.js +0 -28
- package/dist/schemas/fields/invoice-period-schema.js.map +0 -1
- package/dist/schemas/fields/legal-monetary-total-schema.d.ts +0 -46
- package/dist/schemas/fields/legal-monetary-total-schema.d.ts.map +0 -1
- package/dist/schemas/fields/legal-monetary-total-schema.js +0 -127
- package/dist/schemas/fields/legal-monetary-total-schema.js.map +0 -1
- package/dist/schemas/fields/line-allowance-charge-schema.d.ts +0 -46
- package/dist/schemas/fields/line-allowance-charge-schema.d.ts.map +0 -1
- package/dist/schemas/fields/line-allowance-charge-schema.js +0 -48
- package/dist/schemas/fields/line-allowance-charge-schema.js.map +0 -1
- package/dist/schemas/fields/line-item-schema.d.ts +0 -47
- package/dist/schemas/fields/line-item-schema.d.ts.map +0 -1
- package/dist/schemas/fields/line-item-schema.js +0 -163
- package/dist/schemas/fields/line-item-schema.js.map +0 -1
- package/dist/schemas/fields/line-price-allowance-charge-schema.d.ts +0 -28
- package/dist/schemas/fields/line-price-allowance-charge-schema.d.ts.map +0 -1
- package/dist/schemas/fields/line-price-allowance-charge-schema.js +0 -30
- package/dist/schemas/fields/line-price-allowance-charge-schema.js.map +0 -1
- package/dist/schemas/fields/list-identifier-schema.d.ts +0 -19
- package/dist/schemas/fields/list-identifier-schema.d.ts.map +0 -1
- package/dist/schemas/fields/list-identifier-schema.js +0 -46
- package/dist/schemas/fields/list-identifier-schema.js.map +0 -1
- package/dist/schemas/fields/order-reference-schema.d.ts +0 -14
- package/dist/schemas/fields/order-reference-schema.d.ts.map +0 -1
- package/dist/schemas/fields/order-reference-schema.js +0 -38
- package/dist/schemas/fields/order-reference-schema.js.map +0 -1
- package/dist/schemas/fields/party-base-schema.d.ts +0 -57
- package/dist/schemas/fields/party-base-schema.d.ts.map +0 -1
- package/dist/schemas/fields/party-base-schema.js +0 -127
- package/dist/schemas/fields/party-base-schema.js.map +0 -1
- package/dist/schemas/fields/party-legal-entity-schema.d.ts +0 -13
- package/dist/schemas/fields/party-legal-entity-schema.d.ts.map +0 -1
- package/dist/schemas/fields/party-legal-entity-schema.js +0 -30
- package/dist/schemas/fields/party-legal-entity-schema.js.map +0 -1
- package/dist/schemas/fields/party-tax-schema.d.ts +0 -14
- package/dist/schemas/fields/party-tax-schema.d.ts.map +0 -1
- package/dist/schemas/fields/party-tax-schema.js +0 -34
- package/dist/schemas/fields/party-tax-schema.js.map +0 -1
- package/dist/schemas/fields/payee-party.d.ts +0 -30
- package/dist/schemas/fields/payee-party.d.ts.map +0 -1
- package/dist/schemas/fields/payee-party.js +0 -99
- package/dist/schemas/fields/payee-party.js.map +0 -1
- package/dist/schemas/fields/payment-means-schema.d.ts +0 -38
- package/dist/schemas/fields/payment-means-schema.d.ts.map +0 -1
- package/dist/schemas/fields/payment-means-schema.js +0 -198
- package/dist/schemas/fields/payment-means-schema.js.map +0 -1
- package/dist/schemas/fields/payment-terms-schema.d.ts +0 -13
- package/dist/schemas/fields/payment-terms-schema.d.ts.map +0 -1
- package/dist/schemas/fields/payment-terms-schema.js +0 -24
- package/dist/schemas/fields/payment-terms-schema.js.map +0 -1
- package/dist/schemas/fields/price-schema.d.ts +0 -31
- package/dist/schemas/fields/price-schema.d.ts.map +0 -1
- package/dist/schemas/fields/price-schema.js +0 -32
- package/dist/schemas/fields/price-schema.js.map +0 -1
- package/dist/schemas/fields/quantity-schema.d.ts +0 -14
- package/dist/schemas/fields/quantity-schema.d.ts.map +0 -1
- package/dist/schemas/fields/quantity-schema.js +0 -22
- package/dist/schemas/fields/quantity-schema.js.map +0 -1
- package/dist/schemas/fields/reference-schema.d.ts +0 -8
- package/dist/schemas/fields/reference-schema.d.ts.map +0 -1
- package/dist/schemas/fields/reference-schema.js +0 -7
- package/dist/schemas/fields/reference-schema.js.map +0 -1
- package/dist/schemas/fields/tax-category-schema.d.ts +0 -19
- package/dist/schemas/fields/tax-category-schema.d.ts.map +0 -1
- package/dist/schemas/fields/tax-category-schema.js +0 -41
- package/dist/schemas/fields/tax-category-schema.js.map +0 -1
- package/dist/schemas/fields/tax-representative-party-schema.d.ts +0 -32
- package/dist/schemas/fields/tax-representative-party-schema.d.ts.map +0 -1
- package/dist/schemas/fields/tax-representative-party-schema.js +0 -24
- package/dist/schemas/fields/tax-representative-party-schema.js.map +0 -1
- package/dist/schemas/fields/tax-subtotal-category-schema.d.ts +0 -21
- package/dist/schemas/fields/tax-subtotal-category-schema.d.ts.map +0 -1
- package/dist/schemas/fields/tax-subtotal-category-schema.js +0 -28
- package/dist/schemas/fields/tax-subtotal-category-schema.js.map +0 -1
- package/dist/schemas/fields/tax-subtotal-schema.d.ts +0 -29
- package/dist/schemas/fields/tax-subtotal-schema.d.ts.map +0 -1
- package/dist/schemas/fields/tax-subtotal-schema.js +0 -33
- package/dist/schemas/fields/tax-subtotal-schema.js.map +0 -1
- package/dist/schemas/fields/tax-totals.d.ts +0 -35
- package/dist/schemas/fields/tax-totals.d.ts.map +0 -1
- package/dist/schemas/fields/tax-totals.js +0 -26
- package/dist/schemas/fields/tax-totals.js.map +0 -1
- package/dist/schemas/fields/time-only.d.ts +0 -8
- package/dist/schemas/fields/time-only.d.ts.map +0 -1
- package/dist/schemas/fields/time-only.js +0 -23
- package/dist/schemas/fields/time-only.js.map +0 -1
- package/dist/schemas/invoice-response-document-actual-response-status.d.ts +0 -24
- package/dist/schemas/invoice-response-document-actual-response-status.d.ts.map +0 -1
- package/dist/schemas/invoice-response-document-actual-response-status.js +0 -58
- package/dist/schemas/invoice-response-document-actual-response-status.js.map +0 -1
- package/dist/schemas/invoice-response-document-actual-response.d.ts +0 -49
- package/dist/schemas/invoice-response-document-actual-response.d.ts.map +0 -1
- package/dist/schemas/invoice-response-document-actual-response.js +0 -70
- package/dist/schemas/invoice-response-document-actual-response.js.map +0 -1
- package/dist/schemas/invoice-response-schema.d.ts +0 -237
- package/dist/schemas/invoice-response-schema.d.ts.map +0 -1
- package/dist/schemas/invoice-response-schema.js +0 -145
- package/dist/schemas/invoice-response-schema.js.map +0 -1
- package/dist/schemas/invoice-response-status-reason-code.d.ts +0 -12
- package/dist/schemas/invoice-response-status-reason-code.d.ts.map +0 -1
- package/dist/schemas/invoice-response-status-reason-code.js +0 -29
- package/dist/schemas/invoice-response-status-reason-code.js.map +0 -1
- package/dist/schemas/invoice.d.ts +0 -470
- package/dist/schemas/invoice.d.ts.map +0 -1
- package/dist/schemas/invoice.js +0 -44
- package/dist/schemas/invoice.js.map +0 -1
- package/dist/schemas/message-level-response-document-response-schema.d.ts +0 -32
- package/dist/schemas/message-level-response-document-response-schema.d.ts.map +0 -1
- package/dist/schemas/message-level-response-document-response-schema.js +0 -34
- package/dist/schemas/message-level-response-document-response-schema.js.map +0 -1
- package/dist/schemas/message-level-response-party-schema.d.ts +0 -11
- package/dist/schemas/message-level-response-party-schema.d.ts.map +0 -1
- package/dist/schemas/message-level-response-party-schema.js +0 -19
- package/dist/schemas/message-level-response-party-schema.js.map +0 -1
- package/dist/schemas/message-level-response-schema.d.ts +0 -51
- package/dist/schemas/message-level-response-schema.d.ts.map +0 -1
- package/dist/schemas/message-level-response-schema.js +0 -97
- package/dist/schemas/message-level-response-schema.js.map +0 -1
- package/dist/schemas/utils/base-64.d.ts +0 -5
- package/dist/schemas/utils/base-64.d.ts.map +0 -1
- package/dist/schemas/utils/base-64.js +0 -11
- package/dist/schemas/utils/base-64.js.map +0 -1
- package/dist/schemas/utils/format-quantity-with-unit.d.ts +0 -4
- package/dist/schemas/utils/format-quantity-with-unit.d.ts.map +0 -1
- package/dist/schemas/utils/format-quantity-with-unit.js +0 -18
- package/dist/schemas/utils/format-quantity-with-unit.js.map +0 -1
- package/dist/schemas/utils/get-credit-note-type-code-description.d.ts +0 -5
- package/dist/schemas/utils/get-credit-note-type-code-description.d.ts.map +0 -1
- package/dist/schemas/utils/get-credit-note-type-code-description.js +0 -9
- package/dist/schemas/utils/get-credit-note-type-code-description.js.map +0 -1
- package/dist/schemas/utils/get-invoice-type-code-description.d.ts +0 -5
- package/dist/schemas/utils/get-invoice-type-code-description.d.ts.map +0 -1
- package/dist/schemas/utils/get-invoice-type-code-description.js +0 -9
- package/dist/schemas/utils/get-invoice-type-code-description.js.map +0 -1
- package/dist/schemas/utils/is-valid-credit-note-type-code.d.ts +0 -5
- package/dist/schemas/utils/is-valid-credit-note-type-code.d.ts.map +0 -1
- package/dist/schemas/utils/is-valid-credit-note-type-code.js +0 -9
- package/dist/schemas/utils/is-valid-credit-note-type-code.js.map +0 -1
- package/dist/schemas/utils/is-valid-invoice-type-code.d.ts +0 -5
- package/dist/schemas/utils/is-valid-invoice-type-code.d.ts.map +0 -1
- package/dist/schemas/utils/is-valid-invoice-type-code.js +0 -9
- package/dist/schemas/utils/is-valid-invoice-type-code.js.map +0 -1
- package/dist/schemas/utils/is-valid-process.d.ts +0 -5
- package/dist/schemas/utils/is-valid-process.d.ts.map +0 -1
- package/dist/schemas/utils/is-valid-process.js +0 -9
- package/dist/schemas/utils/is-valid-process.js.map +0 -1
- package/dist/schemas/utils/quantity-unit-code-to-intl-unit.d.ts +0 -73
- package/dist/schemas/utils/quantity-unit-code-to-intl-unit.d.ts.map +0 -1
- package/dist/schemas/utils/quantity-unit-code-to-intl-unit.js +0 -73
- package/dist/schemas/utils/quantity-unit-code-to-intl-unit.js.map +0 -1
- package/dist/schemas/utils/vat-regex.d.ts +0 -5
- package/dist/schemas/utils/vat-regex.d.ts.map +0 -1
- package/dist/schemas/utils/vat-regex.js +0 -52
- package/dist/schemas/utils/vat-regex.js.map +0 -1
- package/dist/schemas/utils/xsd-time.d.ts +0 -5
- package/dist/schemas/utils/xsd-time.d.ts.map +0 -1
- package/dist/schemas/utils/xsd-time.js +0 -7
- package/dist/schemas/utils/xsd-time.js.map +0 -1
- package/dist/schemas/values/additional-document-reference-code.d.ts +0 -23
- package/dist/schemas/values/additional-document-reference-code.d.ts.map +0 -1
- package/dist/schemas/values/additional-document-reference-code.js +0 -20
- package/dist/schemas/values/additional-document-reference-code.js.map +0 -1
- package/dist/schemas/values/allowance-charge-reason-code.d.ts +0 -24
- package/dist/schemas/values/allowance-charge-reason-code.d.ts.map +0 -1
- package/dist/schemas/values/allowance-charge-reason-code.js +0 -22
- package/dist/schemas/values/allowance-charge-reason-code.js.map +0 -1
- package/dist/schemas/values/application-response-type-codes.d.ts +0 -21
- package/dist/schemas/values/application-response-type-codes.d.ts.map +0 -1
- package/dist/schemas/values/application-response-type-codes.js +0 -19
- package/dist/schemas/values/application-response-type-codes.js.map +0 -1
- package/dist/schemas/values/charge-reason-code.d.ts +0 -24
- package/dist/schemas/values/charge-reason-code.d.ts.map +0 -1
- package/dist/schemas/values/charge-reason-code.js +0 -22
- package/dist/schemas/values/charge-reason-code.js.map +0 -1
- package/dist/schemas/values/country-code.d.ts +0 -22
- package/dist/schemas/values/country-code.d.ts.map +0 -1
- package/dist/schemas/values/country-code.js +0 -26
- package/dist/schemas/values/country-code.js.map +0 -1
- package/dist/schemas/values/credit-note-type-code-schema.d.ts +0 -21
- package/dist/schemas/values/credit-note-type-code-schema.d.ts.map +0 -1
- package/dist/schemas/values/credit-note-type-code-schema.js +0 -19
- package/dist/schemas/values/credit-note-type-code-schema.js.map +0 -1
- package/dist/schemas/values/currency-codes.d.ts +0 -24
- package/dist/schemas/values/currency-codes.d.ts.map +0 -1
- package/dist/schemas/values/currency-codes.js +0 -28
- package/dist/schemas/values/currency-codes.js.map +0 -1
- package/dist/schemas/values/document-type-codes.d.ts +0 -21
- package/dist/schemas/values/document-type-codes.d.ts.map +0 -1
- package/dist/schemas/values/document-type-codes.js +0 -19
- package/dist/schemas/values/document-type-codes.js.map +0 -1
- package/dist/schemas/values/document-type-schema.d.ts +0 -21
- package/dist/schemas/values/document-type-schema.d.ts.map +0 -1
- package/dist/schemas/values/document-type-schema.js +0 -29
- package/dist/schemas/values/document-type-schema.js.map +0 -1
- package/dist/schemas/values/document-type-schemes-schema.d.ts +0 -14
- package/dist/schemas/values/document-type-schemes-schema.d.ts.map +0 -1
- package/dist/schemas/values/document-type-schemes-schema.js +0 -19
- package/dist/schemas/values/document-type-schemes-schema.js.map +0 -1
- package/dist/schemas/values/document-type-values-schema.d.ts +0 -14
- package/dist/schemas/values/document-type-values-schema.d.ts.map +0 -1
- package/dist/schemas/values/document-type-values-schema.js +0 -21
- package/dist/schemas/values/document-type-values-schema.js.map +0 -1
- package/dist/schemas/values/duty-tax-fee-cateogries.d.ts +0 -24
- package/dist/schemas/values/duty-tax-fee-cateogries.d.ts.map +0 -1
- package/dist/schemas/values/duty-tax-fee-cateogries.js +0 -22
- package/dist/schemas/values/duty-tax-fee-cateogries.js.map +0 -1
- package/dist/schemas/values/eas-codes.d.ts +0 -24
- package/dist/schemas/values/eas-codes.d.ts.map +0 -1
- package/dist/schemas/values/eas-codes.js +0 -29
- package/dist/schemas/values/eas-codes.js.map +0 -1
- package/dist/schemas/values/icd-codes.d.ts +0 -24
- package/dist/schemas/values/icd-codes.d.ts.map +0 -1
- package/dist/schemas/values/icd-codes.js +0 -22
- package/dist/schemas/values/icd-codes.js.map +0 -1
- package/dist/schemas/values/invoice-status-codes.d.ts +0 -21
- package/dist/schemas/values/invoice-status-codes.d.ts.map +0 -1
- package/dist/schemas/values/invoice-status-codes.js +0 -19
- package/dist/schemas/values/invoice-status-codes.js.map +0 -1
- package/dist/schemas/values/invoice-type-code-schema.d.ts +0 -21
- package/dist/schemas/values/invoice-type-code-schema.d.ts.map +0 -1
- package/dist/schemas/values/invoice-type-code-schema.js +0 -19
- package/dist/schemas/values/invoice-type-code-schema.js.map +0 -1
- package/dist/schemas/values/item-classification-code-schema.d.ts +0 -24
- package/dist/schemas/values/item-classification-code-schema.d.ts.map +0 -1
- package/dist/schemas/values/item-classification-code-schema.js +0 -22
- package/dist/schemas/values/item-classification-code-schema.js.map +0 -1
- package/dist/schemas/values/mime-code.d.ts +0 -24
- package/dist/schemas/values/mime-code.d.ts.map +0 -1
- package/dist/schemas/values/mime-code.js +0 -22
- package/dist/schemas/values/mime-code.js.map +0 -1
- package/dist/schemas/values/op-status-action.d.ts +0 -21
- package/dist/schemas/values/op-status-action.d.ts.map +0 -1
- package/dist/schemas/values/op-status-action.js +0 -19
- package/dist/schemas/values/op-status-action.js.map +0 -1
- package/dist/schemas/values/op-status-reason.d.ts +0 -21
- package/dist/schemas/values/op-status-reason.d.ts.map +0 -1
- package/dist/schemas/values/op-status-reason.js +0 -19
- package/dist/schemas/values/op-status-reason.js.map +0 -1
- package/dist/schemas/values/participant-identifier-code.d.ts +0 -19
- package/dist/schemas/values/participant-identifier-code.d.ts.map +0 -1
- package/dist/schemas/values/participant-identifier-code.js +0 -17
- package/dist/schemas/values/participant-identifier-code.js.map +0 -1
- package/dist/schemas/values/payment-means-codes-schema.d.ts +0 -24
- package/dist/schemas/values/payment-means-codes-schema.d.ts.map +0 -1
- package/dist/schemas/values/payment-means-codes-schema.js +0 -29
- package/dist/schemas/values/payment-means-codes-schema.js.map +0 -1
- package/dist/schemas/values/process-from-document-type-schema.d.ts +0 -17
- package/dist/schemas/values/process-from-document-type-schema.d.ts.map +0 -1
- package/dist/schemas/values/process-from-document-type-schema.js +0 -28
- package/dist/schemas/values/process-from-document-type-schema.js.map +0 -1
- package/dist/schemas/values/process-schema.d.ts +0 -21
- package/dist/schemas/values/process-schema.d.ts.map +0 -1
- package/dist/schemas/values/process-schema.js +0 -28
- package/dist/schemas/values/process-schema.js.map +0 -1
- package/dist/schemas/values/process-xml-identifier-schema.d.ts +0 -17
- package/dist/schemas/values/process-xml-identifier-schema.d.ts.map +0 -1
- package/dist/schemas/values/process-xml-identifier-schema.js +0 -24
- package/dist/schemas/values/process-xml-identifier-schema.js.map +0 -1
- package/dist/schemas/values/quantity-unit-codes-schema.d.ts +0 -24
- package/dist/schemas/values/quantity-unit-codes-schema.d.ts.map +0 -1
- package/dist/schemas/values/quantity-unit-codes-schema.js +0 -22
- package/dist/schemas/values/quantity-unit-codes-schema.js.map +0 -1
- package/dist/schemas/values/vat-date-code.d.ts +0 -11
- package/dist/schemas/values/vat-date-code.d.ts.map +0 -1
- package/dist/schemas/values/vat-date-code.js +0 -14
- package/dist/schemas/values/vat-date-code.js.map +0 -1
- package/dist/schemas/values/vatex-code.d.ts +0 -24
- package/dist/schemas/values/vatex-code.d.ts.map +0 -1
- package/dist/schemas/values/vatex-code.js +0 -22
- package/dist/schemas/values/vatex-code.js.map +0 -1
- package/dist/schemas.d.ts +0 -91
- package/dist/schemas.js +0 -91
- package/dist/schematron/cen/ae/cen-en16931-br-ae-01.d.ts +0 -6
- package/dist/schematron/cen/ae/cen-en16931-br-ae-01.d.ts.map +0 -1
- package/dist/schematron/cen/ae/cen-en16931-br-ae-01.js +0 -15
- package/dist/schematron/cen/ae/cen-en16931-br-ae-01.js.map +0 -1
- package/dist/schematron/cen/ae/cen-en16931-br-ae-02.d.ts +0 -6
- package/dist/schematron/cen/ae/cen-en16931-br-ae-02.d.ts.map +0 -1
- package/dist/schematron/cen/ae/cen-en16931-br-ae-02.js +0 -15
- package/dist/schematron/cen/ae/cen-en16931-br-ae-02.js.map +0 -1
- package/dist/schematron/cen/ae/cen-en16931-br-ae-03.d.ts +0 -6
- package/dist/schematron/cen/ae/cen-en16931-br-ae-03.d.ts.map +0 -1
- package/dist/schematron/cen/ae/cen-en16931-br-ae-03.js +0 -15
- package/dist/schematron/cen/ae/cen-en16931-br-ae-03.js.map +0 -1
- package/dist/schematron/cen/ae/cen-en16931-br-ae-04.d.ts +0 -6
- package/dist/schematron/cen/ae/cen-en16931-br-ae-04.d.ts.map +0 -1
- package/dist/schematron/cen/ae/cen-en16931-br-ae-04.js +0 -15
- package/dist/schematron/cen/ae/cen-en16931-br-ae-04.js.map +0 -1
- package/dist/schematron/cen/ae/cen-en16931-br-ae-05.d.ts +0 -6
- package/dist/schematron/cen/ae/cen-en16931-br-ae-05.d.ts.map +0 -1
- package/dist/schematron/cen/ae/cen-en16931-br-ae-05.js +0 -15
- package/dist/schematron/cen/ae/cen-en16931-br-ae-05.js.map +0 -1
- package/dist/schematron/cen/ae/cen-en16931-br-ae-06.d.ts +0 -6
- package/dist/schematron/cen/ae/cen-en16931-br-ae-06.d.ts.map +0 -1
- package/dist/schematron/cen/ae/cen-en16931-br-ae-06.js +0 -15
- package/dist/schematron/cen/ae/cen-en16931-br-ae-06.js.map +0 -1
- package/dist/schematron/cen/ae/cen-en16931-br-ae-07.d.ts +0 -6
- package/dist/schematron/cen/ae/cen-en16931-br-ae-07.d.ts.map +0 -1
- package/dist/schematron/cen/ae/cen-en16931-br-ae-07.js +0 -15
- package/dist/schematron/cen/ae/cen-en16931-br-ae-07.js.map +0 -1
- package/dist/schematron/cen/ae/cen-en16931-br-ae-08.d.ts +0 -6
- package/dist/schematron/cen/ae/cen-en16931-br-ae-08.d.ts.map +0 -1
- package/dist/schematron/cen/ae/cen-en16931-br-ae-08.js +0 -15
- package/dist/schematron/cen/ae/cen-en16931-br-ae-08.js.map +0 -1
- package/dist/schematron/cen/ae/cen-en16931-br-ae-09.d.ts +0 -6
- package/dist/schematron/cen/ae/cen-en16931-br-ae-09.d.ts.map +0 -1
- package/dist/schematron/cen/ae/cen-en16931-br-ae-09.js +0 -15
- package/dist/schematron/cen/ae/cen-en16931-br-ae-09.js.map +0 -1
- package/dist/schematron/cen/ae/cen-en16931-br-ae-10.d.ts +0 -6
- package/dist/schematron/cen/ae/cen-en16931-br-ae-10.d.ts.map +0 -1
- package/dist/schematron/cen/ae/cen-en16931-br-ae-10.js +0 -15
- package/dist/schematron/cen/ae/cen-en16931-br-ae-10.js.map +0 -1
- package/dist/schematron/cen/af/cen-en16931-br-af-01.d.ts +0 -6
- package/dist/schematron/cen/af/cen-en16931-br-af-01.d.ts.map +0 -1
- package/dist/schematron/cen/af/cen-en16931-br-af-01.js +0 -15
- package/dist/schematron/cen/af/cen-en16931-br-af-01.js.map +0 -1
- package/dist/schematron/cen/af/cen-en16931-br-af-02.d.ts +0 -6
- package/dist/schematron/cen/af/cen-en16931-br-af-02.d.ts.map +0 -1
- package/dist/schematron/cen/af/cen-en16931-br-af-02.js +0 -15
- package/dist/schematron/cen/af/cen-en16931-br-af-02.js.map +0 -1
- package/dist/schematron/cen/af/cen-en16931-br-af-03.d.ts +0 -6
- package/dist/schematron/cen/af/cen-en16931-br-af-03.d.ts.map +0 -1
- package/dist/schematron/cen/af/cen-en16931-br-af-03.js +0 -15
- package/dist/schematron/cen/af/cen-en16931-br-af-03.js.map +0 -1
- package/dist/schematron/cen/af/cen-en16931-br-af-04.d.ts +0 -6
- package/dist/schematron/cen/af/cen-en16931-br-af-04.d.ts.map +0 -1
- package/dist/schematron/cen/af/cen-en16931-br-af-04.js +0 -15
- package/dist/schematron/cen/af/cen-en16931-br-af-04.js.map +0 -1
- package/dist/schematron/cen/af/cen-en16931-br-af-05.d.ts +0 -6
- package/dist/schematron/cen/af/cen-en16931-br-af-05.d.ts.map +0 -1
- package/dist/schematron/cen/af/cen-en16931-br-af-05.js +0 -15
- package/dist/schematron/cen/af/cen-en16931-br-af-05.js.map +0 -1
- package/dist/schematron/cen/af/cen-en16931-br-af-06.d.ts +0 -6
- package/dist/schematron/cen/af/cen-en16931-br-af-06.d.ts.map +0 -1
- package/dist/schematron/cen/af/cen-en16931-br-af-06.js +0 -15
- package/dist/schematron/cen/af/cen-en16931-br-af-06.js.map +0 -1
- package/dist/schematron/cen/af/cen-en16931-br-af-07.d.ts +0 -6
- package/dist/schematron/cen/af/cen-en16931-br-af-07.d.ts.map +0 -1
- package/dist/schematron/cen/af/cen-en16931-br-af-07.js +0 -15
- package/dist/schematron/cen/af/cen-en16931-br-af-07.js.map +0 -1
- package/dist/schematron/cen/af/cen-en16931-br-af-08.d.ts +0 -6
- package/dist/schematron/cen/af/cen-en16931-br-af-08.d.ts.map +0 -1
- package/dist/schematron/cen/af/cen-en16931-br-af-08.js +0 -15
- package/dist/schematron/cen/af/cen-en16931-br-af-08.js.map +0 -1
- package/dist/schematron/cen/af/cen-en16931-br-af-09.d.ts +0 -6
- package/dist/schematron/cen/af/cen-en16931-br-af-09.d.ts.map +0 -1
- package/dist/schematron/cen/af/cen-en16931-br-af-09.js +0 -15
- package/dist/schematron/cen/af/cen-en16931-br-af-09.js.map +0 -1
- package/dist/schematron/cen/af/cen-en16931-br-af-10.d.ts +0 -6
- package/dist/schematron/cen/af/cen-en16931-br-af-10.d.ts.map +0 -1
- package/dist/schematron/cen/af/cen-en16931-br-af-10.js +0 -15
- package/dist/schematron/cen/af/cen-en16931-br-af-10.js.map +0 -1
- package/dist/schematron/cen/ag/cen-en16931-br-ag-01.d.ts +0 -6
- package/dist/schematron/cen/ag/cen-en16931-br-ag-01.d.ts.map +0 -1
- package/dist/schematron/cen/ag/cen-en16931-br-ag-01.js +0 -15
- package/dist/schematron/cen/ag/cen-en16931-br-ag-01.js.map +0 -1
- package/dist/schematron/cen/ag/cen-en16931-br-ag-02.d.ts +0 -6
- package/dist/schematron/cen/ag/cen-en16931-br-ag-02.d.ts.map +0 -1
- package/dist/schematron/cen/ag/cen-en16931-br-ag-02.js +0 -15
- package/dist/schematron/cen/ag/cen-en16931-br-ag-02.js.map +0 -1
- package/dist/schematron/cen/ag/cen-en16931-br-ag-03.d.ts +0 -6
- package/dist/schematron/cen/ag/cen-en16931-br-ag-03.d.ts.map +0 -1
- package/dist/schematron/cen/ag/cen-en16931-br-ag-03.js +0 -15
- package/dist/schematron/cen/ag/cen-en16931-br-ag-03.js.map +0 -1
- package/dist/schematron/cen/ag/cen-en16931-br-ag-04.d.ts +0 -6
- package/dist/schematron/cen/ag/cen-en16931-br-ag-04.d.ts.map +0 -1
- package/dist/schematron/cen/ag/cen-en16931-br-ag-04.js +0 -15
- package/dist/schematron/cen/ag/cen-en16931-br-ag-04.js.map +0 -1
- package/dist/schematron/cen/ag/cen-en16931-br-ag-05.d.ts +0 -6
- package/dist/schematron/cen/ag/cen-en16931-br-ag-05.d.ts.map +0 -1
- package/dist/schematron/cen/ag/cen-en16931-br-ag-05.js +0 -15
- package/dist/schematron/cen/ag/cen-en16931-br-ag-05.js.map +0 -1
- package/dist/schematron/cen/ag/cen-en16931-br-ag-06.d.ts +0 -6
- package/dist/schematron/cen/ag/cen-en16931-br-ag-06.d.ts.map +0 -1
- package/dist/schematron/cen/ag/cen-en16931-br-ag-06.js +0 -15
- package/dist/schematron/cen/ag/cen-en16931-br-ag-06.js.map +0 -1
- package/dist/schematron/cen/ag/cen-en16931-br-ag-07.d.ts +0 -6
- package/dist/schematron/cen/ag/cen-en16931-br-ag-07.d.ts.map +0 -1
- package/dist/schematron/cen/ag/cen-en16931-br-ag-07.js +0 -15
- package/dist/schematron/cen/ag/cen-en16931-br-ag-07.js.map +0 -1
- package/dist/schematron/cen/ag/cen-en16931-br-ag-08.d.ts +0 -6
- package/dist/schematron/cen/ag/cen-en16931-br-ag-08.d.ts.map +0 -1
- package/dist/schematron/cen/ag/cen-en16931-br-ag-08.js +0 -15
- package/dist/schematron/cen/ag/cen-en16931-br-ag-08.js.map +0 -1
- package/dist/schematron/cen/ag/cen-en16931-br-ag-09.d.ts +0 -6
- package/dist/schematron/cen/ag/cen-en16931-br-ag-09.d.ts.map +0 -1
- package/dist/schematron/cen/ag/cen-en16931-br-ag-09.js +0 -15
- package/dist/schematron/cen/ag/cen-en16931-br-ag-09.js.map +0 -1
- package/dist/schematron/cen/ag/cen-en16931-br-ag-10.d.ts +0 -6
- package/dist/schematron/cen/ag/cen-en16931-br-ag-10.d.ts.map +0 -1
- package/dist/schematron/cen/ag/cen-en16931-br-ag-10.js +0 -15
- package/dist/schematron/cen/ag/cen-en16931-br-ag-10.js.map +0 -1
- package/dist/schematron/cen/b/cen-en16931-br-b-01.d.ts +0 -6
- package/dist/schematron/cen/b/cen-en16931-br-b-01.d.ts.map +0 -1
- package/dist/schematron/cen/b/cen-en16931-br-b-01.js +0 -15
- package/dist/schematron/cen/b/cen-en16931-br-b-01.js.map +0 -1
- package/dist/schematron/cen/b/cen-en16931-br-b-02.d.ts +0 -6
- package/dist/schematron/cen/b/cen-en16931-br-b-02.d.ts.map +0 -1
- package/dist/schematron/cen/b/cen-en16931-br-b-02.js +0 -15
- package/dist/schematron/cen/b/cen-en16931-br-b-02.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-01.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-01.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-01.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-01.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-02.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-02.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-02.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-02.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-03.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-03.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-03.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-03.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-04.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-04.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-04.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-04.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-05.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-05.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-05.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-05.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-06.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-06.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-06.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-06.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-07.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-07.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-07.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-07.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-08.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-08.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-08.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-08.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-09.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-09.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-09.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-09.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-10.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-10.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-10.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-10.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-11.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-11.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-11.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-11.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-12.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-12.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-12.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-12.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-13.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-13.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-13.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-13.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-14.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-14.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-14.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-14.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-15.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-15.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-15.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-15.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-16.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-16.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-16.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-16.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-17.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-17.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-17.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-17.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-18.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-18.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-18.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-18.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-19.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-19.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-19.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-19.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-20.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-20.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-20.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-20.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-21.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-21.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-21.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-21.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-22.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-22.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-22.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-22.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-23.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-23.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-23.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-23.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-24.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-24.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-24.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-24.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-25.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-25.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-25.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-25.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-26.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-26.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-26.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-26.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-27.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-27.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-27.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-27.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-28.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-28.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-28.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-28.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-29.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-29.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-29.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-29.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-30.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-30.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-30.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-30.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-31.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-31.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-31.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-31.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-32.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-32.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-32.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-32.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-33.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-33.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-33.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-33.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-36.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-36.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-36.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-36.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-37.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-37.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-37.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-37.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-38.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-38.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-38.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-38.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-41.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-41.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-41.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-41.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-42.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-42.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-42.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-42.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-43.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-43.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-43.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-43.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-44.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-44.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-44.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-44.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-45.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-45.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-45.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-45.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-46.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-46.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-46.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-46.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-47.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-47.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-47.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-47.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-48.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-48.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-48.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-48.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-49.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-49.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-49.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-49.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-50.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-50.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-50.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-50.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-51.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-51.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-51.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-51.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-52.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-52.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-52.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-52.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-53.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-53.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-53.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-53.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-54.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-54.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-54.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-54.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-55.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-55.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-55.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-55.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-56.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-56.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-56.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-56.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-57.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-57.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-57.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-57.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-61.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-61.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-61.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-61.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-62.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-62.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-62.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-62.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-63.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-63.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-63.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-63.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-64.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-64.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-64.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-64.js.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-65.d.ts +0 -6
- package/dist/schematron/cen/cen-en16931-br-65.d.ts.map +0 -1
- package/dist/schematron/cen/cen-en16931-br-65.js +0 -15
- package/dist/schematron/cen/cen-en16931-br-65.js.map +0 -1
- package/dist/schematron/cen/cl/cen-en16931-br-cl-08.d.ts +0 -6
- package/dist/schematron/cen/cl/cen-en16931-br-cl-08.d.ts.map +0 -1
- package/dist/schematron/cen/cl/cen-en16931-br-cl-08.js +0 -15
- package/dist/schematron/cen/cl/cen-en16931-br-cl-08.js.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-03.d.ts +0 -6
- package/dist/schematron/cen/co/cen-en16931-br-co-03.d.ts.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-03.js +0 -15
- package/dist/schematron/cen/co/cen-en16931-br-co-03.js.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-04.d.ts +0 -6
- package/dist/schematron/cen/co/cen-en16931-br-co-04.d.ts.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-04.js +0 -15
- package/dist/schematron/cen/co/cen-en16931-br-co-04.js.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-05.d.ts +0 -6
- package/dist/schematron/cen/co/cen-en16931-br-co-05.d.ts.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-05.js +0 -14
- package/dist/schematron/cen/co/cen-en16931-br-co-05.js.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-06.d.ts +0 -6
- package/dist/schematron/cen/co/cen-en16931-br-co-06.d.ts.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-06.js +0 -14
- package/dist/schematron/cen/co/cen-en16931-br-co-06.js.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-07.d.ts +0 -6
- package/dist/schematron/cen/co/cen-en16931-br-co-07.d.ts.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-07.js +0 -14
- package/dist/schematron/cen/co/cen-en16931-br-co-07.js.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-08.d.ts +0 -6
- package/dist/schematron/cen/co/cen-en16931-br-co-08.d.ts.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-08.js +0 -14
- package/dist/schematron/cen/co/cen-en16931-br-co-08.js.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-09.d.ts +0 -6
- package/dist/schematron/cen/co/cen-en16931-br-co-09.d.ts.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-09.js +0 -15
- package/dist/schematron/cen/co/cen-en16931-br-co-09.js.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-10.d.ts +0 -6
- package/dist/schematron/cen/co/cen-en16931-br-co-10.d.ts.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-10.js +0 -15
- package/dist/schematron/cen/co/cen-en16931-br-co-10.js.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-11.d.ts +0 -6
- package/dist/schematron/cen/co/cen-en16931-br-co-11.d.ts.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-11.js +0 -19
- package/dist/schematron/cen/co/cen-en16931-br-co-11.js.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-12.d.ts +0 -6
- package/dist/schematron/cen/co/cen-en16931-br-co-12.d.ts.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-12.js +0 -19
- package/dist/schematron/cen/co/cen-en16931-br-co-12.js.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-13.d.ts +0 -6
- package/dist/schematron/cen/co/cen-en16931-br-co-13.d.ts.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-13.js +0 -20
- package/dist/schematron/cen/co/cen-en16931-br-co-13.js.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-14.d.ts +0 -6
- package/dist/schematron/cen/co/cen-en16931-br-co-14.d.ts.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-14.js +0 -15
- package/dist/schematron/cen/co/cen-en16931-br-co-14.js.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-15.d.ts +0 -6
- package/dist/schematron/cen/co/cen-en16931-br-co-15.d.ts.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-15.js +0 -20
- package/dist/schematron/cen/co/cen-en16931-br-co-15.js.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-16.d.ts +0 -6
- package/dist/schematron/cen/co/cen-en16931-br-co-16.d.ts.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-16.js +0 -20
- package/dist/schematron/cen/co/cen-en16931-br-co-16.js.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-17.d.ts +0 -6
- package/dist/schematron/cen/co/cen-en16931-br-co-17.d.ts.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-17.js +0 -15
- package/dist/schematron/cen/co/cen-en16931-br-co-17.js.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-18.d.ts +0 -6
- package/dist/schematron/cen/co/cen-en16931-br-co-18.d.ts.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-18.js +0 -15
- package/dist/schematron/cen/co/cen-en16931-br-co-18.js.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-19.d.ts +0 -6
- package/dist/schematron/cen/co/cen-en16931-br-co-19.d.ts.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-19.js +0 -15
- package/dist/schematron/cen/co/cen-en16931-br-co-19.js.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-20.d.ts +0 -6
- package/dist/schematron/cen/co/cen-en16931-br-co-20.d.ts.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-20.js +0 -15
- package/dist/schematron/cen/co/cen-en16931-br-co-20.js.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-21.d.ts +0 -6
- package/dist/schematron/cen/co/cen-en16931-br-co-21.d.ts.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-21.js +0 -15
- package/dist/schematron/cen/co/cen-en16931-br-co-21.js.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-22.d.ts +0 -6
- package/dist/schematron/cen/co/cen-en16931-br-co-22.d.ts.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-22.js +0 -15
- package/dist/schematron/cen/co/cen-en16931-br-co-22.js.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-23.d.ts +0 -6
- package/dist/schematron/cen/co/cen-en16931-br-co-23.d.ts.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-23.js +0 -15
- package/dist/schematron/cen/co/cen-en16931-br-co-23.js.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-24.d.ts +0 -6
- package/dist/schematron/cen/co/cen-en16931-br-co-24.d.ts.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-24.js +0 -15
- package/dist/schematron/cen/co/cen-en16931-br-co-24.js.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-25.d.ts +0 -6
- package/dist/schematron/cen/co/cen-en16931-br-co-25.d.ts.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-25.js +0 -15
- package/dist/schematron/cen/co/cen-en16931-br-co-25.js.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-26.d.ts +0 -6
- package/dist/schematron/cen/co/cen-en16931-br-co-26.d.ts.map +0 -1
- package/dist/schematron/cen/co/cen-en16931-br-co-26.js +0 -15
- package/dist/schematron/cen/co/cen-en16931-br-co-26.js.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-01.d.ts +0 -6
- package/dist/schematron/cen/dec/cen-en16931-br-dec-01.d.ts.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-01.js +0 -15
- package/dist/schematron/cen/dec/cen-en16931-br-dec-01.js.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-02.d.ts +0 -6
- package/dist/schematron/cen/dec/cen-en16931-br-dec-02.d.ts.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-02.js +0 -15
- package/dist/schematron/cen/dec/cen-en16931-br-dec-02.js.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-05.d.ts +0 -6
- package/dist/schematron/cen/dec/cen-en16931-br-dec-05.d.ts.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-05.js +0 -15
- package/dist/schematron/cen/dec/cen-en16931-br-dec-05.js.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-06.d.ts +0 -6
- package/dist/schematron/cen/dec/cen-en16931-br-dec-06.d.ts.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-06.js +0 -15
- package/dist/schematron/cen/dec/cen-en16931-br-dec-06.js.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-09.d.ts +0 -6
- package/dist/schematron/cen/dec/cen-en16931-br-dec-09.d.ts.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-09.js +0 -15
- package/dist/schematron/cen/dec/cen-en16931-br-dec-09.js.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-10.d.ts +0 -6
- package/dist/schematron/cen/dec/cen-en16931-br-dec-10.d.ts.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-10.js +0 -15
- package/dist/schematron/cen/dec/cen-en16931-br-dec-10.js.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-11.d.ts +0 -6
- package/dist/schematron/cen/dec/cen-en16931-br-dec-11.d.ts.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-11.js +0 -15
- package/dist/schematron/cen/dec/cen-en16931-br-dec-11.js.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-12.d.ts +0 -6
- package/dist/schematron/cen/dec/cen-en16931-br-dec-12.d.ts.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-12.js +0 -15
- package/dist/schematron/cen/dec/cen-en16931-br-dec-12.js.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-13.d.ts +0 -6
- package/dist/schematron/cen/dec/cen-en16931-br-dec-13.d.ts.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-13.js +0 -15
- package/dist/schematron/cen/dec/cen-en16931-br-dec-13.js.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-14.d.ts +0 -6
- package/dist/schematron/cen/dec/cen-en16931-br-dec-14.d.ts.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-14.js +0 -15
- package/dist/schematron/cen/dec/cen-en16931-br-dec-14.js.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-15.d.ts +0 -6
- package/dist/schematron/cen/dec/cen-en16931-br-dec-15.d.ts.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-15.js +0 -15
- package/dist/schematron/cen/dec/cen-en16931-br-dec-15.js.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-16.d.ts +0 -6
- package/dist/schematron/cen/dec/cen-en16931-br-dec-16.d.ts.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-16.js +0 -15
- package/dist/schematron/cen/dec/cen-en16931-br-dec-16.js.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-17.d.ts +0 -6
- package/dist/schematron/cen/dec/cen-en16931-br-dec-17.d.ts.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-17.js +0 -15
- package/dist/schematron/cen/dec/cen-en16931-br-dec-17.js.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-18.d.ts +0 -6
- package/dist/schematron/cen/dec/cen-en16931-br-dec-18.d.ts.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-18.js +0 -15
- package/dist/schematron/cen/dec/cen-en16931-br-dec-18.js.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-19.d.ts +0 -6
- package/dist/schematron/cen/dec/cen-en16931-br-dec-19.d.ts.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-19.js +0 -15
- package/dist/schematron/cen/dec/cen-en16931-br-dec-19.js.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-20.d.ts +0 -6
- package/dist/schematron/cen/dec/cen-en16931-br-dec-20.d.ts.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-20.js +0 -15
- package/dist/schematron/cen/dec/cen-en16931-br-dec-20.js.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-23.d.ts +0 -6
- package/dist/schematron/cen/dec/cen-en16931-br-dec-23.d.ts.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-23.js +0 -15
- package/dist/schematron/cen/dec/cen-en16931-br-dec-23.js.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-24.d.ts +0 -6
- package/dist/schematron/cen/dec/cen-en16931-br-dec-24.d.ts.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-24.js +0 -15
- package/dist/schematron/cen/dec/cen-en16931-br-dec-24.js.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-25.d.ts +0 -6
- package/dist/schematron/cen/dec/cen-en16931-br-dec-25.d.ts.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-25.js +0 -15
- package/dist/schematron/cen/dec/cen-en16931-br-dec-25.js.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-27.d.ts +0 -6
- package/dist/schematron/cen/dec/cen-en16931-br-dec-27.d.ts.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-27.js +0 -15
- package/dist/schematron/cen/dec/cen-en16931-br-dec-27.js.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-28.d.ts +0 -6
- package/dist/schematron/cen/dec/cen-en16931-br-dec-28.d.ts.map +0 -1
- package/dist/schematron/cen/dec/cen-en16931-br-dec-28.js +0 -15
- package/dist/schematron/cen/dec/cen-en16931-br-dec-28.js.map +0 -1
- package/dist/schematron/cen/e/cen-en16931-br-e-01.d.ts +0 -6
- package/dist/schematron/cen/e/cen-en16931-br-e-01.d.ts.map +0 -1
- package/dist/schematron/cen/e/cen-en16931-br-e-01.js +0 -15
- package/dist/schematron/cen/e/cen-en16931-br-e-01.js.map +0 -1
- package/dist/schematron/cen/e/cen-en16931-br-e-02.d.ts +0 -6
- package/dist/schematron/cen/e/cen-en16931-br-e-02.d.ts.map +0 -1
- package/dist/schematron/cen/e/cen-en16931-br-e-02.js +0 -15
- package/dist/schematron/cen/e/cen-en16931-br-e-02.js.map +0 -1
- package/dist/schematron/cen/e/cen-en16931-br-e-03.d.ts +0 -6
- package/dist/schematron/cen/e/cen-en16931-br-e-03.d.ts.map +0 -1
- package/dist/schematron/cen/e/cen-en16931-br-e-03.js +0 -15
- package/dist/schematron/cen/e/cen-en16931-br-e-03.js.map +0 -1
- package/dist/schematron/cen/e/cen-en16931-br-e-04.d.ts +0 -6
- package/dist/schematron/cen/e/cen-en16931-br-e-04.d.ts.map +0 -1
- package/dist/schematron/cen/e/cen-en16931-br-e-04.js +0 -15
- package/dist/schematron/cen/e/cen-en16931-br-e-04.js.map +0 -1
- package/dist/schematron/cen/e/cen-en16931-br-e-05.d.ts +0 -6
- package/dist/schematron/cen/e/cen-en16931-br-e-05.d.ts.map +0 -1
- package/dist/schematron/cen/e/cen-en16931-br-e-05.js +0 -15
- package/dist/schematron/cen/e/cen-en16931-br-e-05.js.map +0 -1
- package/dist/schematron/cen/e/cen-en16931-br-e-06.d.ts +0 -6
- package/dist/schematron/cen/e/cen-en16931-br-e-06.d.ts.map +0 -1
- package/dist/schematron/cen/e/cen-en16931-br-e-06.js +0 -15
- package/dist/schematron/cen/e/cen-en16931-br-e-06.js.map +0 -1
- package/dist/schematron/cen/e/cen-en16931-br-e-07.d.ts +0 -6
- package/dist/schematron/cen/e/cen-en16931-br-e-07.d.ts.map +0 -1
- package/dist/schematron/cen/e/cen-en16931-br-e-07.js +0 -15
- package/dist/schematron/cen/e/cen-en16931-br-e-07.js.map +0 -1
- package/dist/schematron/cen/e/cen-en16931-br-e-08.d.ts +0 -6
- package/dist/schematron/cen/e/cen-en16931-br-e-08.d.ts.map +0 -1
- package/dist/schematron/cen/e/cen-en16931-br-e-08.js +0 -15
- package/dist/schematron/cen/e/cen-en16931-br-e-08.js.map +0 -1
- package/dist/schematron/cen/e/cen-en16931-br-e-09.d.ts +0 -6
- package/dist/schematron/cen/e/cen-en16931-br-e-09.d.ts.map +0 -1
- package/dist/schematron/cen/e/cen-en16931-br-e-09.js +0 -15
- package/dist/schematron/cen/e/cen-en16931-br-e-09.js.map +0 -1
- package/dist/schematron/cen/e/cen-en16931-br-e-10.d.ts +0 -6
- package/dist/schematron/cen/e/cen-en16931-br-e-10.d.ts.map +0 -1
- package/dist/schematron/cen/e/cen-en16931-br-e-10.js +0 -15
- package/dist/schematron/cen/e/cen-en16931-br-e-10.js.map +0 -1
- package/dist/schematron/cen/g/cen-en16931-br-g-01.d.ts +0 -6
- package/dist/schematron/cen/g/cen-en16931-br-g-01.d.ts.map +0 -1
- package/dist/schematron/cen/g/cen-en16931-br-g-01.js +0 -15
- package/dist/schematron/cen/g/cen-en16931-br-g-01.js.map +0 -1
- package/dist/schematron/cen/g/cen-en16931-br-g-02.d.ts +0 -6
- package/dist/schematron/cen/g/cen-en16931-br-g-02.d.ts.map +0 -1
- package/dist/schematron/cen/g/cen-en16931-br-g-02.js +0 -15
- package/dist/schematron/cen/g/cen-en16931-br-g-02.js.map +0 -1
- package/dist/schematron/cen/g/cen-en16931-br-g-03.d.ts +0 -6
- package/dist/schematron/cen/g/cen-en16931-br-g-03.d.ts.map +0 -1
- package/dist/schematron/cen/g/cen-en16931-br-g-03.js +0 -15
- package/dist/schematron/cen/g/cen-en16931-br-g-03.js.map +0 -1
- package/dist/schematron/cen/g/cen-en16931-br-g-04.d.ts +0 -6
- package/dist/schematron/cen/g/cen-en16931-br-g-04.d.ts.map +0 -1
- package/dist/schematron/cen/g/cen-en16931-br-g-04.js +0 -15
- package/dist/schematron/cen/g/cen-en16931-br-g-04.js.map +0 -1
- package/dist/schematron/cen/g/cen-en16931-br-g-05.d.ts +0 -6
- package/dist/schematron/cen/g/cen-en16931-br-g-05.d.ts.map +0 -1
- package/dist/schematron/cen/g/cen-en16931-br-g-05.js +0 -15
- package/dist/schematron/cen/g/cen-en16931-br-g-05.js.map +0 -1
- package/dist/schematron/cen/g/cen-en16931-br-g-06.d.ts +0 -6
- package/dist/schematron/cen/g/cen-en16931-br-g-06.d.ts.map +0 -1
- package/dist/schematron/cen/g/cen-en16931-br-g-06.js +0 -15
- package/dist/schematron/cen/g/cen-en16931-br-g-06.js.map +0 -1
- package/dist/schematron/cen/g/cen-en16931-br-g-07.d.ts +0 -6
- package/dist/schematron/cen/g/cen-en16931-br-g-07.d.ts.map +0 -1
- package/dist/schematron/cen/g/cen-en16931-br-g-07.js +0 -15
- package/dist/schematron/cen/g/cen-en16931-br-g-07.js.map +0 -1
- package/dist/schematron/cen/g/cen-en16931-br-g-08.d.ts +0 -6
- package/dist/schematron/cen/g/cen-en16931-br-g-08.d.ts.map +0 -1
- package/dist/schematron/cen/g/cen-en16931-br-g-08.js +0 -15
- package/dist/schematron/cen/g/cen-en16931-br-g-08.js.map +0 -1
- package/dist/schematron/cen/g/cen-en16931-br-g-09.d.ts +0 -6
- package/dist/schematron/cen/g/cen-en16931-br-g-09.d.ts.map +0 -1
- package/dist/schematron/cen/g/cen-en16931-br-g-09.js +0 -15
- package/dist/schematron/cen/g/cen-en16931-br-g-09.js.map +0 -1
- package/dist/schematron/cen/g/cen-en16931-br-g-10.d.ts +0 -6
- package/dist/schematron/cen/g/cen-en16931-br-g-10.d.ts.map +0 -1
- package/dist/schematron/cen/g/cen-en16931-br-g-10.js +0 -15
- package/dist/schematron/cen/g/cen-en16931-br-g-10.js.map +0 -1
- package/dist/schematron/cen/ic/cen-en16931-br-ic-01.d.ts +0 -6
- package/dist/schematron/cen/ic/cen-en16931-br-ic-01.d.ts.map +0 -1
- package/dist/schematron/cen/ic/cen-en16931-br-ic-01.js +0 -15
- package/dist/schematron/cen/ic/cen-en16931-br-ic-01.js.map +0 -1
- package/dist/schematron/cen/ic/cen-en16931-br-ic-02.d.ts +0 -6
- package/dist/schematron/cen/ic/cen-en16931-br-ic-02.d.ts.map +0 -1
- package/dist/schematron/cen/ic/cen-en16931-br-ic-02.js +0 -15
- package/dist/schematron/cen/ic/cen-en16931-br-ic-02.js.map +0 -1
- package/dist/schematron/cen/ic/cen-en16931-br-ic-03.d.ts +0 -6
- package/dist/schematron/cen/ic/cen-en16931-br-ic-03.d.ts.map +0 -1
- package/dist/schematron/cen/ic/cen-en16931-br-ic-03.js +0 -15
- package/dist/schematron/cen/ic/cen-en16931-br-ic-03.js.map +0 -1
- package/dist/schematron/cen/ic/cen-en16931-br-ic-04.d.ts +0 -6
- package/dist/schematron/cen/ic/cen-en16931-br-ic-04.d.ts.map +0 -1
- package/dist/schematron/cen/ic/cen-en16931-br-ic-04.js +0 -15
- package/dist/schematron/cen/ic/cen-en16931-br-ic-04.js.map +0 -1
- package/dist/schematron/cen/ic/cen-en16931-br-ic-05.d.ts +0 -6
- package/dist/schematron/cen/ic/cen-en16931-br-ic-05.d.ts.map +0 -1
- package/dist/schematron/cen/ic/cen-en16931-br-ic-05.js +0 -15
- package/dist/schematron/cen/ic/cen-en16931-br-ic-05.js.map +0 -1
- package/dist/schematron/cen/ic/cen-en16931-br-ic-06.d.ts +0 -6
- package/dist/schematron/cen/ic/cen-en16931-br-ic-06.d.ts.map +0 -1
- package/dist/schematron/cen/ic/cen-en16931-br-ic-06.js +0 -15
- package/dist/schematron/cen/ic/cen-en16931-br-ic-06.js.map +0 -1
- package/dist/schematron/cen/ic/cen-en16931-br-ic-07.d.ts +0 -6
- package/dist/schematron/cen/ic/cen-en16931-br-ic-07.d.ts.map +0 -1
- package/dist/schematron/cen/ic/cen-en16931-br-ic-07.js +0 -15
- package/dist/schematron/cen/ic/cen-en16931-br-ic-07.js.map +0 -1
- package/dist/schematron/cen/ic/cen-en16931-br-ic-08.d.ts +0 -6
- package/dist/schematron/cen/ic/cen-en16931-br-ic-08.d.ts.map +0 -1
- package/dist/schematron/cen/ic/cen-en16931-br-ic-08.js +0 -15
- package/dist/schematron/cen/ic/cen-en16931-br-ic-08.js.map +0 -1
- package/dist/schematron/cen/ic/cen-en16931-br-ic-09.d.ts +0 -6
- package/dist/schematron/cen/ic/cen-en16931-br-ic-09.d.ts.map +0 -1
- package/dist/schematron/cen/ic/cen-en16931-br-ic-09.js +0 -15
- package/dist/schematron/cen/ic/cen-en16931-br-ic-09.js.map +0 -1
- package/dist/schematron/cen/ic/cen-en16931-br-ic-10.d.ts +0 -6
- package/dist/schematron/cen/ic/cen-en16931-br-ic-10.d.ts.map +0 -1
- package/dist/schematron/cen/ic/cen-en16931-br-ic-10.js +0 -15
- package/dist/schematron/cen/ic/cen-en16931-br-ic-10.js.map +0 -1
- package/dist/schematron/cen/ic/cen-en16931-br-ic-11.d.ts +0 -6
- package/dist/schematron/cen/ic/cen-en16931-br-ic-11.d.ts.map +0 -1
- package/dist/schematron/cen/ic/cen-en16931-br-ic-11.js +0 -15
- package/dist/schematron/cen/ic/cen-en16931-br-ic-11.js.map +0 -1
- package/dist/schematron/cen/ic/cen-en16931-br-ic-12.d.ts +0 -6
- package/dist/schematron/cen/ic/cen-en16931-br-ic-12.d.ts.map +0 -1
- package/dist/schematron/cen/ic/cen-en16931-br-ic-12.js +0 -15
- package/dist/schematron/cen/ic/cen-en16931-br-ic-12.js.map +0 -1
- package/dist/schematron/cen/o/cen-en16931-br-o-01.d.ts +0 -6
- package/dist/schematron/cen/o/cen-en16931-br-o-01.d.ts.map +0 -1
- package/dist/schematron/cen/o/cen-en16931-br-o-01.js +0 -15
- package/dist/schematron/cen/o/cen-en16931-br-o-01.js.map +0 -1
- package/dist/schematron/cen/o/cen-en16931-br-o-02.d.ts +0 -6
- package/dist/schematron/cen/o/cen-en16931-br-o-02.d.ts.map +0 -1
- package/dist/schematron/cen/o/cen-en16931-br-o-02.js +0 -15
- package/dist/schematron/cen/o/cen-en16931-br-o-02.js.map +0 -1
- package/dist/schematron/cen/o/cen-en16931-br-o-03.d.ts +0 -6
- package/dist/schematron/cen/o/cen-en16931-br-o-03.d.ts.map +0 -1
- package/dist/schematron/cen/o/cen-en16931-br-o-03.js +0 -15
- package/dist/schematron/cen/o/cen-en16931-br-o-03.js.map +0 -1
- package/dist/schematron/cen/o/cen-en16931-br-o-04.d.ts +0 -6
- package/dist/schematron/cen/o/cen-en16931-br-o-04.d.ts.map +0 -1
- package/dist/schematron/cen/o/cen-en16931-br-o-04.js +0 -15
- package/dist/schematron/cen/o/cen-en16931-br-o-04.js.map +0 -1
- package/dist/schematron/cen/o/cen-en16931-br-o-05.d.ts +0 -6
- package/dist/schematron/cen/o/cen-en16931-br-o-05.d.ts.map +0 -1
- package/dist/schematron/cen/o/cen-en16931-br-o-05.js +0 -15
- package/dist/schematron/cen/o/cen-en16931-br-o-05.js.map +0 -1
- package/dist/schematron/cen/o/cen-en16931-br-o-06.d.ts +0 -6
- package/dist/schematron/cen/o/cen-en16931-br-o-06.d.ts.map +0 -1
- package/dist/schematron/cen/o/cen-en16931-br-o-06.js +0 -15
- package/dist/schematron/cen/o/cen-en16931-br-o-06.js.map +0 -1
- package/dist/schematron/cen/o/cen-en16931-br-o-07.d.ts +0 -6
- package/dist/schematron/cen/o/cen-en16931-br-o-07.d.ts.map +0 -1
- package/dist/schematron/cen/o/cen-en16931-br-o-07.js +0 -15
- package/dist/schematron/cen/o/cen-en16931-br-o-07.js.map +0 -1
- package/dist/schematron/cen/o/cen-en16931-br-o-08.d.ts +0 -6
- package/dist/schematron/cen/o/cen-en16931-br-o-08.d.ts.map +0 -1
- package/dist/schematron/cen/o/cen-en16931-br-o-08.js +0 -15
- package/dist/schematron/cen/o/cen-en16931-br-o-08.js.map +0 -1
- package/dist/schematron/cen/o/cen-en16931-br-o-09.d.ts +0 -6
- package/dist/schematron/cen/o/cen-en16931-br-o-09.d.ts.map +0 -1
- package/dist/schematron/cen/o/cen-en16931-br-o-09.js +0 -15
- package/dist/schematron/cen/o/cen-en16931-br-o-09.js.map +0 -1
- package/dist/schematron/cen/o/cen-en16931-br-o-10.d.ts +0 -6
- package/dist/schematron/cen/o/cen-en16931-br-o-10.d.ts.map +0 -1
- package/dist/schematron/cen/o/cen-en16931-br-o-10.js +0 -15
- package/dist/schematron/cen/o/cen-en16931-br-o-10.js.map +0 -1
- package/dist/schematron/cen/o/cen-en16931-br-o-11.d.ts +0 -6
- package/dist/schematron/cen/o/cen-en16931-br-o-11.d.ts.map +0 -1
- package/dist/schematron/cen/o/cen-en16931-br-o-11.js +0 -15
- package/dist/schematron/cen/o/cen-en16931-br-o-11.js.map +0 -1
- package/dist/schematron/cen/o/cen-en16931-br-o-12.d.ts +0 -6
- package/dist/schematron/cen/o/cen-en16931-br-o-12.d.ts.map +0 -1
- package/dist/schematron/cen/o/cen-en16931-br-o-12.js +0 -15
- package/dist/schematron/cen/o/cen-en16931-br-o-12.js.map +0 -1
- package/dist/schematron/cen/o/cen-en16931-br-o-13.d.ts +0 -6
- package/dist/schematron/cen/o/cen-en16931-br-o-13.d.ts.map +0 -1
- package/dist/schematron/cen/o/cen-en16931-br-o-13.js +0 -15
- package/dist/schematron/cen/o/cen-en16931-br-o-13.js.map +0 -1
- package/dist/schematron/cen/o/cen-en16931-br-o-14.d.ts +0 -6
- package/dist/schematron/cen/o/cen-en16931-br-o-14.d.ts.map +0 -1
- package/dist/schematron/cen/o/cen-en16931-br-o-14.js +0 -15
- package/dist/schematron/cen/o/cen-en16931-br-o-14.js.map +0 -1
- package/dist/schematron/cen/s/cen-en16931-br-s-01.d.ts +0 -6
- package/dist/schematron/cen/s/cen-en16931-br-s-01.d.ts.map +0 -1
- package/dist/schematron/cen/s/cen-en16931-br-s-01.js +0 -15
- package/dist/schematron/cen/s/cen-en16931-br-s-01.js.map +0 -1
- package/dist/schematron/cen/s/cen-en16931-br-s-02.d.ts +0 -6
- package/dist/schematron/cen/s/cen-en16931-br-s-02.d.ts.map +0 -1
- package/dist/schematron/cen/s/cen-en16931-br-s-02.js +0 -15
- package/dist/schematron/cen/s/cen-en16931-br-s-02.js.map +0 -1
- package/dist/schematron/cen/s/cen-en16931-br-s-03.d.ts +0 -6
- package/dist/schematron/cen/s/cen-en16931-br-s-03.d.ts.map +0 -1
- package/dist/schematron/cen/s/cen-en16931-br-s-03.js +0 -15
- package/dist/schematron/cen/s/cen-en16931-br-s-03.js.map +0 -1
- package/dist/schematron/cen/s/cen-en16931-br-s-04.d.ts +0 -6
- package/dist/schematron/cen/s/cen-en16931-br-s-04.d.ts.map +0 -1
- package/dist/schematron/cen/s/cen-en16931-br-s-04.js +0 -15
- package/dist/schematron/cen/s/cen-en16931-br-s-04.js.map +0 -1
- package/dist/schematron/cen/s/cen-en16931-br-s-05.d.ts +0 -6
- package/dist/schematron/cen/s/cen-en16931-br-s-05.d.ts.map +0 -1
- package/dist/schematron/cen/s/cen-en16931-br-s-05.js +0 -15
- package/dist/schematron/cen/s/cen-en16931-br-s-05.js.map +0 -1
- package/dist/schematron/cen/s/cen-en16931-br-s-06.d.ts +0 -6
- package/dist/schematron/cen/s/cen-en16931-br-s-06.d.ts.map +0 -1
- package/dist/schematron/cen/s/cen-en16931-br-s-06.js +0 -15
- package/dist/schematron/cen/s/cen-en16931-br-s-06.js.map +0 -1
- package/dist/schematron/cen/s/cen-en16931-br-s-07.d.ts +0 -6
- package/dist/schematron/cen/s/cen-en16931-br-s-07.d.ts.map +0 -1
- package/dist/schematron/cen/s/cen-en16931-br-s-07.js +0 -15
- package/dist/schematron/cen/s/cen-en16931-br-s-07.js.map +0 -1
- package/dist/schematron/cen/s/cen-en16931-br-s-08.d.ts +0 -6
- package/dist/schematron/cen/s/cen-en16931-br-s-08.d.ts.map +0 -1
- package/dist/schematron/cen/s/cen-en16931-br-s-08.js +0 -15
- package/dist/schematron/cen/s/cen-en16931-br-s-08.js.map +0 -1
- package/dist/schematron/cen/s/cen-en16931-br-s-09.d.ts +0 -6
- package/dist/schematron/cen/s/cen-en16931-br-s-09.d.ts.map +0 -1
- package/dist/schematron/cen/s/cen-en16931-br-s-09.js +0 -15
- package/dist/schematron/cen/s/cen-en16931-br-s-09.js.map +0 -1
- package/dist/schematron/cen/s/cen-en16931-br-s-10.d.ts +0 -6
- package/dist/schematron/cen/s/cen-en16931-br-s-10.d.ts.map +0 -1
- package/dist/schematron/cen/s/cen-en16931-br-s-10.js +0 -15
- package/dist/schematron/cen/s/cen-en16931-br-s-10.js.map +0 -1
- package/dist/schematron/cen/z/cen-en16931-br-z-01.d.ts +0 -6
- package/dist/schematron/cen/z/cen-en16931-br-z-01.d.ts.map +0 -1
- package/dist/schematron/cen/z/cen-en16931-br-z-01.js +0 -15
- package/dist/schematron/cen/z/cen-en16931-br-z-01.js.map +0 -1
- package/dist/schematron/cen/z/cen-en16931-br-z-02.d.ts +0 -6
- package/dist/schematron/cen/z/cen-en16931-br-z-02.d.ts.map +0 -1
- package/dist/schematron/cen/z/cen-en16931-br-z-02.js +0 -15
- package/dist/schematron/cen/z/cen-en16931-br-z-02.js.map +0 -1
- package/dist/schematron/cen/z/cen-en16931-br-z-03.d.ts +0 -6
- package/dist/schematron/cen/z/cen-en16931-br-z-03.d.ts.map +0 -1
- package/dist/schematron/cen/z/cen-en16931-br-z-03.js +0 -15
- package/dist/schematron/cen/z/cen-en16931-br-z-03.js.map +0 -1
- package/dist/schematron/cen/z/cen-en16931-br-z-04.d.ts +0 -6
- package/dist/schematron/cen/z/cen-en16931-br-z-04.d.ts.map +0 -1
- package/dist/schematron/cen/z/cen-en16931-br-z-04.js +0 -15
- package/dist/schematron/cen/z/cen-en16931-br-z-04.js.map +0 -1
- package/dist/schematron/cen/z/cen-en16931-br-z-05.d.ts +0 -6
- package/dist/schematron/cen/z/cen-en16931-br-z-05.d.ts.map +0 -1
- package/dist/schematron/cen/z/cen-en16931-br-z-05.js +0 -15
- package/dist/schematron/cen/z/cen-en16931-br-z-05.js.map +0 -1
- package/dist/schematron/cen/z/cen-en16931-br-z-06.d.ts +0 -6
- package/dist/schematron/cen/z/cen-en16931-br-z-06.d.ts.map +0 -1
- package/dist/schematron/cen/z/cen-en16931-br-z-06.js +0 -15
- package/dist/schematron/cen/z/cen-en16931-br-z-06.js.map +0 -1
- package/dist/schematron/cen/z/cen-en16931-br-z-07.d.ts +0 -6
- package/dist/schematron/cen/z/cen-en16931-br-z-07.d.ts.map +0 -1
- package/dist/schematron/cen/z/cen-en16931-br-z-07.js +0 -15
- package/dist/schematron/cen/z/cen-en16931-br-z-07.js.map +0 -1
- package/dist/schematron/cen/z/cen-en16931-br-z-08.d.ts +0 -6
- package/dist/schematron/cen/z/cen-en16931-br-z-08.d.ts.map +0 -1
- package/dist/schematron/cen/z/cen-en16931-br-z-08.js +0 -15
- package/dist/schematron/cen/z/cen-en16931-br-z-08.js.map +0 -1
- package/dist/schematron/cen/z/cen-en16931-br-z-09.d.ts +0 -6
- package/dist/schematron/cen/z/cen-en16931-br-z-09.d.ts.map +0 -1
- package/dist/schematron/cen/z/cen-en16931-br-z-09.js +0 -15
- package/dist/schematron/cen/z/cen-en16931-br-z-09.js.map +0 -1
- package/dist/schematron/cen/z/cen-en16931-br-z-10.d.ts +0 -6
- package/dist/schematron/cen/z/cen-en16931-br-z-10.d.ts.map +0 -1
- package/dist/schematron/cen/z/cen-en16931-br-z-10.js +0 -15
- package/dist/schematron/cen/z/cen-en16931-br-z-10.js.map +0 -1
- package/dist/schematron/de/de-r-001.d.ts +0 -6
- package/dist/schematron/de/de-r-001.d.ts.map +0 -1
- package/dist/schematron/de/de-r-001.js +0 -15
- package/dist/schematron/de/de-r-001.js.map +0 -1
- package/dist/schematron/de/de-r-002.d.ts +0 -6
- package/dist/schematron/de/de-r-002.d.ts.map +0 -1
- package/dist/schematron/de/de-r-002.js +0 -15
- package/dist/schematron/de/de-r-002.js.map +0 -1
- package/dist/schematron/de/de-r-003.d.ts +0 -6
- package/dist/schematron/de/de-r-003.d.ts.map +0 -1
- package/dist/schematron/de/de-r-003.js +0 -16
- package/dist/schematron/de/de-r-003.js.map +0 -1
- package/dist/schematron/de/de-r-004.d.ts +0 -6
- package/dist/schematron/de/de-r-004.d.ts.map +0 -1
- package/dist/schematron/de/de-r-004.js +0 -16
- package/dist/schematron/de/de-r-004.js.map +0 -1
- package/dist/schematron/de/de-r-005.d.ts +0 -6
- package/dist/schematron/de/de-r-005.d.ts.map +0 -1
- package/dist/schematron/de/de-r-005.js +0 -16
- package/dist/schematron/de/de-r-005.js.map +0 -1
- package/dist/schematron/de/de-r-006.d.ts +0 -6
- package/dist/schematron/de/de-r-006.d.ts.map +0 -1
- package/dist/schematron/de/de-r-006.js +0 -16
- package/dist/schematron/de/de-r-006.js.map +0 -1
- package/dist/schematron/de/de-r-007.d.ts +0 -6
- package/dist/schematron/de/de-r-007.d.ts.map +0 -1
- package/dist/schematron/de/de-r-007.js +0 -16
- package/dist/schematron/de/de-r-007.js.map +0 -1
- package/dist/schematron/de/de-r-008.d.ts +0 -6
- package/dist/schematron/de/de-r-008.d.ts.map +0 -1
- package/dist/schematron/de/de-r-008.js +0 -16
- package/dist/schematron/de/de-r-008.js.map +0 -1
- package/dist/schematron/de/de-r-009.d.ts +0 -6
- package/dist/schematron/de/de-r-009.d.ts.map +0 -1
- package/dist/schematron/de/de-r-009.js +0 -16
- package/dist/schematron/de/de-r-009.js.map +0 -1
- package/dist/schematron/de/de-r-010.d.ts +0 -6
- package/dist/schematron/de/de-r-010.d.ts.map +0 -1
- package/dist/schematron/de/de-r-010.js +0 -18
- package/dist/schematron/de/de-r-010.js.map +0 -1
- package/dist/schematron/de/de-r-011.d.ts +0 -6
- package/dist/schematron/de/de-r-011.d.ts.map +0 -1
- package/dist/schematron/de/de-r-011.js +0 -18
- package/dist/schematron/de/de-r-011.js.map +0 -1
- package/dist/schematron/de/de-r-014.d.ts +0 -6
- package/dist/schematron/de/de-r-014.d.ts.map +0 -1
- package/dist/schematron/de/de-r-014.js +0 -16
- package/dist/schematron/de/de-r-014.js.map +0 -1
- package/dist/schematron/de/de-r-015.d.ts +0 -6
- package/dist/schematron/de/de-r-015.d.ts.map +0 -1
- package/dist/schematron/de/de-r-015.js +0 -16
- package/dist/schematron/de/de-r-015.js.map +0 -1
- package/dist/schematron/de/de-r-016.d.ts +0 -6
- package/dist/schematron/de/de-r-016.d.ts.map +0 -1
- package/dist/schematron/de/de-r-016.js +0 -30
- package/dist/schematron/de/de-r-016.js.map +0 -1
- package/dist/schematron/de/de-r-017.d.ts +0 -6
- package/dist/schematron/de/de-r-017.d.ts.map +0 -1
- package/dist/schematron/de/de-r-017.js +0 -26
- package/dist/schematron/de/de-r-017.js.map +0 -1
- package/dist/schematron/de/de-r-018.d.ts +0 -6
- package/dist/schematron/de/de-r-018.d.ts.map +0 -1
- package/dist/schematron/de/de-r-018.js +0 -21
- package/dist/schematron/de/de-r-018.js.map +0 -1
- package/dist/schematron/de/de-r-019.d.ts +0 -6
- package/dist/schematron/de/de-r-019.d.ts.map +0 -1
- package/dist/schematron/de/de-r-019.js +0 -21
- package/dist/schematron/de/de-r-019.js.map +0 -1
- package/dist/schematron/de/de-r-020.d.ts +0 -6
- package/dist/schematron/de/de-r-020.d.ts.map +0 -1
- package/dist/schematron/de/de-r-020.js +0 -21
- package/dist/schematron/de/de-r-020.js.map +0 -1
- package/dist/schematron/de/de-r-022.d.ts +0 -6
- package/dist/schematron/de/de-r-022.d.ts.map +0 -1
- package/dist/schematron/de/de-r-022.js +0 -16
- package/dist/schematron/de/de-r-022.js.map +0 -1
- package/dist/schematron/de/de-r-023-1.d.ts +0 -6
- package/dist/schematron/de/de-r-023-1.d.ts.map +0 -1
- package/dist/schematron/de/de-r-023-1.js +0 -20
- package/dist/schematron/de/de-r-023-1.js.map +0 -1
- package/dist/schematron/de/de-r-023-2.d.ts +0 -6
- package/dist/schematron/de/de-r-023-2.d.ts.map +0 -1
- package/dist/schematron/de/de-r-023-2.js +0 -20
- package/dist/schematron/de/de-r-023-2.js.map +0 -1
- package/dist/schematron/de/de-r-024-1.d.ts +0 -6
- package/dist/schematron/de/de-r-024-1.d.ts.map +0 -1
- package/dist/schematron/de/de-r-024-1.js +0 -24
- package/dist/schematron/de/de-r-024-1.js.map +0 -1
- package/dist/schematron/de/de-r-024-2.d.ts +0 -6
- package/dist/schematron/de/de-r-024-2.d.ts.map +0 -1
- package/dist/schematron/de/de-r-024-2.js +0 -24
- package/dist/schematron/de/de-r-024-2.js.map +0 -1
- package/dist/schematron/de/de-r-025-1.d.ts +0 -6
- package/dist/schematron/de/de-r-025-1.d.ts.map +0 -1
- package/dist/schematron/de/de-r-025-1.js +0 -19
- package/dist/schematron/de/de-r-025-1.js.map +0 -1
- package/dist/schematron/de/de-r-025-2.d.ts +0 -6
- package/dist/schematron/de/de-r-025-2.d.ts.map +0 -1
- package/dist/schematron/de/de-r-025-2.js +0 -19
- package/dist/schematron/de/de-r-025-2.js.map +0 -1
- package/dist/schematron/de/de-r-026.d.ts +0 -6
- package/dist/schematron/de/de-r-026.d.ts.map +0 -1
- package/dist/schematron/de/de-r-026.js +0 -19
- package/dist/schematron/de/de-r-026.js.map +0 -1
- package/dist/schematron/de/de-r-027.d.ts +0 -6
- package/dist/schematron/de/de-r-027.d.ts.map +0 -1
- package/dist/schematron/de/de-r-027.js +0 -17
- package/dist/schematron/de/de-r-027.js.map +0 -1
- package/dist/schematron/de/de-r-028.d.ts +0 -6
- package/dist/schematron/de/de-r-028.d.ts.map +0 -1
- package/dist/schematron/de/de-r-028.js +0 -17
- package/dist/schematron/de/de-r-028.js.map +0 -1
- package/dist/schematron/de/de-r-030.d.ts +0 -6
- package/dist/schematron/de/de-r-030.d.ts.map +0 -1
- package/dist/schematron/de/de-r-030.js +0 -17
- package/dist/schematron/de/de-r-030.js.map +0 -1
- package/dist/schematron/de/de-r-031.d.ts +0 -6
- package/dist/schematron/de/de-r-031.d.ts.map +0 -1
- package/dist/schematron/de/de-r-031.js +0 -19
- package/dist/schematron/de/de-r-031.js.map +0 -1
- package/dist/schematron/dk/dk-r-002.d.ts +0 -6
- package/dist/schematron/dk/dk-r-002.d.ts.map +0 -1
- package/dist/schematron/dk/dk-r-002.js +0 -16
- package/dist/schematron/dk/dk-r-002.js.map +0 -1
- package/dist/schematron/dk/dk-r-003.d.ts +0 -6
- package/dist/schematron/dk/dk-r-003.d.ts.map +0 -1
- package/dist/schematron/dk/dk-r-003.js +0 -25
- package/dist/schematron/dk/dk-r-003.js.map +0 -1
- package/dist/schematron/dk/dk-r-004.d.ts +0 -6
- package/dist/schematron/dk/dk-r-004.d.ts.map +0 -1
- package/dist/schematron/dk/dk-r-004.js +0 -23
- package/dist/schematron/dk/dk-r-004.js.map +0 -1
- package/dist/schematron/dk/dk-r-005.d.ts +0 -6
- package/dist/schematron/dk/dk-r-005.d.ts.map +0 -1
- package/dist/schematron/dk/dk-r-005.js +0 -29
- package/dist/schematron/dk/dk-r-005.js.map +0 -1
- package/dist/schematron/dk/dk-r-006.d.ts +0 -6
- package/dist/schematron/dk/dk-r-006.d.ts.map +0 -1
- package/dist/schematron/dk/dk-r-006.js +0 -22
- package/dist/schematron/dk/dk-r-006.js.map +0 -1
- package/dist/schematron/dk/dk-r-007.d.ts +0 -6
- package/dist/schematron/dk/dk-r-007.d.ts.map +0 -1
- package/dist/schematron/dk/dk-r-007.js +0 -21
- package/dist/schematron/dk/dk-r-007.js.map +0 -1
- package/dist/schematron/dk/dk-r-008.d.ts +0 -6
- package/dist/schematron/dk/dk-r-008.d.ts.map +0 -1
- package/dist/schematron/dk/dk-r-008.js +0 -25
- package/dist/schematron/dk/dk-r-008.js.map +0 -1
- package/dist/schematron/dk/dk-r-009.d.ts +0 -6
- package/dist/schematron/dk/dk-r-009.d.ts.map +0 -1
- package/dist/schematron/dk/dk-r-009.js +0 -21
- package/dist/schematron/dk/dk-r-009.js.map +0 -1
- package/dist/schematron/dk/dk-r-010.d.ts +0 -6
- package/dist/schematron/dk/dk-r-010.d.ts.map +0 -1
- package/dist/schematron/dk/dk-r-010.js +0 -26
- package/dist/schematron/dk/dk-r-010.js.map +0 -1
- package/dist/schematron/dk/dk-r-011.d.ts +0 -6
- package/dist/schematron/dk/dk-r-011.d.ts.map +0 -1
- package/dist/schematron/dk/dk-r-011.js +0 -21
- package/dist/schematron/dk/dk-r-011.js.map +0 -1
- package/dist/schematron/dk/dk-r-013.d.ts +0 -6
- package/dist/schematron/dk/dk-r-013.d.ts.map +0 -1
- package/dist/schematron/dk/dk-r-013.js +0 -19
- package/dist/schematron/dk/dk-r-013.js.map +0 -1
- package/dist/schematron/dk/dk-r-014.d.ts +0 -6
- package/dist/schematron/dk/dk-r-014.d.ts.map +0 -1
- package/dist/schematron/dk/dk-r-014.js +0 -17
- package/dist/schematron/dk/dk-r-014.js.map +0 -1
- package/dist/schematron/dk/dk-r-016.d.ts +0 -6
- package/dist/schematron/dk/dk-r-016.d.ts.map +0 -1
- package/dist/schematron/dk/dk-r-016.js +0 -15
- package/dist/schematron/dk/dk-r-016.js.map +0 -1
- package/dist/schematron/dk/dk-r-017.d.ts +0 -6
- package/dist/schematron/dk/dk-r-017.d.ts.map +0 -1
- package/dist/schematron/dk/dk-r-017.js +0 -17
- package/dist/schematron/dk/dk-r-017.js.map +0 -1
- package/dist/schematron/gr/gr-r-001-1.d.ts +0 -6
- package/dist/schematron/gr/gr-r-001-1.d.ts.map +0 -1
- package/dist/schematron/gr/gr-r-001-1.js +0 -16
- package/dist/schematron/gr/gr-r-001-1.js.map +0 -1
- package/dist/schematron/gr/gr-r-001-2.d.ts +0 -6
- package/dist/schematron/gr/gr-r-001-2.d.ts.map +0 -1
- package/dist/schematron/gr/gr-r-001-2.js +0 -21
- package/dist/schematron/gr/gr-r-001-2.js.map +0 -1
- package/dist/schematron/gr/gr-r-001-3.d.ts +0 -6
- package/dist/schematron/gr/gr-r-001-3.d.ts.map +0 -1
- package/dist/schematron/gr/gr-r-001-3.js +0 -22
- package/dist/schematron/gr/gr-r-001-3.js.map +0 -1
- package/dist/schematron/gr/gr-r-001-4.d.ts +0 -6
- package/dist/schematron/gr/gr-r-001-4.d.ts.map +0 -1
- package/dist/schematron/gr/gr-r-001-4.js +0 -17
- package/dist/schematron/gr/gr-r-001-4.js.map +0 -1
- package/dist/schematron/gr/gr-r-001-5.d.ts +0 -6
- package/dist/schematron/gr/gr-r-001-5.d.ts.map +0 -1
- package/dist/schematron/gr/gr-r-001-5.js +0 -25
- package/dist/schematron/gr/gr-r-001-5.js.map +0 -1
- package/dist/schematron/gr/gr-r-001-6.d.ts +0 -6
- package/dist/schematron/gr/gr-r-001-6.d.ts.map +0 -1
- package/dist/schematron/gr/gr-r-001-6.js +0 -16
- package/dist/schematron/gr/gr-r-001-6.js.map +0 -1
- package/dist/schematron/gr/gr-r-001-7.d.ts +0 -6
- package/dist/schematron/gr/gr-r-001-7.d.ts.map +0 -1
- package/dist/schematron/gr/gr-r-001-7.js +0 -16
- package/dist/schematron/gr/gr-r-001-7.js.map +0 -1
- package/dist/schematron/gr/gr-r-002.d.ts +0 -6
- package/dist/schematron/gr/gr-r-002.d.ts.map +0 -1
- package/dist/schematron/gr/gr-r-002.js +0 -16
- package/dist/schematron/gr/gr-r-002.js.map +0 -1
- package/dist/schematron/gr/gr-r-003.d.ts +0 -6
- package/dist/schematron/gr/gr-r-003.d.ts.map +0 -1
- package/dist/schematron/gr/gr-r-003.js +0 -18
- package/dist/schematron/gr/gr-r-003.js.map +0 -1
- package/dist/schematron/gr/gr-r-004-1.d.ts +0 -6
- package/dist/schematron/gr/gr-r-004-1.d.ts.map +0 -1
- package/dist/schematron/gr/gr-r-004-1.js +0 -16
- package/dist/schematron/gr/gr-r-004-1.js.map +0 -1
- package/dist/schematron/gr/gr-r-004-2.d.ts +0 -6
- package/dist/schematron/gr/gr-r-004-2.d.ts.map +0 -1
- package/dist/schematron/gr/gr-r-004-2.js +0 -16
- package/dist/schematron/gr/gr-r-004-2.js.map +0 -1
- package/dist/schematron/gr/gr-r-005.d.ts +0 -6
- package/dist/schematron/gr/gr-r-005.d.ts.map +0 -1
- package/dist/schematron/gr/gr-r-005.js +0 -16
- package/dist/schematron/gr/gr-r-005.js.map +0 -1
- package/dist/schematron/gr/gr-r-006.d.ts +0 -6
- package/dist/schematron/gr/gr-r-006.d.ts.map +0 -1
- package/dist/schematron/gr/gr-r-006.js +0 -21
- package/dist/schematron/gr/gr-r-006.js.map +0 -1
- package/dist/schematron/gr/gr-r-008-2.d.ts +0 -6
- package/dist/schematron/gr/gr-r-008-2.d.ts.map +0 -1
- package/dist/schematron/gr/gr-r-008-2.js +0 -16
- package/dist/schematron/gr/gr-r-008-2.js.map +0 -1
- package/dist/schematron/gr/gr-r-008-3.d.ts +0 -6
- package/dist/schematron/gr/gr-r-008-3.d.ts.map +0 -1
- package/dist/schematron/gr/gr-r-008-3.js +0 -19
- package/dist/schematron/gr/gr-r-008-3.js.map +0 -1
- package/dist/schematron/gr/gr-r-009.d.ts +0 -6
- package/dist/schematron/gr/gr-r-009.d.ts.map +0 -1
- package/dist/schematron/gr/gr-r-009.js +0 -18
- package/dist/schematron/gr/gr-r-009.js.map +0 -1
- package/dist/schematron/gr/gr-r-010.d.ts +0 -6
- package/dist/schematron/gr/gr-r-010.d.ts.map +0 -1
- package/dist/schematron/gr/gr-r-010.js +0 -19
- package/dist/schematron/gr/gr-r-010.js.map +0 -1
- package/dist/schematron/gr/gr-s-008-1.d.ts +0 -6
- package/dist/schematron/gr/gr-s-008-1.d.ts.map +0 -1
- package/dist/schematron/gr/gr-s-008-1.js +0 -16
- package/dist/schematron/gr/gr-s-008-1.js.map +0 -1
- package/dist/schematron/gr/gr-s-011.d.ts +0 -6
- package/dist/schematron/gr/gr-s-011.d.ts.map +0 -1
- package/dist/schematron/gr/gr-s-011.js +0 -18
- package/dist/schematron/gr/gr-s-011.js.map +0 -1
- package/dist/schematron/helpers.js +0 -382
- package/dist/schematron/helpers.js.map +0 -1
- package/dist/schematron/is/is-r-001.d.ts +0 -6
- package/dist/schematron/is/is-r-001.d.ts.map +0 -1
- package/dist/schematron/is/is-r-001.js +0 -17
- package/dist/schematron/is/is-r-001.js.map +0 -1
- package/dist/schematron/is/is-r-002.d.ts +0 -6
- package/dist/schematron/is/is-r-002.d.ts.map +0 -1
- package/dist/schematron/is/is-r-002.js +0 -16
- package/dist/schematron/is/is-r-002.js.map +0 -1
- package/dist/schematron/is/is-r-003.d.ts +0 -6
- package/dist/schematron/is/is-r-003.d.ts.map +0 -1
- package/dist/schematron/is/is-r-003.js +0 -16
- package/dist/schematron/is/is-r-003.js.map +0 -1
- package/dist/schematron/is/is-r-004.d.ts +0 -6
- package/dist/schematron/is/is-r-004.d.ts.map +0 -1
- package/dist/schematron/is/is-r-004.js +0 -16
- package/dist/schematron/is/is-r-004.js.map +0 -1
- package/dist/schematron/is/is-r-005.d.ts +0 -6
- package/dist/schematron/is/is-r-005.d.ts.map +0 -1
- package/dist/schematron/is/is-r-005.js +0 -16
- package/dist/schematron/is/is-r-005.js.map +0 -1
- package/dist/schematron/is/is-r-006.d.ts +0 -6
- package/dist/schematron/is/is-r-006.d.ts.map +0 -1
- package/dist/schematron/is/is-r-006.js +0 -21
- package/dist/schematron/is/is-r-006.js.map +0 -1
- package/dist/schematron/is/is-r-007.d.ts +0 -6
- package/dist/schematron/is/is-r-007.d.ts.map +0 -1
- package/dist/schematron/is/is-r-007.js +0 -21
- package/dist/schematron/is/is-r-007.js.map +0 -1
- package/dist/schematron/is/is-r-008.d.ts +0 -6
- package/dist/schematron/is/is-r-008.d.ts.map +0 -1
- package/dist/schematron/is/is-r-008.js +0 -22
- package/dist/schematron/is/is-r-008.js.map +0 -1
- package/dist/schematron/is/is-r-009.d.ts +0 -6
- package/dist/schematron/is/is-r-009.d.ts.map +0 -1
- package/dist/schematron/is/is-r-009.js +0 -16
- package/dist/schematron/is/is-r-009.js.map +0 -1
- package/dist/schematron/is/is-r-010.d.ts +0 -6
- package/dist/schematron/is/is-r-010.d.ts.map +0 -1
- package/dist/schematron/is/is-r-010.js +0 -22
- package/dist/schematron/is/is-r-010.js.map +0 -1
- package/dist/schematron/it/it-r-001.d.ts +0 -6
- package/dist/schematron/it/it-r-001.d.ts.map +0 -1
- package/dist/schematron/it/it-r-001.js +0 -16
- package/dist/schematron/it/it-r-001.js.map +0 -1
- package/dist/schematron/it/it-r-002.d.ts +0 -6
- package/dist/schematron/it/it-r-002.d.ts.map +0 -1
- package/dist/schematron/it/it-r-002.js +0 -16
- package/dist/schematron/it/it-r-002.js.map +0 -1
- package/dist/schematron/it/it-r-003.d.ts +0 -6
- package/dist/schematron/it/it-r-003.d.ts.map +0 -1
- package/dist/schematron/it/it-r-003.js +0 -16
- package/dist/schematron/it/it-r-003.js.map +0 -1
- package/dist/schematron/it/it-r-004.d.ts +0 -6
- package/dist/schematron/it/it-r-004.d.ts.map +0 -1
- package/dist/schematron/it/it-r-004.js +0 -16
- package/dist/schematron/it/it-r-004.js.map +0 -1
- package/dist/schematron/nl/nl-r-001.d.ts +0 -6
- package/dist/schematron/nl/nl-r-001.d.ts.map +0 -1
- package/dist/schematron/nl/nl-r-001.js +0 -16
- package/dist/schematron/nl/nl-r-001.js.map +0 -1
- package/dist/schematron/nl/nl-r-002.d.ts +0 -6
- package/dist/schematron/nl/nl-r-002.d.ts.map +0 -1
- package/dist/schematron/nl/nl-r-002.js +0 -16
- package/dist/schematron/nl/nl-r-002.js.map +0 -1
- package/dist/schematron/nl/nl-r-003.d.ts +0 -6
- package/dist/schematron/nl/nl-r-003.d.ts.map +0 -1
- package/dist/schematron/nl/nl-r-003.js +0 -18
- package/dist/schematron/nl/nl-r-003.js.map +0 -1
- package/dist/schematron/nl/nl-r-004.d.ts +0 -6
- package/dist/schematron/nl/nl-r-004.d.ts.map +0 -1
- package/dist/schematron/nl/nl-r-004.js +0 -16
- package/dist/schematron/nl/nl-r-004.js.map +0 -1
- package/dist/schematron/nl/nl-r-005.d.ts +0 -6
- package/dist/schematron/nl/nl-r-005.d.ts.map +0 -1
- package/dist/schematron/nl/nl-r-005.js +0 -18
- package/dist/schematron/nl/nl-r-005.js.map +0 -1
- package/dist/schematron/nl/nl-r-006.d.ts +0 -6
- package/dist/schematron/nl/nl-r-006.d.ts.map +0 -1
- package/dist/schematron/nl/nl-r-006.js +0 -18
- package/dist/schematron/nl/nl-r-006.js.map +0 -1
- package/dist/schematron/nl/nl-r-007.d.ts +0 -6
- package/dist/schematron/nl/nl-r-007.d.ts.map +0 -1
- package/dist/schematron/nl/nl-r-007.js +0 -19
- package/dist/schematron/nl/nl-r-007.js.map +0 -1
- package/dist/schematron/nl/nl-r-008.d.ts +0 -6
- package/dist/schematron/nl/nl-r-008.d.ts.map +0 -1
- package/dist/schematron/nl/nl-r-008.js +0 -24
- package/dist/schematron/nl/nl-r-008.js.map +0 -1
- package/dist/schematron/nl/nl-r-009.d.ts +0 -6
- package/dist/schematron/nl/nl-r-009.d.ts.map +0 -1
- package/dist/schematron/nl/nl-r-009.js +0 -16
- package/dist/schematron/nl/nl-r-009.js.map +0 -1
- package/dist/schematron/no/no-r-001.d.ts +0 -6
- package/dist/schematron/no/no-r-001.d.ts.map +0 -1
- package/dist/schematron/no/no-r-001.js +0 -20
- package/dist/schematron/no/no-r-001.js.map +0 -1
- package/dist/schematron/no/no-r-002.d.ts +0 -6
- package/dist/schematron/no/no-r-002.d.ts.map +0 -1
- package/dist/schematron/no/no-r-002.js +0 -16
- package/dist/schematron/no/no-r-002.js.map +0 -1
- package/dist/schematron/peppol/cl/peppol-en16931-cl001.d.ts +0 -6
- package/dist/schematron/peppol/cl/peppol-en16931-cl001.d.ts.map +0 -1
- package/dist/schematron/peppol/cl/peppol-en16931-cl001.js +0 -19
- package/dist/schematron/peppol/cl/peppol-en16931-cl001.js.map +0 -1
- package/dist/schematron/peppol/cl/peppol-en16931-cl002.d.ts +0 -6
- package/dist/schematron/peppol/cl/peppol-en16931-cl002.d.ts.map +0 -1
- package/dist/schematron/peppol/cl/peppol-en16931-cl002.js +0 -16
- package/dist/schematron/peppol/cl/peppol-en16931-cl002.js.map +0 -1
- package/dist/schematron/peppol/cl/peppol-en16931-cl003.d.ts +0 -6
- package/dist/schematron/peppol/cl/peppol-en16931-cl003.d.ts.map +0 -1
- package/dist/schematron/peppol/cl/peppol-en16931-cl003.js +0 -16
- package/dist/schematron/peppol/cl/peppol-en16931-cl003.js.map +0 -1
- package/dist/schematron/peppol/cl/peppol-en16931-cl006.d.ts +0 -6
- package/dist/schematron/peppol/cl/peppol-en16931-cl006.d.ts.map +0 -1
- package/dist/schematron/peppol/cl/peppol-en16931-cl006.js +0 -17
- package/dist/schematron/peppol/cl/peppol-en16931-cl006.js.map +0 -1
- package/dist/schematron/peppol/cl/peppol-en16931-cl007.d.ts +0 -6
- package/dist/schematron/peppol/cl/peppol-en16931-cl007.d.ts.map +0 -1
- package/dist/schematron/peppol/cl/peppol-en16931-cl007.js +0 -32
- package/dist/schematron/peppol/cl/peppol-en16931-cl007.js.map +0 -1
- package/dist/schematron/peppol/cl/peppol-en16931-cl008.d.ts +0 -6
- package/dist/schematron/peppol/cl/peppol-en16931-cl008.d.ts.map +0 -1
- package/dist/schematron/peppol/cl/peppol-en16931-cl008.js +0 -16
- package/dist/schematron/peppol/cl/peppol-en16931-cl008.js.map +0 -1
- package/dist/schematron/peppol/common/peppol-common-r040.d.ts +0 -6
- package/dist/schematron/peppol/common/peppol-common-r040.d.ts.map +0 -1
- package/dist/schematron/peppol/common/peppol-common-r040.js +0 -18
- package/dist/schematron/peppol/common/peppol-common-r040.js.map +0 -1
- package/dist/schematron/peppol/common/peppol-common-r041.d.ts +0 -6
- package/dist/schematron/peppol/common/peppol-common-r041.d.ts.map +0 -1
- package/dist/schematron/peppol/common/peppol-common-r041.js +0 -18
- package/dist/schematron/peppol/common/peppol-common-r041.js.map +0 -1
- package/dist/schematron/peppol/common/peppol-common-r042.d.ts +0 -6
- package/dist/schematron/peppol/common/peppol-common-r042.d.ts.map +0 -1
- package/dist/schematron/peppol/common/peppol-common-r042.js +0 -21
- package/dist/schematron/peppol/common/peppol-common-r042.js.map +0 -1
- package/dist/schematron/peppol/common/peppol-common-r043.d.ts +0 -6
- package/dist/schematron/peppol/common/peppol-common-r043.d.ts.map +0 -1
- package/dist/schematron/peppol/common/peppol-common-r043.js +0 -18
- package/dist/schematron/peppol/common/peppol-common-r043.js.map +0 -1
- package/dist/schematron/peppol/common/peppol-common-r044.d.ts +0 -6
- package/dist/schematron/peppol/common/peppol-common-r044.d.ts.map +0 -1
- package/dist/schematron/peppol/common/peppol-common-r044.js +0 -17
- package/dist/schematron/peppol/common/peppol-common-r044.js.map +0 -1
- package/dist/schematron/peppol/common/peppol-common-r045.d.ts +0 -6
- package/dist/schematron/peppol/common/peppol-common-r045.d.ts.map +0 -1
- package/dist/schematron/peppol/common/peppol-common-r045.js +0 -17
- package/dist/schematron/peppol/common/peppol-common-r045.js.map +0 -1
- package/dist/schematron/peppol/common/peppol-common-r046.d.ts +0 -6
- package/dist/schematron/peppol/common/peppol-common-r046.d.ts.map +0 -1
- package/dist/schematron/peppol/common/peppol-common-r046.js +0 -17
- package/dist/schematron/peppol/common/peppol-common-r046.js.map +0 -1
- package/dist/schematron/peppol/common/peppol-common-r047.d.ts +0 -6
- package/dist/schematron/peppol/common/peppol-common-r047.d.ts.map +0 -1
- package/dist/schematron/peppol/common/peppol-common-r047.js +0 -17
- package/dist/schematron/peppol/common/peppol-common-r047.js.map +0 -1
- package/dist/schematron/peppol/common/peppol-common-r049.d.ts +0 -6
- package/dist/schematron/peppol/common/peppol-common-r049.d.ts.map +0 -1
- package/dist/schematron/peppol/common/peppol-common-r049.js +0 -17
- package/dist/schematron/peppol/common/peppol-common-r049.js.map +0 -1
- package/dist/schematron/peppol/common/peppol-common-r050.d.ts +0 -6
- package/dist/schematron/peppol/common/peppol-common-r050.d.ts.map +0 -1
- package/dist/schematron/peppol/common/peppol-common-r050.js +0 -18
- package/dist/schematron/peppol/common/peppol-common-r050.js.map +0 -1
- package/dist/schematron/peppol/common/peppol-common-r052.d.ts +0 -6
- package/dist/schematron/peppol/common/peppol-common-r052.d.ts.map +0 -1
- package/dist/schematron/peppol/common/peppol-common-r052.js +0 -16
- package/dist/schematron/peppol/common/peppol-common-r052.js.map +0 -1
- package/dist/schematron/peppol/common/peppol-common-r053.d.ts +0 -6
- package/dist/schematron/peppol/common/peppol-common-r053.d.ts.map +0 -1
- package/dist/schematron/peppol/common/peppol-common-r053.js +0 -16
- package/dist/schematron/peppol/common/peppol-common-r053.js.map +0 -1
- package/dist/schematron/peppol/f/peppol-en16931-f001.d.ts +0 -6
- package/dist/schematron/peppol/f/peppol-en16931-f001.d.ts.map +0 -1
- package/dist/schematron/peppol/f/peppol-en16931-f001.js +0 -26
- package/dist/schematron/peppol/f/peppol-en16931-f001.js.map +0 -1
- package/dist/schematron/peppol/p/peppol-en16931-p0100.d.ts +0 -6
- package/dist/schematron/peppol/p/peppol-en16931-p0100.d.ts.map +0 -1
- package/dist/schematron/peppol/p/peppol-en16931-p0100.js +0 -46
- package/dist/schematron/peppol/p/peppol-en16931-p0100.js.map +0 -1
- package/dist/schematron/peppol/p/peppol-en16931-p0101.d.ts +0 -6
- package/dist/schematron/peppol/p/peppol-en16931-p0101.d.ts.map +0 -1
- package/dist/schematron/peppol/p/peppol-en16931-p0101.js +0 -25
- package/dist/schematron/peppol/p/peppol-en16931-p0101.js.map +0 -1
- package/dist/schematron/peppol/p/peppol-en16931-p0104.d.ts +0 -6
- package/dist/schematron/peppol/p/peppol-en16931-p0104.d.ts.map +0 -1
- package/dist/schematron/peppol/p/peppol-en16931-p0104.js +0 -15
- package/dist/schematron/peppol/p/peppol-en16931-p0104.js.map +0 -1
- package/dist/schematron/peppol/p/peppol-en16931-p0105.d.ts +0 -6
- package/dist/schematron/peppol/p/peppol-en16931-p0105.d.ts.map +0 -1
- package/dist/schematron/peppol/p/peppol-en16931-p0105.js +0 -15
- package/dist/schematron/peppol/p/peppol-en16931-p0105.js.map +0 -1
- package/dist/schematron/peppol/p/peppol-en16931-p0106.d.ts +0 -6
- package/dist/schematron/peppol/p/peppol-en16931-p0106.d.ts.map +0 -1
- package/dist/schematron/peppol/p/peppol-en16931-p0106.js +0 -15
- package/dist/schematron/peppol/p/peppol-en16931-p0106.js.map +0 -1
- package/dist/schematron/peppol/p/peppol-en16931-p0107.d.ts +0 -6
- package/dist/schematron/peppol/p/peppol-en16931-p0107.d.ts.map +0 -1
- package/dist/schematron/peppol/p/peppol-en16931-p0107.js +0 -15
- package/dist/schematron/peppol/p/peppol-en16931-p0107.js.map +0 -1
- package/dist/schematron/peppol/p/peppol-en16931-p0108.d.ts +0 -6
- package/dist/schematron/peppol/p/peppol-en16931-p0108.d.ts.map +0 -1
- package/dist/schematron/peppol/p/peppol-en16931-p0108.js +0 -15
- package/dist/schematron/peppol/p/peppol-en16931-p0108.js.map +0 -1
- package/dist/schematron/peppol/p/peppol-en16931-p0109.d.ts +0 -6
- package/dist/schematron/peppol/p/peppol-en16931-p0109.d.ts.map +0 -1
- package/dist/schematron/peppol/p/peppol-en16931-p0109.js +0 -15
- package/dist/schematron/peppol/p/peppol-en16931-p0109.js.map +0 -1
- package/dist/schematron/peppol/p/peppol-en16931-p0110.d.ts +0 -6
- package/dist/schematron/peppol/p/peppol-en16931-p0110.d.ts.map +0 -1
- package/dist/schematron/peppol/p/peppol-en16931-p0110.js +0 -15
- package/dist/schematron/peppol/p/peppol-en16931-p0110.js.map +0 -1
- package/dist/schematron/peppol/p/peppol-en16931-p0111.d.ts +0 -6
- package/dist/schematron/peppol/p/peppol-en16931-p0111.d.ts.map +0 -1
- package/dist/schematron/peppol/p/peppol-en16931-p0111.js +0 -15
- package/dist/schematron/peppol/p/peppol-en16931-p0111.js.map +0 -1
- package/dist/schematron/peppol/p/peppol-en16931-p0112.d.ts +0 -6
- package/dist/schematron/peppol/p/peppol-en16931-p0112.d.ts.map +0 -1
- package/dist/schematron/peppol/p/peppol-en16931-p0112.js +0 -19
- package/dist/schematron/peppol/p/peppol-en16931-p0112.js.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r001.d.ts +0 -9
- package/dist/schematron/peppol/r/peppol-en16931-r001.d.ts.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r001.js +0 -20
- package/dist/schematron/peppol/r/peppol-en16931-r001.js.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r002.d.ts +0 -6
- package/dist/schematron/peppol/r/peppol-en16931-r002.d.ts.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r002.js +0 -15
- package/dist/schematron/peppol/r/peppol-en16931-r002.js.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r003.d.ts +0 -6
- package/dist/schematron/peppol/r/peppol-en16931-r003.d.ts.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r003.js +0 -15
- package/dist/schematron/peppol/r/peppol-en16931-r003.js.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r004.d.ts +0 -6
- package/dist/schematron/peppol/r/peppol-en16931-r004.d.ts.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r004.js +0 -16
- package/dist/schematron/peppol/r/peppol-en16931-r004.js.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r005.d.ts +0 -6
- package/dist/schematron/peppol/r/peppol-en16931-r005.d.ts.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r005.js +0 -15
- package/dist/schematron/peppol/r/peppol-en16931-r005.js.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r007.d.ts +0 -6
- package/dist/schematron/peppol/r/peppol-en16931-r007.d.ts.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r007.js +0 -14
- package/dist/schematron/peppol/r/peppol-en16931-r007.js.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r008.d.ts +0 -6
- package/dist/schematron/peppol/r/peppol-en16931-r008.d.ts.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r008.js +0 -21
- package/dist/schematron/peppol/r/peppol-en16931-r008.js.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r010.d.ts +0 -6
- package/dist/schematron/peppol/r/peppol-en16931-r010.d.ts.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r010.js +0 -15
- package/dist/schematron/peppol/r/peppol-en16931-r010.js.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r020.d.ts +0 -6
- package/dist/schematron/peppol/r/peppol-en16931-r020.d.ts.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r020.js +0 -15
- package/dist/schematron/peppol/r/peppol-en16931-r020.js.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r040.d.ts +0 -6
- package/dist/schematron/peppol/r/peppol-en16931-r040.d.ts.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r040.js +0 -19
- package/dist/schematron/peppol/r/peppol-en16931-r040.js.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r041.d.ts +0 -6
- package/dist/schematron/peppol/r/peppol-en16931-r041.d.ts.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r041.js +0 -15
- package/dist/schematron/peppol/r/peppol-en16931-r041.js.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r042.d.ts +0 -6
- package/dist/schematron/peppol/r/peppol-en16931-r042.d.ts.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r042.js +0 -15
- package/dist/schematron/peppol/r/peppol-en16931-r042.js.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r043.d.ts +0 -6
- package/dist/schematron/peppol/r/peppol-en16931-r043.d.ts.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r043.js +0 -15
- package/dist/schematron/peppol/r/peppol-en16931-r043.js.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r044.d.ts +0 -6
- package/dist/schematron/peppol/r/peppol-en16931-r044.d.ts.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r044.js +0 -15
- package/dist/schematron/peppol/r/peppol-en16931-r044.js.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r046.d.ts +0 -6
- package/dist/schematron/peppol/r/peppol-en16931-r046.d.ts.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r046.js +0 -20
- package/dist/schematron/peppol/r/peppol-en16931-r046.js.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r051.d.ts +0 -6
- package/dist/schematron/peppol/r/peppol-en16931-r051.d.ts.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r051.js +0 -27
- package/dist/schematron/peppol/r/peppol-en16931-r051.js.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r053.d.ts +0 -6
- package/dist/schematron/peppol/r/peppol-en16931-r053.d.ts.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r053.js +0 -15
- package/dist/schematron/peppol/r/peppol-en16931-r053.js.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r054.d.ts +0 -6
- package/dist/schematron/peppol/r/peppol-en16931-r054.d.ts.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r054.js +0 -16
- package/dist/schematron/peppol/r/peppol-en16931-r054.js.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r055.d.ts +0 -6
- package/dist/schematron/peppol/r/peppol-en16931-r055.d.ts.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r055.js +0 -19
- package/dist/schematron/peppol/r/peppol-en16931-r055.js.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r061.d.ts +0 -6
- package/dist/schematron/peppol/r/peppol-en16931-r061.d.ts.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r061.js +0 -20
- package/dist/schematron/peppol/r/peppol-en16931-r061.js.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r100.d.ts +0 -6
- package/dist/schematron/peppol/r/peppol-en16931-r100.d.ts.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r100.js +0 -15
- package/dist/schematron/peppol/r/peppol-en16931-r100.js.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r101.d.ts +0 -6
- package/dist/schematron/peppol/r/peppol-en16931-r101.d.ts.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r101.js +0 -17
- package/dist/schematron/peppol/r/peppol-en16931-r101.js.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r110.d.ts +0 -6
- package/dist/schematron/peppol/r/peppol-en16931-r110.d.ts.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r110.js +0 -20
- package/dist/schematron/peppol/r/peppol-en16931-r110.js.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r111.d.ts +0 -6
- package/dist/schematron/peppol/r/peppol-en16931-r111.d.ts.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r111.js +0 -20
- package/dist/schematron/peppol/r/peppol-en16931-r111.js.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r120.d.ts +0 -6
- package/dist/schematron/peppol/r/peppol-en16931-r120.d.ts.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r120.js +0 -24
- package/dist/schematron/peppol/r/peppol-en16931-r120.js.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r121.d.ts +0 -6
- package/dist/schematron/peppol/r/peppol-en16931-r121.d.ts.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r121.js +0 -18
- package/dist/schematron/peppol/r/peppol-en16931-r121.js.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r130.d.ts +0 -6
- package/dist/schematron/peppol/r/peppol-en16931-r130.d.ts.map +0 -1
- package/dist/schematron/peppol/r/peppol-en16931-r130.js +0 -21
- package/dist/schematron/peppol/r/peppol-en16931-r130.js.map +0 -1
- package/dist/schematron/se/se-r-001.d.ts +0 -6
- package/dist/schematron/se/se-r-001.d.ts.map +0 -1
- package/dist/schematron/se/se-r-001.js +0 -16
- package/dist/schematron/se/se-r-001.js.map +0 -1
- package/dist/schematron/se/se-r-002.d.ts +0 -6
- package/dist/schematron/se/se-r-002.d.ts.map +0 -1
- package/dist/schematron/se/se-r-002.js +0 -16
- package/dist/schematron/se/se-r-002.js.map +0 -1
- package/dist/schematron/se/se-r-003.d.ts +0 -6
- package/dist/schematron/se/se-r-003.d.ts.map +0 -1
- package/dist/schematron/se/se-r-003.js +0 -16
- package/dist/schematron/se/se-r-003.js.map +0 -1
- package/dist/schematron/se/se-r-004.d.ts +0 -6
- package/dist/schematron/se/se-r-004.d.ts.map +0 -1
- package/dist/schematron/se/se-r-004.js +0 -16
- package/dist/schematron/se/se-r-004.js.map +0 -1
- package/dist/schematron/se/se-r-005.d.ts +0 -6
- package/dist/schematron/se/se-r-005.d.ts.map +0 -1
- package/dist/schematron/se/se-r-005.js +0 -17
- package/dist/schematron/se/se-r-005.js.map +0 -1
- package/dist/schematron/se/se-r-006.d.ts +0 -6
- package/dist/schematron/se/se-r-006.d.ts.map +0 -1
- package/dist/schematron/se/se-r-006.js +0 -24
- package/dist/schematron/se/se-r-006.js.map +0 -1
- package/dist/schematron/se/se-r-007.d.ts +0 -6
- package/dist/schematron/se/se-r-007.d.ts.map +0 -1
- package/dist/schematron/se/se-r-007.js +0 -20
- package/dist/schematron/se/se-r-007.js.map +0 -1
- package/dist/schematron/se/se-r-008.d.ts +0 -6
- package/dist/schematron/se/se-r-008.d.ts.map +0 -1
- package/dist/schematron/se/se-r-008.js +0 -20
- package/dist/schematron/se/se-r-008.js.map +0 -1
- package/dist/schematron/se/se-r-009.d.ts +0 -6
- package/dist/schematron/se/se-r-009.d.ts.map +0 -1
- package/dist/schematron/se/se-r-009.js +0 -20
- package/dist/schematron/se/se-r-009.js.map +0 -1
- package/dist/schematron/se/se-r-010.d.ts +0 -6
- package/dist/schematron/se/se-r-010.d.ts.map +0 -1
- package/dist/schematron/se/se-r-010.js +0 -20
- package/dist/schematron/se/se-r-010.js.map +0 -1
- package/dist/schematron/se/se-r-011.d.ts +0 -6
- package/dist/schematron/se/se-r-011.d.ts.map +0 -1
- package/dist/schematron/se/se-r-011.js +0 -19
- package/dist/schematron/se/se-r-011.js.map +0 -1
- package/dist/schematron/se/se-r-012.d.ts +0 -6
- package/dist/schematron/se/se-r-012.d.ts.map +0 -1
- package/dist/schematron/se/se-r-012.js +0 -16
- package/dist/schematron/se/se-r-012.js.map +0 -1
- package/dist/schematron/se/se-r-013.d.ts +0 -6
- package/dist/schematron/se/se-r-013.d.ts.map +0 -1
- package/dist/schematron/se/se-r-013.js +0 -17
- package/dist/schematron/se/se-r-013.js.map +0 -1
- package/dist/schematron/types.d.ts +0 -28
- package/dist/schematron/types.d.ts.map +0 -1
- package/dist/values/additional-document-reference-codes.generated.d.ts +0 -3332
- package/dist/values/additional-document-reference-codes.generated.d.ts.map +0 -1
- package/dist/values/additional-document-reference-codes.generated.js +0 -4149
- package/dist/values/additional-document-reference-codes.generated.js.map +0 -1
- package/dist/values/allowance-charge-reason-codes.generated.d.ts +0 -43
- package/dist/values/allowance-charge-reason-codes.generated.d.ts.map +0 -1
- package/dist/values/allowance-charge-reason-codes.generated.js +0 -61
- package/dist/values/allowance-charge-reason-codes.generated.js.map +0 -1
- package/dist/values/application-response-type-codes.generated.d.ts +0 -27
- package/dist/values/application-response-type-codes.generated.d.ts.map +0 -1
- package/dist/values/application-response-type-codes.generated.js +0 -29
- package/dist/values/application-response-type-codes.generated.js.map +0 -1
- package/dist/values/charge-reason-codes.generated.d.ts +0 -737
- package/dist/values/charge-reason-codes.generated.d.ts.map +0 -1
- package/dist/values/charge-reason-codes.generated.js +0 -914
- package/dist/values/charge-reason-codes.generated.js.map +0 -1
- package/dist/values/country-code.generated.d.ts +0 -275
- package/dist/values/country-code.generated.d.ts.map +0 -1
- package/dist/values/country-code.generated.js +0 -525
- package/dist/values/country-code.generated.js.map +0 -1
- package/dist/values/credit-notes-type-codes.generated.d.ts +0 -44
- package/dist/values/credit-notes-type-codes.generated.d.ts.map +0 -1
- package/dist/values/credit-notes-type-codes.generated.js +0 -48
- package/dist/values/credit-notes-type-codes.generated.js.map +0 -1
- package/dist/values/currency-code.generated.d.ts +0 -203
- package/dist/values/currency-code.generated.d.ts.map +0 -1
- package/dist/values/currency-code.generated.js +0 -381
- package/dist/values/currency-code.generated.js.map +0 -1
- package/dist/values/document-type-codes.generated.d.ts +0 -3172
- package/dist/values/document-type-codes.generated.d.ts.map +0 -1
- package/dist/values/document-type-codes.generated.js +0 -3899
- package/dist/values/document-type-codes.generated.js.map +0 -1
- package/dist/values/document-type.generated.d.ts +0 -1307
- package/dist/values/document-type.generated.d.ts.map +0 -1
- package/dist/values/document-type.generated.js +0 -2425
- package/dist/values/document-type.generated.js.map +0 -1
- package/dist/values/duty-tax-fee-categories.generated.d.ts +0 -68
- package/dist/values/duty-tax-fee-categories.generated.d.ts.map +0 -1
- package/dist/values/duty-tax-fee-categories.generated.js +0 -77
- package/dist/values/duty-tax-fee-categories.generated.js.map +0 -1
- package/dist/values/eas-codes.generated.d.ts +0 -116
- package/dist/values/eas-codes.generated.d.ts.map +0 -1
- package/dist/values/eas-codes.generated.js +0 -209
- package/dist/values/eas-codes.generated.js.map +0 -1
- package/dist/values/icd-codes.generated.d.ts +0 -1229
- package/dist/values/icd-codes.generated.d.ts.map +0 -1
- package/dist/values/icd-codes.generated.js +0 -1468
- package/dist/values/icd-codes.generated.js.map +0 -1
- package/dist/values/invoice-status-codes.generated.d.ts +0 -60
- package/dist/values/invoice-status-codes.generated.d.ts.map +0 -1
- package/dist/values/invoice-status-codes.generated.js +0 -66
- package/dist/values/invoice-status-codes.generated.js.map +0 -1
- package/dist/values/invoice-type-codes.generated.d.ts +0 -137
- package/dist/values/invoice-type-codes.generated.d.ts.map +0 -1
- package/dist/values/invoice-type-codes.generated.js +0 -163
- package/dist/values/invoice-type-codes.generated.js.map +0 -1
- package/dist/values/item-classification-code.generated.d.ts +0 -771
- package/dist/values/item-classification-code.generated.d.ts.map +0 -1
- package/dist/values/item-classification-code.generated.js +0 -955
- package/dist/values/item-classification-code.generated.js.map +0 -1
- package/dist/values/mime-codes.generated.d.ts +0 -30
- package/dist/values/mime-codes.generated.d.ts.map +0 -1
- package/dist/values/mime-codes.generated.js +0 -35
- package/dist/values/mime-codes.generated.js.map +0 -1
- package/dist/values/op-status-action.generated.d.ts +0 -52
- package/dist/values/op-status-action.generated.d.ts.map +0 -1
- package/dist/values/op-status-action.generated.js +0 -58
- package/dist/values/op-status-action.generated.js.map +0 -1
- package/dist/values/op-status-reason.generated.d.ts +0 -81
- package/dist/values/op-status-reason.generated.d.ts.map +0 -1
- package/dist/values/op-status-reason.generated.js +0 -94
- package/dist/values/op-status-reason.generated.js.map +0 -1
- package/dist/values/participant-identifier-schemes.generated.d.ts +0 -1387
- package/dist/values/participant-identifier-schemes.generated.d.ts.map +0 -1
- package/dist/values/participant-identifier-schemes.generated.js +0 -1513
- package/dist/values/participant-identifier-schemes.generated.js.map +0 -1
- package/dist/values/payment-means-codes.generated.d.ts +0 -375
- package/dist/values/payment-means-codes.generated.d.ts.map +0 -1
- package/dist/values/payment-means-codes.generated.js +0 -458
- package/dist/values/payment-means-codes.generated.js.map +0 -1
- package/dist/values/processes.generated.d.ts +0 -30
- package/dist/values/processes.generated.d.ts.map +0 -1
- package/dist/values/processes.generated.js +0 -265
- package/dist/values/processes.generated.js.map +0 -1
- package/dist/values/quantity-unit-codes.generated.d.ts.map +0 -1
- package/dist/values/quantity-unit-codes.generated.js +0 -6712
- package/dist/values/quantity-unit-codes.generated.js.map +0 -1
- package/dist/values/vat-dates.generated.d.ts +0 -27
- package/dist/values/vat-dates.generated.d.ts.map +0 -1
- package/dist/values/vat-dates.generated.js +0 -29
- package/dist/values/vat-dates.generated.js.map +0 -1
- package/dist/values/vatex-codes.generated.d.ts +0 -344
- package/dist/values/vatex-codes.generated.d.ts.map +0 -1
- package/dist/values/vatex-codes.generated.js +0 -431
- package/dist/values/vatex-codes.generated.js.map +0 -1
- package/dist/xml/builder-options.d.ts +0 -16
- package/dist/xml/builder-options.d.ts.map +0 -1
- package/dist/xml/builder-options.js +0 -10
- package/dist/xml/builder-options.js.map +0 -1
- package/dist/xml/common-xml-options.js +0 -18
- package/dist/xml/common-xml-options.js.map +0 -1
- package/dist/xml/parser-options.d.ts +0 -16
- package/dist/xml/parser-options.d.ts.map +0 -1
- package/dist/xml/parser-options.js +0 -7
- package/dist/xml/parser-options.js.map +0 -1
- package/src/effect/values/process-xml-identifier-schema.ts +0 -21
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schematron.js","names":["rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","ALLOWED_CODES","rule","rule","rule","rule","rule","CREDIT_TRANSFER_CODES","rule","rule","CARD_CODES","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","ALLOWED_CODES","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","DATE_REGEX","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","ALLOWED_CODES","rule","rule","rule","rule","rule","rule","rule","DATE_REGEX","rule","rule","rule","rule","rule","rule","rule","rule","rule","ALLOWED_SCHEMES","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","SCHEME_ID","rule","SCHEME_ID","rule","SCHEME_ID","rule","SCHEME_ID","rule","SCHEME_ID","rule","SCHEME_ID","rule","SCHEME_ID","rule","SCHEME_ID","rule","SCHEME_ID","rule","SCHEME_ID","rule","SCHEME_ID","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule","rule"],"sources":["../src/schematron/helpers.ts","../src/schematron/cen/ae/cen-en16931-br-ae-01.ts","../src/schematron/cen/ae/cen-en16931-br-ae-02.ts","../src/schematron/cen/ae/cen-en16931-br-ae-03.ts","../src/schematron/cen/ae/cen-en16931-br-ae-04.ts","../src/schematron/cen/ae/cen-en16931-br-ae-05.ts","../src/schematron/cen/ae/cen-en16931-br-ae-06.ts","../src/schematron/cen/ae/cen-en16931-br-ae-07.ts","../src/schematron/cen/ae/cen-en16931-br-ae-08.ts","../src/schematron/cen/ae/cen-en16931-br-ae-09.ts","../src/schematron/cen/ae/cen-en16931-br-ae-10.ts","../src/schematron/cen/af/cen-en16931-br-af-01.ts","../src/schematron/cen/af/cen-en16931-br-af-02.ts","../src/schematron/cen/af/cen-en16931-br-af-03.ts","../src/schematron/cen/af/cen-en16931-br-af-04.ts","../src/schematron/cen/af/cen-en16931-br-af-05.ts","../src/schematron/cen/af/cen-en16931-br-af-06.ts","../src/schematron/cen/af/cen-en16931-br-af-07.ts","../src/schematron/cen/af/cen-en16931-br-af-08.ts","../src/schematron/cen/af/cen-en16931-br-af-09.ts","../src/schematron/cen/af/cen-en16931-br-af-10.ts","../src/schematron/cen/ag/cen-en16931-br-ag-01.ts","../src/schematron/cen/ag/cen-en16931-br-ag-02.ts","../src/schematron/cen/ag/cen-en16931-br-ag-03.ts","../src/schematron/cen/ag/cen-en16931-br-ag-04.ts","../src/schematron/cen/ag/cen-en16931-br-ag-05.ts","../src/schematron/cen/ag/cen-en16931-br-ag-06.ts","../src/schematron/cen/ag/cen-en16931-br-ag-07.ts","../src/schematron/cen/ag/cen-en16931-br-ag-08.ts","../src/schematron/cen/ag/cen-en16931-br-ag-09.ts","../src/schematron/cen/ag/cen-en16931-br-ag-10.ts","../src/schematron/cen/b/cen-en16931-br-b-01.ts","../src/schematron/cen/b/cen-en16931-br-b-02.ts","../src/schematron/cen/cen-en16931-br-01.ts","../src/schematron/cen/cen-en16931-br-02.ts","../src/schematron/cen/cen-en16931-br-03.ts","../src/schematron/cen/cen-en16931-br-04.ts","../src/schematron/cen/cen-en16931-br-05.ts","../src/schematron/cen/cen-en16931-br-06.ts","../src/schematron/cen/cen-en16931-br-07.ts","../src/schematron/cen/cen-en16931-br-08.ts","../src/schematron/cen/cen-en16931-br-09.ts","../src/schematron/cen/cen-en16931-br-10.ts","../src/schematron/cen/cen-en16931-br-11.ts","../src/schematron/cen/cen-en16931-br-12.ts","../src/schematron/cen/cen-en16931-br-13.ts","../src/schematron/cen/cen-en16931-br-14.ts","../src/schematron/cen/cen-en16931-br-15.ts","../src/schematron/cen/cen-en16931-br-16.ts","../src/schematron/cen/cen-en16931-br-17.ts","../src/schematron/cen/cen-en16931-br-18.ts","../src/schematron/cen/cen-en16931-br-19.ts","../src/schematron/cen/cen-en16931-br-20.ts","../src/schematron/cen/cen-en16931-br-21.ts","../src/schematron/cen/cen-en16931-br-22.ts","../src/schematron/cen/cen-en16931-br-23.ts","../src/schematron/cen/cen-en16931-br-24.ts","../src/schematron/cen/cen-en16931-br-25.ts","../src/schematron/cen/cen-en16931-br-26.ts","../src/schematron/cen/cen-en16931-br-27.ts","../src/schematron/cen/cen-en16931-br-28.ts","../src/schematron/cen/cen-en16931-br-29.ts","../src/schematron/cen/cen-en16931-br-30.ts","../src/schematron/cen/cen-en16931-br-31.ts","../src/schematron/cen/cen-en16931-br-32.ts","../src/schematron/cen/cen-en16931-br-33.ts","../src/schematron/cen/cen-en16931-br-36.ts","../src/schematron/cen/cen-en16931-br-37.ts","../src/schematron/cen/cen-en16931-br-38.ts","../src/schematron/cen/cen-en16931-br-41.ts","../src/schematron/cen/cen-en16931-br-42.ts","../src/schematron/cen/cen-en16931-br-43.ts","../src/schematron/cen/cen-en16931-br-44.ts","../src/schematron/cen/cen-en16931-br-45.ts","../src/schematron/cen/cen-en16931-br-46.ts","../src/schematron/cen/cen-en16931-br-47.ts","../src/schematron/cen/cen-en16931-br-48.ts","../src/schematron/cen/cen-en16931-br-49.ts","../src/schematron/cen/cen-en16931-br-50.ts","../src/schematron/cen/cen-en16931-br-51.ts","../src/schematron/cen/cen-en16931-br-52.ts","../src/schematron/cen/cen-en16931-br-53.ts","../src/schematron/cen/cen-en16931-br-54.ts","../src/schematron/cen/cen-en16931-br-55.ts","../src/schematron/cen/cen-en16931-br-56.ts","../src/schematron/cen/cen-en16931-br-57.ts","../src/schematron/cen/cen-en16931-br-61.ts","../src/schematron/cen/cen-en16931-br-62.ts","../src/schematron/cen/cen-en16931-br-63.ts","../src/schematron/cen/cen-en16931-br-64.ts","../src/schematron/cen/cen-en16931-br-65.ts","../src/schematron/cen/cl/cen-en16931-br-cl-08.ts","../src/schematron/cen/co/cen-en16931-br-co-03.ts","../src/schematron/cen/co/cen-en16931-br-co-04.ts","../src/schematron/cen/co/cen-en16931-br-co-05.ts","../src/schematron/cen/co/cen-en16931-br-co-06.ts","../src/schematron/cen/co/cen-en16931-br-co-07.ts","../src/schematron/cen/co/cen-en16931-br-co-08.ts","../src/schematron/cen/co/cen-en16931-br-co-09.ts","../src/schematron/cen/co/cen-en16931-br-co-10.ts","../src/schematron/cen/co/cen-en16931-br-co-11.ts","../src/schematron/cen/co/cen-en16931-br-co-12.ts","../src/schematron/cen/co/cen-en16931-br-co-13.ts","../src/schematron/cen/co/cen-en16931-br-co-14.ts","../src/schematron/cen/co/cen-en16931-br-co-15.ts","../src/schematron/cen/co/cen-en16931-br-co-16.ts","../src/schematron/cen/co/cen-en16931-br-co-17.ts","../src/schematron/cen/co/cen-en16931-br-co-18.ts","../src/schematron/cen/co/cen-en16931-br-co-19.ts","../src/schematron/cen/co/cen-en16931-br-co-20.ts","../src/schematron/cen/co/cen-en16931-br-co-21.ts","../src/schematron/cen/co/cen-en16931-br-co-22.ts","../src/schematron/cen/co/cen-en16931-br-co-23.ts","../src/schematron/cen/co/cen-en16931-br-co-24.ts","../src/schematron/cen/co/cen-en16931-br-co-25.ts","../src/schematron/cen/co/cen-en16931-br-co-26.ts","../src/schematron/cen/dec/cen-en16931-br-dec-01.ts","../src/schematron/cen/dec/cen-en16931-br-dec-02.ts","../src/schematron/cen/dec/cen-en16931-br-dec-05.ts","../src/schematron/cen/dec/cen-en16931-br-dec-06.ts","../src/schematron/cen/dec/cen-en16931-br-dec-09.ts","../src/schematron/cen/dec/cen-en16931-br-dec-10.ts","../src/schematron/cen/dec/cen-en16931-br-dec-11.ts","../src/schematron/cen/dec/cen-en16931-br-dec-12.ts","../src/schematron/cen/dec/cen-en16931-br-dec-13.ts","../src/schematron/cen/dec/cen-en16931-br-dec-14.ts","../src/schematron/cen/dec/cen-en16931-br-dec-15.ts","../src/schematron/cen/dec/cen-en16931-br-dec-16.ts","../src/schematron/cen/dec/cen-en16931-br-dec-17.ts","../src/schematron/cen/dec/cen-en16931-br-dec-18.ts","../src/schematron/cen/dec/cen-en16931-br-dec-19.ts","../src/schematron/cen/dec/cen-en16931-br-dec-20.ts","../src/schematron/cen/dec/cen-en16931-br-dec-23.ts","../src/schematron/cen/dec/cen-en16931-br-dec-24.ts","../src/schematron/cen/dec/cen-en16931-br-dec-25.ts","../src/schematron/cen/dec/cen-en16931-br-dec-27.ts","../src/schematron/cen/dec/cen-en16931-br-dec-28.ts","../src/schematron/cen/e/cen-en16931-br-e-01.ts","../src/schematron/cen/e/cen-en16931-br-e-02.ts","../src/schematron/cen/e/cen-en16931-br-e-03.ts","../src/schematron/cen/e/cen-en16931-br-e-04.ts","../src/schematron/cen/e/cen-en16931-br-e-05.ts","../src/schematron/cen/e/cen-en16931-br-e-06.ts","../src/schematron/cen/e/cen-en16931-br-e-07.ts","../src/schematron/cen/e/cen-en16931-br-e-08.ts","../src/schematron/cen/e/cen-en16931-br-e-09.ts","../src/schematron/cen/e/cen-en16931-br-e-10.ts","../src/schematron/cen/g/cen-en16931-br-g-01.ts","../src/schematron/cen/g/cen-en16931-br-g-02.ts","../src/schematron/cen/g/cen-en16931-br-g-03.ts","../src/schematron/cen/g/cen-en16931-br-g-04.ts","../src/schematron/cen/g/cen-en16931-br-g-05.ts","../src/schematron/cen/g/cen-en16931-br-g-06.ts","../src/schematron/cen/g/cen-en16931-br-g-07.ts","../src/schematron/cen/g/cen-en16931-br-g-08.ts","../src/schematron/cen/g/cen-en16931-br-g-09.ts","../src/schematron/cen/g/cen-en16931-br-g-10.ts","../src/schematron/cen/ic/cen-en16931-br-ic-01.ts","../src/schematron/cen/ic/cen-en16931-br-ic-02.ts","../src/schematron/cen/ic/cen-en16931-br-ic-03.ts","../src/schematron/cen/ic/cen-en16931-br-ic-04.ts","../src/schematron/cen/ic/cen-en16931-br-ic-05.ts","../src/schematron/cen/ic/cen-en16931-br-ic-06.ts","../src/schematron/cen/ic/cen-en16931-br-ic-07.ts","../src/schematron/cen/ic/cen-en16931-br-ic-08.ts","../src/schematron/cen/ic/cen-en16931-br-ic-09.ts","../src/schematron/cen/ic/cen-en16931-br-ic-10.ts","../src/schematron/cen/ic/cen-en16931-br-ic-11.ts","../src/schematron/cen/ic/cen-en16931-br-ic-12.ts","../src/schematron/cen/o/cen-en16931-br-o-01.ts","../src/schematron/cen/o/cen-en16931-br-o-02.ts","../src/schematron/cen/o/cen-en16931-br-o-03.ts","../src/schematron/cen/o/cen-en16931-br-o-04.ts","../src/schematron/cen/o/cen-en16931-br-o-05.ts","../src/schematron/cen/o/cen-en16931-br-o-06.ts","../src/schematron/cen/o/cen-en16931-br-o-07.ts","../src/schematron/cen/o/cen-en16931-br-o-08.ts","../src/schematron/cen/o/cen-en16931-br-o-09.ts","../src/schematron/cen/o/cen-en16931-br-o-10.ts","../src/schematron/cen/o/cen-en16931-br-o-11.ts","../src/schematron/cen/o/cen-en16931-br-o-12.ts","../src/schematron/cen/o/cen-en16931-br-o-13.ts","../src/schematron/cen/o/cen-en16931-br-o-14.ts","../src/schematron/cen/s/cen-en16931-br-s-01.ts","../src/schematron/cen/s/cen-en16931-br-s-02.ts","../src/schematron/cen/s/cen-en16931-br-s-03.ts","../src/schematron/cen/s/cen-en16931-br-s-04.ts","../src/schematron/cen/s/cen-en16931-br-s-05.ts","../src/schematron/cen/s/cen-en16931-br-s-06.ts","../src/schematron/cen/s/cen-en16931-br-s-07.ts","../src/schematron/cen/s/cen-en16931-br-s-08.ts","../src/schematron/cen/s/cen-en16931-br-s-09.ts","../src/schematron/cen/s/cen-en16931-br-s-10.ts","../src/schematron/cen/z/cen-en16931-br-z-01.ts","../src/schematron/cen/z/cen-en16931-br-z-02.ts","../src/schematron/cen/z/cen-en16931-br-z-03.ts","../src/schematron/cen/z/cen-en16931-br-z-04.ts","../src/schematron/cen/z/cen-en16931-br-z-05.ts","../src/schematron/cen/z/cen-en16931-br-z-06.ts","../src/schematron/cen/z/cen-en16931-br-z-07.ts","../src/schematron/cen/z/cen-en16931-br-z-08.ts","../src/schematron/cen/z/cen-en16931-br-z-09.ts","../src/schematron/cen/z/cen-en16931-br-z-10.ts","../src/schematron/de/de-r-001.ts","../src/schematron/de/de-r-002.ts","../src/schematron/de/de-r-003.ts","../src/schematron/de/de-r-004.ts","../src/schematron/de/de-r-005.ts","../src/schematron/de/de-r-006.ts","../src/schematron/de/de-r-007.ts","../src/schematron/de/de-r-008.ts","../src/schematron/de/de-r-009.ts","../src/schematron/de/de-r-010.ts","../src/schematron/de/de-r-011.ts","../src/schematron/de/de-r-014.ts","../src/schematron/de/de-r-015.ts","../src/schematron/de/de-r-016.ts","../src/schematron/de/de-r-017.ts","../src/schematron/de/de-r-018.ts","../src/schematron/de/de-r-019.ts","../src/schematron/de/de-r-020.ts","../src/schematron/de/de-r-022.ts","../src/schematron/de/de-r-023-1.ts","../src/schematron/de/de-r-023-2.ts","../src/schematron/de/de-r-024-1.ts","../src/schematron/de/de-r-024-2.ts","../src/schematron/de/de-r-025-1.ts","../src/schematron/de/de-r-025-2.ts","../src/schematron/de/de-r-026.ts","../src/schematron/de/de-r-027.ts","../src/schematron/de/de-r-028.ts","../src/schematron/de/de-r-030.ts","../src/schematron/de/de-r-031.ts","../src/schematron/dk/dk-r-002.ts","../src/schematron/dk/dk-r-003.ts","../src/schematron/dk/dk-r-004.ts","../src/schematron/dk/dk-r-005.ts","../src/schematron/dk/dk-r-006.ts","../src/schematron/dk/dk-r-007.ts","../src/schematron/dk/dk-r-008.ts","../src/schematron/dk/dk-r-009.ts","../src/schematron/dk/dk-r-010.ts","../src/schematron/dk/dk-r-011.ts","../src/schematron/dk/dk-r-013.ts","../src/schematron/dk/dk-r-014.ts","../src/schematron/dk/dk-r-016.ts","../src/schematron/dk/dk-r-017.ts","../src/schematron/gr/gr-r-001-1.ts","../src/schematron/gr/gr-r-001-2.ts","../src/schematron/gr/gr-r-001-3.ts","../src/schematron/gr/gr-r-001-4.ts","../src/schematron/gr/gr-r-001-5.ts","../src/schematron/gr/gr-r-001-6.ts","../src/schematron/gr/gr-r-001-7.ts","../src/schematron/gr/gr-r-002.ts","../src/schematron/gr/gr-r-003.ts","../src/schematron/gr/gr-r-004-1.ts","../src/schematron/gr/gr-r-004-2.ts","../src/schematron/gr/gr-r-005.ts","../src/schematron/gr/gr-r-006.ts","../src/schematron/gr/gr-r-008-2.ts","../src/schematron/gr/gr-r-008-3.ts","../src/schematron/gr/gr-r-009.ts","../src/schematron/gr/gr-r-010.ts","../src/schematron/gr/gr-s-008-1.ts","../src/schematron/gr/gr-s-011.ts","../src/schematron/is/is-r-001.ts","../src/schematron/is/is-r-002.ts","../src/schematron/is/is-r-003.ts","../src/schematron/is/is-r-004.ts","../src/schematron/is/is-r-005.ts","../src/schematron/is/is-r-006.ts","../src/schematron/is/is-r-007.ts","../src/schematron/is/is-r-008.ts","../src/schematron/is/is-r-009.ts","../src/schematron/is/is-r-010.ts","../src/schematron/it/it-r-001.ts","../src/schematron/it/it-r-002.ts","../src/schematron/it/it-r-003.ts","../src/schematron/it/it-r-004.ts","../src/schematron/nl/nl-r-001.ts","../src/schematron/nl/nl-r-002.ts","../src/schematron/nl/nl-r-003.ts","../src/schematron/nl/nl-r-004.ts","../src/schematron/nl/nl-r-005.ts","../src/schematron/nl/nl-r-006.ts","../src/schematron/nl/nl-r-007.ts","../src/schematron/nl/nl-r-008.ts","../src/schematron/nl/nl-r-009.ts","../src/schematron/no/no-r-001.ts","../src/schematron/no/no-r-002.ts","../src/schematron/peppol/cl/peppol-en16931-cl001.ts","../src/schematron/peppol/cl/peppol-en16931-cl002.ts","../src/schematron/peppol/cl/peppol-en16931-cl003.ts","../src/schematron/peppol/cl/peppol-en16931-cl006.ts","../src/schematron/peppol/cl/peppol-en16931-cl007.ts","../src/schematron/peppol/cl/peppol-en16931-cl008.ts","../src/schematron/peppol/common/peppol-common-r040.ts","../src/schematron/peppol/common/peppol-common-r041.ts","../src/schematron/peppol/common/peppol-common-r042.ts","../src/schematron/peppol/common/peppol-common-r043.ts","../src/schematron/peppol/common/peppol-common-r044.ts","../src/schematron/peppol/common/peppol-common-r045.ts","../src/schematron/peppol/common/peppol-common-r046.ts","../src/schematron/peppol/common/peppol-common-r047.ts","../src/schematron/peppol/common/peppol-common-r049.ts","../src/schematron/peppol/common/peppol-common-r050.ts","../src/schematron/peppol/common/peppol-common-r052.ts","../src/schematron/peppol/common/peppol-common-r053.ts","../src/schematron/peppol/f/peppol-en16931-f001.ts","../src/schematron/peppol/p/peppol-en16931-p0100.ts","../src/schematron/peppol/p/peppol-en16931-p0101.ts","../src/schematron/peppol/p/peppol-en16931-p0104.ts","../src/schematron/peppol/p/peppol-en16931-p0105.ts","../src/schematron/peppol/p/peppol-en16931-p0106.ts","../src/schematron/peppol/p/peppol-en16931-p0107.ts","../src/schematron/peppol/p/peppol-en16931-p0108.ts","../src/schematron/peppol/p/peppol-en16931-p0109.ts","../src/schematron/peppol/p/peppol-en16931-p0110.ts","../src/schematron/peppol/p/peppol-en16931-p0111.ts","../src/schematron/peppol/p/peppol-en16931-p0112.ts","../src/schematron/peppol/r/peppol-en16931-r001.ts","../src/schematron/peppol/r/peppol-en16931-r002.ts","../src/schematron/peppol/r/peppol-en16931-r003.ts","../src/schematron/peppol/r/peppol-en16931-r004.ts","../src/schematron/peppol/r/peppol-en16931-r005.ts","../src/schematron/peppol/r/peppol-en16931-r007.ts","../src/schematron/peppol/r/peppol-en16931-r008.ts","../src/schematron/peppol/r/peppol-en16931-r010.ts","../src/schematron/peppol/r/peppol-en16931-r020.ts","../src/schematron/peppol/r/peppol-en16931-r040.ts","../src/schematron/peppol/r/peppol-en16931-r041.ts","../src/schematron/peppol/r/peppol-en16931-r042.ts","../src/schematron/peppol/r/peppol-en16931-r043.ts","../src/schematron/peppol/r/peppol-en16931-r044.ts","../src/schematron/peppol/r/peppol-en16931-r046.ts","../src/schematron/peppol/r/peppol-en16931-r051.ts","../src/schematron/peppol/r/peppol-en16931-r053.ts","../src/schematron/peppol/r/peppol-en16931-r054.ts","../src/schematron/peppol/r/peppol-en16931-r055.ts","../src/schematron/peppol/r/peppol-en16931-r061.ts","../src/schematron/peppol/r/peppol-en16931-r100.ts","../src/schematron/peppol/r/peppol-en16931-r101.ts","../src/schematron/peppol/r/peppol-en16931-r110.ts","../src/schematron/peppol/r/peppol-en16931-r111.ts","../src/schematron/peppol/r/peppol-en16931-r120.ts","../src/schematron/peppol/r/peppol-en16931-r121.ts","../src/schematron/peppol/r/peppol-en16931-r130.ts","../src/schematron/se/se-r-001.ts","../src/schematron/se/se-r-002.ts","../src/schematron/se/se-r-003.ts","../src/schematron/se/se-r-004.ts","../src/schematron/se/se-r-005.ts","../src/schematron/se/se-r-006.ts","../src/schematron/se/se-r-007.ts","../src/schematron/se/se-r-008.ts","../src/schematron/se/se-r-009.ts","../src/schematron/se/se-r-010.ts","../src/schematron/se/se-r-011.ts","../src/schematron/se/se-r-012.ts","../src/schematron/se/se-r-013.ts"],"sourcesContent":["import type * as z from 'zod/mini';\n\nimport type { PeppolDocument, PeppolDocumentLine } from '#/document';\nimport type { invoicePeriodSchema } from '#/schemas/fields/invoice-period-schema';\nimport type { taxSubtotalSchema } from '#/schemas/fields/tax-subtotal-schema';\nimport type { SchematronRuleLevel, SchematronRuleResult } from '#/schematron/types';\n\nimport { chargeReasonCodesKeys } from '#/values/charge-reason-codes.generated';\nimport { countryCodesKeys } from '#/values/country-code.generated';\n\nexport type PeppolLine = PeppolDocumentLine;\n\n/**\n * @description Rule metadata shared by all schematron rules.\n */\nexport interface SchematronRule {\n id: string;\n level: SchematronRuleLevel;\n message: string;\n}\n\n/**\n * @description Builds a `SchematronRuleResult` for the given rule.\n */\nexport function schematronResult(rule: SchematronRule, passed: boolean): SchematronRuleResult {\n return { id: rule.id, level: rule.level, message: rule.message, passed };\n}\n\n/**\n * @description Rounds a number to 2 decimals, mirroring the schematron `round(x * 10 * 10) div 100`.\n */\nexport function round2(value: number): number {\n return Math.round(value * 100) / 100;\n}\n\n/**\n * @description Checks that `val` is within `slack` of `exp`, mirroring the schematron `u:slack` function.\n */\nexport function slack(exp: number, val: number, tolerance: number): boolean {\n return exp + tolerance >= val && exp - tolerance <= val;\n}\n\n/**\n * @description Extracts the process number from the business process identifier, mirroring the schematron `$profile` variable. Returns `'Unknown'` when the\n * identifier does not match the expected format.\n */\nexport function getProfile(document: Pick<PeppolDocument, 'profileId'>): string {\n const profileId = document.profileId;\n if (typeof profileId === 'string' && /^urn:fdc:peppol.eu:2017:poacc:billing:\\d{2}:1\\.0$/.test(profileId.trim())) {\n return profileId.trim().split(':')[6] ?? 'Unknown';\n }\n return 'Unknown';\n}\n\n/**\n * @description Resolves the supplier country from the VAT identifier prefix or the supplier postal address, mirroring the schematron `$supplierCountry` variable.\n */\nexport function getSupplierCountry(document: PeppolDocument): string {\n const vatScheme = document.accountingSupplierParty.partyTaxSchemes?.find(s => s.taxSchemeId.id === 'VAT');\n const prefix = vatScheme?.companyId?.slice(0, 2);\n if (prefix) {\n return prefix.toUpperCase();\n }\n const taxRep = document.taxRepresentativeParty;\n if (taxRep?.partyTaxScheme.taxSchemeId.id === 'VAT') {\n const taxRepPrefix = taxRep.partyTaxScheme.companyId.slice(0, 2);\n if (taxRepPrefix) {\n return taxRepPrefix.toUpperCase();\n }\n }\n const country = document.accountingSupplierParty.postalAddress.countryCode.identificationCode;\n return country ? country.toUpperCase() : 'XX';\n}\n\n/**\n * @description Resolves the customer country from the VAT identifier prefix or the customer postal address, mirroring the schematron `$customerCountry` variable.\n */\nexport function getCustomerCountry(document: PeppolDocument): string {\n const vatScheme = document.accountingCustomerParty.partyTaxSchemes?.find(s => s.taxSchemeId.id === 'VAT');\n const prefix = vatScheme?.companyId?.slice(0, 2);\n if (prefix) {\n return prefix.toUpperCase();\n }\n const country = document.accountingCustomerParty.postalAddress.countryCode.identificationCode;\n return country ? country.toUpperCase() : 'XX';\n}\n\n/**\n * @description Whether the supplier postal address country is Germany, mirroring the schematron `$supplierCountryIsDE` variable.\n */\nexport function isSupplierGermany(document: PeppolDocument): boolean {\n return document.accountingSupplierParty.postalAddress.countryCode.identificationCode.toUpperCase() === 'DE';\n}\n\n/**\n * @description Whether the customer postal address country is Germany, mirroring the schematron `$customerCountryIsDE` variable.\n */\nexport function isCustomerGermany(document: PeppolDocument): boolean {\n return document.accountingCustomerParty.postalAddress.countryCode.identificationCode.toUpperCase() === 'DE';\n}\n\n/**\n * @description Returns the invoice lines or credit note lines of a document.\n */\nexport function getLines(document: PeppolDocument): Array<PeppolLine> {\n if ('invoiceLines' in document && Array.isArray(document.invoiceLines)) {\n return document.invoiceLines as Array<PeppolLine>;\n }\n if ('creditNoteLines' in document && Array.isArray(document.creditNoteLines)) {\n return document.creditNoteLines as Array<PeppolLine>;\n }\n return [];\n}\n\n/**\n * @description Returns the line quantity (invoiced or credited quantity) of a line, defaulting to 1.\n */\nexport function getLineQuantity(line: PeppolLine): number {\n const quantity = 'invoicedQuantity' in line ? line.invoicedQuantity : 'creditedQuantity' in line ? line.creditedQuantity : undefined;\n return quantity ? quantity.value : 1;\n}\n\n/**\n * @description Returns all document level and line level allowance/charges of a document.\n */\nexport function getAllAllowanceCharges(\n document: PeppolDocument\n): Array<{\n amount: number | undefined;\n allowanceChargeReason: string | undefined;\n baseAmount: number | undefined;\n chargeIndicator: boolean | undefined;\n multiplierFactorNumeric: number | undefined;\n reasonCode: string | undefined;\n taxCategoryId: string | undefined;\n}> {\n const documentLevel = (document.allowanceCharges ?? []).map(ac => ({\n allowanceChargeReason: ac.allowanceChargeReason,\n amount: ac.amount?.value,\n baseAmount: ac.baseAmount?.value,\n chargeIndicator: ac.chargeIndicator,\n multiplierFactorNumeric: ac.multiplierFactorNumeric,\n reasonCode: ac.allowanceChargeReasonCode,\n taxCategoryId: ac.taxCategory?.id,\n }));\n const lineLevel = getLines(document).flatMap(line =>\n (line.allowanceCharges ?? []).map(ac => ({\n allowanceChargeReason: ac.allowanceChargeReason,\n amount: ac.amount?.value,\n baseAmount: ac.baseAmount?.value,\n chargeIndicator: ac.chargeIndicator,\n multiplierFactorNumeric: ac.multiplierFactorNumeric,\n reasonCode: ac.allowanceChargeReasonCode,\n taxCategoryId: undefined,\n }))\n );\n return [...documentLevel, ...lineLevel];\n}\n\n/**\n * @description Whether a VAT breakdown group (BG-23) contains a VAT category code equal to `code`.\n */\nexport function hasVatBreakdownCode(document: PeppolDocument, code: string): boolean {\n return document.taxTotals.some(t => t.taxSubtotals?.some(s => s.taxCategory.id === code) ?? false);\n}\n\n/**\n * @description Whether the document contains a VAT category code (BT-151, BT-95 or BT-102) equal to `code`.\n */\nexport function hasVatCategoryCode(document: PeppolDocument, code: string): boolean {\n const lineCategories = getLines(document).some(line => line.item.classifiedTaxCategory.id === code);\n const allowanceCharges = (document.allowanceCharges ?? []).some(ac => ac.taxCategory?.id === code);\n return lineCategories || allowanceCharges;\n}\n\n/**\n * @description Resolves the supplier VAT identifier (BT-31) or the seller tax registration identifier (BT-32).\n */\nexport function getSupplierTaxIdentifiers(document: PeppolDocument): string {\n const companyIds = document.accountingSupplierParty.partyTaxSchemes?.map(scheme => scheme.companyId) ?? [];\n const taxRepCompanyId = document.taxRepresentativeParty?.partyTaxScheme.companyId;\n return [taxRepCompanyId, ...companyIds].filter((v): v is string => typeof v === 'string' && v.trim() !== '').join(',');\n}\n\n/**\n * @description Whether the supplier has a VAT identifier (BT-31), a seller tax registration identifier (BT-32) or a tax representative VAT identifier (BT-63).\n */\nexport function hasSellerTaxIdentifier(document: PeppolDocument): boolean {\n return document.accountingSupplierParty.partyTaxSchemes?.some(scheme => scheme.companyId.trim() !== '') ?? false;\n}\n\n/**\n * @description Whether the buyer has a VAT identifier (BT-48) or a legal registration identifier (BT-47).\n */\nexport function hasBuyerTaxIdentifier(document: PeppolDocument): boolean {\n const buyerVat = document.accountingCustomerParty.partyTaxSchemes?.some(scheme => scheme.companyId.trim() !== '') ?? false;\n const buyerLegal =\n typeof document.accountingCustomerParty.partyLegalEntity.companyId?.id === 'string' &&\n document.accountingCustomerParty.partyLegalEntity.companyId?.id.trim() !== '';\n return buyerVat || buyerLegal;\n}\n\n/**\n * @description Whether a number has at most two fraction digits, mirroring the schematron `string-length(substring-after(.,'.'))<=2` checks.\n */\nexport function hasMaxTwoDecimals(value: number): boolean {\n return Math.abs(Math.round(value * 100) / 100 - value) < 1e-9;\n}\n\n/**\n * @description Whether two monetary values are equal, tolerating floating point drift of parsed decimals.\n */\nexport function amountsEqual(a: number, b: number): boolean {\n return Math.abs(a - b) < 1e-9;\n}\n\n/**\n * @description Counts the VAT breakdown groups (BG-23) whose VAT category code (BT-118) equals `code`.\n */\nexport function countVatBreakdownCode(document: PeppolDocument, code: string): number {\n return document.taxTotals.reduce(\n (count, total) => count + (total.taxSubtotals?.filter(subtotal => subtotal.taxCategory.id === code).length ?? 0),\n 0\n );\n}\n\n/**\n * @description Counts the occurrences of a VAT category code (BT-151, BT-95 or BT-102) on invoice lines and document level allowance/charges.\n */\nfunction countVatCategoryCode(document: PeppolDocument, code: string): number {\n const lines = getLines(document).filter(line => line.item.classifiedTaxCategory.id === code).length;\n const allowanceCharges = (document.allowanceCharges ?? []).filter(ac => ac.taxCategory?.id === code).length;\n return lines + allowanceCharges;\n}\n\n/**\n * @description Whether an invoice line (BG-25) carries a VAT category code (BT-151) equal to `code`.\n */\nexport function hasLineVatCategoryCode(document: PeppolDocument, code: string): boolean {\n return getLines(document).some(line => line.item.classifiedTaxCategory.id === code);\n}\n\n/**\n * @description Whether a document level allowance (BG-20) carries a VAT category code (BT-95) equal to `code`.\n */\nexport function hasDocumentAllowanceVatCategoryCode(document: PeppolDocument, code: string): boolean {\n return (document.allowanceCharges ?? []).some(ac => !ac.chargeIndicator && ac.taxCategory?.id === code);\n}\n\n/**\n * @description Whether a document level charge (BG-21) carries a VAT category code (BT-102) equal to `code`.\n */\nexport function hasDocumentChargeVatCategoryCode(document: PeppolDocument, code: string): boolean {\n return (document.allowanceCharges ?? []).some(ac => ac.chargeIndicator && ac.taxCategory?.id === code);\n}\n\n/**\n * @description Whether the supplier has a VAT identifier (BT-31) on a party tax scheme whose tax scheme is \"VAT\".\n */\nexport function hasSellerVatCompanyId(document: PeppolDocument): boolean {\n return (\n document.accountingSupplierParty.partyTaxSchemes?.some(\n scheme => scheme.taxSchemeId.id.toUpperCase() === 'VAT' && scheme.companyId.trim() !== ''\n ) ?? false\n );\n}\n\n/**\n * @description Whether the buyer has a VAT identifier (BT-48) on a party tax scheme whose tax scheme is \"VAT\".\n */\nexport function hasBuyerVatCompanyId(document: PeppolDocument): boolean {\n return (\n document.accountingCustomerParty.partyTaxSchemes?.some(\n scheme => scheme.taxSchemeId.id.toUpperCase() === 'VAT' && scheme.companyId.trim() !== ''\n ) ?? false\n );\n}\n\n/**\n * @description Whether the seller tax representative has a VAT identifier (BT-63) on a \"VAT\" tax scheme.\n */\nexport function hasTaxRepresentativeVatCompanyId(document: PeppolDocument): boolean {\n const taxRepresentative = document.taxRepresentativeParty;\n if (!taxRepresentative) {\n return false;\n }\n return taxRepresentative.partyTaxScheme.taxSchemeId.id.toUpperCase() === 'VAT' && taxRepresentative.partyTaxScheme.companyId.trim() !== '';\n}\n\n/**\n * @description Whether the buyer has a legal registration identifier (BT-47).\n */\nexport function hasBuyerLegalCompanyId(document: PeppolDocument): boolean {\n const id = document.accountingCustomerParty.partyLegalEntity.companyId?.id;\n return typeof id === 'string' && id.trim() !== '';\n}\n\n/**\n * @description Whether every invoice line carrying a VAT category code (BT-151) equal to `code` satisfies `predicate` on its VAT rate (BT-152).\n */\nexport function everyLineCategoryPercent(document: PeppolDocument, code: string, predicate: (percent: number | undefined) => boolean): boolean {\n return getLines(document).every(line => line.item.classifiedTaxCategory.id !== code || predicate(line.item.classifiedTaxCategory.percent));\n}\n\n/**\n * @description Whether every document level allowance carrying a VAT category code (BT-95) equal to `code` satisfies `predicate` on its VAT rate (BT-96).\n */\nexport function everyDocumentAllowanceCategoryPercent(\n document: PeppolDocument,\n code: string,\n predicate: (percent: number | undefined) => boolean\n): boolean {\n return (document.allowanceCharges ?? []).every(ac => ac.chargeIndicator || ac.taxCategory?.id !== code || predicate(ac.taxCategory.percent));\n}\n\n/**\n * @description Whether every document level charge carrying a VAT category code (BT-102) equal to `code` satisfies `predicate` on its VAT rate (BT-103).\n */\nexport function everyDocumentChargeCategoryPercent(\n document: PeppolDocument,\n code: string,\n predicate: (percent: number | undefined) => boolean\n): boolean {\n return (document.allowanceCharges ?? []).every(ac => !ac.chargeIndicator || ac.taxCategory?.id !== code || predicate(ac.taxCategory.percent));\n}\n\n/**\n * @description Sum of invoice line net amounts (BT-131) plus document level charge amounts (BT-99) minus document level allowance amounts (BT-92) where the VAT\n * category codes (BT-151, BT-102, BT-95) equal `code`.\n */\nexport function categoryTaxableSum(document: PeppolDocument, code: string): number {\n const lineSum = getLines(document)\n .filter(line => line.item.classifiedTaxCategory.id === code)\n .reduce((sum, line) => sum + line.lineExtensionAmount.value, 0);\n const chargeSum = (document.allowanceCharges ?? [])\n .filter(ac => ac.chargeIndicator && ac.taxCategory?.id === code)\n .reduce((sum, ac) => sum + (ac.amount?.value ?? 0), 0);\n const allowanceSum = (document.allowanceCharges ?? [])\n .filter(ac => !ac.chargeIndicator && ac.taxCategory?.id === code)\n .reduce((sum, ac) => sum + (ac.amount?.value ?? 0), 0);\n return lineSum + chargeSum - allowanceSum;\n}\n\n/**\n * @description Returns the VAT breakdown groups (BG-23) whose VAT category code (BT-118) equals `code`.\n */\nexport function getTaxSubtotalsWithCode(\n document: PeppolDocument,\n code: string\n): Array<{\n taxAmount: number;\n taxableAmount: number;\n taxCategory: { id: string; percent: number | undefined; taxExemptionReason: string | undefined; taxExemptionReasonCode: string | undefined };\n}> {\n return document.taxTotals.flatMap(total =>\n (total.taxSubtotals ?? [])\n .filter(subtotal => subtotal.taxCategory.id === code)\n .map(subtotal => ({\n taxAmount: subtotal.taxAmount.value,\n taxableAmount: subtotal.taxableAmount.value,\n taxCategory: {\n id: subtotal.taxCategory.id,\n percent: subtotal.taxCategory.percent,\n taxExemptionReason: subtotal.taxCategory.taxExemptionReason,\n taxExemptionReasonCode: subtotal.taxCategory.taxExemptionReasonCode,\n },\n }))\n );\n}\n\n/**\n * @description Sum of invoice line net amounts (BT-131) plus document level charge amounts (BT-99) minus document level allowance amounts (BT-92) where the VAT\n * category codes (BT-151, BT-102, BT-95) equal `code` and the VAT rates (BT-152, BT-103, BT-96) equal `rate`.\n */\nfunction categoryTaxableSumAtRate(document: PeppolDocument, code: string, rate: number): number {\n const lineSum = getLines(document)\n .filter(line => line.item.classifiedTaxCategory.id === code && line.item.classifiedTaxCategory.percent === rate)\n .reduce((sum, line) => sum + line.lineExtensionAmount.value, 0);\n const chargeSum = (document.allowanceCharges ?? [])\n .filter(ac => ac.chargeIndicator && ac.taxCategory?.id === code && ac.taxCategory.percent === rate)\n .reduce((sum, ac) => sum + (ac.amount?.value ?? 0), 0);\n const allowanceSum = (document.allowanceCharges ?? [])\n .filter(ac => !ac.chargeIndicator && ac.taxCategory?.id === code && ac.taxCategory.percent === rate)\n .reduce((sum, ac) => sum + (ac.amount?.value ?? 0), 0);\n return lineSum + chargeSum - allowanceSum;\n}\n\n/**\n * @description Whether the seller has a legal registration identifier (BT-30), used by BR-CO-26.\n */\nexport function hasSellerLegalCompanyId(document: PeppolDocument): boolean {\n const id = document.accountingSupplierParty.partyLegalEntity.companyId?.id;\n return typeof id === 'string' && id.trim() !== '';\n}\n\n/**\n * @description Whether every ISO 3166-1 alpha-2 country code present on the document equals `code`, used by BR-B-01.\n */\nexport function everyCountryCodeIs(document: PeppolDocument, code: string): boolean {\n const codes = [\n document.accountingSupplierParty.postalAddress.countryCode.identificationCode,\n document.accountingCustomerParty.postalAddress.countryCode.identificationCode,\n document.taxRepresentativeParty?.postalAddress.countryCode.identificationCode,\n document.delivery?.deliveryLocation?.address?.countryCode.identificationCode,\n ...getLines(document)\n .map(line => line.item.originCountryCode?.identificationCode)\n .filter((v): v is string => typeof v === 'string'),\n ].filter((v): v is string => typeof v === 'string' && v.trim() !== '');\n return codes.every(value => value.toUpperCase() === code);\n}\n\n/**\n * @description Whether every VAT identifier (BT-31, BT-63, BT-48) carries a country prefix from the ISO 3166-1 alpha-2 list (including EL), used by BR-CO-09.\n */\nexport function allVatCompanyIdsHaveValidPrefix(document: PeppolDocument): boolean {\n const companyIds: Array<string> = [];\n const pushVatIds = (schemes: Array<{ companyId: string; taxSchemeId: { id: string } }> | undefined) => {\n for (const scheme of schemes ?? []) {\n if (scheme.taxSchemeId.id.toUpperCase() === 'VAT' && scheme.companyId.trim() !== '') {\n companyIds.push(scheme.companyId.trim());\n }\n }\n };\n pushVatIds(document.accountingSupplierParty.partyTaxSchemes);\n pushVatIds(document.accountingCustomerParty.partyTaxSchemes);\n if (\n document.taxRepresentativeParty?.partyTaxScheme.taxSchemeId.id.toUpperCase() === 'VAT' &&\n document.taxRepresentativeParty.partyTaxScheme.companyId.trim() !== ''\n ) {\n companyIds.push(document.taxRepresentativeParty.partyTaxScheme.companyId.trim());\n }\n return companyIds.every(id => (countryCodesKeys as ReadonlyArray<string>).includes(id.slice(0, 2)));\n}\n\n/**\n * @description Whether every invoice period / line period has an end date after or equal to its start date, used by BR-29 and BR-30.\n */\nexport function everyPeriodEndAfterStart(document: PeppolDocument): boolean {\n const ok = (period: z.infer<typeof invoicePeriodSchema> | undefined): boolean => {\n if (!period?.startDate || !period.endDate) {\n return true;\n }\n return period.endDate >= period.startDate;\n };\n const lineOk = getLines(document).every(line => ok(line.invoicePeriod));\n return ok(document.invoicePeriod) && lineOk;\n}\n\n/**\n * @description Whether every invoice period has a start/end date or a description code, used by BR-CO-19 and BR-CO-20.\n */\nexport function everyPeriodHasDateOrDescriptionCode(document: PeppolDocument): boolean {\n const ok = (period: z.infer<typeof invoicePeriodSchema> | undefined): boolean => {\n if (!period) {\n return true;\n }\n return typeof period.startDate === 'string' || typeof period.endDate === 'string' || typeof period.descriptionCode === 'string';\n };\n const lineOk = getLines(document).every(line => ok(line.invoicePeriod));\n return ok(document.invoicePeriod) && lineOk;\n}\n\n/**\n * @description Whether the note subject code, when present, is coded using UNTDID 4451, used by BR-CL-08.\n */\nexport function noteSubjectCodeIsUncl4451(document: PeppolDocument): boolean {\n const note = document.note;\n if (typeof note !== 'string' || !note.includes('#')) {\n return true;\n }\n const subject = note.split('#')[1] ?? '';\n if (subject.length !== 3) {\n return true;\n }\n return (chargeReasonCodesKeys as ReadonlyArray<string>).includes(subject);\n}\n\n/**\n * @description Total number of VAT breakdown groups (BG-23) present on the document.\n */\nexport function countAllVatBreakdowns(document: PeppolDocument): number {\n return document.taxTotals.reduce((count, total) => count + (total.taxSubtotals?.length ?? 0), 0);\n}\n\n/**\n * @description Whether the document contains a VAT category code (BT-151, BT-95, BT-102) or a VAT breakdown category code (BT-118) equal to `code`.\n */\nexport function hasAnyVatCategoryCode(document: PeppolDocument, code: string): boolean {\n return countVatCategoryCode(document, code) > 0 || countVatBreakdownCode(document, code) > 0;\n}\n\n/**\n * @description Whether `a` and `b` are within 1 of each other, mirroring the schematron slack used by BR-S-08, BR-AF-08 and BR-AG-08.\n */\nexport function withinSlackOne(a: number, b: number): boolean {\n return Math.abs(a - b) < 1;\n}\n\n/**\n * @description Whether the VAT category tax amount (BT-117) equals the VAT category taxable amount (BT-116) multiplied by the VAT category rate (BT-119), allowing\n * for a slack of 1, mirroring BR-CO-17.\n */\nexport function vatCategoryTaxAmountMatchesRate(subtotal: z.infer<typeof taxSubtotalSchema>): boolean {\n const percent = subtotal.taxCategory.percent;\n if (percent === undefined) {\n return Math.round(subtotal.taxAmount.value) === 0;\n }\n if (Math.round(percent) === 0) {\n return Math.round(subtotal.taxAmount.value) === 0;\n }\n const expected = round2(Math.abs(subtotal.taxableAmount.value) * (percent / 100));\n const actual = Math.abs(subtotal.taxAmount.value);\n return withinSlackOne(actual, expected);\n}\n\n/**\n * @description Whether every VAT breakdown (BG-23) whose VAT category code (BT-118) is \"Standard rated\", \"IGIC\" or \"IPSI\" has a VAT category taxable amount\n * (BT-116) that equals the sum of invoice line net amounts (BT-131) plus document level charge amounts (BT-99) minus document level allowance amounts\n * (BT-92) at the same VAT rate, allowing a slack of 1, mirroring BR-S-08, BR-AF-08 and BR-AG-08.\n */\nexport function everyVatBreakdownTaxableMatchesRateSum(document: PeppolDocument): boolean {\n for (const total of document.taxTotals) {\n for (const subtotal of total.taxSubtotals ?? []) {\n const code = subtotal.taxCategory.id;\n if (code !== 'S' && code !== 'L' && code !== 'M') {\n continue;\n }\n const rate = subtotal.taxCategory.percent;\n if (rate === undefined) {\n return false;\n }\n if (!withinSlackOne(subtotal.taxableAmount.value, categoryTaxableSumAtRate(document, code, rate))) {\n return false;\n }\n }\n }\n return true;\n}\n\n/**\n * @description Returns all identifiers carrying a scheme identifier, used by the PEPPOL-COMMON-R* rules.\n */\nexport function getIdentifiersWithSchemeId(document: PeppolDocument): Array<{ id: string; schemeId: string }> {\n const result: Array<{ id: string; schemeId: string }> = [];\n const push = (id: string | undefined, schemeId: string | undefined) => {\n if (id && schemeId) {\n result.push({ id, schemeId });\n }\n };\n for (const party of [document.accountingSupplierParty, document.accountingCustomerParty]) {\n push(party.endpointId?.id, party.endpointId?.schemeId);\n push(party.partyIdentification?.id?.id, party.partyIdentification?.id?.schemeId);\n push(party.partyLegalEntity.companyId?.id, party.partyLegalEntity.companyId?.schemeId);\n }\n if (document.payeeParty?.partyIdentification?.id) {\n push(document.payeeParty.partyIdentification.id.id, document.payeeParty.partyIdentification.id.schemeId);\n }\n return result;\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { countVatBreakdownCode, hasAnyVatCategoryCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AE-01',\n level: 'fatal',\n message:\n 'An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is \"Reverse charge\" shall contain in the VAT Breakdown (BG-23) exactly one VAT category code (BT-118) equal with \"VAT reverse charge\".',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAe01(document: PeppolDocument): SchematronRuleResult {\n const passed = !hasAnyVatCategoryCode(document, 'AE') || countVatBreakdownCode(document, 'AE') === 1;\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport {\n hasBuyerLegalCompanyId,\n hasBuyerVatCompanyId,\n hasLineVatCategoryCode,\n hasSellerTaxIdentifier,\n hasTaxRepresentativeVatCompanyId,\n schematronResult,\n} from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AE-02',\n level: 'fatal',\n message:\n 'An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is \"Reverse charge\" 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) and the Buyer VAT identifier (BT-48) and/or the Buyer legal registration identifier (BT-47).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAe02(document: PeppolDocument): SchematronRuleResult {\n const passed =\n !hasLineVatCategoryCode(document, 'AE') ||\n ((hasSellerTaxIdentifier(document) || hasTaxRepresentativeVatCompanyId(document)) &&\n (hasBuyerVatCompanyId(document) || hasBuyerLegalCompanyId(document)));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport {\n hasBuyerLegalCompanyId,\n hasBuyerVatCompanyId,\n hasDocumentAllowanceVatCategoryCode,\n hasSellerTaxIdentifier,\n hasTaxRepresentativeVatCompanyId,\n schematronResult,\n} from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AE-03',\n level: 'fatal',\n message:\n 'An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is \"Reverse charge\" 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) and the Buyer VAT identifier (BT-48) and/or the Buyer legal registration identifier (BT-47).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAe03(document: PeppolDocument): SchematronRuleResult {\n const passed =\n !hasDocumentAllowanceVatCategoryCode(document, 'AE') ||\n ((hasSellerTaxIdentifier(document) || hasTaxRepresentativeVatCompanyId(document)) &&\n (hasBuyerVatCompanyId(document) || hasBuyerLegalCompanyId(document)));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport {\n hasBuyerLegalCompanyId,\n hasBuyerVatCompanyId,\n hasDocumentChargeVatCategoryCode,\n hasSellerTaxIdentifier,\n hasTaxRepresentativeVatCompanyId,\n schematronResult,\n} from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AE-04',\n level: 'fatal',\n message:\n 'An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is \"Reverse charge\" 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) and the Buyer VAT identifier (BT-48) and/or the Buyer legal registration identifier (BT-47).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAe04(document: PeppolDocument): SchematronRuleResult {\n const passed =\n !hasDocumentChargeVatCategoryCode(document, 'AE') ||\n ((hasSellerTaxIdentifier(document) || hasTaxRepresentativeVatCompanyId(document)) &&\n (hasBuyerVatCompanyId(document) || hasBuyerLegalCompanyId(document)));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyLineCategoryPercent, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AE-05',\n level: 'fatal',\n message:\n 'In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is \"Reverse charge\" the Invoiced item VAT rate (BT-152) shall be 0 (zero).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAe05(document: PeppolDocument): SchematronRuleResult {\n const passed = everyLineCategoryPercent(document, 'AE', percent => percent === 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyDocumentAllowanceCategoryPercent, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AE-06',\n level: 'fatal',\n message:\n 'In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is \"Reverse charge\" the Document level allowance VAT rate (BT-96) shall be 0 (zero).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAe06(document: PeppolDocument): SchematronRuleResult {\n const passed = everyDocumentAllowanceCategoryPercent(document, 'AE', percent => percent === 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyDocumentChargeCategoryPercent, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AE-07',\n level: 'fatal',\n message:\n 'In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is \"Reverse charge\" the Document level charge VAT rate (BT-103) shall be 0 (zero).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAe07(document: PeppolDocument): SchematronRuleResult {\n const passed = everyDocumentChargeCategoryPercent(document, 'AE', percent => percent === 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { amountsEqual, categoryTaxableSum, getTaxSubtotalsWithCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AE-08',\n level: 'fatal',\n message:\n 'In a VAT breakdown (BG-23) where the VAT category code (BT-118) is \"Reverse charge\" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are \"Reverse charge\".',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAe08(document: PeppolDocument): SchematronRuleResult {\n const passed = getTaxSubtotalsWithCode(document, 'AE').every(st => amountsEqual(st.taxableAmount, categoryTaxableSum(document, 'AE')));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getTaxSubtotalsWithCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AE-09',\n level: 'fatal',\n message:\n 'The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where the VAT category code (BT-118) is \"Reverse charge\" shall be 0 (zero).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAe09(document: PeppolDocument): SchematronRuleResult {\n const passed = getTaxSubtotalsWithCode(document, 'AE').every(st => st.taxAmount === 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getTaxSubtotalsWithCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AE-10',\n level: 'fatal',\n message:\n 'A VAT breakdown (BG-23) with VAT Category code (BT-118) \"Reverse charge\" shall have a VAT exemption reason code (BT-121), meaning \"Reverse charge\" or the VAT exemption reason text (BT-120) \"Reverse charge\" (or the equivalent standard text in another language).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAe10(document: PeppolDocument): SchematronRuleResult {\n const passed = getTaxSubtotalsWithCode(document, 'AE').every(\n st => typeof st.taxCategory.taxExemptionReason === 'string' || typeof st.taxCategory.taxExemptionReasonCode === 'string'\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { countVatBreakdownCode, hasAnyVatCategoryCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AF-01',\n level: 'fatal',\n message:\n 'An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is \"IGIC\" shall contain in the VAT breakdown (BG-23) at least one VAT category code (BT-118) equal with \"IGIC\".',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAf01(document: PeppolDocument): SchematronRuleResult {\n const passed = !hasAnyVatCategoryCode(document, 'L') || countVatBreakdownCode(document, 'L') > 0;\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasLineVatCategoryCode, hasSellerTaxIdentifier, hasTaxRepresentativeVatCompanyId, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AF-02',\n level: 'fatal',\n message:\n 'An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is \"IGIC\" 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).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAf02(document: PeppolDocument): SchematronRuleResult {\n const passed = !hasLineVatCategoryCode(document, 'L') || hasSellerTaxIdentifier(document) || hasTaxRepresentativeVatCompanyId(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport {\n hasDocumentAllowanceVatCategoryCode,\n hasSellerTaxIdentifier,\n hasTaxRepresentativeVatCompanyId,\n schematronResult,\n} from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AF-03',\n level: 'fatal',\n message:\n 'An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is \"IGIC\" 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).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAf03(document: PeppolDocument): SchematronRuleResult {\n const passed =\n !hasDocumentAllowanceVatCategoryCode(document, 'L') || hasSellerTaxIdentifier(document) || hasTaxRepresentativeVatCompanyId(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasDocumentChargeVatCategoryCode, hasSellerTaxIdentifier, hasTaxRepresentativeVatCompanyId, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AF-04',\n level: 'fatal',\n message:\n 'An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is \"IGIC\" 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).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAf04(document: PeppolDocument): SchematronRuleResult {\n const passed = !hasDocumentChargeVatCategoryCode(document, 'L') || hasSellerTaxIdentifier(document) || hasTaxRepresentativeVatCompanyId(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyLineCategoryPercent, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AF-05',\n level: 'fatal',\n message:\n 'In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is \"IGIC\" the invoiced item VAT rate (BT-152) shall be 0 (zero) or greater than zero.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAf05(document: PeppolDocument): SchematronRuleResult {\n const passed = everyLineCategoryPercent(document, 'L', percent => percent !== undefined && percent >= 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyDocumentAllowanceCategoryPercent, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AF-06',\n level: 'fatal',\n message:\n 'In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is \"IGIC\" the Document level allowance VAT rate (BT-96) shall be 0 (zero) or greater than zero.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAf06(document: PeppolDocument): SchematronRuleResult {\n const passed = everyDocumentAllowanceCategoryPercent(document, 'L', percent => percent !== undefined && percent >= 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyDocumentChargeCategoryPercent, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AF-07',\n level: 'fatal',\n message:\n 'In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is \"IGIC\" the Document level charge VAT rate (BT-103) shall be 0 (zero) or greater than zero.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAf07(document: PeppolDocument): SchematronRuleResult {\n const passed = everyDocumentChargeCategoryPercent(document, 'L', percent => percent !== undefined && percent >= 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyVatBreakdownTaxableMatchesRateSum, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AF-08',\n level: 'fatal',\n message:\n 'For each different value of VAT category rate (BT-119) where the VAT category code (BT-118) is \"IGIC\", the VAT category taxable amount (BT-116) in a VAT breakdown (BG-23) shall equal the sum of Invoice line net amounts (BT-131) plus the sum of document level charge amounts (BT-99) minus the sum of document level allowance amounts (BT-92) where the VAT category code (BT-151, BT-102, BT-95) is \"IGIC\" and the VAT rate (BT-152, BT-103, BT-96) equals the VAT category rate (BT-119).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAf08(document: PeppolDocument): SchematronRuleResult {\n const passed = everyVatBreakdownTaxableMatchesRateSum(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getTaxSubtotalsWithCode, round2, withinSlackOne, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AF-09',\n level: 'fatal',\n message:\n 'The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where VAT category code (BT-118) is \"IGIC\" shall equal the VAT category taxable amount (BT-116) multiplied by the VAT category rate (BT-119).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAf09(document: PeppolDocument): SchematronRuleResult {\n const passed = getTaxSubtotalsWithCode(document, 'L').every(st =>\n withinSlackOne(st.taxAmount, round2((st.taxableAmount * (st.taxCategory.percent ?? 0)) / 100))\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getTaxSubtotalsWithCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AF-10',\n level: 'fatal',\n message:\n 'A VAT breakdown (BG-23) with VAT Category code (BT-118) \"IGIC\" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAf10(document: PeppolDocument): SchematronRuleResult {\n const passed = getTaxSubtotalsWithCode(document, 'L').every(\n st => st.taxCategory.taxExemptionReason === undefined && st.taxCategory.taxExemptionReasonCode === undefined\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { countVatBreakdownCode, hasAnyVatCategoryCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AG-01',\n level: 'fatal',\n message:\n 'An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is \"IPSI\" shall contain in the VAT breakdown (BG-23) at least one VAT category code (BT-118) equal with \"IPSI\".',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAg01(document: PeppolDocument): SchematronRuleResult {\n const passed = !hasAnyVatCategoryCode(document, 'M') || countVatBreakdownCode(document, 'M') > 0;\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasLineVatCategoryCode, hasSellerTaxIdentifier, hasTaxRepresentativeVatCompanyId, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AG-02',\n level: 'fatal',\n message:\n '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).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAg02(document: PeppolDocument): SchematronRuleResult {\n const passed = !hasLineVatCategoryCode(document, 'M') || hasSellerTaxIdentifier(document) || hasTaxRepresentativeVatCompanyId(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport {\n hasDocumentAllowanceVatCategoryCode,\n hasSellerTaxIdentifier,\n hasTaxRepresentativeVatCompanyId,\n schematronResult,\n} from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AG-03',\n level: 'fatal',\n message:\n '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).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAg03(document: PeppolDocument): SchematronRuleResult {\n const passed =\n !hasDocumentAllowanceVatCategoryCode(document, 'M') || hasSellerTaxIdentifier(document) || hasTaxRepresentativeVatCompanyId(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasDocumentChargeVatCategoryCode, hasSellerTaxIdentifier, hasTaxRepresentativeVatCompanyId, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AG-04',\n level: 'fatal',\n message:\n '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).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAg04(document: PeppolDocument): SchematronRuleResult {\n const passed = !hasDocumentChargeVatCategoryCode(document, 'M') || hasSellerTaxIdentifier(document) || hasTaxRepresentativeVatCompanyId(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyLineCategoryPercent, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AG-05',\n level: 'fatal',\n message:\n '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.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAg05(document: PeppolDocument): SchematronRuleResult {\n const passed = everyLineCategoryPercent(document, 'M', percent => percent !== undefined && percent >= 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyDocumentAllowanceCategoryPercent, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AG-06',\n level: 'fatal',\n message:\n '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.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAg06(document: PeppolDocument): SchematronRuleResult {\n const passed = everyDocumentAllowanceCategoryPercent(document, 'M', percent => percent !== undefined && percent >= 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyDocumentChargeCategoryPercent, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AG-07',\n level: 'fatal',\n message:\n '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.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAg07(document: PeppolDocument): SchematronRuleResult {\n const passed = everyDocumentChargeCategoryPercent(document, 'M', percent => percent !== undefined && percent >= 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyVatBreakdownTaxableMatchesRateSum, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AG-08',\n level: 'fatal',\n message:\n 'For each different value of VAT category rate (BT-119) where the VAT category code (BT-118) is \"IPSI\", the VAT category taxable amount (BT-116) in a VAT breakdown (BG-23) shall equal the sum of Invoice line net amounts (BT-131) plus the sum of document level charge amounts (BT-99) minus the sum of document level allowance amounts (BT-92) where the VAT category code (BT-151, BT-102, BT-95) is \"IPSI\" and the VAT rate (BT-152, BT-103, BT-96) equals the VAT category rate (BT-119).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAg08(document: PeppolDocument): SchematronRuleResult {\n const passed = everyVatBreakdownTaxableMatchesRateSum(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getTaxSubtotalsWithCode, round2, schematronResult, withinSlackOne } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AG-09',\n level: 'fatal',\n message:\n 'The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where VAT category code (BT-118) is \"IPSI\" shall equal the VAT category taxable amount (BT-116) multiplied by the VAT category rate (BT-119).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAg09(document: PeppolDocument): SchematronRuleResult {\n const passed = getTaxSubtotalsWithCode(document, 'M').every(st =>\n withinSlackOne(st.taxAmount, round2((st.taxableAmount * (st.taxCategory.percent ?? 0)) / 100))\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getTaxSubtotalsWithCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-AG-10',\n level: 'fatal',\n message:\n 'A VAT breakdown (BG-23) with VAT Category code (BT-118) \"IPSI\" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrAg10(document: PeppolDocument): SchematronRuleResult {\n const passed = getTaxSubtotalsWithCode(document, 'M').every(\n st => st.taxCategory.taxExemptionReason === undefined && st.taxCategory.taxExemptionReasonCode === undefined\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyCountryCodeIs, hasVatCategoryCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-B-01',\n level: 'fatal',\n message: 'An Invoice where the VAT category code (BT-151, BT-95 or BT-102) is “Split payment” shall be a domestic Italian invoice.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrB01(document: PeppolDocument): SchematronRuleResult {\n const passed = !hasVatCategoryCode(document, 'B') || everyCountryCodeIs(document, 'IT');\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasVatCategoryCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-B-02',\n level: 'fatal',\n message:\n 'An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is “Split payment\" shall not contain an invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is “Standard rated”.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrB02(document: PeppolDocument): SchematronRuleResult {\n const passed = !hasVatCategoryCode(document, 'B') || !hasVatCategoryCode(document, 'S');\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-01',\n level: 'fatal',\n message: 'An Invoice shall have a Specification identifier (BT-24).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br01(document: PeppolDocument): SchematronRuleResult {\n const passed = typeof document.customizationId === 'string' && document.customizationId.trim() !== '';\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-02',\n level: 'fatal',\n message: 'An Invoice shall have an Invoice number (BT-1).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br02(document: PeppolDocument): SchematronRuleResult {\n const passed = typeof document.id === 'string' && document.id.trim() !== '';\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-03',\n level: 'fatal',\n message: 'An Invoice shall have an Invoice issue date (BT-2).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br03(document: PeppolDocument): SchematronRuleResult {\n const passed = typeof document.issueDate === 'string' && document.issueDate.trim() !== '';\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-04',\n level: 'fatal',\n message: 'An Invoice shall have an Invoice type code (BT-3).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br04(document: PeppolDocument): SchematronRuleResult {\n const passed =\n (typeof document.invoiceTypeCode === 'string' && document.invoiceTypeCode.trim() !== '') ||\n (typeof document.creditNoteTypeCode === 'string' && document.creditNoteTypeCode.trim() !== '');\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-05',\n level: 'fatal',\n message: 'An Invoice shall have an Invoice currency code (BT-5).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br05(document: PeppolDocument): SchematronRuleResult {\n const passed = typeof document.documentCurrencyCode === 'string' && document.documentCurrencyCode.trim() !== '';\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-06',\n level: 'fatal',\n message: 'An Invoice shall contain the Seller name (BT-27).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br06(document: PeppolDocument): SchematronRuleResult {\n const passed =\n typeof document.accountingSupplierParty.partyLegalEntity.registrationName === 'string' &&\n document.accountingSupplierParty.partyLegalEntity.registrationName.trim() !== '';\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-07',\n level: 'fatal',\n message: 'An Invoice shall contain the Buyer name (BT-44).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br07(document: PeppolDocument): SchematronRuleResult {\n const passed =\n typeof document.accountingCustomerParty.partyLegalEntity.registrationName === 'string' &&\n document.accountingCustomerParty.partyLegalEntity.registrationName.trim() !== '';\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-08',\n level: 'fatal',\n message: 'An Invoice shall contain the Seller postal address.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br08(document: PeppolDocument): SchematronRuleResult {\n const passed = typeof document.accountingSupplierParty.postalAddress === 'object' && document.accountingSupplierParty.postalAddress !== null;\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-09',\n level: 'fatal',\n message: 'The Seller postal address (BG-5) shall contain a Seller country code (BT-40).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br09(document: PeppolDocument): SchematronRuleResult {\n const passed =\n typeof document.accountingSupplierParty.postalAddress.countryCode.identificationCode === 'string' &&\n document.accountingSupplierParty.postalAddress.countryCode.identificationCode.trim() !== '';\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-10',\n level: 'fatal',\n message: 'An Invoice shall contain the Buyer postal address (BG-8).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br10(document: PeppolDocument): SchematronRuleResult {\n const passed = typeof document.accountingCustomerParty.postalAddress === 'object' && document.accountingCustomerParty.postalAddress !== null;\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-11',\n level: 'fatal',\n message: 'The Buyer postal address shall contain a Buyer country code (BT-55).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br11(document: PeppolDocument): SchematronRuleResult {\n const passed =\n typeof document.accountingCustomerParty.postalAddress.countryCode.identificationCode === 'string' &&\n document.accountingCustomerParty.postalAddress.countryCode.identificationCode.trim() !== '';\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-12',\n level: 'fatal',\n message: 'An Invoice shall have the Sum of Invoice line net amount (BT-106).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br12(document: PeppolDocument): SchematronRuleResult {\n const passed = typeof document.legalMonetaryTotal.lineExtensionAmount === 'object' && document.legalMonetaryTotal.lineExtensionAmount !== null;\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-13',\n level: 'fatal',\n message: 'An Invoice shall have the Invoice total amount without VAT (BT-109).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br13(document: PeppolDocument): SchematronRuleResult {\n const passed = typeof document.legalMonetaryTotal.taxExclusiveAmount === 'object' && document.legalMonetaryTotal.taxExclusiveAmount !== null;\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-14',\n level: 'fatal',\n message: 'An Invoice shall have the Invoice total amount with VAT (BT-112).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br14(document: PeppolDocument): SchematronRuleResult {\n const passed = typeof document.legalMonetaryTotal.taxInclusiveAmount === 'object' && document.legalMonetaryTotal.taxInclusiveAmount !== null;\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-15',\n level: 'fatal',\n message: 'An Invoice shall have the Amount due for payment (BT-115).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br15(document: PeppolDocument): SchematronRuleResult {\n const passed = typeof document.legalMonetaryTotal.payableAmount === 'object' && document.legalMonetaryTotal.payableAmount !== null;\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-16',\n level: 'fatal',\n message: 'An Invoice shall have at least one Invoice line (BG-25)',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br16(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).length > 0;\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-17',\n level: 'fatal',\n message: 'The Payee name (BT-59) shall be provided in the Invoice, if the Payee (BG-10) is different from the Seller (BG-4)',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br17(document: PeppolDocument): SchematronRuleResult {\n const passed =\n !document.payeeParty ||\n (typeof document.payeeParty.partyName.name === 'string' &&\n document.payeeParty.partyName.name.trim() !== '' &&\n document.payeeParty.partyName.name !== document.accountingSupplierParty.partyLegalEntity.registrationName &&\n (document.payeeParty.partyIdentification?.id?.id === undefined ||\n document.payeeParty.partyIdentification.id.id !== document.accountingSupplierParty.partyIdentification?.id?.id));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-18',\n level: 'fatal',\n message:\n 'The Seller tax representative name (BT-62) shall be provided in the Invoice, if the Seller (BG-4) has a Seller tax representative party (BG-11)',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br18(document: PeppolDocument): SchematronRuleResult {\n const passed =\n !document.taxRepresentativeParty ||\n (typeof document.taxRepresentativeParty.name === 'string' && document.taxRepresentativeParty.name.trim() !== '');\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-19',\n level: 'fatal',\n message:\n 'The Seller tax representative postal address (BG-12) shall be provided in the Invoice, if the Seller (BG-4) has a Seller tax representative party (BG-11).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br19(document: PeppolDocument): SchematronRuleResult {\n const passed =\n !document.taxRepresentativeParty ||\n (typeof document.taxRepresentativeParty.postalAddress === 'object' && document.taxRepresentativeParty.postalAddress !== null);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-20',\n level: 'fatal',\n message:\n 'The Seller tax representative postal address (BG-12) shall contain a Tax representative country code (BT-69), if the Seller (BG-4) has a Seller tax representative party (BG-11).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br20(document: PeppolDocument): SchematronRuleResult {\n const passed =\n !document.taxRepresentativeParty ||\n (typeof document.taxRepresentativeParty.postalAddress.countryCode.identificationCode === 'string' &&\n document.taxRepresentativeParty.postalAddress.countryCode.identificationCode.trim() !== '');\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-21',\n level: 'fatal',\n message: 'Each Invoice line (BG-25) shall have an Invoice line identifier (BT-126).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br21(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(line => typeof line.id === 'string' && line.id.trim() !== '');\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-22',\n level: 'fatal',\n message: 'Each Invoice line (BG-25) shall have an Invoiced quantity (BT-129).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br22(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(line => ('invoicedQuantity' in line ? line.invoicedQuantity : line.creditedQuantity) !== undefined);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-23',\n level: 'fatal',\n message: 'An Invoice line (BG-25) shall have an Invoiced quantity unit of measure code (BT-130).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br23(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(\n line => ('invoicedQuantity' in line ? line.invoicedQuantity : line.creditedQuantity)?.unitCode !== undefined\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-24',\n level: 'fatal',\n message: 'Each Invoice line (BG-25) shall have an Invoice line net amount (BT-131).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br24(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(line => typeof line.lineExtensionAmount === 'object' && line.lineExtensionAmount !== null);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-25',\n level: 'fatal',\n message: 'Each Invoice line (BG-25) shall contain the Item name (BT-153).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br25(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(line => typeof line.item.name === 'string' && line.item.name.trim() !== '');\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-26',\n level: 'fatal',\n message: 'Each Invoice line (BG-25) shall contain the Item net price (BT-146).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br26(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(line => typeof line.price.priceAmount === 'object' && line.price.priceAmount !== null);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-27',\n level: 'fatal',\n message: 'The Item net price (BT-146) shall NOT be negative.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br27(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(line => line.price.priceAmount.value >= 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-28',\n level: 'fatal',\n message: 'The Item gross price (BT-148) shall NOT be negative.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br28(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(line => !line.price.allowanceCharge?.baseAmount || line.price.allowanceCharge.baseAmount.value >= 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyPeriodEndAfterStart, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-29',\n level: 'fatal',\n message:\n 'If both Invoicing period start date (BT-73) and Invoicing period end date (BT-74) are given then the Invoicing period end date (BT-74) shall be later or equal to the Invoicing period start date (BT-73).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br29(document: PeppolDocument): SchematronRuleResult {\n const passed = everyPeriodEndAfterStart(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyPeriodEndAfterStart, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-30',\n level: 'fatal',\n message:\n 'If both Invoice line period start date (BT-134) and Invoice line period end date (BT-135) are given then the Invoice line period end date (BT-135) shall be later or equal to the Invoice line period start date (BT-134).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br30(document: PeppolDocument): SchematronRuleResult {\n const passed = everyPeriodEndAfterStart(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-31',\n level: 'fatal',\n message: 'Each Document level allowance (BG-20) shall have a Document level allowance amount (BT-92).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br31(document: PeppolDocument): SchematronRuleResult {\n const passed = (document.allowanceCharges ?? []).filter(ac => !ac.chargeIndicator).every(ac => typeof ac.amount === 'object' && ac.amount !== null);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-32',\n level: 'fatal',\n message: 'Each Document level allowance (BG-20) shall have a Document level allowance VAT category code (BT-95).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br32(document: PeppolDocument): SchematronRuleResult {\n const passed = (document.allowanceCharges ?? [])\n .filter(ac => !ac.chargeIndicator)\n .every(ac => typeof ac.taxCategory?.id === 'string' && ac.taxCategory.taxSchemeId.id.toUpperCase() === 'VAT');\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-33',\n level: 'fatal',\n message:\n 'Each Document level allowance (BG-20) shall have a Document level allowance reason (BT-97) or a Document level allowance reason code (BT-98).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br33(document: PeppolDocument): SchematronRuleResult {\n const passed = (document.allowanceCharges ?? [])\n .filter(ac => !ac.chargeIndicator)\n .every(ac => typeof ac.allowanceChargeReason === 'string' || typeof ac.allowanceChargeReasonCode === 'string');\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-36',\n level: 'fatal',\n message: 'Each Document level charge (BG-21) shall have a Document level charge amount (BT-99).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br36(document: PeppolDocument): SchematronRuleResult {\n const passed = (document.allowanceCharges ?? []).filter(ac => ac.chargeIndicator).every(ac => typeof ac.amount === 'object' && ac.amount !== null);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-37',\n level: 'fatal',\n message: 'Each Document level charge (BG-21) shall have a Document level charge VAT category code (BT-102).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br37(document: PeppolDocument): SchematronRuleResult {\n const passed = (document.allowanceCharges ?? [])\n .filter(ac => ac.chargeIndicator)\n .every(ac => typeof ac.taxCategory?.id === 'string' && ac.taxCategory.taxSchemeId.id.toUpperCase() === 'VAT');\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-38',\n level: 'fatal',\n message: 'Each Document level charge (BG-21) shall have a Document level charge reason (BT-104) or a Document level charge reason code (BT-105).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br38(document: PeppolDocument): SchematronRuleResult {\n const passed = (document.allowanceCharges ?? [])\n .filter(ac => ac.chargeIndicator)\n .every(ac => typeof ac.allowanceChargeReason === 'string' || typeof ac.allowanceChargeReasonCode === 'string');\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-41',\n level: 'fatal',\n message: 'Each Invoice line allowance (BG-27) shall have an Invoice line allowance amount (BT-136).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br41(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(line =>\n (line.allowanceCharges ?? []).filter(ac => !ac.chargeIndicator).every(ac => typeof ac.amount === 'object' && ac.amount !== null)\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-42',\n level: 'fatal',\n message:\n 'Each Invoice line allowance (BG-27) shall have an Invoice line allowance reason (BT-139) or an Invoice line allowance reason code (BT-140).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br42(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(line =>\n (line.allowanceCharges ?? [])\n .filter(ac => !ac.chargeIndicator)\n .every(ac => typeof ac.allowanceChargeReason === 'string' || typeof ac.allowanceChargeReasonCode === 'string')\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-43',\n level: 'fatal',\n message: 'Each Invoice line charge (BG-28) shall have an Invoice line charge amount (BT-141).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br43(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(line =>\n (line.allowanceCharges ?? []).filter(ac => ac.chargeIndicator).every(ac => typeof ac.amount === 'object' && ac.amount !== null)\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-44',\n level: 'fatal',\n message: 'Each Invoice line charge shall have an Invoice line charge reason or an invoice line allowance reason code.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br44(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(line =>\n (line.allowanceCharges ?? [])\n .filter(ac => ac.chargeIndicator)\n .every(ac => typeof ac.allowanceChargeReason === 'string' || typeof ac.allowanceChargeReasonCode === 'string')\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-45',\n level: 'fatal',\n message: 'Each VAT breakdown (BG-23) shall have a VAT category taxable amount (BT-116).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br45(document: PeppolDocument): SchematronRuleResult {\n const passed = document.taxTotals.every(total =>\n (total.taxSubtotals ?? []).every(st => typeof st.taxableAmount === 'object' && st.taxableAmount !== null)\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-46',\n level: 'fatal',\n message: 'Each VAT breakdown (BG-23) shall have a VAT category tax amount (BT-117).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br46(document: PeppolDocument): SchematronRuleResult {\n const passed = document.taxTotals.every(total => (total.taxSubtotals ?? []).every(st => typeof st.taxAmount === 'object' && st.taxAmount !== null));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-47',\n level: 'fatal',\n message: 'Each VAT breakdown (BG-23) shall be defined through a VAT category code (BT-118).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br47(document: PeppolDocument): SchematronRuleResult {\n const passed = document.taxTotals.every(total =>\n (total.taxSubtotals ?? []).every(st => typeof st.taxCategory?.id === 'string' && st.taxCategory.taxSchemeId.id.toUpperCase() === 'VAT')\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-48',\n level: 'fatal',\n message: 'Each VAT breakdown (BG-23) shall have a VAT category rate (BT-119), except if the Invoice is not subject to VAT.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br48(document: PeppolDocument): SchematronRuleResult {\n const passed = document.taxTotals.every(total =>\n (total.taxSubtotals ?? []).every(st => typeof st.taxCategory.percent === 'number' || st.taxCategory.id === 'O')\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-49',\n level: 'fatal',\n message: 'A Payment instruction (BG-16) shall specify the Payment means type code (BT-81).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br49(document: PeppolDocument): SchematronRuleResult {\n const passed = (document.paymentMeans ?? []).every(pm => typeof pm.paymentMeansCode?.code === 'string' && pm.paymentMeansCode.code.trim() !== '');\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-50',\n level: 'fatal',\n message: 'A Payment account identifier (BT-84) shall be present if Credit transfer (BG-17) information is provided in the Invoice.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br50(document: PeppolDocument): SchematronRuleResult {\n const passed = (document.paymentMeans ?? []).every(\n pm =>\n (pm.paymentMeansCode?.code !== '30' && pm.paymentMeansCode?.code !== '58') ||\n (typeof pm.payeeFinancialAccount?.id === 'string' && pm.payeeFinancialAccount.id.trim() !== '')\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-51',\n level: 'warning',\n message:\n 'In accordance with card payments security standards an invoice should never include a full card primary account number (BT-87). At the moment PCI Security Standards Council has defined that the first 6 digits and last 4 digits are the maximum number of digits to be shown.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br51(document: PeppolDocument): SchematronRuleResult {\n const passed = (document.paymentMeans ?? []).every(pm => !pm.cardAccount || pm.cardAccount.primaryAccountNumberId.trim().length <= 10);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-52',\n level: 'fatal',\n message: 'Each Additional supporting document (BG-24) shall contain a Supporting document reference (BT-122).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br52(document: PeppolDocument): SchematronRuleResult {\n const passed = (document.additionalDocumentReferences ?? []).every(ref => typeof ref.id?.id === 'string' && ref.id.id.trim() !== '');\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-53',\n level: 'fatal',\n message:\n 'If the VAT accounting currency code (BT-6) is present, then the Invoice total VAT amount in accounting currency (BT-111) shall be provided.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br53(document: PeppolDocument): SchematronRuleResult {\n const passed = !document.taxCurrencyCode || document.taxTotals.some(total => total.taxAmount.currencyId === document.taxCurrencyCode);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-54',\n level: 'fatal',\n message: 'Each Item attribute (BG-32) shall contain an Item attribute name (BT-160) and an Item attribute value (BT-161).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br54(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(line =>\n (line.item.additionalItemProperties ?? []).every(\n prop => typeof prop.name === 'string' && prop.name.trim() !== '' && typeof prop.value === 'string' && prop.value.trim() !== ''\n )\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-55',\n level: 'fatal',\n message: 'Each Preceding Invoice reference (BG-3) shall contain a Preceding Invoice reference (BT-25).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br55(document: PeppolDocument): SchematronRuleResult {\n const passed = (document.billingReferences ?? []).every(\n ref => typeof ref.invoiceDocumentReference.id === 'string' && ref.invoiceDocumentReference.id.trim() !== ''\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasTaxRepresentativeVatCompanyId, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-56',\n level: 'fatal',\n message: 'Each Seller tax representative party (BG-11) shall have a Seller tax representative VAT identifier (BT-63).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br56(document: PeppolDocument): SchematronRuleResult {\n const passed = !document.taxRepresentativeParty || hasTaxRepresentativeVatCompanyId(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-57',\n level: 'fatal',\n message: 'Each Deliver to address (BG-15) shall contain a Deliver to country code (BT-80).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br57(document: PeppolDocument): SchematronRuleResult {\n const passed =\n typeof document.delivery?.deliveryLocation?.address?.countryCode.identificationCode === 'string' &&\n document.delivery.deliveryLocation.address.countryCode.identificationCode.trim() !== '';\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-61',\n level: 'fatal',\n message:\n '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.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br61(document: PeppolDocument): SchematronRuleResult {\n const passed = (document.paymentMeans ?? []).every(\n pm =>\n (pm.paymentMeansCode?.code !== '30' && pm.paymentMeansCode?.code !== '58') ||\n (typeof pm.payeeFinancialAccount?.id === 'string' && pm.payeeFinancialAccount.id.trim() !== '')\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-62',\n level: 'fatal',\n message: 'The Seller electronic address (BT-34) shall have a Scheme identifier.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br62(document: PeppolDocument): SchematronRuleResult {\n const passed =\n typeof document.accountingSupplierParty.endpointId?.schemeId === 'string' && document.accountingSupplierParty.endpointId.schemeId.trim() !== '';\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-63',\n level: 'fatal',\n message: 'The Buyer electronic address (BT-49) shall have a Scheme identifier.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br63(document: PeppolDocument): SchematronRuleResult {\n const passed =\n typeof document.accountingCustomerParty.endpointId?.schemeId === 'string' && document.accountingCustomerParty.endpointId.schemeId.trim() !== '';\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-64',\n level: 'fatal',\n message: 'The Item standard identifier (BT-157) shall have a Scheme identifier.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br64(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(\n line => !line.item.standardItemIdentification || typeof line.item.standardItemIdentification.id.schemeId === 'string'\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-65',\n level: 'fatal',\n message: 'The Item classification identifier (BT-158) shall have a Scheme identifier.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931Br65(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(line =>\n (line.item.commodityClassifications ?? []).every(cc => typeof cc.itemClassification.listId === 'string')\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { noteSubjectCodeIsUncl4451, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-CL-08',\n level: 'fatal',\n message: 'Invoiced note subject code shall be coded using UNCL4451',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrCl08(document: PeppolDocument): SchematronRuleResult {\n const passed = noteSubjectCodeIsUncl4451(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-CO-03',\n level: 'fatal',\n message: 'Value added tax point date (BT-7) and Value added tax point date code (BT-8) are mutually exclusive.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrCo03(document: PeppolDocument): SchematronRuleResult {\n const passed = !document.taxPointDate || !document.invoicePeriod?.descriptionCode;\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-CO-04',\n level: 'fatal',\n message: 'Each Invoice line (BG-25) shall be categorized with an Invoiced item VAT category code (BT-151).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrCo04(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(\n line => typeof line.item.classifiedTaxCategory?.id === 'string' && line.item.classifiedTaxCategory.taxSchemeId.id.toUpperCase() === 'VAT'\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-CO-05',\n level: 'fatal',\n message: 'Document level allowance reason code (BT-98) and Document level allowance reason (BT-97) shall indicate the same type of allowance.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrCo05(document: PeppolDocument): SchematronRuleResult {\n void document;\n return schematronResult(rule, true);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-CO-06',\n level: 'fatal',\n message: 'Document level charge reason code (BT-105) and Document level charge reason (BT-104) shall indicate the same type of charge.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrCo06(document: PeppolDocument): SchematronRuleResult {\n void document;\n return schematronResult(rule, true);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-CO-07',\n level: 'fatal',\n message: 'Invoice line allowance reason code (BT-140) and Invoice line allowance reason (BT-139) shall indicate the same type of allowance reason.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrCo07(document: PeppolDocument): SchematronRuleResult {\n void document;\n return schematronResult(rule, true);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-CO-08',\n level: 'fatal',\n message: 'Invoice line charge reason code (BT-145) and Invoice line charge reason (BT-144) shall indicate the same type of charge reason.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrCo08(document: PeppolDocument): SchematronRuleResult {\n void document;\n return schematronResult(rule, true);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { allVatCompanyIdsHaveValidPrefix, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-CO-09',\n level: 'fatal',\n message:\n 'The Seller VAT identifier (BT-31), the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48) shall have a prefix in accordance with ISO code ISO 3166-1 alpha-2 by which the country of issue may be identified. Nevertheless, Greece may use the prefix ‘EL’.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrCo09(document: PeppolDocument): SchematronRuleResult {\n const passed = allVatCompanyIdsHaveValidPrefix(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { amountsEqual, getLines, round2, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-CO-10',\n level: 'fatal',\n message: 'Sum of Invoice line net amount (BT-106) = Σ Invoice line net amount (BT-131).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrCo10(document: PeppolDocument): SchematronRuleResult {\n const passed = amountsEqual(\n round2(document.legalMonetaryTotal.lineExtensionAmount.value),\n round2(getLines(document).reduce((sum, line) => sum + line.lineExtensionAmount.value, 0))\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { amountsEqual, round2, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-CO-11',\n level: 'fatal',\n message: 'Sum of allowances on document level (BT-107) = Σ Document level allowance amount (BT-92).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrCo11(document: PeppolDocument): SchematronRuleResult {\n const passed = (() => {\n const allowances = (document.allowanceCharges ?? []).filter(ac => !ac.chargeIndicator);\n if (!document.legalMonetaryTotal.allowanceTotalAmount) {\n return allowances.length === 0;\n }\n return amountsEqual(\n round2(document.legalMonetaryTotal.allowanceTotalAmount.value),\n round2(allowances.reduce((sum, ac) => sum + (ac.amount?.value ?? 0), 0))\n );\n })();\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { amountsEqual, round2, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-CO-12',\n level: 'fatal',\n message: 'Sum of charges on document level (BT-108) = Σ Document level charge amount (BT-99).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrCo12(document: PeppolDocument): SchematronRuleResult {\n const passed = (() => {\n const charges = (document.allowanceCharges ?? []).filter(ac => ac.chargeIndicator);\n if (!document.legalMonetaryTotal.chargeTotalAmount) {\n return charges.length === 0;\n }\n return amountsEqual(\n round2(document.legalMonetaryTotal.chargeTotalAmount.value),\n round2(charges.reduce((sum, ac) => sum + (ac.amount?.value ?? 0), 0))\n );\n })();\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { amountsEqual, round2, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-CO-13',\n level: 'fatal',\n message:\n 'Invoice total amount without VAT (BT-109) = Σ Invoice line net amount (BT-131) - Sum of allowances on document level (BT-107) + Sum of charges on document level (BT-108).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrCo13(document: PeppolDocument): SchematronRuleResult {\n const passed = (() => {\n const total = document.legalMonetaryTotal;\n const allowance = total.allowanceTotalAmount?.value ?? 0;\n const charge = total.chargeTotalAmount?.value ?? 0;\n return amountsEqual(round2(total.taxExclusiveAmount.value), round2(total.lineExtensionAmount.value + charge - allowance));\n })();\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { amountsEqual, round2, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-CO-14',\n level: 'fatal',\n message: 'Invoice total VAT amount (BT-110) = Σ VAT category tax amount (BT-117).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrCo14(document: PeppolDocument): SchematronRuleResult {\n const passed = document.taxTotals.every(\n total =>\n (total.taxSubtotals?.length ?? 0) === 0 ||\n amountsEqual(round2(total.taxAmount.value), round2((total.taxSubtotals ?? []).reduce((sum, st) => sum + st.taxAmount.value, 0)))\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { amountsEqual, round2, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-CO-15',\n level: 'fatal',\n message: 'Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrCo15(document: PeppolDocument): SchematronRuleResult {\n const passed = (() => {\n const taxTotal = document.taxTotals.find(total => total.taxAmount.currencyId === document.documentCurrencyCode);\n if (!taxTotal) {\n return false;\n }\n if (document.taxTotals.filter(total => total.taxAmount.currencyId === document.documentCurrencyCode).length !== 1) {\n return false;\n }\n return amountsEqual(\n round2(document.legalMonetaryTotal.taxInclusiveAmount.value),\n round2(document.legalMonetaryTotal.taxExclusiveAmount.value + taxTotal.taxAmount.value)\n );\n })();\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { amountsEqual, round2, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-CO-16',\n level: 'fatal',\n message: 'Amount due for payment (BT-115) = Invoice total amount with VAT (BT-112) -Paid amount (BT-113) +Rounding amount (BT-114).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrCo16(document: PeppolDocument): SchematronRuleResult {\n const passed = (() => {\n const total = document.legalMonetaryTotal;\n const prepaid = total.prepaidAmount?.value ?? 0;\n const rounding = total.payableRoundingAmount?.value ?? 0;\n return amountsEqual(round2(total.payableAmount.value - rounding), round2(total.taxInclusiveAmount.value - prepaid));\n })();\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { vatCategoryTaxAmountMatchesRate, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-CO-17',\n level: 'fatal',\n message: 'VAT category tax amount (BT-117) = VAT category taxable amount (BT-116) x (VAT category rate (BT-119) / 100), rounded to two decimals.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrCo17(document: PeppolDocument): SchematronRuleResult {\n const passed = document.taxTotals.every(total => (total.taxSubtotals ?? []).every(st => vatCategoryTaxAmountMatchesRate(st)));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-CO-18',\n level: 'fatal',\n message: 'An Invoice shall at least have one VAT breakdown group (BG-23).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrCo18(document: PeppolDocument): SchematronRuleResult {\n const passed = document.taxTotals.some(total => (total.taxSubtotals?.length ?? 0) > 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyPeriodHasDateOrDescriptionCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-CO-19',\n level: 'fatal',\n message:\n 'If Invoicing period (BG-14) is used, the Invoicing period start date (BT-73) or the Invoicing period end date (BT-74) shall be filled, or both.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrCo19(document: PeppolDocument): SchematronRuleResult {\n const passed = everyPeriodHasDateOrDescriptionCode(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyPeriodHasDateOrDescriptionCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-CO-20',\n level: 'fatal',\n message:\n 'If Invoice line period (BG-26) is used, the Invoice line period start date (BT-134) or the Invoice line period end date (BT-135) shall be filled, or both.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrCo20(document: PeppolDocument): SchematronRuleResult {\n const passed = everyPeriodHasDateOrDescriptionCode(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-CO-21',\n level: 'fatal',\n message:\n 'Each Document level allowance (BG-20) shall contain a Document level allowance reason (BT-97) or a Document level allowance reason code (BT-98), or both.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrCo21(document: PeppolDocument): SchematronRuleResult {\n const passed = (document.allowanceCharges ?? [])\n .filter(ac => !ac.chargeIndicator)\n .every(ac => typeof ac.allowanceChargeReason === 'string' || typeof ac.allowanceChargeReasonCode === 'string');\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-CO-22',\n level: 'fatal',\n message:\n 'Each Document level charge (BG-21) shall contain a Document level charge reason (BT-104) or a Document level charge reason code (BT-105), or both.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrCo22(document: PeppolDocument): SchematronRuleResult {\n const passed = (document.allowanceCharges ?? [])\n .filter(ac => ac.chargeIndicator)\n .every(ac => typeof ac.allowanceChargeReason === 'string' || typeof ac.allowanceChargeReasonCode === 'string');\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-CO-23',\n level: 'fatal',\n message:\n 'Each Invoice line allowance (BG-27) shall contain an Invoice line allowance reason (BT-139) or an Invoice line allowance reason code (BT-140), or both.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrCo23(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(line =>\n (line.allowanceCharges ?? [])\n .filter(ac => !ac.chargeIndicator)\n .every(ac => typeof ac.allowanceChargeReason === 'string' || typeof ac.allowanceChargeReasonCode === 'string')\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-CO-24',\n level: 'fatal',\n message:\n 'Each Invoice line charge (BG-28) shall contain an Invoice line charge reason (BT-144) or an Invoice line charge reason code (BT-145), or both.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrCo24(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(line =>\n (line.allowanceCharges ?? [])\n .filter(ac => ac.chargeIndicator)\n .every(ac => typeof ac.allowanceChargeReason === 'string' || typeof ac.allowanceChargeReasonCode === 'string')\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-CO-25',\n level: 'fatal',\n message:\n 'In case the Amount due for payment (BT-115) is positive, either the Payment due date (BT-9) or the Payment terms (BT-20) shall be present.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrCo25(document: PeppolDocument): SchematronRuleResult {\n const passed =\n document.legalMonetaryTotal.payableAmount.value <= 0 || typeof document.dueDate === 'string' || typeof document.paymentTerms?.note === 'string';\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasSellerLegalCompanyId, hasSellerTaxIdentifier, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-CO-26',\n level: 'fatal',\n message:\n 'In order for the buyer to automatically identify a supplier, the Seller identifier (BT-29), the Seller legal registration identifier (BT-30) and/or the Seller VAT identifier (BT-31) shall be present.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrCo26(document: PeppolDocument): SchematronRuleResult {\n const passed =\n hasSellerTaxIdentifier(document) ||\n typeof document.accountingSupplierParty.partyIdentification?.id.id === 'string' ||\n hasSellerLegalCompanyId(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasMaxTwoDecimals, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-DEC-01',\n level: 'fatal',\n message: 'The allowed maximum number of decimals for the Document level allowance amount (BT-92) is 2.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrDec01(document: PeppolDocument): SchematronRuleResult {\n const passed = (document.allowanceCharges ?? []).filter(ac => !ac.chargeIndicator).every(ac => !ac.amount || hasMaxTwoDecimals(ac.amount.value));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasMaxTwoDecimals, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-DEC-02',\n level: 'fatal',\n message: 'The allowed maximum number of decimals for the Document level allowance base amount (BT-93) is 2.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrDec02(document: PeppolDocument): SchematronRuleResult {\n const passed = (document.allowanceCharges ?? [])\n .filter(ac => !ac.chargeIndicator)\n .every(ac => !ac.baseAmount || hasMaxTwoDecimals(ac.baseAmount.value));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasMaxTwoDecimals, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-DEC-05',\n level: 'fatal',\n message: 'The allowed maximum number of decimals for the Document level charge amount (BT-99) is 2.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrDec05(document: PeppolDocument): SchematronRuleResult {\n const passed = (document.allowanceCharges ?? []).filter(ac => ac.chargeIndicator).every(ac => !ac.amount || hasMaxTwoDecimals(ac.amount.value));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasMaxTwoDecimals, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-DEC-06',\n level: 'fatal',\n message: 'The allowed maximum number of decimals for the Document level charge base amount (BT-100) is 2.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrDec06(document: PeppolDocument): SchematronRuleResult {\n const passed = (document.allowanceCharges ?? [])\n .filter(ac => ac.chargeIndicator)\n .every(ac => !ac.baseAmount || hasMaxTwoDecimals(ac.baseAmount.value));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasMaxTwoDecimals, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-DEC-09',\n level: 'fatal',\n message: 'The allowed maximum number of decimals for the Sum of Invoice line net amount (BT-106) is 2.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrDec09(document: PeppolDocument): SchematronRuleResult {\n const passed = !document.legalMonetaryTotal.lineExtensionAmount || hasMaxTwoDecimals(document.legalMonetaryTotal.lineExtensionAmount.value);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasMaxTwoDecimals, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-DEC-10',\n level: 'fatal',\n message: 'The allowed maximum number of decimals for the Sum of allowanced on document level (BT-107) is 2.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrDec10(document: PeppolDocument): SchematronRuleResult {\n const passed = !document.legalMonetaryTotal.allowanceTotalAmount || hasMaxTwoDecimals(document.legalMonetaryTotal.allowanceTotalAmount.value);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasMaxTwoDecimals, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-DEC-11',\n level: 'fatal',\n message: 'The allowed maximum number of decimals for the Sum of charges on document level (BT-108) is 2.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrDec11(document: PeppolDocument): SchematronRuleResult {\n const passed = !document.legalMonetaryTotal.chargeTotalAmount || hasMaxTwoDecimals(document.legalMonetaryTotal.chargeTotalAmount.value);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasMaxTwoDecimals, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-DEC-12',\n level: 'fatal',\n message: 'The allowed maximum number of decimals for the Invoice total amount without VAT (BT-109) is 2.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrDec12(document: PeppolDocument): SchematronRuleResult {\n const passed = !document.legalMonetaryTotal.taxExclusiveAmount || hasMaxTwoDecimals(document.legalMonetaryTotal.taxExclusiveAmount.value);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasMaxTwoDecimals, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-DEC-13',\n level: 'fatal',\n message: 'The allowed maximum number of decimals for the Invoice total VAT amount (BT-110) is 2.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrDec13(document: PeppolDocument): SchematronRuleResult {\n const passed = document.taxTotals.every(\n total => total.taxAmount.currencyId !== document.documentCurrencyCode || hasMaxTwoDecimals(total.taxAmount.value)\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasMaxTwoDecimals, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-DEC-14',\n level: 'fatal',\n message: 'The allowed maximum number of decimals for the Invoice total amount with VAT (BT-112) is 2.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrDec14(document: PeppolDocument): SchematronRuleResult {\n const passed = !document.legalMonetaryTotal.taxInclusiveAmount || hasMaxTwoDecimals(document.legalMonetaryTotal.taxInclusiveAmount.value);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasMaxTwoDecimals, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-DEC-15',\n level: 'fatal',\n message: 'The allowed maximum number of decimals for the Invoice total VAT amount in accounting currency (BT-111) is 2.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrDec15(document: PeppolDocument): SchematronRuleResult {\n const passed =\n !document.taxCurrencyCode ||\n document.taxTotals.every(total => total.taxAmount.currencyId !== document.taxCurrencyCode || hasMaxTwoDecimals(total.taxAmount.value));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasMaxTwoDecimals, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-DEC-16',\n level: 'fatal',\n message: 'The allowed maximum number of decimals for the Paid amount (BT-113) is 2.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrDec16(document: PeppolDocument): SchematronRuleResult {\n const passed = !document.legalMonetaryTotal.prepaidAmount || hasMaxTwoDecimals(document.legalMonetaryTotal.prepaidAmount.value);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasMaxTwoDecimals, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-DEC-17',\n level: 'fatal',\n message: 'The allowed maximum number of decimals for the Rounding amount (BT-114) is 2.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrDec17(document: PeppolDocument): SchematronRuleResult {\n const passed = !document.legalMonetaryTotal.payableRoundingAmount || hasMaxTwoDecimals(document.legalMonetaryTotal.payableRoundingAmount.value);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasMaxTwoDecimals, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-DEC-18',\n level: 'fatal',\n message: 'The allowed maximum number of decimals for the Amount due for payment (BT-115) is 2.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrDec18(document: PeppolDocument): SchematronRuleResult {\n const passed = !document.legalMonetaryTotal.payableAmount || hasMaxTwoDecimals(document.legalMonetaryTotal.payableAmount.value);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasMaxTwoDecimals, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-DEC-19',\n level: 'fatal',\n message: 'The allowed maximum number of decimals for the VAT category taxable amount (BT-116) is 2.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrDec19(document: PeppolDocument): SchematronRuleResult {\n const passed = document.taxTotals.every(total => (total.taxSubtotals ?? []).every(st => hasMaxTwoDecimals(st.taxableAmount.value)));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasMaxTwoDecimals, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-DEC-20',\n level: 'fatal',\n message: 'The allowed maximum number of decimals for the VAT category tax amount (BT-117) is 2.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrDec20(document: PeppolDocument): SchematronRuleResult {\n const passed = document.taxTotals.every(total => (total.taxSubtotals ?? []).every(st => hasMaxTwoDecimals(st.taxAmount.value)));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, hasMaxTwoDecimals, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-DEC-23',\n level: 'fatal',\n message: 'The allowed maximum number of decimals for the Invoice line net amount (BT-131) is 2.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrDec23(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(line => hasMaxTwoDecimals(line.lineExtensionAmount.value));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, hasMaxTwoDecimals, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-DEC-24',\n level: 'fatal',\n message: 'The allowed maximum number of decimals for the Invoice line allowance amount (BT-136) is 2.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrDec24(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(line =>\n (line.allowanceCharges ?? []).filter(ac => !ac.chargeIndicator).every(ac => !ac.amount || hasMaxTwoDecimals(ac.amount.value))\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, hasMaxTwoDecimals, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-DEC-25',\n level: 'fatal',\n message: 'The allowed maximum number of decimals for the Invoice line allowance base amount (BT-137) is 2.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrDec25(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(line =>\n (line.allowanceCharges ?? []).filter(ac => !ac.chargeIndicator).every(ac => !ac.baseAmount || hasMaxTwoDecimals(ac.baseAmount.value))\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, hasMaxTwoDecimals, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-DEC-27',\n level: 'fatal',\n message: 'The allowed maximum number of decimals for the Invoice line charge amount (BT-141) is 2.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrDec27(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(line =>\n (line.allowanceCharges ?? []).filter(ac => ac.chargeIndicator).every(ac => !ac.amount || hasMaxTwoDecimals(ac.amount.value))\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, hasMaxTwoDecimals, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-DEC-28',\n level: 'fatal',\n message: 'The allowed maximum number of decimals for the Invoice line charge base amount (BT-142) is 2.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrDec28(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(line =>\n (line.allowanceCharges ?? []).filter(ac => ac.chargeIndicator).every(ac => !ac.baseAmount || hasMaxTwoDecimals(ac.baseAmount.value))\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasAnyVatCategoryCode, countVatBreakdownCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-E-01',\n level: 'fatal',\n message:\n 'An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is \"Exempt from VAT\" shall contain exactly one VAT breakdown (BG-23) with the VAT category code (BT-118) equal to \"Exempt from VAT\".',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrE01(document: PeppolDocument): SchematronRuleResult {\n const passed = !hasAnyVatCategoryCode(document, 'E') || countVatBreakdownCode(document, 'E') === 1;\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasLineVatCategoryCode, hasSellerTaxIdentifier, hasTaxRepresentativeVatCompanyId, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-E-02',\n level: 'fatal',\n message:\n 'An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is \"Exempt from VAT\" 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).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrE02(document: PeppolDocument): SchematronRuleResult {\n const passed = !hasLineVatCategoryCode(document, 'E') || hasSellerTaxIdentifier(document) || hasTaxRepresentativeVatCompanyId(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport {\n hasDocumentAllowanceVatCategoryCode,\n hasSellerTaxIdentifier,\n hasTaxRepresentativeVatCompanyId,\n schematronResult,\n} from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-E-03',\n level: 'fatal',\n message:\n 'An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is \"Exempt from VAT\" 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).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrE03(document: PeppolDocument): SchematronRuleResult {\n const passed =\n !hasDocumentAllowanceVatCategoryCode(document, 'E') || hasSellerTaxIdentifier(document) || hasTaxRepresentativeVatCompanyId(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasDocumentChargeVatCategoryCode, hasSellerTaxIdentifier, hasTaxRepresentativeVatCompanyId, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-E-04',\n level: 'fatal',\n message:\n 'An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is \"Exempt from VAT\" 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).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrE04(document: PeppolDocument): SchematronRuleResult {\n const passed = !hasDocumentChargeVatCategoryCode(document, 'E') || hasSellerTaxIdentifier(document) || hasTaxRepresentativeVatCompanyId(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyLineCategoryPercent, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-E-05',\n level: 'fatal',\n message:\n 'In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is \"Exempt from VAT\", the Invoiced item VAT rate (BT-152) shall be 0 (zero).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrE05(document: PeppolDocument): SchematronRuleResult {\n const passed = everyLineCategoryPercent(document, 'E', percent => percent === 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyDocumentAllowanceCategoryPercent, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-E-06',\n level: 'fatal',\n message:\n 'In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is \"Exempt from VAT\", the Document level allowance VAT rate (BT-96) shall be 0 (zero).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrE06(document: PeppolDocument): SchematronRuleResult {\n const passed = everyDocumentAllowanceCategoryPercent(document, 'E', percent => percent === 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyDocumentChargeCategoryPercent, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-E-07',\n level: 'fatal',\n message:\n 'In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is \"Exempt from VAT\", the Document level charge VAT rate (BT-103) shall be 0 (zero).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrE07(document: PeppolDocument): SchematronRuleResult {\n const passed = everyDocumentChargeCategoryPercent(document, 'E', percent => percent === 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { amountsEqual, getTaxSubtotalsWithCode, categoryTaxableSum, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-E-08',\n level: 'fatal',\n message:\n 'In a VAT breakdown (BG-23) where the VAT category code (BT-118) is \"Exempt from VAT\" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are \"Exempt from VAT\".',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrE08(document: PeppolDocument): SchematronRuleResult {\n const passed = getTaxSubtotalsWithCode(document, 'E').every(st => amountsEqual(st.taxableAmount, categoryTaxableSum(document, 'E')));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getTaxSubtotalsWithCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-E-09',\n level: 'fatal',\n message:\n 'The VAT category tax amount (BT-117) In a VAT breakdown (BG-23) where the VAT category code (BT-118) equals \"Exempt from VAT\" shall equal 0 (zero).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrE09(document: PeppolDocument): SchematronRuleResult {\n const passed = getTaxSubtotalsWithCode(document, 'E').every(st => st.taxAmount === 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getTaxSubtotalsWithCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-E-10',\n level: 'fatal',\n message:\n 'A VAT breakdown (BG-23) with VAT Category code (BT-118) \"Exempt from VAT\" shall have a VAT exemption reason code (BT-121) or a VAT exemption reason text (BT-120).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrE10(document: PeppolDocument): SchematronRuleResult {\n const passed = getTaxSubtotalsWithCode(document, 'E').every(\n st => typeof st.taxCategory.taxExemptionReason === 'string' || typeof st.taxCategory.taxExemptionReasonCode === 'string'\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasAnyVatCategoryCode, countVatBreakdownCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-G-01',\n level: 'fatal',\n message:\n 'An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is \"Export outside the EU\" shall contain in the VAT breakdown (BG-23) exactly one VAT category code (BT-118) equal with \"Export outside the EU\".',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrG01(document: PeppolDocument): SchematronRuleResult {\n const passed = !hasAnyVatCategoryCode(document, 'G') || countVatBreakdownCode(document, 'G') === 1;\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasLineVatCategoryCode, hasSellerVatCompanyId, hasTaxRepresentativeVatCompanyId, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-G-02',\n level: 'fatal',\n message:\n 'An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is \"Export outside the EU\" shall contain the Seller VAT Identifier (BT-31) or the Seller tax representative VAT identifier (BT-63).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrG02(document: PeppolDocument): SchematronRuleResult {\n const passed = !hasLineVatCategoryCode(document, 'G') || hasSellerVatCompanyId(document) || hasTaxRepresentativeVatCompanyId(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasDocumentAllowanceVatCategoryCode, hasSellerVatCompanyId, hasTaxRepresentativeVatCompanyId, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-G-03',\n level: 'fatal',\n message:\n 'An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is \"Export outside the EU\" shall contain the Seller VAT Identifier (BT-31) or the Seller tax representative VAT identifier (BT-63).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrG03(document: PeppolDocument): SchematronRuleResult {\n const passed = !hasDocumentAllowanceVatCategoryCode(document, 'G') || hasSellerVatCompanyId(document) || hasTaxRepresentativeVatCompanyId(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasDocumentChargeVatCategoryCode, hasSellerVatCompanyId, hasTaxRepresentativeVatCompanyId, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-G-04',\n level: 'fatal',\n message:\n 'An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is \"Export outside the EU\" shall contain the Seller VAT Identifier (BT-31) or the Seller tax representative VAT identifier (BT-63).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrG04(document: PeppolDocument): SchematronRuleResult {\n const passed = !hasDocumentChargeVatCategoryCode(document, 'G') || hasSellerVatCompanyId(document) || hasTaxRepresentativeVatCompanyId(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyLineCategoryPercent, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-G-05',\n level: 'fatal',\n message:\n 'In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is \"Export outside the EU\" the Invoiced item VAT rate (BT-152) shall be 0 (zero).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrG05(document: PeppolDocument): SchematronRuleResult {\n const passed = everyLineCategoryPercent(document, 'G', percent => percent === 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyDocumentAllowanceCategoryPercent, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-G-06',\n level: 'fatal',\n message:\n 'In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is \"Export outside the EU\" the Document level allowance VAT rate (BT-96) shall be 0 (zero).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrG06(document: PeppolDocument): SchematronRuleResult {\n const passed = everyDocumentAllowanceCategoryPercent(document, 'G', percent => percent === 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyDocumentChargeCategoryPercent, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-G-07',\n level: 'fatal',\n message:\n 'In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is \"Export outside the EU\" the Document level charge VAT rate (BT-103) shall be 0 (zero).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrG07(document: PeppolDocument): SchematronRuleResult {\n const passed = everyDocumentChargeCategoryPercent(document, 'G', percent => percent === 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { amountsEqual, getTaxSubtotalsWithCode, categoryTaxableSum, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-G-08',\n level: 'fatal',\n message:\n 'In a VAT breakdown (BG-23) where the VAT category code (BT-118) is \"Export outside the EU\" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are \"Export outside the EU\".',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrG08(document: PeppolDocument): SchematronRuleResult {\n const passed = getTaxSubtotalsWithCode(document, 'G').every(st => amountsEqual(st.taxableAmount, categoryTaxableSum(document, 'G')));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getTaxSubtotalsWithCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-G-09',\n level: 'fatal',\n message:\n 'The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where the VAT category code (BT-118) is \"Export outside the EU\" shall be 0 (zero).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrG09(document: PeppolDocument): SchematronRuleResult {\n const passed = getTaxSubtotalsWithCode(document, 'G').every(st => st.taxAmount === 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getTaxSubtotalsWithCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-G-10',\n level: 'fatal',\n message:\n 'A VAT breakdown (BG-23) with the VAT Category code (BT-118) \"Export outside the EU\" shall have a VAT exemption reason code (BT-121), meaning \"Export outside the EU\" or the VAT exemption reason text (BT-120) \"Export outside the EU\" (or the equivalent standard text in another language).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrG10(document: PeppolDocument): SchematronRuleResult {\n const passed = getTaxSubtotalsWithCode(document, 'G').every(\n st => typeof st.taxCategory.taxExemptionReason === 'string' || typeof st.taxCategory.taxExemptionReasonCode === 'string'\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasAnyVatCategoryCode, countVatBreakdownCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-IC-01',\n level: 'fatal',\n message:\n 'An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is \"Intra-community supply\" shall contain in the VAT breakdown (BG-23) exactly one VAT category code (BT-118) equal with \"Intra-community supply\".',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrIc01(document: PeppolDocument): SchematronRuleResult {\n const passed = !hasAnyVatCategoryCode(document, 'K') || countVatBreakdownCode(document, 'K') === 1;\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport {\n hasBuyerVatCompanyId,\n hasLineVatCategoryCode,\n hasSellerVatCompanyId,\n hasTaxRepresentativeVatCompanyId,\n schematronResult,\n} from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-IC-02',\n level: 'fatal',\n message:\n 'An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is \"Intra-community supply\" shall contain the Seller VAT Identifier (BT-31) or the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrIc02(document: PeppolDocument): SchematronRuleResult {\n const passed =\n !hasLineVatCategoryCode(document, 'K') ||\n ((hasSellerVatCompanyId(document) || hasTaxRepresentativeVatCompanyId(document)) && hasBuyerVatCompanyId(document));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport {\n hasBuyerVatCompanyId,\n hasDocumentAllowanceVatCategoryCode,\n hasSellerVatCompanyId,\n hasTaxRepresentativeVatCompanyId,\n schematronResult,\n} from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-IC-03',\n level: 'fatal',\n message:\n 'An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is \"Intra-community supply\" shall contain the Seller VAT Identifier (BT-31) or the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrIc03(document: PeppolDocument): SchematronRuleResult {\n const passed =\n !hasDocumentAllowanceVatCategoryCode(document, 'K') ||\n ((hasSellerVatCompanyId(document) || hasTaxRepresentativeVatCompanyId(document)) && hasBuyerVatCompanyId(document));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport {\n hasBuyerVatCompanyId,\n hasDocumentChargeVatCategoryCode,\n hasSellerVatCompanyId,\n hasTaxRepresentativeVatCompanyId,\n schematronResult,\n} from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-IC-04',\n level: 'fatal',\n message:\n 'An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is \"Intra-community supply\" shall contain the Seller VAT Identifier (BT-31) or the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrIc04(document: PeppolDocument): SchematronRuleResult {\n const passed =\n !hasDocumentChargeVatCategoryCode(document, 'K') ||\n ((hasSellerVatCompanyId(document) || hasTaxRepresentativeVatCompanyId(document)) && hasBuyerVatCompanyId(document));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyLineCategoryPercent, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-IC-05',\n level: 'fatal',\n message:\n 'In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is \"Intracommunity supply\" the Invoiced item VAT rate (BT-152) shall be 0 (zero).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrIc05(document: PeppolDocument): SchematronRuleResult {\n const passed = everyLineCategoryPercent(document, 'K', percent => percent === 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyDocumentAllowanceCategoryPercent, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-IC-06',\n level: 'fatal',\n message:\n 'In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is \"Intra-community supply\" the Document level allowance VAT rate (BT-96) shall be 0 (zero).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrIc06(document: PeppolDocument): SchematronRuleResult {\n const passed = everyDocumentAllowanceCategoryPercent(document, 'K', percent => percent === 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyDocumentChargeCategoryPercent, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-IC-07',\n level: 'fatal',\n message:\n 'In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is \"Intra-community supply\" the Document level charge VAT rate (BT-103) shall be 0 (zero).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrIc07(document: PeppolDocument): SchematronRuleResult {\n const passed = everyDocumentChargeCategoryPercent(document, 'K', percent => percent === 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { amountsEqual, getTaxSubtotalsWithCode, categoryTaxableSum, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-IC-08',\n level: 'fatal',\n message:\n 'In a VAT breakdown (BG-23) where the VAT category code (BT-118) is \"Intra-community supply\" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are \"Intra-community supply\".',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrIc08(document: PeppolDocument): SchematronRuleResult {\n const passed = getTaxSubtotalsWithCode(document, 'K').every(st => amountsEqual(st.taxableAmount, categoryTaxableSum(document, 'K')));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getTaxSubtotalsWithCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-IC-09',\n level: 'fatal',\n message:\n 'The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where the VAT category code (BT-118) is \"Intra-community supply\" shall be 0 (zero).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrIc09(document: PeppolDocument): SchematronRuleResult {\n const passed = getTaxSubtotalsWithCode(document, 'K').every(st => st.taxAmount === 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getTaxSubtotalsWithCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-IC-10',\n level: 'fatal',\n message:\n 'A VAT breakdown (BG-23) with the VAT Category code (BT-118) \"Intra-community supply\" shall have a VAT exemption reason code (BT-121), meaning \"Intra-community supply\" or the VAT exemption reason text (BT-120) \"Intra-community supply\" (or the equivalent standard text in another language).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrIc10(document: PeppolDocument): SchematronRuleResult {\n const passed = getTaxSubtotalsWithCode(document, 'K').every(\n st => typeof st.taxCategory.taxExemptionReason === 'string' || typeof st.taxCategory.taxExemptionReasonCode === 'string'\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasVatBreakdownCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-IC-11',\n level: 'fatal',\n message:\n 'In an Invoice with a VAT breakdown (BG-23) where the VAT category code (BT-118) is \"Intra-community supply\" the Actual delivery date (BT-72) or the Invoicing period (BG-14) shall not be blank.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrIc11(document: PeppolDocument): SchematronRuleResult {\n const passed =\n !hasVatBreakdownCode(document, 'K') ||\n (typeof document.delivery?.actualDeliveryDate === 'string' && document.delivery.actualDeliveryDate.trim() !== '') ||\n typeof document.invoicePeriod === 'object';\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasVatBreakdownCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-IC-12',\n level: 'fatal',\n message:\n 'In an Invoice with a VAT breakdown (BG-23) where the VAT category code (BT-118) is \"Intra-community supply\" the Deliver to country code (BT-80) shall not be blank.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrIc12(document: PeppolDocument): SchematronRuleResult {\n const passed =\n !hasVatBreakdownCode(document, 'K') ||\n (typeof document.delivery?.deliveryLocation?.address?.countryCode.identificationCode === 'string' &&\n document.delivery.deliveryLocation.address.countryCode.identificationCode.trim() !== '');\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasAnyVatCategoryCode, countVatBreakdownCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-O-01',\n level: 'fatal',\n message:\n 'An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is \"Not subject to VAT\" shall contain exactly one VAT breakdown group (BG-23) with the VAT category code (BT-118) equal to \"Not subject to VAT\".',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrO01(document: PeppolDocument): SchematronRuleResult {\n const passed = !hasAnyVatCategoryCode(document, 'O') || countVatBreakdownCode(document, 'O') === 1;\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport {\n hasBuyerVatCompanyId,\n hasLineVatCategoryCode,\n hasSellerVatCompanyId,\n hasTaxRepresentativeVatCompanyId,\n schematronResult,\n} from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-O-02',\n level: 'fatal',\n message:\n 'An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is \"Not subject to VAT\" shall not contain the Seller VAT identifier (BT-31), the Seller tax representative VAT identifier (BT-63) or the Buyer VAT identifier (BT-48).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrO02(document: PeppolDocument): SchematronRuleResult {\n const passed =\n !hasLineVatCategoryCode(document, 'O') ||\n (!hasSellerVatCompanyId(document) && !hasTaxRepresentativeVatCompanyId(document) && !hasBuyerVatCompanyId(document));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport {\n hasBuyerVatCompanyId,\n hasDocumentAllowanceVatCategoryCode,\n hasSellerVatCompanyId,\n hasTaxRepresentativeVatCompanyId,\n schematronResult,\n} from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-O-03',\n level: 'fatal',\n message:\n 'An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is \"Not subject to VAT\" shall not contain the Seller VAT identifier (BT-31), the Seller tax representative VAT identifier (BT-63) or the Buyer VAT identifier (BT-48).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrO03(document: PeppolDocument): SchematronRuleResult {\n const passed =\n !hasDocumentAllowanceVatCategoryCode(document, 'O') ||\n (!hasSellerVatCompanyId(document) && !hasTaxRepresentativeVatCompanyId(document) && !hasBuyerVatCompanyId(document));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport {\n hasBuyerVatCompanyId,\n hasDocumentChargeVatCategoryCode,\n hasSellerVatCompanyId,\n hasTaxRepresentativeVatCompanyId,\n schematronResult,\n} from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-O-04',\n level: 'fatal',\n message:\n 'An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is \"Not subject to VAT\" shall not contain the Seller VAT identifier (BT-31), the Seller tax representative VAT identifier (BT-63) or the Buyer VAT identifier (BT-48).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrO04(document: PeppolDocument): SchematronRuleResult {\n const passed =\n !hasDocumentChargeVatCategoryCode(document, 'O') ||\n (!hasSellerVatCompanyId(document) && !hasTaxRepresentativeVatCompanyId(document) && !hasBuyerVatCompanyId(document));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyLineCategoryPercent, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-O-05',\n level: 'fatal',\n message:\n 'An Invoice line (BG-25) where the VAT category code (BT-151) is \"Not subject to VAT\" shall not contain an Invoiced item VAT rate (BT-152).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrO05(document: PeppolDocument): SchematronRuleResult {\n const passed = everyLineCategoryPercent(document, 'O', percent => percent === undefined);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyDocumentAllowanceCategoryPercent, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-O-06',\n level: 'fatal',\n message:\n 'A Document level allowance (BG-20) where VAT category code (BT-95) is \"Not subject to VAT\" shall not contain a Document level allowance VAT rate (BT-96).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrO06(document: PeppolDocument): SchematronRuleResult {\n const passed = everyDocumentAllowanceCategoryPercent(document, 'O', percent => percent === undefined);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyDocumentChargeCategoryPercent, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-O-07',\n level: 'fatal',\n message:\n 'A Document level charge (BG-21) where the VAT category code (BT-102) is \"Not subject to VAT\" shall not contain a Document level charge VAT rate (BT-103).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrO07(document: PeppolDocument): SchematronRuleResult {\n const passed = everyDocumentChargeCategoryPercent(document, 'O', percent => percent === undefined);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { amountsEqual, getTaxSubtotalsWithCode, categoryTaxableSum, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-O-08',\n level: 'fatal',\n message:\n 'In a VAT breakdown (BG-23) where the VAT category code (BT-118) is \" Not subject to VAT\" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are \"Not subject to VAT\".',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrO08(document: PeppolDocument): SchematronRuleResult {\n const passed = getTaxSubtotalsWithCode(document, 'O').every(st => amountsEqual(st.taxableAmount, categoryTaxableSum(document, 'O')));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getTaxSubtotalsWithCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-O-09',\n level: 'fatal',\n message:\n 'The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where the VAT category code (BT-118) is \"Not subject to VAT\" shall be 0 (zero).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrO09(document: PeppolDocument): SchematronRuleResult {\n const passed = getTaxSubtotalsWithCode(document, 'O').every(st => st.taxAmount === 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getTaxSubtotalsWithCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-O-10',\n level: 'fatal',\n message:\n 'A VAT breakdown (BG-23) with VAT Category code (BT-118) \" Not subject to VAT\" shall have a VAT exemption reason code (BT-121), meaning \" Not subject to VAT\" or a VAT exemption reason text (BT-120) \" Not subject to VAT\" (or the equivalent standard text in another language).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrO10(document: PeppolDocument): SchematronRuleResult {\n const passed = getTaxSubtotalsWithCode(document, 'O').every(\n st => typeof st.taxCategory.taxExemptionReason === 'string' || typeof st.taxCategory.taxExemptionReasonCode === 'string'\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasVatBreakdownCode, countAllVatBreakdowns, countVatBreakdownCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-O-11',\n level: 'fatal',\n message:\n 'An Invoice that contains a VAT breakdown group (BG-23) with a VAT category code (BT-118) \"Not subject to VAT\" shall not contain other VAT breakdown groups (BG-23).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrO11(document: PeppolDocument): SchematronRuleResult {\n const passed = !hasVatBreakdownCode(document, 'O') || countVatBreakdownCode(document, 'O') === countAllVatBreakdowns(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, hasVatBreakdownCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-O-12',\n level: 'fatal',\n message:\n 'An Invoice that contains a VAT breakdown group (BG-23) with a VAT category code (BT-118) \"Not subject to VAT\" shall not contain an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is not \"Not subject to VAT\".',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrO12(document: PeppolDocument): SchematronRuleResult {\n const passed = !hasVatBreakdownCode(document, 'O') || getLines(document).every(line => line.item.classifiedTaxCategory.id === 'O');\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasVatBreakdownCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-O-13',\n level: 'fatal',\n message:\n 'An Invoice that contains a VAT breakdown group (BG-23) with a VAT category code (BT-118) \"Not subject to VAT\" shall not contain Document level allowances (BG-20) where Document level allowance VAT category code (BT-95) is not \"Not subject to VAT\".',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrO13(document: PeppolDocument): SchematronRuleResult {\n const passed =\n !hasVatBreakdownCode(document, 'O') ||\n (document.allowanceCharges ?? []).every(ac => ac.chargeIndicator || ac.taxCategory?.id === undefined || ac.taxCategory.id === 'O');\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasVatBreakdownCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-O-14',\n level: 'fatal',\n message:\n 'An Invoice that contains a VAT breakdown group (BG-23) with a VAT category code (BT-118) \"Not subject to VAT\" shall not contain Document level charges (BG-21) where Document level charge VAT category code (BT-102) is not \"Not subject to VAT\".',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrO14(document: PeppolDocument): SchematronRuleResult {\n const passed =\n !hasVatBreakdownCode(document, 'O') ||\n (document.allowanceCharges ?? []).every(ac => !ac.chargeIndicator || ac.taxCategory?.id === undefined || ac.taxCategory.id === 'O');\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasAnyVatCategoryCode, countVatBreakdownCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-S-01',\n level: 'fatal',\n message:\n 'An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is \"Standard rated\" shall contain in the VAT breakdown (BG-23) at least one VAT category code (BT-118) equal with \"Standard rated\".',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrS01(document: PeppolDocument): SchematronRuleResult {\n const passed = !hasAnyVatCategoryCode(document, 'S') || countVatBreakdownCode(document, 'S') > 0;\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasLineVatCategoryCode, hasSellerTaxIdentifier, hasTaxRepresentativeVatCompanyId, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-S-02',\n level: 'fatal',\n message:\n 'An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is \"Standard rated\" 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).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrS02(document: PeppolDocument): SchematronRuleResult {\n const passed = !hasLineVatCategoryCode(document, 'S') || hasSellerTaxIdentifier(document) || hasTaxRepresentativeVatCompanyId(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport {\n hasDocumentAllowanceVatCategoryCode,\n hasSellerTaxIdentifier,\n hasTaxRepresentativeVatCompanyId,\n schematronResult,\n} from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-S-03',\n level: 'fatal',\n message:\n 'An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is \"Standard rated\" 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).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrS03(document: PeppolDocument): SchematronRuleResult {\n const passed =\n !hasDocumentAllowanceVatCategoryCode(document, 'S') || hasSellerTaxIdentifier(document) || hasTaxRepresentativeVatCompanyId(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasDocumentChargeVatCategoryCode, hasSellerTaxIdentifier, hasTaxRepresentativeVatCompanyId, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-S-04',\n level: 'fatal',\n message:\n 'An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is \"Standard rated\" 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).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrS04(document: PeppolDocument): SchematronRuleResult {\n const passed = !hasDocumentChargeVatCategoryCode(document, 'S') || hasSellerTaxIdentifier(document) || hasTaxRepresentativeVatCompanyId(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyLineCategoryPercent, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-S-05',\n level: 'fatal',\n message:\n 'In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is \"Standard rated\" the Invoiced item VAT rate (BT-152) shall be greater than zero.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrS05(document: PeppolDocument): SchematronRuleResult {\n const passed = everyLineCategoryPercent(document, 'S', percent => percent !== undefined && percent > 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyDocumentAllowanceCategoryPercent, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-S-06',\n level: 'fatal',\n message:\n 'In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is \"Standard rated\" the Document level allowance VAT rate (BT-96) shall be greater than zero.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrS06(document: PeppolDocument): SchematronRuleResult {\n const passed = everyDocumentAllowanceCategoryPercent(document, 'S', percent => percent !== undefined && percent > 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyDocumentChargeCategoryPercent, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-S-07',\n level: 'fatal',\n message:\n 'In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is \"Standard rated\" the Document level charge VAT rate (BT-103) shall be greater than zero.',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrS07(document: PeppolDocument): SchematronRuleResult {\n const passed = everyDocumentChargeCategoryPercent(document, 'S', percent => percent !== undefined && percent > 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyVatBreakdownTaxableMatchesRateSum, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-S-08',\n level: 'fatal',\n message:\n 'For each different value of VAT category rate (BT-119) where the VAT category code (BT-118) is \"Standard rated\", the VAT category taxable amount (BT-116) in a VAT breakdown (BG-23) shall equal the sum of Invoice line net amounts (BT-131) plus the sum of document level charge amounts (BT-99) minus the sum of document level allowance amounts (BT-92) where the VAT category code (BT-151, BT-102, BT-95) is \"Standard rated\" and the VAT rate (BT-152, BT-103, BT-96) equals the VAT category rate (BT-119).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrS08(document: PeppolDocument): SchematronRuleResult {\n const passed = everyVatBreakdownTaxableMatchesRateSum(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getTaxSubtotalsWithCode, round2, withinSlackOne, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-S-09',\n level: 'fatal',\n message:\n 'The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where VAT category code (BT-118) is \"Standard rated\" shall equal the VAT category taxable amount (BT-116) multiplied by the VAT category rate (BT-119).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrS09(document: PeppolDocument): SchematronRuleResult {\n const passed = getTaxSubtotalsWithCode(document, 'S').every(st =>\n withinSlackOne(st.taxAmount, round2((st.taxableAmount * (st.taxCategory.percent ?? 0)) / 100))\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getTaxSubtotalsWithCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-S-10',\n level: 'fatal',\n message:\n 'A VAT breakdown (BG-23) with VAT Category code (BT-118) \"Standard rate\" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrS10(document: PeppolDocument): SchematronRuleResult {\n const passed = getTaxSubtotalsWithCode(document, 'S').every(\n st => st.taxCategory.taxExemptionReason === undefined && st.taxCategory.taxExemptionReasonCode === undefined\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasAnyVatCategoryCode, countVatBreakdownCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-Z-01',\n level: 'fatal',\n message:\n 'An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is \"Zero rated\" shall contain in the VAT breakdown (BG-23) exactly one VAT category code (BT-118) equal with \"Zero rated\".',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrZ01(document: PeppolDocument): SchematronRuleResult {\n const passed = !hasAnyVatCategoryCode(document, 'Z') || countVatBreakdownCode(document, 'Z') === 1;\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasLineVatCategoryCode, hasSellerTaxIdentifier, hasTaxRepresentativeVatCompanyId, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-Z-02',\n level: 'fatal',\n message:\n 'An Invoice that contains an Invoice line where the Invoiced item VAT category code (BT-151) is \"Zero rated\" 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).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrZ02(document: PeppolDocument): SchematronRuleResult {\n const passed = !hasLineVatCategoryCode(document, 'Z') || hasSellerTaxIdentifier(document) || hasTaxRepresentativeVatCompanyId(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport {\n hasDocumentAllowanceVatCategoryCode,\n hasSellerTaxIdentifier,\n hasTaxRepresentativeVatCompanyId,\n schematronResult,\n} from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-Z-03',\n level: 'fatal',\n message:\n 'An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is \"Zero rated\" 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).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrZ03(document: PeppolDocument): SchematronRuleResult {\n const passed =\n !hasDocumentAllowanceVatCategoryCode(document, 'Z') || hasSellerTaxIdentifier(document) || hasTaxRepresentativeVatCompanyId(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { hasDocumentChargeVatCategoryCode, hasSellerTaxIdentifier, hasTaxRepresentativeVatCompanyId, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-Z-04',\n level: 'fatal',\n message:\n 'An Invoice that contains a Document level charge where the Document level charge VAT category code (BT-102) is \"Zero rated\" 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).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrZ04(document: PeppolDocument): SchematronRuleResult {\n const passed = !hasDocumentChargeVatCategoryCode(document, 'Z') || hasSellerTaxIdentifier(document) || hasTaxRepresentativeVatCompanyId(document);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyLineCategoryPercent, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-Z-05',\n level: 'fatal',\n message:\n 'In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is \"Zero rated\" the Invoiced item VAT rate (BT-152) shall be 0 (zero).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrZ05(document: PeppolDocument): SchematronRuleResult {\n const passed = everyLineCategoryPercent(document, 'Z', percent => percent === 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyDocumentAllowanceCategoryPercent, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-Z-06',\n level: 'fatal',\n message:\n 'In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is \"Zero rated\" the Document level allowance VAT rate (BT-96) shall be 0 (zero).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrZ06(document: PeppolDocument): SchematronRuleResult {\n const passed = everyDocumentAllowanceCategoryPercent(document, 'Z', percent => percent === 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { everyDocumentChargeCategoryPercent, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-Z-07',\n level: 'fatal',\n message:\n 'In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is \"Zero rated\" the Document level charge VAT rate (BT-103) shall be 0 (zero).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrZ07(document: PeppolDocument): SchematronRuleResult {\n const passed = everyDocumentChargeCategoryPercent(document, 'Z', percent => percent === 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { amountsEqual, getTaxSubtotalsWithCode, categoryTaxableSum, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-Z-08',\n level: 'fatal',\n message:\n 'In a VAT breakdown (BG-23) where VAT category code (BT-118) is \"Zero rated\" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amount (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are \"Zero rated\".',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrZ08(document: PeppolDocument): SchematronRuleResult {\n const passed = getTaxSubtotalsWithCode(document, 'Z').every(st => amountsEqual(st.taxableAmount, categoryTaxableSum(document, 'Z')));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getTaxSubtotalsWithCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-Z-09',\n level: 'fatal',\n message: 'The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where VAT category code (BT-118) is \"Zero rated\" shall equal 0 (zero).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrZ09(document: PeppolDocument): SchematronRuleResult {\n const passed = getTaxSubtotalsWithCode(document, 'Z').every(st => st.taxAmount === 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getTaxSubtotalsWithCode, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'CEN-EN16931-BR-Z-10',\n level: 'fatal',\n message:\n 'A VAT breakdown (BG-23) with VAT Category code (BT-118) \"Zero rated\" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120).',\n} as const satisfies SchematronRule;\n\nexport function validateCenEn16931BrZ10(document: PeppolDocument): SchematronRuleResult {\n const passed = getTaxSubtotalsWithCode(document, 'Z').every(\n st => st.taxCategory.taxExemptionReason === undefined && st.taxCategory.taxExemptionReasonCode === undefined\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DE-R-001',\n level: 'fatal',\n message: 'An invoice shall contain information on \"PAYMENT INSTRUCTIONS\" (BG-16).',\n} as const satisfies SchematronRule;\n\nexport function validateDeR001(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n return schematronResult(rule, (document.paymentMeans?.length ?? 0) > 0);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = { id: 'DE-R-002', level: 'fatal', message: 'The group \"SELLER CONTACT\" (BG-6) shall be provided.' } as const satisfies SchematronRule;\n\nexport function validateDeR002(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n return schematronResult(rule, Boolean(document.accountingSupplierParty.contact));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = { id: 'DE-R-003', level: 'fatal', message: 'The element \"Seller city\" (BT-37) shall be provided.' } as const satisfies SchematronRule;\n\nexport function validateDeR003(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n const cityName = document.accountingSupplierParty.postalAddress.cityName;\n return schematronResult(rule, typeof cityName === 'string' && cityName.trim() !== '');\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DE-R-004',\n level: 'fatal',\n message: 'The element \"Seller post code\" (BT-38) shall be provided.',\n} as const satisfies SchematronRule;\n\nexport function validateDeR004(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n const postalZone = document.accountingSupplierParty.postalAddress.postalZone;\n return schematronResult(rule, typeof postalZone === 'string' && postalZone.trim() !== '');\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DE-R-005',\n level: 'fatal',\n message: 'The element \"Seller contact point\" (BT-41) shall be provided.',\n} as const satisfies SchematronRule;\n\nexport function validateDeR005(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n const name = document.accountingSupplierParty.contact?.name;\n return schematronResult(rule, typeof name === 'string' && name.trim() !== '');\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DE-R-006',\n level: 'fatal',\n message: 'The element \"Seller contact telephone number\" (BT-42) shall be provided.',\n} as const satisfies SchematronRule;\n\nexport function validateDeR006(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n const telephone = document.accountingSupplierParty.contact?.telephone;\n return schematronResult(rule, typeof telephone === 'string' && telephone.trim() !== '');\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DE-R-007',\n level: 'fatal',\n message: 'The element \"Seller contact email address\" (BT-43) shall be provided.',\n} as const satisfies SchematronRule;\n\nexport function validateDeR007(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n const email = document.accountingSupplierParty.contact?.electronicMail;\n return schematronResult(rule, typeof email === 'string' && email.trim() !== '');\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = { id: 'DE-R-008', level: 'fatal', message: 'The element \"Buyer city\" (BT-52) shall be provided.' } as const satisfies SchematronRule;\n\nexport function validateDeR008(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n const cityName = document.accountingCustomerParty.postalAddress.cityName;\n return schematronResult(rule, typeof cityName === 'string' && cityName.trim() !== '');\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DE-R-009',\n level: 'fatal',\n message: 'The element \"Buyer post code\" (BT-53) shall be provided.',\n} as const satisfies SchematronRule;\n\nexport function validateDeR009(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n const postalZone = document.accountingCustomerParty.postalAddress.postalZone;\n return schematronResult(rule, typeof postalZone === 'string' && postalZone.trim() !== '');\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DE-R-010',\n level: 'fatal',\n message: 'The element \"Deliver to city\" (BT-77) shall be provided if the group \"DELIVER TO ADDRESS\" (BG-15) is delivered.',\n} as const satisfies SchematronRule;\n\nexport function validateDeR010(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n const address = document.delivery?.deliveryLocation?.address;\n if (!address) {\n return schematronResult(rule, true);\n }\n const cityName = address.cityName;\n return schematronResult(rule, typeof cityName === 'string' && cityName.trim() !== '');\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DE-R-011',\n level: 'fatal',\n message: 'The element \"Deliver to post code\" (BT-78) shall be provided if the group \"DELIVER TO ADDRESS\" (BG-15) is delivered.',\n} as const satisfies SchematronRule;\n\nexport function validateDeR011(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n const address = document.delivery?.deliveryLocation?.address;\n if (!address) {\n return schematronResult(rule, true);\n }\n const postalZone = address.postalZone;\n return schematronResult(rule, typeof postalZone === 'string' && postalZone.trim() !== '');\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DE-R-014',\n level: 'fatal',\n message: 'The element \"VAT category rate\" (BT-119) shall be provided.',\n} as const satisfies SchematronRule;\n\nexport function validateDeR014(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n const passed = document.taxTotals.every(total =>\n (total.taxSubtotals ?? []).every(subtotal => typeof subtotal.taxCategory.percent === 'number' && subtotal.taxCategory.percent > 0)\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DE-R-015',\n level: 'fatal',\n message: 'The element \"Buyer reference\" (BT-10) shall be provided.',\n} as const satisfies SchematronRule;\n\nexport function validateDeR015(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n const buyerReference = document.buyerReference;\n return schematronResult(rule, typeof buyerReference === 'string' && buyerReference.trim() !== '');\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getAllAllowanceCharges, getLines, isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DE-R-016',\n level: 'fatal',\n message:\n '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).',\n} as const satisfies SchematronRule;\n\nconst SUPPORTED_VAT_CODES = new Set(['S', 'Z', 'E', 'AE', 'K', 'G', 'L', 'M']);\n\nexport function validateDeR016(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n const lineCodes = getLines(document).map(line => line.item.classifiedTaxCategory.id);\n const allowanceCodes = getAllAllowanceCharges(document)\n .map(ac => ac.taxCategoryId)\n .filter((code): code is string => code !== undefined);\n const usesSupportedCode = [...lineCodes, ...allowanceCodes].some(code => SUPPORTED_VAT_CODES.has(code));\n if (!usesSupportedCode) {\n return schematronResult(rule, true);\n }\n const hasTaxRepresentative = Boolean(document.taxRepresentativeParty);\n const hasSellerTaxId = document.accountingSupplierParty.partyTaxSchemes?.some(scheme => scheme.companyId.trim() !== '') ?? false;\n return schematronResult(rule, hasTaxRepresentative || hasSellerTaxId);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DE-R-017',\n level: 'warning',\n message:\n '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).',\n} as const satisfies SchematronRule;\n\nconst ALLOWED_CODES = new Set(['326', '380', '384', '389', '381', '875', '876', '877']);\n\nexport function validateDeR017(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n const code = 'invoiceTypeCode' in document ? document.invoiceTypeCode : 'creditNoteTypeCode' in document ? document.creditNoteTypeCode : undefined;\n return schematronResult(rule, code === undefined || ALLOWED_CODES.has(code));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DE-R-018',\n level: 'fatal',\n message:\n '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.',\n} as const satisfies SchematronRule;\n\nconst SKONTO_REGEX = /^#(SKONTO)#TAGE=([0-9]+#PROZENT=[0-9]+\\.[0-9]{2})(#BASISBETRAG=-?[0-9]+\\.[0-9]{2})?#$/;\n\nexport function validateDeR018(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n const note = document.paymentTerms?.note;\n if (note === undefined) {\n return schematronResult(rule, true);\n }\n const lines = note.split(/\\r?\\n/).filter(line => line.startsWith('#'));\n if (lines.length === 0) {\n return schematronResult(rule, true);\n }\n const passed = lines.every(line => SKONTO_REGEX.test(line.trim()));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isValidIBAN } from '#/peppol-validations/is-valid-iban';\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DE-R-019',\n level: 'warning',\n message:\n '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).',\n} as const satisfies SchematronRule;\n\nexport function validateDeR019(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n const passed = (document.paymentMeans ?? []).every(payment => {\n if (payment.paymentMeansCode.code !== '58') {\n return true;\n }\n const accountId = payment.payeeFinancialAccount?.id;\n return accountId === undefined || isValidIBAN(accountId);\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isValidIBAN } from '#/peppol-validations/is-valid-iban';\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DE-R-020',\n level: 'warning',\n message:\n '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). ',\n} as const satisfies SchematronRule;\n\nexport function validateDeR020(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n const passed = (document.paymentMeans ?? []).every(payment => {\n if (payment.paymentMeansCode.code !== '59') {\n return true;\n }\n const debitedAccountId = payment.paymentMandate?.payerFinancialAccountId?.id;\n return debitedAccountId === undefined || isValidIBAN(debitedAccountId);\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DE-R-022',\n level: 'fatal',\n message:\n '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).',\n} as const satisfies SchematronRule;\n\nexport function validateDeR022(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n const filenames = (document.additionalDocumentReferences ?? [])\n .map(ref => ref.attachment?.embeddedDocumentBinaryObject?.filename)\n .filter((filename): filename is string => filename !== undefined)\n .map(filename => filename.toLowerCase());\n return schematronResult(rule, new Set(filenames).size === filenames.length);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DE-R-023-1',\n level: 'fatal',\n message: 'If \"Payment means type code\" (BT-81) contains a code for credit transfer (30, 58), \"CREDIT TRANSFER\" (BG-17) shall be provided.',\n} as const satisfies SchematronRule;\n\nconst CREDIT_TRANSFER_CODES = new Set(['30', '58']);\n\nexport function validateDeR023_1(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n const passed = (document.paymentMeans ?? []).every(payment => {\n if (!CREDIT_TRANSFER_CODES.has(payment.paymentMeansCode.code)) {\n return true;\n }\n return Boolean(payment.payeeFinancialAccount);\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DE-R-023-2',\n level: 'fatal',\n message: 'If \"Payment means type code\" (BT-81) contains a code for credit transfer (30, 58), BG-18 and BG-19 shall not be provided.',\n} as const satisfies SchematronRule;\n\nconst CREDIT_TRANSFER_CODES = new Set(['30', '58']);\n\nexport function validateDeR023_2(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n const passed = (document.paymentMeans ?? []).every(payment => {\n if (!CREDIT_TRANSFER_CODES.has(payment.paymentMeansCode.code)) {\n return true;\n }\n return !payment.cardAccount && !payment.paymentMandate;\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DE-R-024-1',\n level: 'fatal',\n message:\n 'If \"Payment means type code\" (BT-81) contains a code for payment card (48, 54, 55), \"PAYMENT CARD INFORMATION\" (BG-18) shall be provided.',\n} as const satisfies SchematronRule;\n\nconst CARD_CODES = new Set(['48', '54', '55']);\n\nexport function validateDeR024_1(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n const passed = (document.paymentMeans ?? []).every(payment => {\n if (!CARD_CODES.has(payment.paymentMeansCode.code)) {\n return true;\n }\n return Boolean(payment.cardAccount);\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DE-R-024-2',\n level: 'fatal',\n message: '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.',\n} as const satisfies SchematronRule;\n\nconst CARD_CODES = new Set(['48', '54', '55']);\n\nexport function validateDeR024_2(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n const passed = (document.paymentMeans ?? []).every(payment => {\n if (!CARD_CODES.has(payment.paymentMeansCode.code)) {\n return true;\n }\n return !payment.payeeFinancialAccount && !payment.paymentMandate;\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DE-R-025-1',\n level: 'fatal',\n message: 'If \"Payment means type code\" (BT-81) contains a code for direct debit (59), \"DIRECT DEBIT\" (BG-19) shall be provided.',\n} as const satisfies SchematronRule;\n\nexport function validateDeR025_1(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n const passed = (document.paymentMeans ?? []).every(payment => {\n if (payment.paymentMeansCode.code !== '59') {\n return true;\n }\n return Boolean(payment.paymentMandate);\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DE-R-025-2',\n level: 'fatal',\n message: 'If \"Payment means type code\" (BT-81) contains a code for direct debit (59), BG-17 and BG-18 shall not be provided.',\n} as const satisfies SchematronRule;\n\nexport function validateDeR025_2(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n const passed = (document.paymentMeans ?? []).every(payment => {\n if (payment.paymentMeansCode.code !== '59') {\n return true;\n }\n return !payment.payeeFinancialAccount && !payment.cardAccount;\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DE-R-026',\n level: 'warning',\n message:\n 'If \"Invoice type code\" (BT-3) contains the code 384 (Corrected invoice), \"PRECEDING INVOICE REFERENCE\" (BG-3) should be provided at least once.',\n} as const satisfies SchematronRule;\n\nexport function validateDeR026(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n const invoiceTypeCode = 'invoiceTypeCode' in document ? document.invoiceTypeCode : undefined;\n const creditNoteTypeCode = 'creditNoteTypeCode' in document ? document.creditNoteTypeCode : undefined;\n if (invoiceTypeCode !== '384' && creditNoteTypeCode !== '384') {\n return schematronResult(rule, true);\n }\n const hasPrecedingInvoiceReference = (document.billingReferences?.length ?? 0) > 0;\n return schematronResult(rule, hasPrecedingInvoiceReference);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DE-R-027',\n level: 'warning',\n message: '\"Seller contact telephone number\" (BT-42) should contain a valid telephone number. A valid telephone should consist of 3 digits minimum.',\n} as const satisfies SchematronRule;\n\nconst TELEPHONE_REGEX = /.*([0-9].*){3,}.*/;\n\nexport function validateDeR027(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n const telephone = document.accountingSupplierParty.contact?.telephone;\n return schematronResult(rule, telephone === undefined || TELEPHONE_REGEX.test(telephone.trim()));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DE-R-028',\n level: 'warning',\n message:\n '\"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.',\n} as const satisfies SchematronRule;\n\nconst EMAIL_REGEX =\n /^[a-zA-Z0-9!#$%&\"*+/=?^_`{|}~-]+(\\.[a-zA-Z0-9!#$%&\"*+/=?^_`{|}~-]+)*@([a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?\\.)+[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?$/;\n\nexport function validateDeR028(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n const email = document.accountingSupplierParty.contact?.electronicMail;\n return schematronResult(rule, email === undefined || EMAIL_REGEX.test(email.trim()));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DE-R-030',\n level: 'fatal',\n message: 'If the group \"DIRECT DEBIT\" (BG-19) is delivered, the element \"Bank assigned creditor identifier\" (BT-90) shall be provided.',\n} as const satisfies SchematronRule;\n\nexport function validateDeR030(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n const hasPaymentMandate = (document.paymentMeans ?? []).some(payment => Boolean(payment.paymentMandate));\n if (!hasPaymentMandate) {\n return schematronResult(rule, true);\n }\n const hasSepaCreditorId =\n document.accountingSupplierParty.partyIdentification?.id?.schemeId === 'SEPA' ||\n document.payeeParty?.partyIdentification?.id?.schemeId === 'SEPA';\n return schematronResult(rule, hasSepaCreditorId);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DE-R-031',\n level: 'fatal',\n message: 'If the group \"DIRECT DEBIT\" (BG-19) is delivered, the element \"Debited account identifier\" (BT-91) shall be provided.',\n} as const satisfies SchematronRule;\n\nexport function validateDeR031(document: PeppolDocument): SchematronRuleResult {\n if (!isSupplierGermany(document) || !isCustomerGermany(document)) {\n return schematronResult(rule, true);\n }\n const passed = (document.paymentMeans ?? []).every(payment => {\n if (!payment.paymentMandate) {\n return true;\n }\n return Boolean(payment.paymentMandate.payerFinancialAccountId?.id);\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = { id: 'DK-R-002', level: 'fatal', message: 'Danish suppliers MUST provide legal entity (CVR-number)' } as const satisfies SchematronRule;\n\nexport function validateDkR002(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'DK') {\n return schematronResult(rule, true);\n }\n const companyId = document.accountingSupplierParty.partyLegalEntity.companyId?.id;\n return schematronResult(rule, typeof companyId === 'string' && companyId.trim() !== '');\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getCustomerCountry, getLines, getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DK-R-003',\n level: 'warning',\n message: 'If ItemClassification is provided from Danish suppliers, UNSPSC version 19.05.01 or 26.08.01 should be used.',\n} as const satisfies SchematronRule;\n\nconst ALLOWED_VERSIONS = new Set(['19.05.01', '19.0501', '26.08.01', '26.0801']);\n\nexport function validateDkR003(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'DK' || getCustomerCountry(document) !== 'DK') {\n return schematronResult(rule, true);\n }\n const passed = getLines(document).every(line =>\n (line.item.commodityClassifications ?? []).every(classification => {\n const classificationCode = classification.itemClassification;\n return (\n classificationCode.listId !== 'TST' ||\n (classificationCode.listVersionId !== undefined && ALLOWED_VERSIONS.has(classificationCode.listVersionId))\n );\n })\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getAllAllowanceCharges, getCustomerCountry, getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DK-R-004',\n level: 'fatal',\n message:\n 'When specifying non-VAT Taxes for Danish customers, Danish suppliers MUST use the AllowanceChargeReasonCode=\"ZZZ\" and MUST be specified in AllowanceChargeReason; Either as the 4-digit Tax category or must include a #, but the # is not allowed as first and last character',\n} as const satisfies SchematronRule;\n\nexport function validateDkR004(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'DK' || getCustomerCountry(document) !== 'DK') {\n return schematronResult(rule, true);\n }\n const passed = getAllAllowanceCharges(document).every(ac => {\n if (ac.reasonCode !== 'ZZZ') {\n return true;\n }\n const reason = ac.allowanceChargeReason;\n if (reason === undefined) {\n return false;\n }\n const is4DigitTaxCategory = /^\\d{4}$/.test(reason) && Number(reason) >= 0 && Number(reason) <= 9999;\n const hasHashInside = reason.includes('#') && !reason.startsWith('#') && !reason.endsWith('#');\n return is4DigitTaxCategory || hasHashInside;\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getCustomerCountry, getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DK-R-005',\n level: 'fatal',\n message: 'For Danish suppliers the following Payment means codes are allowed: 1, 10, 31, 42, 48, 49, 50, 58, 59, 93 and 97',\n} as const satisfies SchematronRule;\n\nconst ALLOWED_CODES = new Set(['1', '10', '31', '42', '48', '49', '50', '58', '59', '93', '97']);\n\nexport function validateDkR005(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'DK' || getCustomerCountry(document) !== 'DK') {\n return schematronResult(rule, true);\n }\n const passed = (document.paymentMeans ?? []).every(payment => ALLOWED_CODES.has(payment.paymentMeansCode.code));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getCustomerCountry, getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DK-R-006',\n level: 'fatal',\n message: 'For Danish suppliers bank account and registration account is mandatory if payment means is 31 or 42',\n} as const satisfies SchematronRule;\n\nconst REQUIRED_CODES = new Set(['31', '42']);\n\nexport function validateDkR006(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'DK' || getCustomerCountry(document) !== 'DK') {\n return schematronResult(rule, true);\n }\n const passed = (document.paymentMeans ?? []).every(payment => {\n if (!REQUIRED_CODES.has(payment.paymentMeansCode.code)) {\n return true;\n }\n const accountId = payment.payeeFinancialAccount?.id;\n const branchId = payment.payeeFinancialAccount?.financialInstitutionBranch?.id;\n return typeof accountId === 'string' && accountId.trim() !== '' && typeof branchId === 'string' && branchId.trim() !== '';\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getCustomerCountry, getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DK-R-007',\n level: 'fatal',\n message: 'For Danish suppliers PaymentMandate/ID and PayerFinancialAccount/ID are mandatory when payment means is 49',\n} as const satisfies SchematronRule;\n\nexport function validateDkR007(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'DK' || getCustomerCountry(document) !== 'DK') {\n return schematronResult(rule, true);\n }\n const passed = (document.paymentMeans ?? []).every(payment => {\n if (payment.paymentMeansCode.code !== '49') {\n return true;\n }\n const mandateId = payment.paymentMandate?.id;\n const payerAccountId = payment.paymentMandate?.payerFinancialAccountId?.id;\n return typeof mandateId === 'string' && mandateId.trim() !== '' && typeof payerAccountId === 'string' && payerAccountId.trim() !== '';\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getCustomerCountry, getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DK-R-008',\n level: 'fatal',\n message:\n '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 or 8 numerical characters long, when payment means equals 50 (Giro)',\n} as const satisfies SchematronRule;\n\nexport function validateDkR008(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'DK' || getCustomerCountry(document) !== 'DK') {\n return schematronResult(rule, true);\n }\n const passed = (document.paymentMeans ?? []).every(payment => {\n if (payment.paymentMeansCode.code !== '50') {\n return true;\n }\n const paymentId = payment.paymentId;\n const giroAccountId = payment.payeeFinancialAccount?.id;\n const startsWithValidPrefix = paymentId ? ['01#', '04#', '15#'].some(prefix => paymentId.startsWith(prefix)) : false;\n return startsWithValidPrefix && typeof giroAccountId === 'string' && /^[0-9]{7,8}$/.test(giroAccountId);\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getCustomerCountry, getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DK-R-009',\n level: 'fatal',\n message:\n '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)',\n} as const satisfies SchematronRule;\n\nexport function validateDkR009(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'DK' || getCustomerCountry(document) !== 'DK') {\n return schematronResult(rule, true);\n }\n const passed = (document.paymentMeans ?? []).every(payment => {\n if (payment.paymentMeansCode.code !== '50' || !payment.paymentId) {\n return true;\n }\n const paymentId = payment.paymentId;\n if (paymentId.startsWith('04#') || paymentId.startsWith('15#')) {\n return paymentId.length === 19;\n }\n return true;\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getCustomerCountry, getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DK-R-010',\n level: 'fatal',\n message:\n 'For Danish Suppliers using PaymentMeansCode 93, PaymentID is mandatory. The first three characters of the PaymentID MUST be 71#, 73# or 75# (kortartskode), and PayeeFinancialAccount/ID MUST be exactly 8 characters long.',\n} as const satisfies SchematronRule;\n\nexport function validateDkR010(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'DK' || getCustomerCountry(document) !== 'DK') {\n return schematronResult(rule, true);\n }\n const passed = (document.paymentMeans ?? []).every(payment => {\n if (payment.paymentMeansCode.code !== '93') {\n return true;\n }\n const paymentId = payment.paymentId;\n const startsWithValidPrefix = paymentId ? ['71#', '73#', '75#'].some(prefix => paymentId.startsWith(prefix)) : false;\n const accountId = payment.payeeFinancialAccount?.id;\n return startsWithValidPrefix && typeof accountId === 'string' && accountId.length === 8;\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getCustomerCountry, getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DK-R-011',\n level: 'fatal',\n message:\n '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)',\n} as const satisfies SchematronRule;\n\nexport function validateDkR011(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'DK' || getCustomerCountry(document) !== 'DK') {\n return schematronResult(rule, true);\n }\n const passed = (document.paymentMeans ?? []).every(payment => {\n if (payment.paymentMeansCode.code !== '93' || !payment.paymentId) {\n return true;\n }\n const paymentId = payment.paymentId;\n if (paymentId.startsWith('71#') || paymentId.startsWith('75#')) {\n return paymentId.length === 18 || paymentId.length === 19;\n }\n return true;\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getCustomerCountry, getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DK-R-013',\n level: 'fatal',\n message:\n 'For Danish Suppliers it is mandatory to use schemeID when PartyIdentification/ID is used for AccountingCustomerParty or AccountingSupplierParty',\n} as const satisfies SchematronRule;\n\nexport function validateDkR013(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'DK' || getCustomerCountry(document) !== 'DK') {\n return schematronResult(rule, true);\n }\n const parties = [document.accountingSupplierParty, document.accountingCustomerParty];\n const passed = parties.every(party => {\n const id = party.partyIdentification?.id;\n return !id?.id || (typeof id.schemeId === 'string' && id.schemeId.trim() !== '');\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DK-R-014',\n level: 'fatal',\n message:\n 'For Danish Suppliers it is mandatory to specify schemeID as \"0184\" (DK CVR-number) when PartyLegalEntity/CompanyID is used for AccountingSupplierParty',\n} as const satisfies SchematronRule;\n\nexport function validateDkR014(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'DK') {\n return schematronResult(rule, true);\n }\n const companyId = document.accountingSupplierParty.partyLegalEntity.companyId;\n const passed = !companyId?.id || companyId.schemeId === '0184';\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getCustomerCountry, getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DK-R-016',\n level: 'fatal',\n message: 'For Danish Suppliers, a Credit note cannot have a negative total (PayableAmount)',\n} as const satisfies SchematronRule;\n\nexport function validateDkR016(document: PeppolDocument): SchematronRuleResult {\n if (!('creditNoteLines' in document) || getSupplierCountry(document) !== 'DK' || getCustomerCountry(document) !== 'DK') {\n return schematronResult(rule, true);\n }\n return schematronResult(rule, document.legalMonetaryTotal.payableAmount.value >= 0);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getCustomerCountry, getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'DK-R-017',\n level: 'warning',\n message:\n 'For Danish Customers it is mandatory to specify schemeID as \"0184\" (DK CVR-number) when PartyLegalEntity/CompanyID is used for AccountingCustomerParty',\n} as const satisfies SchematronRule;\n\nexport function validateDkR017(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'DK' || getCustomerCountry(document) !== 'DK') {\n return schematronResult(rule, true);\n }\n const companyId = document.accountingCustomerParty.partyLegalEntity.companyId;\n const passed = !companyId?.id || companyId.schemeId === '0184';\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'GR-R-001-1',\n level: 'fatal',\n message: ' When the Supplier is Greek, the Invoice Id should consist of 6 segments',\n} as const satisfies SchematronRule;\n\nexport function validateGrR001_1(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'GR' && getSupplierCountry(document) !== 'EL') {\n return schematronResult(rule, true);\n }\n const segments = document.id.split('|');\n return schematronResult(rule, segments.length === 6);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { greekTinVerification } from '#/peppol-validations/greek-tin-verification';\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'GR-R-001-2',\n level: 'fatal',\n message:\n \"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\",\n} as const satisfies SchematronRule;\n\nexport function validateGrR001_2(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'GR' && getSupplierCountry(document) !== 'EL') {\n return schematronResult(rule, true);\n }\n const segments = document.id.split('|');\n const firstSegment = segments[0];\n if (!firstSegment || firstSegment.trim().length !== 9) {\n return schematronResult(rule, false);\n }\n const supplierTin = document.accountingSupplierParty.partyTaxSchemes\n ?.find(scheme => scheme.taxSchemeId.id.trim().toUpperCase() === 'VAT')\n ?.companyId.slice(2);\n const taxRepTin = document.taxRepresentativeParty?.partyTaxScheme.companyId.slice(2);\n const matchesTin = firstSegment === supplierTin || firstSegment === taxRepTin;\n return schematronResult(rule, greekTinVerification(firstSegment) && matchesTin);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'GR-R-001-3',\n level: 'fatal',\n message: 'When the Supplier is Greek, the Invoice Id second segment must be a valid Date that matches the invoice Issue Date',\n} as const satisfies SchematronRule;\n\nconst DATE_REGEX = /^(0?[1-9]|[12][0-9]|3[01])[-/]?(0?[1-9]|1[0-2])[-/]?((?:19|20)[0-9]{2})$/;\n\nexport function validateGrR001_3(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'GR' && getSupplierCountry(document) !== 'EL') {\n return schematronResult(rule, true);\n }\n const segments = document.id.split('|');\n const secondSegment = segments[1];\n if (!secondSegment || secondSegment.trim().length === 0) {\n return schematronResult(rule, false);\n }\n const dateMatch = secondSegment.match(DATE_REGEX);\n if (!dateMatch) {\n return schematronResult(rule, false);\n }\n const [, day, month, year] = dateMatch;\n const issueDate = document.issueDate;\n const issueDateSegments = issueDate.split('-');\n return schematronResult(rule, day === issueDateSegments[2] && month === issueDateSegments[1] && year === issueDateSegments[0]);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'GR-R-001-4',\n level: 'fatal',\n message: 'When Supplier is Greek, the Invoice Id third segment must be a positive integer',\n} as const satisfies SchematronRule;\n\nexport function validateGrR001_4(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'GR' && getSupplierCountry(document) !== 'EL') {\n return schematronResult(rule, true);\n }\n const segments = document.id.split('|');\n const thirdSegment = segments[2];\n if (!thirdSegment || thirdSegment.trim().length === 0) {\n return schematronResult(rule, false);\n }\n return schematronResult(rule, /^\\d+$/.test(thirdSegment) && Number(thirdSegment) >= 0);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'GR-R-001-5',\n level: 'fatal',\n message: 'When Supplier is Greek, the Invoice Id in the fourth segment must be a valid greek document type',\n} as const satisfies SchematronRule;\n\nconst GREEK_DOCUMENT_TYPES = new Set(['1.1', '1.6', '2.1', '2.4', '5.1', '5.2']);\n\nexport function validateGrR001_5(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'GR' && getSupplierCountry(document) !== 'EL') {\n return schematronResult(rule, true);\n }\n const segments = document.id.split('|');\n const fourthSegment = segments[3];\n if (!fourthSegment || fourthSegment.trim().length === 0) {\n return schematronResult(rule, false);\n }\n return schematronResult(rule, GREEK_DOCUMENT_TYPES.has(fourthSegment));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'GR-R-001-6',\n level: 'fatal',\n message: 'When Supplier is Greek, the Invoice Id fifth segment must not be empty',\n} as const satisfies SchematronRule;\n\nexport function validateGrR001_6(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'GR' && getSupplierCountry(document) !== 'EL') {\n return schematronResult(rule, true);\n }\n const segments = document.id.split('|');\n return schematronResult(rule, (segments[4]?.length ?? 0) > 0);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'GR-R-001-7',\n level: 'fatal',\n message: 'When Supplier is Greek, the Invoice Id sixth segment must not be empty',\n} as const satisfies SchematronRule;\n\nexport function validateGrR001_7(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'GR' && getSupplierCountry(document) !== 'EL') {\n return schematronResult(rule, true);\n }\n const segments = document.id.split('|');\n return schematronResult(rule, (segments[5]?.length ?? 0) > 0);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'GR-R-002',\n level: 'fatal',\n message:\n '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 ',\n} as const satisfies SchematronRule;\n\nexport function validateGrR002(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'GR' && getSupplierCountry(document) !== 'EL') {\n return schematronResult(rule, true);\n }\n const partyName = document.accountingSupplierParty.partyName?.name;\n return schematronResult(rule, typeof partyName === 'string' && partyName.length > 0);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { greekTinVerification } from '#/peppol-validations/greek-tin-verification';\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'GR-R-003',\n level: 'fatal',\n message: \"For the Greek Suppliers, the VAT must start with 'EL' and must be a valid TIN number\",\n} as const satisfies SchematronRule;\n\nexport function validateGrR003(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'GR' && getSupplierCountry(document) !== 'EL') {\n return schematronResult(rule, true);\n }\n const vatCompanyId = document.accountingSupplierParty.partyTaxSchemes?.find(\n scheme => scheme.taxSchemeId.id.trim().toUpperCase() === 'VAT'\n )?.companyId;\n if (!vatCompanyId) {\n return schematronResult(rule, false);\n }\n return schematronResult(rule, vatCompanyId.startsWith('EL') && greekTinVerification(vatCompanyId.slice(2)));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'GR-R-004-1',\n level: 'fatal',\n message: ' When Supplier is Greek, there must be one MARK Number',\n} as const satisfies SchematronRule;\n\nexport function validateGrR004_1(document: PeppolDocument): SchematronRuleResult {\n const isGreek = getSupplierCountry(document) === 'GR' || getSupplierCountry(document) === 'EL';\n if (!isGreek) {\n return schematronResult(rule, true);\n }\n const markCount = (document.additionalDocumentReferences ?? []).filter(ref => ref.documentDescription === '##M.AR.K##').length;\n return schematronResult(rule, markCount === 1);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'GR-R-004-2',\n level: 'fatal',\n message: 'When Supplier is Greek, the MARK Number must be a positive integer',\n} as const satisfies SchematronRule;\n\nexport function validateGrR004_2(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'GR' && getSupplierCountry(document) !== 'EL') {\n return schematronResult(rule, true);\n }\n const markReferences = (document.additionalDocumentReferences ?? []).filter(ref => ref.documentDescription === '##M.AR.K##');\n const passed = markReferences.every(ref => /^[1-9][0-9]*$/.test(ref.id.id));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = { id: 'GR-R-005', level: 'fatal', message: 'Greek Suppliers must provide the full name of the buyer' } as const satisfies SchematronRule;\n\nexport function validateGrR005(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'GR' && getSupplierCountry(document) !== 'EL') {\n return schematronResult(rule, true);\n }\n const partyName = document.accountingCustomerParty.partyName?.name;\n return schematronResult(rule, typeof partyName === 'string' && partyName.length > 0);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { greekTinVerification } from '#/peppol-validations/greek-tin-verification';\nimport { getCustomerCountry, getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'GR-R-006',\n level: 'fatal',\n message: 'Greek Suppliers must provide the VAT number of the buyer, if the buyer is Greek ',\n} as const satisfies SchematronRule;\n\nexport function validateGrR006(document: PeppolDocument): SchematronRuleResult {\n const isGreekSupplier = getSupplierCountry(document) === 'GR' || getSupplierCountry(document) === 'EL';\n const isGreekCustomer = getCustomerCountry(document) === 'GR' || getCustomerCountry(document) === 'EL';\n if (!isGreekSupplier || !isGreekCustomer) {\n return schematronResult(rule, true);\n }\n const vatSchemes = document.accountingCustomerParty.partyTaxSchemes?.filter(scheme => scheme.taxSchemeId.id.trim().toUpperCase() === 'VAT') ?? [];\n if (vatSchemes.length !== 1) {\n return schematronResult(rule, false);\n }\n const companyId = vatSchemes[0]?.companyId ?? '';\n return schematronResult(rule, companyId.startsWith('EL') && greekTinVerification(companyId.slice(2)));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'GR-R-008-2',\n level: 'fatal',\n message: 'When Supplier is Greek, there should be no more than one invoice url',\n} as const satisfies SchematronRule;\n\nexport function validateGrR008_2(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'GR' && getSupplierCountry(document) !== 'EL') {\n return schematronResult(rule, true);\n }\n const urlCount = (document.additionalDocumentReferences ?? []).filter(ref => ref.documentDescription === '##INVOICE|URL##').length;\n return schematronResult(rule, urlCount <= 1);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'GR-R-008-3',\n level: 'fatal',\n message: 'When Supplier is Greek and the INVOICE URL Document reference exists, the External Reference URI should be present',\n} as const satisfies SchematronRule;\n\nexport function validateGrR008_3(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'GR' && getSupplierCountry(document) !== 'EL') {\n return schematronResult(rule, true);\n }\n const urlReferences = (document.additionalDocumentReferences ?? []).filter(ref => ref.documentDescription === '##INVOICE|URL##');\n const passed = urlReferences.every(ref => {\n const uri = ref.attachment?.externalReference?.uri;\n return typeof uri === 'string' && uri.trim() !== '';\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { greekTinVerification } from '#/peppol-validations/greek-tin-verification';\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'GR-R-009',\n level: 'fatal',\n message:\n '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).',\n} as const satisfies SchematronRule;\n\nexport function validateGrR009(document: PeppolDocument): SchematronRuleResult {\n const supplierCountry = getSupplierCountry(document);\n if (supplierCountry !== 'GR' && supplierCountry !== 'EL') {\n return schematronResult(rule, true);\n }\n const endpointId = document.accountingSupplierParty.endpointId;\n return schematronResult(rule, endpointId?.schemeId === '9933' && greekTinVerification(endpointId.id));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { greekTinVerification } from '#/peppol-validations/greek-tin-verification';\nimport { getCustomerCountry, getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'GR-R-010',\n level: 'fatal',\n message:\n '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)',\n} as const satisfies SchematronRule;\n\nexport function validateGrR010(document: PeppolDocument): SchematronRuleResult {\n const isGreekSupplier = getSupplierCountry(document) === 'GR' || getSupplierCountry(document) === 'EL';\n const isGreekCustomer = getCustomerCountry(document) === 'GR' || getCustomerCountry(document) === 'EL';\n if (!isGreekSupplier || !isGreekCustomer) {\n return schematronResult(rule, true);\n }\n const endpointId = document.accountingCustomerParty.endpointId;\n return schematronResult(rule, endpointId?.schemeId === '9933' && greekTinVerification(endpointId.id));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'GR-S-008-1',\n level: 'warning',\n message: 'When Supplier is Greek, there should be one invoice url',\n} as const satisfies SchematronRule;\n\nexport function validateGrS008_1(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'GR' && getSupplierCountry(document) !== 'EL') {\n return schematronResult(rule, true);\n }\n const urlCount = (document.additionalDocumentReferences ?? []).filter(ref => ref.documentDescription === '##INVOICE|URL##').length;\n return schematronResult(rule, urlCount === 1);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'GR-S-011',\n level: 'warning',\n message: 'Greek suppliers must provide their Seller Tax Registration Number, prefixed by the country code',\n} as const satisfies SchematronRule;\n\nexport function validateGrS011(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'GR' && getSupplierCountry(document) !== 'EL') {\n return schematronResult(rule, true);\n }\n const vatSchemes = document.accountingSupplierParty.partyTaxSchemes?.filter(scheme => scheme.taxSchemeId.id.trim().toUpperCase() === 'VAT') ?? [];\n if (vatSchemes.length !== 1) {\n return schematronResult(rule, false);\n }\n const companyId = vatSchemes[0]?.companyId ?? '';\n return schematronResult(rule, companyId.startsWith('EL'));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'IS-R-001',\n level: 'warning',\n message: '[IS-R-001]-If seller is icelandic then invoice type should be 380 or 381',\n} as const satisfies SchematronRule;\n\nconst ALLOWED_CODES = new Set(['380', '381']);\n\nexport function validateIsR001(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'IS') {\n return schematronResult(rule, true);\n }\n const code = 'invoiceTypeCode' in document ? document.invoiceTypeCode : 'creditNoteTypeCode' in document ? document.creditNoteTypeCode : undefined;\n return schematronResult(rule, code !== undefined && !code.includes(' ') && ALLOWED_CODES.has(code));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'IS-R-002',\n level: 'fatal',\n message: '[IS-R-002]-If seller is icelandic then it shall contain sellers legal id',\n} as const satisfies SchematronRule;\n\nexport function validateIsR002(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'IS') {\n return schematronResult(rule, true);\n }\n const companyId = document.accountingSupplierParty.partyLegalEntity.companyId;\n return schematronResult(rule, Boolean(companyId?.id) && companyId?.schemeId === '0196');\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'IS-R-003',\n level: 'fatal',\n message: '[IS-R-003]-If seller is icelandic then it shall contain his address with street name and zip code',\n} as const satisfies SchematronRule;\n\nexport function validateIsR003(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'IS') {\n return schematronResult(rule, true);\n }\n const address = document.accountingSupplierParty.postalAddress;\n return schematronResult(rule, Boolean(address.streetName) && Boolean(address.postalZone));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getCustomerCountry, getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'IS-R-004',\n level: 'fatal',\n message: '[IS-R-004]-If seller and buyer are icelandic then the invoice shall contain the buyers icelandic legal identifier',\n} as const satisfies SchematronRule;\n\nexport function validateIsR004(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'IS' || getCustomerCountry(document) !== 'IS') {\n return schematronResult(rule, true);\n }\n const companyId = document.accountingCustomerParty.partyLegalEntity.companyId;\n return schematronResult(rule, Boolean(companyId?.id) && companyId?.schemeId === '0196');\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getCustomerCountry, getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'IS-R-005',\n level: 'fatal',\n message: '[IS-R-005]-If seller and buyer are icelandic then the invoice shall contain the buyers address with street name and zip code',\n} as const satisfies SchematronRule;\n\nexport function validateIsR005(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'IS' || getCustomerCountry(document) !== 'IS') {\n return schematronResult(rule, true);\n }\n const address = document.accountingCustomerParty.postalAddress;\n return schematronResult(rule, Boolean(address.streetName) && Boolean(address.postalZone));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'IS-R-006',\n level: 'fatal',\n message: '[IS-R-006]-If seller is icelandic and payment means code is 9 then a 12 digit account id must exist',\n} as const satisfies SchematronRule;\n\nexport function validateIsR006(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'IS') {\n return schematronResult(rule, true);\n }\n const code9Payments = (document.paymentMeans ?? []).filter(payment => payment.paymentMeansCode.code === '9');\n if (code9Payments.length === 0) {\n return schematronResult(rule, true);\n }\n const passed = code9Payments.every(payment => {\n const accountId = payment.payeeFinancialAccount?.id;\n return typeof accountId === 'string' && accountId.trim().length === 12;\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'IS-R-007',\n level: 'fatal',\n message: '[IS-R-007]-If seller is icelandic and payment means code is 42 then a 12 digit account id must exist',\n} as const satisfies SchematronRule;\n\nexport function validateIsR007(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'IS') {\n return schematronResult(rule, true);\n }\n const code42Payments = (document.paymentMeans ?? []).filter(payment => payment.paymentMeansCode.code === '42');\n if (code42Payments.length === 0) {\n return schematronResult(rule, true);\n }\n const passed = code42Payments.every(payment => {\n const accountId = payment.payeeFinancialAccount?.id;\n return typeof accountId === 'string' && accountId.trim().length === 12;\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'IS-R-008',\n level: 'fatal',\n message: '[IS-R-008]-If seller is icelandic and invoice contains supporting description EINDAGI then the id form must be YYYY-MM-DD',\n} as const satisfies SchematronRule;\n\nconst DATE_REGEX = /^\\d{4}-\\d{2}-\\d{2}$/;\n\nexport function validateIsR008(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'IS') {\n return schematronResult(rule, true);\n }\n const eindagiReferences = (document.additionalDocumentReferences ?? []).filter(ref => ref.documentDescription === 'EINDAGI');\n if (eindagiReferences.length === 0) {\n return schematronResult(rule, true);\n }\n const passed = eindagiReferences.every(ref => {\n const id = ref.id.id;\n return id.length === 10 && DATE_REGEX.test(id) && !Number.isNaN(Date.parse(id));\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'IS-R-009',\n level: 'fatal',\n message: '[IS-R-009]-If seller is icelandic and invoice contains supporting description EINDAGI invoice must have due date',\n} as const satisfies SchematronRule;\n\nexport function validateIsR009(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'IS') {\n return schematronResult(rule, true);\n }\n const hasEindagi = (document.additionalDocumentReferences ?? []).some(ref => ref.documentDescription === 'EINDAGI');\n if (!hasEindagi) {\n return schematronResult(rule, true);\n }\n return schematronResult(rule, Boolean(document.dueDate));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'IS-R-010',\n level: 'fatal',\n message: '[IS-R-010]-If seller is icelandic and invoice contains supporting description EINDAGI the id date must be same or later than due date',\n} as const satisfies SchematronRule;\n\nexport function validateIsR010(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'IS') {\n return schematronResult(rule, true);\n }\n const eindagiReferences = (document.additionalDocumentReferences ?? []).filter(ref => ref.documentDescription === 'EINDAGI');\n if (eindagiReferences.length === 0) {\n return schematronResult(rule, true);\n }\n const dueDate = document.dueDate;\n if (!dueDate) {\n return schematronResult(rule, false);\n }\n const passed = eindagiReferences.every(ref => {\n const id = ref.id.id;\n return id >= dueDate;\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'IT-R-001',\n level: 'fatal',\n message: '[IT-R-001] BT-32 (Seller tax registration identifier) - For Italian suppliers BT-32 minimum length 11 and maximum length shall be 16.',\n} as const satisfies SchematronRule;\n\nexport function validateItR001(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'IT') {\n return schematronResult(rule, true);\n }\n const companyIds =\n document.accountingSupplierParty.partyTaxSchemes?.filter(scheme => scheme.taxSchemeId.id !== 'VAT').map(scheme => scheme.companyId) ?? [];\n const passed = companyIds.every(id => /^[A-Z0-9]{11,16}$/.test(id));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'IT-R-002',\n level: 'fatal',\n message: '[IT-R-002] BT-35 (Seller address line 1) - Italian suppliers MUST provide the postal address line 1',\n} as const satisfies SchematronRule;\n\nexport function validateItR002(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'IT') {\n return schematronResult(rule, true);\n }\n const streetName = document.accountingSupplierParty.postalAddress.streetName;\n return schematronResult(rule, typeof streetName === 'string' && streetName.trim() !== '');\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'IT-R-003',\n level: 'fatal',\n message: '[IT-R-003] BT-37 (Seller city) - Italian suppliers MUST provide the postal address city',\n} as const satisfies SchematronRule;\n\nexport function validateItR003(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'IT') {\n return schematronResult(rule, true);\n }\n const cityName = document.accountingSupplierParty.postalAddress.cityName;\n return schematronResult(rule, typeof cityName === 'string' && cityName.trim() !== '');\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'IT-R-004',\n level: 'fatal',\n message: '[IT-R-004] BT-38 (Seller post code) - Italian suppliers MUST provide the postal address post code',\n} as const satisfies SchematronRule;\n\nexport function validateItR004(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'IT') {\n return schematronResult(rule, true);\n }\n const postalZone = document.accountingSupplierParty.postalAddress.postalZone;\n return schematronResult(rule, typeof postalZone === 'string' && postalZone.trim() !== '');\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'NL-R-001',\n level: 'fatal',\n message:\n '[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)',\n} as const satisfies SchematronRule;\n\nexport function validateNlR001(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'NL' || !('creditNoteTypeCode' in document)) {\n return schematronResult(rule, true);\n }\n const invoiceReference = document.billingReferences?.some(ref => Boolean(ref.invoiceDocumentReference.id));\n return schematronResult(rule, Boolean(invoiceReference));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'NL-R-002',\n level: 'fatal',\n message:\n \"[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)\",\n} as const satisfies SchematronRule;\n\nexport function validateNlR002(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'NL') {\n return schematronResult(rule, true);\n }\n const address = document.accountingSupplierParty.postalAddress;\n return schematronResult(rule, Boolean(address.streetName) && Boolean(address.cityName) && Boolean(address.postalZone));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'NL-R-003',\n level: 'fatal',\n message: '[NL-R-003] For suppliers in the Netherlands, the legal entity identifier MUST be either a KVK or OIN number (schemeID 0106 or 0190)',\n} as const satisfies SchematronRule;\n\nconst ALLOWED_SCHEMES = new Set(['0106', '0190']);\n\nexport function validateNlR003(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'NL') {\n return schematronResult(rule, true);\n }\n const companyId = document.accountingSupplierParty.partyLegalEntity.companyId;\n if (!companyId?.id) {\n return schematronResult(rule, true);\n }\n return schematronResult(rule, Boolean(companyId.schemeId && ALLOWED_SCHEMES.has(companyId.schemeId)));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getCustomerCountry, getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'NL-R-004',\n level: 'fatal',\n message:\n '[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)',\n} as const satisfies SchematronRule;\n\nexport function validateNlR004(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'NL' || getCustomerCountry(document) !== 'NL') {\n return schematronResult(rule, true);\n }\n const address = document.accountingCustomerParty.postalAddress;\n return schematronResult(rule, Boolean(address.streetName) && Boolean(address.cityName) && Boolean(address.postalZone));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getCustomerCountry, getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'NL-R-005',\n level: 'fatal',\n message:\n \"[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)\",\n} as const satisfies SchematronRule;\n\nconst ALLOWED_SCHEMES = new Set(['0106', '0190']);\n\nexport function validateNlR005(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'NL' || getCustomerCountry(document) !== 'NL') {\n return schematronResult(rule, true);\n }\n const companyId = document.accountingCustomerParty.partyLegalEntity.companyId;\n if (!companyId?.id) {\n return schematronResult(rule, true);\n }\n return schematronResult(rule, Boolean(companyId.schemeId && ALLOWED_SCHEMES.has(companyId.schemeId)));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'NL-R-006',\n level: 'fatal',\n message:\n \"[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)\",\n} as const satisfies SchematronRule;\n\nexport function validateNlR006(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'NL') {\n return schematronResult(rule, true);\n }\n const taxRep = document.taxRepresentativeParty;\n if (!taxRep || taxRep.postalAddress.countryCode.identificationCode.toUpperCase() !== 'NL') {\n return schematronResult(rule, true);\n }\n const address = taxRep.postalAddress;\n return schematronResult(rule, Boolean(address.streetName) && Boolean(address.cityName) && Boolean(address.postalZone));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'NL-R-007',\n level: 'fatal',\n message:\n '[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',\n} as const satisfies SchematronRule;\n\nexport function validateNlR007(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'NL') {\n return schematronResult(rule, true);\n }\n const payable = document.legalMonetaryTotal.payableAmount.value;\n const isInvoice = 'invoiceLines' in document;\n const isCreditNote = 'creditNoteLines' in document;\n if ((isInvoice && payable <= 0) || (isCreditNote && payable >= 0)) {\n return schematronResult(rule, true);\n }\n return schematronResult(rule, (document.paymentMeans?.length ?? 0) > 0);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getCustomerCountry, getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'NL-R-008',\n level: 'fatal',\n message:\n '[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',\n} as const satisfies SchematronRule;\n\nconst ALLOWED_CODES = new Set(['30', '48', '49', '57', '58', '59']);\n\nexport function validateNlR008(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'NL' || getCustomerCountry(document) !== 'NL') {\n return schematronResult(rule, true);\n }\n const passed = (document.paymentMeans ?? []).every(payment => ALLOWED_CODES.has(payment.paymentMeansCode.code));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'NL-R-009',\n level: 'fatal',\n message:\n '[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)',\n} as const satisfies SchematronRule;\n\nexport function validateNlR009(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'NL') {\n return schematronResult(rule, true);\n }\n const hasOrderLineReference = getLines(document).some(line => Boolean(line.orderLineReference?.lineId));\n if (!hasOrderLineReference) {\n return schematronResult(rule, true);\n }\n return schematronResult(rule, Boolean(document.orderReference?.id));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isValidMod11 } from '#/peppol-validations/is-valid-mod11';\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'NO-R-001',\n level: 'fatal',\n message:\n '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.',\n} as const satisfies SchematronRule;\n\nexport function validateNoR001(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'NO') {\n return schematronResult(rule, true);\n }\n const vatCompanyId = document.accountingSupplierParty.partyTaxSchemes?.find(scheme => scheme.taxSchemeId.id === 'VAT')?.companyId;\n if (!vatCompanyId || vatCompanyId.slice(0, 2) !== 'NO') {\n return schematronResult(rule, true);\n }\n const orgNumber = vatCompanyId.slice(2);\n const passed = /^[0-9]{9}MVA$/.test(orgNumber) && isValidMod11(orgNumber.slice(0, 9));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'NO-R-002',\n level: 'warning',\n message: 'For Norwegian suppliers, most invoice issuers are required to append \"Foretaksregisteret\" to their invoice.',\n} as const satisfies SchematronRule;\n\nexport function validateNoR002(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'NO') {\n return schematronResult(rule, true);\n }\n const taxCompanyId = document.accountingSupplierParty.partyTaxSchemes?.find(scheme => scheme.taxSchemeId.id === 'TAX')?.companyId;\n return schematronResult(rule, taxCompanyId === 'Foretaksregisteret');\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\nimport { mimeCodesKeys } from '#/values/mime-codes.generated';\n\nconst rule = {\n id: 'PEPPOL-EN16931-CL001',\n level: 'fatal',\n message: 'Mime code must be according to subset of IANA code list.',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931CL001(document: PeppolDocument): SchematronRuleResult {\n const mimeCodes = (document.additionalDocumentReferences ?? []).flatMap(ref => {\n const binary = ref.attachment?.embeddedDocumentBinaryObject;\n return binary ? [binary.mimeCode] : [];\n });\n const passed = mimeCodes.every(code => (mimeCodesKeys as ReadonlyArray<string>).includes(code));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getAllAllowanceCharges, schematronResult } from '#/schematron/helpers';\nimport { allowanceChargeReasonCodesKeys } from '#/values/allowance-charge-reason-codes.generated';\n\nconst rule = {\n id: 'PEPPOL-EN16931-CL002',\n level: 'fatal',\n message: 'Reason code MUST be according to subset of UNCL 5189 D.16B.',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931CL002(document: PeppolDocument): SchematronRuleResult {\n const allowances = getAllAllowanceCharges(document).filter(ac => !ac.chargeIndicator);\n const passed = allowances.every(\n ac => ac.reasonCode === undefined || (allowanceChargeReasonCodesKeys as ReadonlyArray<string>).includes(ac.reasonCode)\n );\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getAllAllowanceCharges, schematronResult } from '#/schematron/helpers';\nimport { chargeReasonCodesKeys } from '#/values/charge-reason-codes.generated';\n\nconst rule = {\n id: 'PEPPOL-EN16931-CL003',\n level: 'fatal',\n message: 'Reason code MUST be according to UNCL 7161 D.16B.',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931CL003(document: PeppolDocument): SchematronRuleResult {\n const charges = getAllAllowanceCharges(document).filter(ac => ac.chargeIndicator);\n const passed = charges.every(ac => ac.reasonCode === undefined || (chargeReasonCodesKeys as ReadonlyArray<string>).includes(ac.reasonCode));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\nimport { vatDateCodesKeys } from '#/values/vat-dates.generated';\n\nconst rule = {\n id: 'PEPPOL-EN16931-CL006',\n level: 'fatal',\n message: 'Invoice period description code must be according to UNCL 2005 D.16B.',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931CL006(document: PeppolDocument): SchematronRuleResult {\n const descriptionCode = document.invoicePeriod?.descriptionCode;\n if (descriptionCode === undefined) {\n return schematronResult(rule, true);\n }\n return schematronResult(rule, (vatDateCodesKeys as ReadonlyArray<string>).includes(descriptionCode));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult } from '#/schematron/helpers';\nimport { currencyCodesKeys } from '#/values/currency-code.generated';\n\nconst rule = {\n id: 'PEPPOL-EN16931-CL007',\n level: 'fatal',\n message: 'Currency code must be according to ISO 4217:2005',\n} as const satisfies SchematronRule;\n\nconst isValidCurrency = (code: string): boolean => (currencyCodesKeys as ReadonlyArray<string>).includes(code);\n\nexport function validatePeppolEn16931CL007(document: PeppolDocument): SchematronRuleResult {\n const currencies: Array<string> = [document.documentCurrencyCode];\n if (document.taxCurrencyCode) {\n currencies.push(document.taxCurrencyCode);\n }\n for (const line of getLines(document)) {\n currencies.push(line.lineExtensionAmount.currencyId);\n currencies.push(line.price.priceAmount.currencyId);\n }\n const total = document.legalMonetaryTotal;\n currencies.push(\n total.lineExtensionAmount.currencyId,\n total.taxExclusiveAmount.currencyId,\n total.taxInclusiveAmount.currencyId,\n total.payableAmount.currencyId\n );\n if (total.allowanceTotalAmount) currencies.push(total.allowanceTotalAmount.currencyId);\n if (total.chargeTotalAmount) currencies.push(total.chargeTotalAmount.currencyId);\n if (total.prepaidAmount) currencies.push(total.prepaidAmount.currencyId);\n if (total.payableRoundingAmount) currencies.push(total.payableRoundingAmount.currencyId);\n for (const taxTotal of document.taxTotals) {\n currencies.push(taxTotal.taxAmount.currencyId);\n for (const subtotal of taxTotal.taxSubtotals ?? []) {\n currencies.push(subtotal.taxAmount.currencyId, subtotal.taxableAmount.currencyId);\n }\n }\n return schematronResult(rule, currencies.every(isValidCurrency));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\nimport { electronicAddressCodesKeys } from '#/values/eas-codes.generated';\n\nconst rule = {\n id: 'PEPPOL-EN16931-CL008',\n level: 'fatal',\n message: 'Electronic address identifier scheme must be from the codelist \"Electronic Address Identifier Scheme\"',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931CL008(document: PeppolDocument): SchematronRuleResult {\n const schemeIds: Array<string | undefined> = [\n document.accountingSupplierParty.endpointId?.schemeId,\n document.accountingCustomerParty.endpointId?.schemeId,\n ];\n const passed = schemeIds.every(schemeId => schemeId === undefined || (electronicAddressCodesKeys as ReadonlyArray<string>).includes(schemeId));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isValidGLN } from '#/peppol-validations/is-valid-gln';\nimport { normalizeSpace } from '#/peppol-validations/normalize-space';\nimport { getIdentifiersWithSchemeId, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-COMMON-R040',\n level: 'fatal',\n message: 'GLN must have a valid format according to GS1 rules.',\n} as const satisfies SchematronRule;\n\nconst SCHEME_ID = '0088';\n\nexport function validatePeppolCommonR040(document: PeppolDocument): SchematronRuleResult {\n const identifiers = getIdentifiersWithSchemeId(document).filter(i => i.schemeId === SCHEME_ID);\n const passed = identifiers.every(i => /^[0-9]+$/.test(normalizeSpace(i.id)) && isValidGLN(normalizeSpace(i.id)).success);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isValidMod11 } from '#/peppol-validations/is-valid-mod11';\nimport { normalizeSpace } from '#/peppol-validations/normalize-space';\nimport { getIdentifiersWithSchemeId, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-COMMON-R041',\n level: 'fatal',\n message: 'Norwegian organization number MUST be stated in the correct format.',\n} as const satisfies SchematronRule;\n\nconst SCHEME_ID = '0192';\n\nexport function validatePeppolCommonR041(document: PeppolDocument): SchematronRuleResult {\n const identifiers = getIdentifiersWithSchemeId(document).filter(i => i.schemeId === SCHEME_ID);\n const passed = identifiers.every(i => /^[0-9]{9}$/.test(normalizeSpace(i.id)) && isValidMod11(normalizeSpace(i.id)));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getIdentifiersWithSchemeId, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-COMMON-R042',\n level: 'fatal',\n message: 'Danish organization number (CVR) MUST be stated in the correct format.',\n} as const satisfies SchematronRule;\n\nconst SCHEME_ID = '0184';\n\nexport function validatePeppolCommonR042(document: PeppolDocument): SchematronRuleResult {\n const identifiers = getIdentifiersWithSchemeId(document).filter(i => i.schemeId === SCHEME_ID);\n const passed = identifiers.every(i => {\n const value = i.id;\n const isDkPrefixed = value.length === 10 && value.startsWith('DK') && value.slice(2).replace(/[0-9]/g, '').length === 0;\n const isDigitsOnly = value.length === 8 && value.replace(/[0-9]/g, '').length === 0;\n return isDkPrefixed || isDigitsOnly;\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isValidMod97_0208 } from '#/peppol-validations/is-valid-mod97-0208';\nimport { normalizeSpace } from '#/peppol-validations/normalize-space';\nimport { getIdentifiersWithSchemeId, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-COMMON-R043',\n level: 'fatal',\n message: 'Belgian enterprise number MUST be stated in the correct format.',\n} as const satisfies SchematronRule;\n\nconst SCHEME_ID = '0208';\n\nexport function validatePeppolCommonR043(document: PeppolDocument): SchematronRuleResult {\n const identifiers = getIdentifiersWithSchemeId(document).filter(i => i.schemeId === SCHEME_ID);\n const passed = identifiers.every(i => /^[0-9]{10}$/.test(normalizeSpace(i.id)) && isValidMod97_0208(normalizeSpace(i.id)).success);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getIdentifiersWithSchemeId, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-COMMON-R044',\n level: 'warning',\n message: 'IPA Code (Codice Univoco Unità Organizzativa) must be stated in the correct format',\n} as const satisfies SchematronRule;\n\nconst SCHEME_ID = '0201';\nconst ALLOWED_CHARACTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n\nexport function validatePeppolCommonR044(document: PeppolDocument): SchematronRuleResult {\n const identifiers = getIdentifiersWithSchemeId(document).filter(i => i.schemeId === SCHEME_ID);\n const passed = identifiers.every(i => i.id.length === 6 && i.id.split('').every(c => ALLOWED_CHARACTERS.includes(c)));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { checkCF } from '#/peppol-validations/check-cf';\nimport { getIdentifiersWithSchemeId, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-COMMON-R045',\n level: 'warning',\n message: 'Tax Code (Codice Fiscale) must be stated in the correct format',\n} as const satisfies SchematronRule;\n\nconst SCHEME_ID = '0210';\n\nexport function validatePeppolCommonR045(document: PeppolDocument): SchematronRuleResult {\n const identifiers = getIdentifiersWithSchemeId(document).filter(i => i.schemeId === SCHEME_ID);\n const passed = identifiers.every(i => checkCF(i.id));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { checkCF } from '#/peppol-validations/check-cf';\nimport { getIdentifiersWithSchemeId, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-COMMON-R046',\n level: 'warning',\n message: 'Tax Code (Codice Fiscale) must be stated in the correct format',\n} as const satisfies SchematronRule;\n\nconst SCHEME_ID = '9907';\n\nexport function validatePeppolCommonR046(document: PeppolDocument): SchematronRuleResult {\n const identifiers = getIdentifiersWithSchemeId(document).filter(i => i.schemeId === SCHEME_ID);\n const passed = identifiers.every(i => checkCF(i.id));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { checkPIVAseIT } from '#/peppol-validations/check-piva-se-it';\nimport { getIdentifiersWithSchemeId, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-COMMON-R047',\n level: 'warning',\n message: 'Italian VAT Code (Partita Iva) must be stated in the correct format',\n} as const satisfies SchematronRule;\n\nconst SCHEME_ID = '0211';\n\nexport function validatePeppolCommonR047(document: PeppolDocument): SchematronRuleResult {\n const identifiers = getIdentifiersWithSchemeId(document).filter(i => i.schemeId === SCHEME_ID);\n const passed = identifiers.every(i => checkPIVAseIT(i.id));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { checkSEOrgnr } from '#/peppol-validations/check-se-orgnr';\nimport { getIdentifiersWithSchemeId, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-COMMON-R049',\n level: 'fatal',\n message: 'Swedish organization number MUST be stated in the correct format.',\n} as const satisfies SchematronRule;\n\nconst SCHEME_ID = '0007';\n\nexport function validatePeppolCommonR049(document: PeppolDocument): SchematronRuleResult {\n const identifiers = getIdentifiersWithSchemeId(document).filter(i => i.schemeId === SCHEME_ID);\n const passed = identifiers.every(i => i.id.trim().length === 10 && Number.isFinite(Number(i.id.trim())) && checkSEOrgnr(i.id));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isValidABN } from '#/peppol-validations/is-valid-abn';\nimport { normalizeSpace } from '#/peppol-validations/normalize-space';\nimport { getIdentifiersWithSchemeId, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-COMMON-R050',\n level: 'fatal',\n message: 'Australian Business Number (ABN) MUST be stated in the correct format.',\n} as const satisfies SchematronRule;\n\nconst SCHEME_ID = '0151';\n\nexport function validatePeppolCommonR050(document: PeppolDocument): SchematronRuleResult {\n const identifiers = getIdentifiersWithSchemeId(document).filter(i => i.schemeId === SCHEME_ID);\n const passed = identifiers.every(i => /^[0-9]{11}$/.test(normalizeSpace(i.id)) && isValidABN(normalizeSpace(i.id)));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getIdentifiersWithSchemeId, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-COMMON-R052',\n level: 'warning',\n message: 'Danish chamber of commerce number (P) MUST be stated in the correct format.',\n} as const satisfies SchematronRule;\n\nconst SCHEME_ID = '0096';\n\nexport function validatePeppolCommonR052(document: PeppolDocument): SchematronRuleResult {\n const identifiers = getIdentifiersWithSchemeId(document).filter(i => i.schemeId === SCHEME_ID);\n const passed = identifiers.every(i => i.id.length === 10 && i.id.replace(/[0-9]/g, '').length === 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getIdentifiersWithSchemeId, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-COMMON-R053',\n level: 'warning',\n message: 'Danish ERSTORG number (SE) MUST be stated in the correct format.',\n} as const satisfies SchematronRule;\n\nconst SCHEME_ID = '0198';\n\nexport function validatePeppolCommonR053(document: PeppolDocument): SchematronRuleResult {\n const identifiers = getIdentifiersWithSchemeId(document).filter(i => i.schemeId === SCHEME_ID);\n const passed = identifiers.every(i => i.id.length === 10 && i.id.startsWith('DK') && i.id.slice(2).replace(/[0-9]/g, '').length === 0);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult } from '#/schematron/helpers';\n\nconst rule = { id: 'PEPPOL-EN16931-F001', level: 'fatal', message: 'A date MUST be formatted YYYY-MM-DD.' } as const satisfies SchematronRule;\n\nconst DATE_REGEX = /^\\d{4}-\\d{2}-\\d{2}$/;\n\nconst isValidDate = (value: string | undefined): boolean => value === undefined || (DATE_REGEX.test(value) && !Number.isNaN(Date.parse(value)));\n\nexport function validatePeppolEn16931F001(document: PeppolDocument): SchematronRuleResult {\n const dates: Array<string | undefined> = [document.issueDate];\n if (document.dueDate) dates.push(document.dueDate);\n if (document.taxPointDate) dates.push(document.taxPointDate);\n if (document.invoicePeriod?.startDate) dates.push(document.invoicePeriod.startDate);\n if (document.invoicePeriod?.endDate) dates.push(document.invoicePeriod.endDate);\n if (document.delivery?.actualDeliveryDate) dates.push(document.delivery.actualDeliveryDate);\n for (const line of getLines(document)) {\n if (line.invoicePeriod?.startDate) dates.push(line.invoicePeriod.startDate);\n if (line.invoicePeriod?.endDate) dates.push(line.invoicePeriod.endDate);\n }\n return schematronResult(rule, dates.every(isValidDate));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getProfile, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-P0100',\n level: 'fatal',\n message: 'Invoice type code MUST be set according to the profile.',\n} as const satisfies SchematronRule;\n\nconst PROFILE_01_INVOICE_TYPE_CODES = new Set([\n '71',\n '80',\n '82',\n '84',\n '102',\n '218',\n '219',\n '326',\n '331',\n '380',\n '382',\n '383',\n '384',\n '386',\n '388',\n '393',\n '395',\n '553',\n '575',\n '623',\n '780',\n '817',\n '870',\n '875',\n '876',\n '877',\n]);\n\nexport function validatePeppolEn16931P0100(document: PeppolDocument): SchematronRuleResult {\n const invoiceTypeCode = 'invoiceTypeCode' in document ? document.invoiceTypeCode : undefined;\n if (invoiceTypeCode === undefined) {\n return schematronResult(rule, true);\n }\n const profile = getProfile(document);\n if (profile === 'Unknown' || profile !== '01') {\n return schematronResult(rule, true);\n }\n return schematronResult(rule, PROFILE_01_INVOICE_TYPE_CODES.has(invoiceTypeCode));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getProfile, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-P0101',\n level: 'fatal',\n message: 'Credit note type code MUST be set according to the profile.',\n} as const satisfies SchematronRule;\n\nconst PROFILE_01_CREDIT_NOTE_TYPE_CODES = new Set(['381', '396', '81', '83', '532']);\n\nexport function validatePeppolEn16931P0101(document: PeppolDocument): SchematronRuleResult {\n const creditNoteTypeCode = 'creditNoteTypeCode' in document ? document.creditNoteTypeCode : undefined;\n if (creditNoteTypeCode === undefined) {\n return schematronResult(rule, true);\n }\n const profile = getProfile(document);\n if (profile === 'Unknown' || profile !== '01') {\n return schematronResult(rule, true);\n }\n return schematronResult(rule, PROFILE_01_CREDIT_NOTE_TYPE_CODES.has(creditNoteTypeCode));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-P0104',\n level: 'fatal',\n message: 'Tax Category G MUST be used when exemption reason code is VATEX-EU-G',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931P0104(document: PeppolDocument): SchematronRuleResult {\n const taxCategories = document.taxTotals.flatMap(total => (total.taxSubtotals ?? []).map(subtotal => subtotal.taxCategory));\n const passed = taxCategories.every(category => category.taxExemptionReasonCode?.toUpperCase() !== 'VATEX-EU-G' || category.id === 'G');\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-P0105',\n level: 'fatal',\n message: 'Tax Category O MUST be used when exemption reason code is VATEX-EU-O',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931P0105(document: PeppolDocument): SchematronRuleResult {\n const taxCategories = document.taxTotals.flatMap(total => (total.taxSubtotals ?? []).map(subtotal => subtotal.taxCategory));\n const passed = taxCategories.every(category => category.taxExemptionReasonCode?.toUpperCase() !== 'VATEX-EU-O' || category.id === 'O');\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-P0106',\n level: 'fatal',\n message: 'Tax Category K MUST be used when exemption reason code is VATEX-EU-IC',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931P0106(document: PeppolDocument): SchematronRuleResult {\n const taxCategories = document.taxTotals.flatMap(total => (total.taxSubtotals ?? []).map(subtotal => subtotal.taxCategory));\n const passed = taxCategories.every(category => category.taxExemptionReasonCode?.toUpperCase() !== 'VATEX-EU-IC' || category.id === 'K');\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-P0107',\n level: 'fatal',\n message: 'Tax Category AE MUST be used when exemption reason code is VATEX-EU-AE',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931P0107(document: PeppolDocument): SchematronRuleResult {\n const taxCategories = document.taxTotals.flatMap(total => (total.taxSubtotals ?? []).map(subtotal => subtotal.taxCategory));\n const passed = taxCategories.every(category => category.taxExemptionReasonCode?.toUpperCase() !== 'VATEX-EU-AE' || category.id === 'AE');\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-P0108',\n level: 'fatal',\n message: 'Tax Category E MUST be used when exemption reason code is VATEX-EU-D',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931P0108(document: PeppolDocument): SchematronRuleResult {\n const taxCategories = document.taxTotals.flatMap(total => (total.taxSubtotals ?? []).map(subtotal => subtotal.taxCategory));\n const passed = taxCategories.every(category => category.taxExemptionReasonCode?.toUpperCase() !== 'VATEX-EU-D' || category.id === 'E');\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-P0109',\n level: 'fatal',\n message: 'Tax Category E MUST be used when exemption reason code is VATEX-EU-F',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931P0109(document: PeppolDocument): SchematronRuleResult {\n const taxCategories = document.taxTotals.flatMap(total => (total.taxSubtotals ?? []).map(subtotal => subtotal.taxCategory));\n const passed = taxCategories.every(category => category.taxExemptionReasonCode?.toUpperCase() !== 'VATEX-EU-F' || category.id === 'E');\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-P0110',\n level: 'fatal',\n message: 'Tax Category E MUST be used when exemption reason code is VATEX-EU-I',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931P0110(document: PeppolDocument): SchematronRuleResult {\n const taxCategories = document.taxTotals.flatMap(total => (total.taxSubtotals ?? []).map(subtotal => subtotal.taxCategory));\n const passed = taxCategories.every(category => category.taxExemptionReasonCode?.toUpperCase() !== 'VATEX-EU-I' || category.id === 'E');\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-P0111',\n level: 'fatal',\n message: 'Tax Category E MUST be used when exemption reason code is VATEX-EU-J',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931P0111(document: PeppolDocument): SchematronRuleResult {\n const taxCategories = document.taxTotals.flatMap(total => (total.taxSubtotals ?? []).map(subtotal => subtotal.taxCategory));\n const passed = taxCategories.every(category => category.taxExemptionReasonCode?.toUpperCase() !== 'VATEX-EU-J' || category.id === 'E');\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-P0112',\n level: 'fatal',\n message: 'Invoice type code 326 or 384 are only allowed when both buyer and seller are German organizations ',\n} as const satisfies SchematronRule;\n\nconst GERMAN_ONLY_CODES = new Set(['326', '384']);\n\nexport function validatePeppolEn16931P0112(document: PeppolDocument): SchematronRuleResult {\n const invoiceTypeCode = 'invoiceTypeCode' in document ? document.invoiceTypeCode : undefined;\n const creditNoteTypeCode = 'creditNoteTypeCode' in document ? document.creditNoteTypeCode : undefined;\n const code = invoiceTypeCode ?? creditNoteTypeCode;\n if (!code || !GERMAN_ONLY_CODES.has(code)) {\n return schematronResult(rule, true);\n }\n return schematronResult(rule, isSupplierGermany(document) && isCustomerGermany(document));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nconst RULE_ID = 'PEPPOL-EN16931-R001';\nconst RULE_LEVEL = 'fatal';\nconst RULE_MESSAGE = 'Business process MUST be provided.';\n\n/**\n * @description Validates the PEPPOL-EN16931-R001 rule: the document MUST contain a business process identifier (`cbc:ProfileID`).\n */\nexport function validatePeppolEn16931R001(document: PeppolDocument): SchematronRuleResult {\n const passed = typeof document.profileId === 'string' && document.profileId.trim() !== '';\n return { id: RULE_ID, level: RULE_LEVEL, message: RULE_MESSAGE, passed };\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-R002',\n level: 'fatal',\n message: 'No more than one note is allowed on document level, unless both the buyer and seller are German organizations.',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931R002(document: PeppolDocument): SchematronRuleResult {\n const noteCount = typeof document.note === 'string' ? 1 : 0;\n return schematronResult(rule, noteCount <= 1);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-R003',\n level: 'fatal',\n message: 'A buyer reference or purchase order reference MUST be provided.',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931R003(document: PeppolDocument): SchematronRuleResult {\n const passed = typeof document.buyerReference === 'string' && document.buyerReference.trim() !== '' ? true : Boolean(document.orderReference?.id);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-R004',\n level: 'fatal',\n message: \"Specification identifier MUST have the value 'urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0'.\",\n} as const satisfies SchematronRule;\n\nconst CUSTOMIZATION_ID_PREFIX = 'urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0';\n\nexport function validatePeppolEn16931R004(document: PeppolDocument): SchematronRuleResult {\n const customizationId = typeof document.customizationId === 'string' ? document.customizationId.trim() : '';\n return schematronResult(rule, customizationId.startsWith(CUSTOMIZATION_ID_PREFIX));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-R005',\n level: 'fatal',\n message: 'VAT accounting currency code MUST be different from invoice currency code when provided.',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931R005(document: PeppolDocument): SchematronRuleResult {\n if (!document.taxCurrencyCode) {\n return schematronResult(rule, true);\n }\n return schematronResult(rule, document.taxCurrencyCode !== document.documentCurrencyCode);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getProfile, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-R007',\n level: 'fatal',\n message: \"Business process MUST be in the format 'urn:fdc:peppol.eu:2017:poacc:billing:NN:1.0' where NN indicates the process number.\",\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931R007(document: PeppolDocument): SchematronRuleResult {\n return schematronResult(rule, getProfile(document) !== 'Unknown');\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = { id: 'PEPPOL-EN16931-R008', level: 'fatal', message: 'Document MUST not contain empty elements.' } as const satisfies SchematronRule;\n\nfunction containsEmptyElement(value: unknown): boolean {\n if (value === null || value === undefined) {\n return false;\n }\n if (typeof value === 'string') {\n return value.trim() === '';\n }\n if (Array.isArray(value)) {\n return value.some(containsEmptyElement);\n }\n if (typeof value === 'object') {\n return Object.values(value as Record<string, unknown>).some(containsEmptyElement);\n }\n return false;\n}\n\nexport function validatePeppolEn16931R008(document: PeppolDocument): SchematronRuleResult {\n return schematronResult(rule, !containsEmptyElement(document));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = { id: 'PEPPOL-EN16931-R010', level: 'fatal', message: 'Buyer electronic address MUST be provided' } as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931R010(document: PeppolDocument): SchematronRuleResult {\n const endpointId = document.accountingCustomerParty.endpointId?.id;\n return schematronResult(rule, typeof endpointId === 'string' && endpointId.trim() !== '');\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = { id: 'PEPPOL-EN16931-R020', level: 'fatal', message: 'Seller electronic address MUST be provided' } as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931R020(document: PeppolDocument): SchematronRuleResult {\n const endpointId = document.accountingSupplierParty.endpointId?.id;\n return schematronResult(rule, typeof endpointId === 'string' && endpointId.trim() !== '');\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getAllAllowanceCharges, schematronResult, slack } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-R040',\n level: 'fatal',\n message: 'Allowance/charge amount must equal base amount * percentage/100 if base amount and percentage exists',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931R040(document: PeppolDocument): SchematronRuleResult {\n const allowanceCharges = getAllAllowanceCharges(document);\n const passed = allowanceCharges.every(ac => {\n if (!ac.multiplierFactorNumeric || ac.baseAmount === undefined) {\n return true;\n }\n const expected = (ac.baseAmount * ac.multiplierFactorNumeric) / 100;\n return slack(expected, ac.amount ?? 0, 0.02);\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getAllAllowanceCharges, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-R041',\n level: 'fatal',\n message: 'Allowance/charge base amount MUST be provided when allowance/charge percentage is provided.',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931R041(document: PeppolDocument): SchematronRuleResult {\n const allowanceCharges = getAllAllowanceCharges(document);\n const passed = allowanceCharges.every(ac => !ac.multiplierFactorNumeric || ac.baseAmount !== undefined);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getAllAllowanceCharges, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-R042',\n level: 'fatal',\n message: 'Allowance/charge percentage MUST be provided when allowance/charge base amount is provided.',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931R042(document: PeppolDocument): SchematronRuleResult {\n const allowanceCharges = getAllAllowanceCharges(document);\n const passed = allowanceCharges.every(ac => ac.baseAmount === undefined || Boolean(ac.multiplierFactorNumeric));\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getAllAllowanceCharges, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-R043',\n level: 'fatal',\n message: \"Allowance/charge ChargeIndicator value MUST equal 'true' or 'false'\",\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931R043(document: PeppolDocument): SchematronRuleResult {\n const allowanceCharges = getAllAllowanceCharges(document);\n const passed = allowanceCharges.every(ac => typeof ac.chargeIndicator === 'boolean');\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-R044',\n level: 'fatal',\n message: \"Charge on price level is NOT allowed. Only value 'false' allowed.\",\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931R044(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(line => !line.price.allowanceCharge || !line.price.allowanceCharge.chargeIndicator);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult, slack } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-R046',\n level: 'fatal',\n message: 'Item net price MUST equal (Gross price - Allowance amount) when gross price is provided.',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931R046(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(line => {\n const price = line.price;\n const allowance = price.allowanceCharge;\n if (!allowance || allowance.baseAmount === undefined) {\n return true;\n }\n return slack(allowance.baseAmount.value - (allowance.amount?.value ?? 0), price.priceAmount.value, 0.02);\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-R051',\n level: 'fatal',\n message:\n '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).',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931R051(document: PeppolDocument): SchematronRuleResult {\n const documentCurrency = document.documentCurrencyCode;\n const checkCurrency = (currencyId: string | undefined): boolean => currencyId === documentCurrency;\n\n const documentAllowancesOk = (document.allowanceCharges ?? []).every(\n ac => checkCurrency(ac.amount?.currencyId) && (!ac.baseAmount || checkCurrency(ac.baseAmount.currencyId))\n );\n\n const linesOk = getLines(document).every(line => {\n const lineAllowancesOk = (line.allowanceCharges ?? []).every(\n ac => checkCurrency(ac.amount?.currencyId) && (!ac.baseAmount || checkCurrency(ac.baseAmount.currencyId))\n );\n return checkCurrency(line.price.priceAmount.currencyId) && checkCurrency(line.lineExtensionAmount.currencyId) && lineAllowancesOk;\n });\n\n const taxTotalsOk = document.taxTotals.every(total => {\n // Only tax totals with subtotals are in scope for BT-110; the accounting currency total (BT-111) is excluded.\n if ((total.taxSubtotals?.length ?? 0) === 0) {\n return true;\n }\n return (\n checkCurrency(total.taxAmount.currencyId) &&\n (total.taxSubtotals ?? []).every(st => checkCurrency(st.taxAmount.currencyId) && checkCurrency(st.taxableAmount.currencyId))\n );\n });\n\n const totals = document.legalMonetaryTotal;\n const totalsOk =\n checkCurrency(totals.lineExtensionAmount.currencyId) &&\n checkCurrency(totals.taxExclusiveAmount.currencyId) &&\n checkCurrency(totals.taxInclusiveAmount.currencyId) &&\n (!totals.allowanceTotalAmount || checkCurrency(totals.allowanceTotalAmount.currencyId)) &&\n (!totals.chargeTotalAmount || checkCurrency(totals.chargeTotalAmount.currencyId)) &&\n (!totals.prepaidAmount || checkCurrency(totals.prepaidAmount.currencyId)) &&\n (!totals.payableRoundingAmount || checkCurrency(totals.payableRoundingAmount.currencyId)) &&\n checkCurrency(totals.payableAmount.currencyId);\n\n return schematronResult(rule, documentAllowancesOk && linesOk && taxTotalsOk && totalsOk);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-R053',\n level: 'fatal',\n message: 'Only one tax total with tax subtotals MUST be provided.',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931R053(document: PeppolDocument): SchematronRuleResult {\n const withSubtotals = document.taxTotals.filter(total => (total.taxSubtotals?.length ?? 0) > 0);\n return schematronResult(rule, withSubtotals.length === 1);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-R054',\n level: 'fatal',\n message: 'Only one tax total without tax subtotals MUST be provided when tax currency code is provided.',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931R054(document: PeppolDocument): SchematronRuleResult {\n const withoutSubtotals = document.taxTotals.filter(total => (total.taxSubtotals?.length ?? 0) === 0);\n const expected = document.taxCurrencyCode ? 1 : 0;\n return schematronResult(rule, withoutSubtotals.length === expected);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-R055',\n level: 'fatal',\n message: 'Invoice total VAT amount and Invoice total VAT amount in accounting currency MUST have the same operational sign',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931R055(document: PeppolDocument): SchematronRuleResult {\n const taxCurrency = document.taxCurrencyCode;\n if (!taxCurrency) {\n return schematronResult(rule, true);\n }\n const documentCurrencyAmount = document.taxTotals.find(total => total.taxAmount.currencyId === document.documentCurrencyCode)?.taxAmount.value;\n const taxCurrencyAmount = document.taxTotals.find(total => total.taxAmount.currencyId === taxCurrency)?.taxAmount.value;\n if (typeof documentCurrencyAmount !== 'number' || typeof taxCurrencyAmount !== 'number') {\n return schematronResult(rule, false);\n }\n const bothNonPositive = documentCurrencyAmount <= 0 && taxCurrencyAmount <= 0;\n const bothNonNegative = documentCurrencyAmount >= 0 && taxCurrencyAmount >= 0;\n return schematronResult(rule, bothNonPositive || bothNonNegative);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-R061',\n level: 'fatal',\n message: 'Mandate reference MUST be provided for direct debit.',\n} as const satisfies SchematronRule;\n\nconst DIRECT_DEBIT_CODES = new Set(['49', '59']);\n\nexport function validatePeppolEn16931R061(document: PeppolDocument): SchematronRuleResult {\n const passed = (document.paymentMeans ?? []).every(payment => {\n if (!DIRECT_DEBIT_CODES.has(payment.paymentMeansCode.code)) {\n return true;\n }\n const mandateId = payment.paymentMandate?.id;\n return typeof mandateId === 'string' && mandateId.trim() !== '';\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult } from '#/schematron/helpers';\n\nconst rule = { id: 'PEPPOL-EN16931-R100', level: 'fatal', message: 'Only one invoiced object is allowed pr line' } as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931R100(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(line => (line.documentReference?.length ?? 0) <= 1);\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-R101',\n level: 'fatal',\n message: 'Element Document reference can only be used for Invoice line object',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931R101(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(line => {\n const references = line.documentReference ?? [];\n return references.every(ref => ref.documentTypeCode === '130');\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-R110',\n level: 'fatal',\n message: 'Start date of line period MUST be within invoice period.',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931R110(document: PeppolDocument): SchematronRuleResult {\n const invoicePeriodStart = document.invoicePeriod?.startDate;\n if (!invoicePeriodStart) {\n return schematronResult(rule, true);\n }\n const passed = getLines(document).every(line => {\n const lineStart = line.invoicePeriod?.startDate;\n return !lineStart || lineStart >= invoicePeriodStart;\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-R111',\n level: 'fatal',\n message: 'End date of line period MUST be within invoice period.',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931R111(document: PeppolDocument): SchematronRuleResult {\n const invoicePeriodEnd = document.invoicePeriod?.endDate;\n if (!invoicePeriodEnd) {\n return schematronResult(rule, true);\n }\n const passed = getLines(document).every(line => {\n const lineEnd = line.invoicePeriod?.endDate;\n return !lineEnd || lineEnd <= invoicePeriodEnd;\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLineQuantity, getLines, schematronResult, slack } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-R120',\n level: 'fatal',\n message:\n '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',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931R120(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(line => {\n const lineExtensionAmount = line.lineExtensionAmount.value;\n const quantity = getLineQuantity(line);\n const priceAmount = line.price.priceAmount.value;\n const baseQuantity = line.price.baseQuantity?.value ?? 1;\n const allowancesTotal = (line.allowanceCharges ?? []).filter(ac => !ac.chargeIndicator).reduce((sum, ac) => sum + (ac.amount?.value ?? 0), 0);\n const chargesTotal = (line.allowanceCharges ?? []).filter(ac => ac.chargeIndicator).reduce((sum, ac) => sum + (ac.amount?.value ?? 0), 0);\n const expected = quantity * (priceAmount / baseQuantity) + chargesTotal - allowancesTotal;\n return slack(expected, lineExtensionAmount, 0.02);\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-R121',\n level: 'fatal',\n message: 'Base quantity MUST be a positive number above zero.',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931R121(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(line => {\n const baseQuantity = line.price.baseQuantity?.value;\n return baseQuantity === undefined || baseQuantity > 0;\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'PEPPOL-EN16931-R130',\n level: 'fatal',\n message: 'Unit code of price base quantity MUST be same as invoiced quantity.',\n} as const satisfies SchematronRule;\n\nexport function validatePeppolEn16931R130(document: PeppolDocument): SchematronRuleResult {\n const passed = getLines(document).every(line => {\n const baseQuantity = line.price.baseQuantity;\n if (!baseQuantity?.unitCode) {\n return true;\n }\n const quantity = 'invoicedQuantity' in line ? line.invoicedQuantity : 'creditedQuantity' in line ? line.creditedQuantity : undefined;\n if (!quantity) {\n return true;\n }\n return baseQuantity.unitCode === quantity.unitCode;\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'SE-R-001',\n level: 'fatal',\n message: 'For Swedish suppliers, Swedish VAT-numbers must consist of 14 characters.',\n} as const satisfies SchematronRule;\n\nexport function validateSeR001(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'SE') {\n return schematronResult(rule, true);\n }\n const vatCompanyId = document.accountingSupplierParty.partyTaxSchemes?.find(scheme => scheme.taxSchemeId.id === 'VAT')?.companyId;\n return schematronResult(rule, vatCompanyId?.trim().length === 14);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'SE-R-002',\n level: 'fatal',\n message: 'For Swedish suppliers, the Swedish VAT-numbers must have the trailing 12 characters in numeric form',\n} as const satisfies SchematronRule;\n\nexport function validateSeR002(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'SE') {\n return schematronResult(rule, true);\n }\n const vatCompanyId = document.accountingSupplierParty.partyTaxSchemes?.find(scheme => scheme.taxSchemeId.id === 'VAT')?.companyId;\n return schematronResult(rule, vatCompanyId !== undefined && /^\\d{12}$/.test(vatCompanyId.slice(2)));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = { id: 'SE-R-003', level: 'fatal', message: 'Swedish organisation numbers should be numeric.' } as const satisfies SchematronRule;\n\nexport function validateSeR003(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'SE') {\n return schematronResult(rule, true);\n }\n const companyId = document.accountingSupplierParty.partyLegalEntity.companyId;\n return schematronResult(rule, companyId === undefined || /^\\d+$/.test(companyId.id));\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = { id: 'SE-R-004', level: 'fatal', message: 'Swedish organisation numbers consist of 10 characters.' } as const satisfies SchematronRule;\n\nexport function validateSeR004(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'SE') {\n return schematronResult(rule, true);\n }\n const companyId = document.accountingSupplierParty.partyLegalEntity.companyId;\n return schematronResult(rule, companyId === undefined || companyId.id.trim().length === 10);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'SE-R-005',\n level: 'fatal',\n message: \"For Swedish suppliers, when using Seller tax registration identifier, 'Godkänd för F-skatt' must be stated\",\n} as const satisfies SchematronRule;\n\nexport function validateSeR005(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'SE') {\n return schematronResult(rule, true);\n }\n const nonVatScheme = document.accountingSupplierParty.partyTaxSchemes?.find(scheme => scheme.taxSchemeId.id.toUpperCase() !== 'VAT');\n if (!nonVatScheme) {\n return schematronResult(rule, true);\n }\n return schematronResult(rule, nonVatScheme.companyId.trim().toUpperCase() === 'GODKÄND FÖR F-SKATT');\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getLines, getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'SE-R-006',\n level: 'fatal',\n message: 'For Swedish suppliers, only standard VAT rate of 6, 12 or 25 are used',\n} as const satisfies SchematronRule;\n\nconst ALLOWED_RATES = new Set([6, 12, 25]);\n\nexport function validateSeR006(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'SE') {\n return schematronResult(rule, true);\n }\n const passed = getLines(document).every(line => {\n const percent = line.item.classifiedTaxCategory.percent;\n return percent === undefined || ALLOWED_RATES.has(percent);\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'SE-R-007',\n level: 'warning',\n message: 'For Swedish suppliers using Plusgiro, the Account ID must be numeric ',\n} as const satisfies SchematronRule;\n\nexport function validateSeR007(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'SE') {\n return schematronResult(rule, true);\n }\n const passed = (document.paymentMeans ?? []).every(payment => {\n if (payment.paymentMeansCode.code !== '30' || payment.payeeFinancialAccount?.financialInstitutionBranch?.id !== 'SE:PLUSGIRO') {\n return true;\n }\n const accountId = payment.payeeFinancialAccount?.id;\n return accountId !== undefined && /^\\d+$/.test(accountId.trim());\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'SE-R-008',\n level: 'warning',\n message: 'For Swedish suppliers using Bankgiro, the Account ID must be numeric ',\n} as const satisfies SchematronRule;\n\nexport function validateSeR008(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'SE') {\n return schematronResult(rule, true);\n }\n const passed = (document.paymentMeans ?? []).every(payment => {\n if (payment.paymentMeansCode.code !== '30' || payment.payeeFinancialAccount?.financialInstitutionBranch?.id !== 'SE:BANKGIRO') {\n return true;\n }\n const accountId = payment.payeeFinancialAccount?.id;\n return accountId !== undefined && /^\\d+$/.test(accountId.trim());\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'SE-R-009',\n level: 'warning',\n message: 'For Swedish suppliers using Bankgiro, the Account ID must have 7-8 characters',\n} as const satisfies SchematronRule;\n\nexport function validateSeR009(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'SE') {\n return schematronResult(rule, true);\n }\n const passed = (document.paymentMeans ?? []).every(payment => {\n if (payment.paymentMeansCode.code !== '30' || payment.payeeFinancialAccount?.financialInstitutionBranch?.id !== 'SE:BANKGIRO') {\n return true;\n }\n const accountId = payment.payeeFinancialAccount?.id;\n return accountId !== undefined && (accountId.trim().length === 7 || accountId.trim().length === 8);\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'SE-R-010',\n level: 'warning',\n message: 'For Swedish suppliers using Plusgiro, the Account ID must have 2-8 characters',\n} as const satisfies SchematronRule;\n\nexport function validateSeR010(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'SE') {\n return schematronResult(rule, true);\n }\n const passed = (document.paymentMeans ?? []).every(payment => {\n if (payment.paymentMeansCode.code !== '30' || payment.payeeFinancialAccount?.financialInstitutionBranch?.id !== 'SE:PLUSGIRO') {\n return true;\n }\n const accountId = payment.payeeFinancialAccount?.id;\n return accountId !== undefined && accountId.trim().length >= 2 && accountId.trim().length <= 8;\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'SE-R-011',\n level: 'warning',\n message:\n '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',\n} as const satisfies SchematronRule;\n\nexport function validateSeR011(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'SE') {\n return schematronResult(rule, true);\n }\n const passed = (document.paymentMeans ?? []).every(payment => {\n const code = payment.paymentMeansCode.code;\n return code !== '50' && code !== '56';\n });\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { getCustomerCountry, getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'SE-R-012',\n level: 'warning',\n message: 'For domestic transactions between Swedish trading partners, credit transfer should be indicated by PaymentMeansCode=\"30\"',\n} as const satisfies SchematronRule;\n\nexport function validateSeR012(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'SE' || getCustomerCountry(document) !== 'SE') {\n return schematronResult(rule, true);\n }\n const passed = (document.paymentMeans ?? []).every(payment => payment.paymentMeansCode.code !== '31');\n return schematronResult(rule, passed);\n}\n","import type { PeppolDocument } from '#/document';\nimport type { SchematronRule } from '#/schematron/helpers';\nimport type { SchematronRuleResult } from '#/schematron/types';\n\nimport { checkSEOrgnr } from '#/peppol-validations/check-se-orgnr';\nimport { getSupplierCountry, schematronResult } from '#/schematron/helpers';\n\nconst rule = {\n id: 'SE-R-013',\n level: 'fatal',\n message: 'The last digit of a Swedish organization number must be valid according to the Luhn algorithm.',\n} as const satisfies SchematronRule;\n\nexport function validateSeR013(document: PeppolDocument): SchematronRuleResult {\n if (getSupplierCountry(document) !== 'SE') {\n return schematronResult(rule, true);\n }\n const companyId = document.accountingSupplierParty.partyLegalEntity.companyId;\n return schematronResult(rule, companyId === undefined || checkSEOrgnr(companyId.id));\n}\n"],"mappings":"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"}
|