@endevops/peppol-schema 0.1.0-beta.3 → 0.1.0-beta.5
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/README.md +9 -6
- package/dist/constants.d.ts +51 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +48 -0
- package/dist/constants.js.map +1 -0
- package/dist/eas-codes.generated-D8jjHFij.js.map +1 -1
- package/dist/index-CfjMSrpQ.d.ts +3508 -0
- package/dist/index-CfjMSrpQ.d.ts.map +1 -0
- package/dist/index.d.ts +2 -2613
- package/dist/index.js +3121 -1563
- package/dist/index.js.map +1 -1
- package/dist/invoice-response-code-not-needs-schema-p_RKKNLc.js +18 -0
- package/dist/invoice-response-code-not-needs-schema-p_RKKNLc.js.map +1 -0
- package/dist/invoice-response-codes.d.ts +11 -0
- package/dist/invoice-response-codes.d.ts.map +1 -0
- package/dist/invoice-response-codes.js +32 -0
- package/dist/invoice-response-codes.js.map +1 -0
- package/dist/invoice-status-codes.generated-DL-agLdx.d.ts +24 -0
- package/dist/invoice-status-codes.generated-DL-agLdx.d.ts.map +1 -0
- package/dist/message-level-response-profile-id-DBpOW91B.js +9 -0
- package/dist/message-level-response-profile-id-DBpOW91B.js.map +1 -0
- package/dist/peppol-iso-date-string-BXLxzxdz.js +30 -0
- package/dist/peppol-iso-date-string-BXLxzxdz.js.map +1 -0
- package/dist/schematron.d.ts +408 -365
- package/dist/schematron.d.ts.map +1 -1
- package/dist/schematron.js +1975 -1501
- package/dist/schematron.js.map +1 -1
- package/dist/values.d.ts +95 -13218
- package/dist/values.d.ts.map +1 -1
- package/dist/values.js +1 -1
- package/dist/vat-dates.generated-CxFvt7m3.d.ts +68 -0
- package/dist/vat-dates.generated-CxFvt7m3.d.ts.map +1 -0
- package/dist/{vatex-codes.generated-BSgP3n5t.js → vatex-codes.generated-N7wsUrLh.js} +8 -9
- package/dist/vatex-codes.generated-N7wsUrLh.js.map +1 -0
- package/package.json +16 -18
- package/src/constants/transport-profile.ts +5 -1
- package/src/decoders/decode-billing.ts +1 -1
- package/src/decoders/decode-credit-note.ts +2 -4
- package/src/decoders/decode-invoice-response.ts +15 -37
- package/src/decoders/decode-invoice.ts +2 -4
- package/src/decoders/decode-message-level-response.ts +21 -48
- package/src/decoders/encode-credit-note.ts +1 -1
- package/src/decoders/encode-invoice-response.ts +7 -4
- package/src/decoders/encode-invoice.ts +1 -1
- package/src/decoders/encode-message-level-response.ts +4 -10
- package/src/decoders/fields/decode-additional-document-references.ts +1 -1
- package/src/decoders/fields/decode-address.ts +1 -1
- package/src/decoders/fields/decode-allowance-charges.ts +7 -15
- package/src/decoders/fields/decode-amount.ts +2 -2
- package/src/decoders/fields/decode-application-response.ts +21 -0
- package/src/decoders/fields/decode-billing-references.ts +1 -1
- package/src/decoders/fields/decode-contact.ts +1 -1
- package/src/decoders/fields/decode-credit-note-lines.ts +7 -15
- package/src/decoders/fields/decode-delivery.ts +1 -1
- package/src/decoders/fields/decode-electronic-address.ts +1 -1
- package/src/decoders/fields/decode-identifier.ts +1 -1
- package/src/decoders/fields/decode-invoice-line-period.ts +1 -1
- package/src/decoders/fields/decode-invoice-lines.ts +6 -14
- package/src/decoders/fields/decode-invoice-message-document-party.ts +2 -2
- package/src/decoders/fields/decode-invoice-message-party.ts +1 -6
- package/src/decoders/fields/decode-invoice-period.ts +7 -13
- package/src/decoders/fields/decode-legal-monetary-total.ts +1 -1
- package/src/decoders/fields/decode-line-allowance-charges.ts +7 -14
- package/src/decoders/fields/decode-line-price.ts +1 -7
- package/src/decoders/fields/decode-line-shared.ts +2 -4
- package/src/decoders/fields/decode-message-level-party.ts +1 -1
- package/src/decoders/fields/decode-node-list.ts +15 -0
- package/src/decoders/fields/decode-order-reference.ts +1 -1
- package/src/decoders/fields/decode-parties-tax-scheme.ts +1 -1
- package/src/decoders/fields/decode-party-legal-entity.ts +1 -1
- package/src/decoders/fields/decode-party-tax-scheme.ts +1 -1
- package/src/decoders/fields/decode-party.ts +3 -14
- package/src/decoders/fields/decode-payee-party.ts +1 -1
- package/src/decoders/fields/decode-payment-means.ts +2 -2
- package/src/decoders/fields/decode-payment-terms.ts +1 -1
- package/src/decoders/fields/decode-price-allowance-charge.ts +1 -7
- package/src/decoders/fields/decode-quantity.ts +1 -6
- package/src/decoders/fields/decode-simple-identifier.ts +1 -1
- package/src/decoders/fields/decode-tax-category.ts +1 -1
- package/src/decoders/fields/decode-tax-representative-party.ts +1 -1
- package/src/decoders/fields/decode-tax-totals.ts +2 -2
- package/src/decoders/fields/encode-additional-document-references.ts +3 -2
- package/src/decoders/fields/encode-address.ts +1 -1
- package/src/decoders/fields/encode-allowance-charges.ts +3 -2
- package/src/decoders/fields/encode-amount.ts +1 -1
- package/src/decoders/fields/encode-billing-references.ts +2 -2
- package/src/decoders/fields/encode-contact.ts +1 -1
- package/src/decoders/fields/encode-credit-note-lines.ts +2 -2
- package/src/decoders/fields/encode-delivery.ts +1 -1
- package/src/decoders/fields/encode-identifier.ts +1 -1
- package/src/decoders/fields/encode-invoice-line-period.ts +1 -1
- package/src/decoders/fields/encode-invoice-lines.ts +2 -2
- package/src/decoders/fields/encode-invoice-period.ts +1 -1
- package/src/decoders/fields/encode-legal-monetary-total.ts +1 -1
- package/src/decoders/fields/encode-line-allowance-charges.ts +2 -2
- package/src/decoders/fields/encode-line-price.ts +1 -1
- package/src/decoders/fields/encode-line-shared.ts +1 -1
- package/src/decoders/fields/encode-message-party.ts +3 -3
- package/src/decoders/fields/encode-order-reference.ts +1 -1
- package/src/decoders/fields/encode-parties-tax-scheme.ts +1 -1
- package/src/decoders/fields/encode-party-tax-scheme.ts +1 -1
- package/src/decoders/fields/encode-party.ts +1 -1
- package/src/decoders/fields/encode-payee-party.ts +1 -1
- package/src/decoders/fields/encode-payment-means.ts +2 -2
- package/src/decoders/fields/encode-payment-terms.ts +1 -1
- package/src/decoders/fields/encode-price-allowance-charges.ts +1 -1
- package/src/decoders/fields/encode-quantity.ts +1 -1
- package/src/decoders/fields/encode-tax-category.ts +1 -1
- package/src/decoders/fields/encode-tax-representative-party.ts +1 -1
- package/src/decoders/fields/encode-tax-totals.ts +4 -4
- package/src/helpers/bool.ts +9 -12
- package/src/helpers/get-prop.ts +2 -4
- package/src/helpers/str-or-und.ts +3 -4
- package/src/helpers/str.ts +12 -8
- package/src/index.ts +56 -6
- package/src/schemas/fields/peppol-additional-document-reference-schema.ts +123 -0
- package/src/schemas/fields/peppol-address-schema.ts +112 -0
- package/src/schemas/fields/peppol-allowance-charge-schema.ts +104 -0
- package/src/schemas/fields/peppol-amount-schema.ts +23 -0
- package/src/schemas/fields/peppol-base-line-schema.ts +141 -0
- package/src/{effect → schemas}/fields/peppol-billing-reference-schema.ts +25 -20
- package/src/schemas/fields/peppol-binary-object-schema.ts +52 -0
- package/src/schemas/fields/peppol-contact-schema.ts +20 -0
- package/src/schemas/fields/peppol-credit-note-line-schema.ts +44 -0
- package/src/schemas/fields/peppol-delivery-schema.ts +109 -0
- package/src/schemas/fields/peppol-identifier-schema.ts +21 -0
- package/src/schemas/fields/peppol-invoice-line-period-schema.ts +35 -0
- package/src/{effect → schemas}/fields/peppol-invoice-line-schema.ts +10 -9
- package/src/schemas/fields/peppol-invoice-period-schema.ts +31 -0
- package/src/schemas/fields/peppol-item-classification-schema.ts +46 -0
- package/src/schemas/fields/peppol-legal-monetary-total-schema.ts +127 -0
- package/src/schemas/fields/peppol-line-allowance-charge-schema.ts +68 -0
- package/src/schemas/fields/peppol-line-item-schema.ts +196 -0
- package/src/schemas/fields/peppol-line-price-allowance-charge-schema.ts +41 -0
- package/src/schemas/fields/peppol-line-price-schema.ts +32 -0
- package/src/schemas/fields/peppol-order-reference-schema.ts +38 -0
- package/src/schemas/fields/peppol-party-base-schema.ts +145 -0
- package/src/schemas/fields/peppol-party-legal-entity-schema.ts +32 -0
- package/src/schemas/fields/peppol-party-tax-scheme-schema.ts +41 -0
- package/src/schemas/fields/peppol-payee-party-schema.ts +119 -0
- package/src/schemas/fields/peppol-payment-means-schema.ts +224 -0
- package/src/schemas/fields/peppol-payment-terms-schema.ts +25 -0
- package/src/schemas/fields/peppol-quantity-schema.ts +22 -0
- package/src/schemas/fields/peppol-reference-schema.ts +9 -0
- package/src/schemas/fields/peppol-tax-category-schema.ts +47 -0
- package/src/schemas/fields/peppol-tax-representative-schema.ts +26 -0
- package/src/{effect → schemas}/fields/peppol-tax-subtotal-category-schema.ts +7 -5
- package/src/schemas/fields/peppol-tax-subtotal-schema.ts +33 -0
- package/src/schemas/fields/peppol-tax-totals-base-schema.ts +28 -0
- package/src/schemas/peppol-billing-base-schema.ts +366 -0
- package/src/schemas/peppol-credit-note-schema.ts +31 -0
- package/src/schemas/peppol-document-response-document-reference-schema.ts +41 -0
- package/src/schemas/peppol-document-response-document-schema.ts +38 -0
- package/src/schemas/peppol-document-response-line-response-content-schema.ts +49 -0
- package/src/schemas/peppol-document-response-line-response-schema.ts +40 -0
- package/src/schemas/peppol-document-schema.ts +120 -0
- package/src/{effect → schemas}/peppol-invoice-response-document-actual-response-schema.ts +25 -16
- package/src/schemas/peppol-invoice-response-document-actual-response-status-schema.ts +63 -0
- package/src/schemas/peppol-invoice-response-schema.ts +176 -0
- package/src/schemas/peppol-invoice-response-status-reason-code-schema.ts +40 -0
- package/src/schemas/peppol-invoice-schema.ts +45 -0
- package/src/schemas/peppol-iso-date-string.ts +20 -0
- package/src/schemas/peppol-message-level-response-document-response-schema.ts +35 -0
- package/src/schemas/peppol-message-level-response-party-schema.ts +20 -0
- package/src/schemas/peppol-message-level-response-schema.ts +98 -0
- package/src/schemas/utils/format-xsd-time.ts +80 -0
- package/src/{effect → schemas}/utils/index.ts +1 -1
- package/src/schemas/utils/is-valid-process.ts +1 -1
- package/src/schemas/utils/opaque.ts +19 -0
- package/src/schemas/utils/peppol-xsd-time-schema.ts +79 -0
- package/src/schemas/utils/quantity-unit-code-to-intl-unit.ts +2 -2
- package/src/schemas/values/credit-note-type-code-schema.ts +3 -5
- package/src/{effect → schemas}/values/currency-code-schema.ts +7 -1
- package/src/schemas/values/document-type-schemes-schema.ts +3 -5
- package/src/schemas/values/document-type-values-schema.ts +4 -7
- package/src/{effect → schemas}/values/duty-tax-fee-category-schema.ts +3 -2
- package/src/schemas/values/invoice-type-code-schema.ts +4 -8
- package/src/schemas/values/process-from-document-type-schema.ts +10 -12
- package/src/schemas/values/quantity-unit-codes-schema.ts +4 -8
- package/src/schematron/cen/ae/cen-en16931-br-ae-01.ts +6 -5
- package/src/schematron/cen/ae/cen-en16931-br-ae-02.ts +6 -5
- package/src/schematron/cen/ae/cen-en16931-br-ae-03.ts +6 -5
- package/src/schematron/cen/ae/cen-en16931-br-ae-04.ts +6 -5
- package/src/schematron/cen/ae/cen-en16931-br-ae-05.ts +6 -5
- package/src/schematron/cen/ae/cen-en16931-br-ae-06.ts +6 -5
- package/src/schematron/cen/ae/cen-en16931-br-ae-07.ts +6 -5
- package/src/schematron/cen/ae/cen-en16931-br-ae-08.ts +6 -5
- package/src/schematron/cen/ae/cen-en16931-br-ae-09.ts +6 -5
- package/src/schematron/cen/ae/cen-en16931-br-ae-10.ts +6 -5
- package/src/schematron/cen/af/cen-en16931-br-af-01.ts +6 -5
- package/src/schematron/cen/af/cen-en16931-br-af-02.ts +6 -5
- package/src/schematron/cen/af/cen-en16931-br-af-03.ts +6 -10
- package/src/schematron/cen/af/cen-en16931-br-af-04.ts +6 -5
- package/src/schematron/cen/af/cen-en16931-br-af-05.ts +6 -5
- package/src/schematron/cen/af/cen-en16931-br-af-06.ts +6 -5
- package/src/schematron/cen/af/cen-en16931-br-af-07.ts +6 -5
- package/src/schematron/cen/af/cen-en16931-br-af-08.ts +6 -5
- package/src/schematron/cen/af/cen-en16931-br-af-09.ts +6 -5
- package/src/schematron/cen/af/cen-en16931-br-af-10.ts +6 -5
- package/src/schematron/cen/ag/cen-en16931-br-ag-01.ts +6 -5
- package/src/schematron/cen/ag/cen-en16931-br-ag-02.ts +6 -5
- package/src/schematron/cen/ag/cen-en16931-br-ag-03.ts +6 -10
- package/src/schematron/cen/ag/cen-en16931-br-ag-04.ts +6 -5
- package/src/schematron/cen/ag/cen-en16931-br-ag-05.ts +6 -5
- package/src/schematron/cen/ag/cen-en16931-br-ag-06.ts +6 -5
- package/src/schematron/cen/ag/cen-en16931-br-ag-07.ts +6 -5
- package/src/schematron/cen/ag/cen-en16931-br-ag-08.ts +6 -5
- package/src/schematron/cen/ag/cen-en16931-br-ag-09.ts +6 -5
- package/src/schematron/cen/ag/cen-en16931-br-ag-10.ts +6 -5
- package/src/schematron/cen/b/cen-en16931-br-b-01.ts +6 -5
- package/src/schematron/cen/b/cen-en16931-br-b-02.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-01.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-02.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-03.ts +9 -6
- package/src/schematron/cen/cen-en16931-br-04.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-05.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-06.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-07.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-08.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-09.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-10.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-11.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-12.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-13.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-14.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-15.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-16.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-17.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-18.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-19.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-20.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-21.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-22.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-23.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-24.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-25.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-26.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-27.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-28.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-29.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-30.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-31.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-32.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-33.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-36.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-37.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-38.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-41.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-42.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-43.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-44.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-45.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-46.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-47.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-48.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-49.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-50.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-51.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-52.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-53.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-54.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-55.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-56.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-57.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-61.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-62.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-63.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-64.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-65.ts +6 -5
- package/src/schematron/cen/cl/cen-en16931-br-cl-08.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-03.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-04.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-05.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-06.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-07.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-08.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-09.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-10.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-11.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-12.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-13.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-14.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-15.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-16.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-17.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-18.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-19.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-20.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-21.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-22.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-23.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-24.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-25.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-26.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-01.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-02.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-05.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-06.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-09.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-10.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-11.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-12.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-13.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-14.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-15.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-16.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-17.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-18.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-19.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-20.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-23.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-24.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-25.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-27.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-28.ts +6 -5
- package/src/schematron/cen/e/cen-en16931-br-e-01.ts +6 -5
- package/src/schematron/cen/e/cen-en16931-br-e-02.ts +6 -5
- package/src/schematron/cen/e/cen-en16931-br-e-03.ts +6 -10
- package/src/schematron/cen/e/cen-en16931-br-e-04.ts +6 -5
- package/src/schematron/cen/e/cen-en16931-br-e-05.ts +6 -5
- package/src/schematron/cen/e/cen-en16931-br-e-06.ts +6 -5
- package/src/schematron/cen/e/cen-en16931-br-e-07.ts +6 -5
- package/src/schematron/cen/e/cen-en16931-br-e-08.ts +6 -5
- package/src/schematron/cen/e/cen-en16931-br-e-09.ts +6 -5
- package/src/schematron/cen/e/cen-en16931-br-e-10.ts +6 -5
- package/src/schematron/cen/g/cen-en16931-br-g-01.ts +6 -5
- package/src/schematron/cen/g/cen-en16931-br-g-02.ts +6 -5
- package/src/schematron/cen/g/cen-en16931-br-g-03.ts +6 -5
- package/src/schematron/cen/g/cen-en16931-br-g-04.ts +6 -5
- package/src/schematron/cen/g/cen-en16931-br-g-05.ts +6 -5
- package/src/schematron/cen/g/cen-en16931-br-g-06.ts +6 -5
- package/src/schematron/cen/g/cen-en16931-br-g-07.ts +6 -5
- package/src/schematron/cen/g/cen-en16931-br-g-08.ts +6 -5
- package/src/schematron/cen/g/cen-en16931-br-g-09.ts +6 -5
- package/src/schematron/cen/g/cen-en16931-br-g-10.ts +6 -5
- package/src/schematron/cen/ic/cen-en16931-br-ic-01.ts +6 -5
- package/src/schematron/cen/ic/cen-en16931-br-ic-02.ts +6 -5
- package/src/schematron/cen/ic/cen-en16931-br-ic-03.ts +6 -5
- package/src/schematron/cen/ic/cen-en16931-br-ic-04.ts +6 -5
- package/src/schematron/cen/ic/cen-en16931-br-ic-05.ts +6 -5
- package/src/schematron/cen/ic/cen-en16931-br-ic-06.ts +6 -5
- package/src/schematron/cen/ic/cen-en16931-br-ic-07.ts +6 -5
- package/src/schematron/cen/ic/cen-en16931-br-ic-08.ts +6 -5
- package/src/schematron/cen/ic/cen-en16931-br-ic-09.ts +6 -5
- package/src/schematron/cen/ic/cen-en16931-br-ic-10.ts +6 -5
- package/src/schematron/cen/ic/cen-en16931-br-ic-11.ts +6 -5
- package/src/schematron/cen/ic/cen-en16931-br-ic-12.ts +6 -5
- package/src/schematron/cen/o/cen-en16931-br-o-01.ts +6 -5
- package/src/schematron/cen/o/cen-en16931-br-o-02.ts +6 -5
- package/src/schematron/cen/o/cen-en16931-br-o-03.ts +6 -5
- package/src/schematron/cen/o/cen-en16931-br-o-04.ts +6 -5
- package/src/schematron/cen/o/cen-en16931-br-o-05.ts +6 -5
- package/src/schematron/cen/o/cen-en16931-br-o-06.ts +6 -5
- package/src/schematron/cen/o/cen-en16931-br-o-07.ts +6 -5
- package/src/schematron/cen/o/cen-en16931-br-o-08.ts +6 -5
- package/src/schematron/cen/o/cen-en16931-br-o-09.ts +6 -5
- package/src/schematron/cen/o/cen-en16931-br-o-10.ts +6 -5
- package/src/schematron/cen/o/cen-en16931-br-o-11.ts +6 -5
- package/src/schematron/cen/o/cen-en16931-br-o-12.ts +6 -5
- package/src/schematron/cen/o/cen-en16931-br-o-13.ts +6 -5
- package/src/schematron/cen/o/cen-en16931-br-o-14.ts +6 -5
- package/src/schematron/cen/s/cen-en16931-br-s-01.ts +6 -5
- package/src/schematron/cen/s/cen-en16931-br-s-02.ts +6 -5
- package/src/schematron/cen/s/cen-en16931-br-s-03.ts +6 -10
- package/src/schematron/cen/s/cen-en16931-br-s-04.ts +6 -5
- package/src/schematron/cen/s/cen-en16931-br-s-05.ts +6 -5
- package/src/schematron/cen/s/cen-en16931-br-s-06.ts +6 -5
- package/src/schematron/cen/s/cen-en16931-br-s-07.ts +6 -5
- package/src/schematron/cen/s/cen-en16931-br-s-08.ts +6 -5
- package/src/schematron/cen/s/cen-en16931-br-s-09.ts +6 -5
- package/src/schematron/cen/s/cen-en16931-br-s-10.ts +6 -5
- package/src/schematron/cen/z/cen-en16931-br-z-01.ts +6 -5
- package/src/schematron/cen/z/cen-en16931-br-z-02.ts +6 -5
- package/src/schematron/cen/z/cen-en16931-br-z-03.ts +6 -10
- package/src/schematron/cen/z/cen-en16931-br-z-04.ts +6 -5
- package/src/schematron/cen/z/cen-en16931-br-z-05.ts +6 -5
- package/src/schematron/cen/z/cen-en16931-br-z-06.ts +6 -5
- package/src/schematron/cen/z/cen-en16931-br-z-07.ts +6 -5
- package/src/schematron/cen/z/cen-en16931-br-z-08.ts +6 -5
- package/src/schematron/cen/z/cen-en16931-br-z-09.ts +6 -5
- package/src/schematron/cen/z/cen-en16931-br-z-10.ts +6 -5
- package/src/schematron/de/de-r-001.ts +8 -7
- package/src/schematron/de/de-r-002.ts +8 -7
- package/src/schematron/de/de-r-003.ts +8 -7
- package/src/schematron/de/de-r-004.ts +8 -7
- package/src/schematron/de/de-r-005.ts +8 -7
- package/src/schematron/de/de-r-006.ts +8 -7
- package/src/schematron/de/de-r-007.ts +8 -7
- package/src/schematron/de/de-r-008.ts +8 -7
- package/src/schematron/de/de-r-009.ts +8 -7
- package/src/schematron/de/de-r-010.ts +9 -8
- package/src/schematron/de/de-r-011.ts +9 -8
- package/src/schematron/de/de-r-014.ts +8 -7
- package/src/schematron/de/de-r-015.ts +8 -7
- package/src/schematron/de/de-r-016.ts +9 -8
- package/src/schematron/de/de-r-017.ts +8 -7
- package/src/schematron/de/de-r-018.ts +10 -9
- package/src/schematron/de/de-r-019.ts +8 -7
- package/src/schematron/de/de-r-020.ts +8 -7
- package/src/schematron/de/de-r-022.ts +8 -7
- package/src/schematron/de/de-r-023-1.ts +8 -7
- package/src/schematron/de/de-r-023-2.ts +8 -7
- package/src/schematron/de/de-r-024-1.ts +8 -7
- package/src/schematron/de/de-r-024-2.ts +8 -7
- package/src/schematron/de/de-r-025-1.ts +8 -7
- package/src/schematron/de/de-r-025-2.ts +8 -7
- package/src/schematron/de/de-r-026.ts +9 -8
- package/src/schematron/de/de-r-027.ts +8 -7
- package/src/schematron/de/de-r-028.ts +8 -7
- package/src/schematron/de/de-r-030.ts +9 -8
- package/src/schematron/de/de-r-031.ts +8 -7
- package/src/schematron/dk/dk-r-002.ts +7 -6
- package/src/schematron/dk/dk-r-003.ts +8 -7
- package/src/schematron/dk/dk-r-004.ts +8 -7
- package/src/schematron/dk/dk-r-005.ts +8 -7
- package/src/schematron/dk/dk-r-006.ts +8 -7
- package/src/schematron/dk/dk-r-007.ts +8 -7
- package/src/schematron/dk/dk-r-008.ts +8 -7
- package/src/schematron/dk/dk-r-009.ts +8 -7
- package/src/schematron/dk/dk-r-010.ts +8 -7
- package/src/schematron/dk/dk-r-011.ts +8 -7
- package/src/schematron/dk/dk-r-013.ts +8 -7
- package/src/schematron/dk/dk-r-014.ts +7 -6
- package/src/schematron/dk/dk-r-016.ts +8 -7
- package/src/schematron/dk/dk-r-017.ts +8 -7
- package/src/schematron/errors.ts +17 -0
- package/src/schematron/gr/gr-r-001-1.ts +7 -6
- package/src/schematron/gr/gr-r-001-2.ts +8 -7
- package/src/schematron/gr/gr-r-001-3.ts +14 -9
- package/src/schematron/gr/gr-r-001-4.ts +8 -7
- package/src/schematron/gr/gr-r-001-5.ts +8 -7
- package/src/schematron/gr/gr-r-001-6.ts +7 -6
- package/src/schematron/gr/gr-r-001-7.ts +7 -6
- package/src/schematron/gr/gr-r-002.ts +7 -6
- package/src/schematron/gr/gr-r-003.ts +8 -7
- package/src/schematron/gr/gr-r-004-1.ts +7 -6
- package/src/schematron/gr/gr-r-004-2.ts +7 -6
- package/src/schematron/gr/gr-r-005.ts +7 -6
- package/src/schematron/gr/gr-r-006.ts +8 -7
- package/src/schematron/gr/gr-r-008-2.ts +7 -6
- package/src/schematron/gr/gr-r-008-3.ts +7 -6
- package/src/schematron/gr/gr-r-009.ts +7 -6
- package/src/schematron/gr/gr-r-010.ts +7 -6
- package/src/schematron/gr/gr-s-008-1.ts +7 -6
- package/src/schematron/gr/gr-s-011.ts +8 -7
- package/src/schematron/helpers.ts +36 -11
- package/src/schematron/index.ts +6 -1
- package/src/schematron/is/is-r-001.ts +7 -6
- package/src/schematron/is/is-r-002.ts +7 -6
- package/src/schematron/is/is-r-003.ts +7 -6
- package/src/schematron/is/is-r-004.ts +7 -6
- package/src/schematron/is/is-r-005.ts +7 -6
- package/src/schematron/is/is-r-006.ts +8 -7
- package/src/schematron/is/is-r-007.ts +8 -7
- package/src/schematron/is/is-r-008.ts +8 -7
- package/src/schematron/is/is-r-009.ts +8 -7
- package/src/schematron/is/is-r-010.ts +9 -8
- package/src/schematron/it/it-r-001.ts +7 -6
- package/src/schematron/it/it-r-002.ts +7 -6
- package/src/schematron/it/it-r-003.ts +7 -6
- package/src/schematron/it/it-r-004.ts +7 -6
- package/src/schematron/nl/nl-r-001.ts +7 -6
- package/src/schematron/nl/nl-r-002.ts +7 -6
- package/src/schematron/nl/nl-r-003.ts +8 -7
- package/src/schematron/nl/nl-r-004.ts +7 -6
- package/src/schematron/nl/nl-r-005.ts +8 -7
- package/src/schematron/nl/nl-r-006.ts +8 -7
- package/src/schematron/nl/nl-r-007.ts +8 -7
- package/src/schematron/nl/nl-r-008.ts +7 -6
- package/src/schematron/nl/nl-r-009.ts +8 -7
- package/src/schematron/no/no-r-001.ts +8 -7
- package/src/schematron/no/no-r-002.ts +7 -6
- package/src/schematron/peppol/cl/peppol-en16931-cl001.ts +6 -5
- package/src/schematron/peppol/cl/peppol-en16931-cl002.ts +6 -5
- package/src/schematron/peppol/cl/peppol-en16931-cl003.ts +6 -5
- package/src/schematron/peppol/cl/peppol-en16931-cl006.ts +7 -6
- package/src/schematron/peppol/cl/peppol-en16931-cl007.ts +6 -5
- package/src/schematron/peppol/cl/peppol-en16931-cl008.ts +6 -5
- package/src/schematron/peppol/common/peppol-common-r040.ts +6 -5
- package/src/schematron/peppol/common/peppol-common-r041.ts +6 -5
- package/src/schematron/peppol/common/peppol-common-r042.ts +6 -5
- package/src/schematron/peppol/common/peppol-common-r043.ts +6 -5
- package/src/schematron/peppol/common/peppol-common-r044.ts +6 -5
- package/src/schematron/peppol/common/peppol-common-r045.ts +6 -5
- package/src/schematron/peppol/common/peppol-common-r046.ts +6 -5
- package/src/schematron/peppol/common/peppol-common-r047.ts +6 -5
- package/src/schematron/peppol/common/peppol-common-r049.ts +6 -5
- package/src/schematron/peppol/common/peppol-common-r050.ts +6 -5
- package/src/schematron/peppol/common/peppol-common-r052.ts +6 -5
- package/src/schematron/peppol/common/peppol-common-r053.ts +6 -5
- package/src/schematron/peppol/f/peppol-en16931-f001.ts +20 -13
- package/src/schematron/peppol/p/peppol-en16931-p0100.ts +8 -7
- package/src/schematron/peppol/p/peppol-en16931-p0101.ts +8 -7
- package/src/schematron/peppol/p/peppol-en16931-p0104.ts +6 -5
- package/src/schematron/peppol/p/peppol-en16931-p0105.ts +6 -5
- package/src/schematron/peppol/p/peppol-en16931-p0106.ts +6 -5
- package/src/schematron/peppol/p/peppol-en16931-p0107.ts +6 -5
- package/src/schematron/peppol/p/peppol-en16931-p0108.ts +6 -5
- package/src/schematron/peppol/p/peppol-en16931-p0109.ts +6 -5
- package/src/schematron/peppol/p/peppol-en16931-p0110.ts +6 -5
- package/src/schematron/peppol/p/peppol-en16931-p0111.ts +6 -5
- package/src/schematron/peppol/p/peppol-en16931-p0112.ts +7 -6
- package/src/schematron/peppol/r/peppol-en16931-r001.ts +11 -13
- package/src/schematron/peppol/r/peppol-en16931-r002.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r003.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r004.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r005.ts +7 -6
- package/src/schematron/peppol/r/peppol-en16931-r007.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r008.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r010.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r020.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r040.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r041.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r042.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r043.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r044.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r046.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r051.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r053.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r054.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r055.ts +8 -7
- package/src/schematron/peppol/r/peppol-en16931-r061.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r100.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r101.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r110.ts +7 -6
- package/src/schematron/peppol/r/peppol-en16931-r111.ts +7 -6
- package/src/schematron/peppol/r/peppol-en16931-r120.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r121.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r130.ts +6 -5
- package/src/schematron/run-all-rules.ts +2 -7
- package/src/schematron/schematron.ts +36 -0
- package/src/schematron/se/se-r-001.ts +7 -6
- package/src/schematron/se/se-r-002.ts +7 -6
- package/src/schematron/se/se-r-003.ts +7 -6
- package/src/schematron/se/se-r-004.ts +7 -6
- package/src/schematron/se/se-r-005.ts +8 -7
- package/src/schematron/se/se-r-006.ts +7 -6
- package/src/schematron/se/se-r-007.ts +7 -6
- package/src/schematron/se/se-r-008.ts +7 -6
- package/src/schematron/se/se-r-009.ts +7 -6
- package/src/schematron/se/se-r-010.ts +7 -6
- package/src/schematron/se/se-r-011.ts +7 -6
- package/src/schematron/se/se-r-012.ts +7 -6
- package/src/schematron/se/se-r-013.ts +7 -6
- package/src/values/additional-document-reference-codes.generated.ts +2 -3
- package/src/values/allowance-charge-reason-codes.generated.ts +1 -1
- package/src/values/application-response-type-codes.generated.ts +1 -1
- package/src/values/charge-reason-codes.generated.ts +1 -1
- package/src/values/country-code.generated.ts +1 -1
- package/src/values/credit-notes-type-codes.generated.ts +1 -1
- package/src/values/currency-code.generated.ts +1 -1
- package/src/values/document-type-codes.generated.ts +1 -1
- package/src/values/document-type.generated.ts +2 -2
- package/src/values/duty-tax-fee-categories.generated.ts +1 -1
- package/src/values/eas-codes.generated.ts +1 -1
- package/src/values/icd-codes.generated.ts +7 -7
- package/src/values/invoice-status-codes.generated.ts +1 -1
- package/src/values/invoice-type-codes.generated.ts +1 -1
- package/src/values/item-classification-code.generated.ts +1 -1
- package/src/values/mime-codes.generated.ts +1 -1
- package/src/values/op-status-action.generated.ts +1 -1
- package/src/values/op-status-reason.generated.ts +1 -1
- package/src/values/participant-identifier-schemes.generated.ts +2 -2
- package/src/values/payment-means-codes.generated.ts +1 -1
- package/src/values/processes.generated.ts +1 -1
- package/src/values/quantity-unit-codes.generated.ts +1 -1
- package/src/values/vat-dates.generated.ts +1 -1
- package/src/values/vatex-codes.generated.ts +1 -1
- package/dist/all-union-fields-CxoyKBpI.d.ts +0 -445
- package/dist/all-union-fields-CxoyKBpI.d.ts.map +0 -1
- package/dist/document-DCcObB-a.d.ts +0 -1466
- package/dist/document-DCcObB-a.d.ts.map +0 -1
- package/dist/effect.d.ts +0 -6274
- package/dist/effect.d.ts.map +0 -1
- package/dist/effect.js +0 -3239
- package/dist/effect.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/is-valid-process-CSWL-q9f.js +0 -1590
- package/dist/is-valid-process-CSWL-q9f.js.map +0 -1
- package/dist/quantity-unit-code-to-intl-unit-15EykjMe.d.ts +0 -168
- package/dist/quantity-unit-code-to-intl-unit-15EykjMe.d.ts.map +0 -1
- package/dist/vat-dates.generated-DTVWQAdn.d.ts +0 -4812
- package/dist/vat-dates.generated-DTVWQAdn.d.ts.map +0 -1
- package/dist/vatex-codes.generated-BSgP3n5t.js.map +0 -1
- package/src/decoders/errors.ts +0 -11
- package/src/document-parser.ts +0 -70
- package/src/document.ts +0 -19
- package/src/effect/fields/default-customization-id.ts +0 -1
- package/src/effect/fields/default-profile-id.ts +0 -1
- package/src/effect/fields/peppol-additional-document-reference-schema.ts +0 -114
- package/src/effect/fields/peppol-address-schema.ts +0 -105
- package/src/effect/fields/peppol-allowance-charge-schema.ts +0 -94
- package/src/effect/fields/peppol-amount-schema.ts +0 -21
- package/src/effect/fields/peppol-base-line-schema.ts +0 -138
- package/src/effect/fields/peppol-binary-object-schema.ts +0 -51
- package/src/effect/fields/peppol-contact-schema.ts +0 -18
- package/src/effect/fields/peppol-credit-note-line-schema.ts +0 -41
- package/src/effect/fields/peppol-delivery-schema.ts +0 -100
- package/src/effect/fields/peppol-identifier-schema.ts +0 -19
- package/src/effect/fields/peppol-invoice-line-period-schema.ts +0 -34
- package/src/effect/fields/peppol-invoice-period-schema.ts +0 -30
- package/src/effect/fields/peppol-item-classification-schema.ts +0 -45
- package/src/effect/fields/peppol-legal-monetary-total-schema.ts +0 -126
- package/src/effect/fields/peppol-line-allowance-charge-schema.ts +0 -63
- package/src/effect/fields/peppol-line-item-schema.ts +0 -185
- package/src/effect/fields/peppol-line-price-allowance-charge-schema.ts +0 -38
- package/src/effect/fields/peppol-line-price-schema.ts +0 -31
- package/src/effect/fields/peppol-order-reference-schema.ts +0 -36
- package/src/effect/fields/peppol-party-base-schema.ts +0 -136
- package/src/effect/fields/peppol-party-legal-entity-schema.ts +0 -29
- package/src/effect/fields/peppol-party-tax-scheme-schema.ts +0 -33
- package/src/effect/fields/peppol-payee-party-schema.ts +0 -112
- package/src/effect/fields/peppol-payment-means-schema.ts +0 -210
- package/src/effect/fields/peppol-payment-terms-schema.ts +0 -23
- package/src/effect/fields/peppol-quantity-schema.ts +0 -21
- package/src/effect/fields/peppol-reference-schema.ts +0 -5
- package/src/effect/fields/peppol-tax-category-schema.ts +0 -42
- package/src/effect/fields/peppol-tax-representative-schema.ts +0 -23
- package/src/effect/fields/peppol-tax-subtotal-schema.ts +0 -32
- package/src/effect/fields/peppol-tax-totals-base-schema.ts +0 -25
- package/src/effect/index.ts +0 -56
- package/src/effect/peppol-billing-base-schema.ts +0 -355
- package/src/effect/peppol-credit-note-schema.ts +0 -30
- package/src/effect/peppol-document-response-document-reference-schema.ts +0 -38
- package/src/effect/peppol-document-response-document-schema.ts +0 -35
- package/src/effect/peppol-document-response-line-response-content-schema.ts +0 -44
- package/src/effect/peppol-document-response-line-response-schema.ts +0 -33
- package/src/effect/peppol-document-schema.ts +0 -142
- package/src/effect/peppol-invoice-response-document-actual-response-status-schema.ts +0 -60
- package/src/effect/peppol-invoice-response-schema.ts +0 -168
- package/src/effect/peppol-invoice-response-status-reason-code-schema.ts +0 -31
- package/src/effect/peppol-invoice-schema.ts +0 -42
- package/src/effect/peppol-iso-date-string-schema.ts +0 -19
- package/src/effect/peppol-message-level-response-document-response-schema.ts +0 -33
- package/src/effect/peppol-message-level-response-party-schema.ts +0 -19
- package/src/effect/peppol-message-level-response-schema.ts +0 -97
- package/src/effect/utils/format-quantity-with-unit.ts +0 -1
- package/src/effect/utils/get-credit-note-type-code-description.ts +0 -1
- package/src/effect/utils/get-invoice-type-code-description.ts +0 -1
- package/src/effect/utils/is-valid-credit-note-type-code.ts +0 -1
- package/src/effect/utils/is-valid-invoice-type-code.ts +0 -1
- package/src/effect/utils/is-valid-process.ts +0 -1
- package/src/effect/utils/peppol-xsd-time-schema.ts +0 -13
- package/src/effect/utils/quantity-unit-code-to-intl-unit.ts +0 -2
- package/src/effect/values/credit-note-type-code-schema.ts +0 -23
- package/src/effect/values/document-type-schemes-schema.ts +0 -14
- package/src/effect/values/document-type-values-schema.ts +0 -16
- package/src/effect/values/invoice-type-code-schema.ts +0 -21
- package/src/effect/values/process-from-document-type-schema.ts +0 -26
- package/src/effect/values/quantity-unit-codes-schema.ts +0 -24
- package/src/helpers/errors.ts +0 -6
- package/src/helpers/is-defined.ts +0 -3
- package/src/schemas/billing-base.ts +0 -362
- package/src/schemas/credit-note.ts +0 -28
- package/src/schemas/document-response-document-reference-schema.ts +0 -37
- package/src/schemas/document-response-document-schema.ts +0 -34
- package/src/schemas/document-response-line-response-content.ts +0 -43
- package/src/schemas/document-response-line-response-schema.ts +0 -33
- package/src/schemas/fields/additional-document-reference-schema.ts +0 -112
- package/src/schemas/fields/address-schema.ts +0 -105
- package/src/schemas/fields/allowance-charge-schema.ts +0 -86
- package/src/schemas/fields/amount-schema.ts +0 -21
- package/src/schemas/fields/base-line-schema.ts +0 -136
- package/src/schemas/fields/billing-references-schema.ts +0 -44
- package/src/schemas/fields/binary-object-schema.ts +0 -45
- package/src/schemas/fields/contact-schema.ts +0 -18
- package/src/schemas/fields/credit-note-line-schema.ts +0 -37
- package/src/schemas/fields/date-only-fn.ts +0 -6
- package/src/schemas/fields/date-only-parser.ts +0 -20
- package/src/schemas/fields/delivery-schema.ts +0 -95
- package/src/schemas/fields/identifier-schema.ts +0 -24
- package/src/schemas/fields/invoice-line-period-schema.ts +0 -31
- package/src/schemas/fields/invoice-line-schema.ts +0 -41
- package/src/schemas/fields/invoice-period-schema.ts +0 -27
- package/src/schemas/fields/legal-monetary-total-schema.ts +0 -125
- package/src/schemas/fields/line-allowance-charge-schema.ts +0 -59
- package/src/schemas/fields/line-item-schema.ts +0 -183
- package/src/schemas/fields/line-price-allowance-charge-schema.ts +0 -33
- package/src/schemas/fields/list-identifier-schema.ts +0 -43
- package/src/schemas/fields/order-reference-schema.ts +0 -36
- package/src/schemas/fields/party-base-schema.ts +0 -131
- package/src/schemas/fields/party-legal-entity-schema.ts +0 -29
- package/src/schemas/fields/party-tax-schema.ts +0 -33
- package/src/schemas/fields/payee-party.ts +0 -107
- package/src/schemas/fields/payment-means-schema.ts +0 -209
- package/src/schemas/fields/payment-terms-schema.ts +0 -23
- package/src/schemas/fields/price-schema.ts +0 -31
- package/src/schemas/fields/quantity-schema.ts +0 -21
- package/src/schemas/fields/reference-schema.ts +0 -4
- package/src/schemas/fields/tax-category-schema.ts +0 -41
- package/src/schemas/fields/tax-representative-party-schema.ts +0 -23
- package/src/schemas/fields/tax-subtotal-category-schema.ts +0 -26
- package/src/schemas/fields/tax-subtotal-schema.ts +0 -32
- package/src/schemas/fields/tax-totals.ts +0 -25
- package/src/schemas/fields/time-only.ts +0 -23
- package/src/schemas/invoice-response-document-actual-response-status.ts +0 -58
- package/src/schemas/invoice-response-document-actual-response.ts +0 -73
- package/src/schemas/invoice-response-schema.ts +0 -155
- package/src/schemas/invoice-response-status-reason-code.ts +0 -30
- package/src/schemas/invoice.ts +0 -43
- package/src/schemas/message-level-response-document-response-schema.ts +0 -33
- package/src/schemas/message-level-response-party-schema.ts +0 -18
- package/src/schemas/message-level-response-schema.ts +0 -96
- package/src/schemas/utils/base-64.ts +0 -34
- package/src/schemas/utils/vat-regex.ts +0 -51
- package/src/schemas/utils/xsd-time.ts +0 -9
- package/src/schemas/values/additional-document-reference-code.ts +0 -27
- package/src/schemas/values/allowance-charge-reason-code.ts +0 -29
- package/src/schemas/values/application-response-type-codes.ts +0 -25
- package/src/schemas/values/charge-reason-code.ts +0 -29
- package/src/schemas/values/country-code.ts +0 -36
- package/src/schemas/values/currency-codes.ts +0 -35
- package/src/schemas/values/document-type-codes.ts +0 -25
- package/src/schemas/values/document-type-schema.ts +0 -49
- package/src/schemas/values/duty-tax-fee-cateogries.ts +0 -28
- package/src/schemas/values/eas-codes.ts +0 -35
- package/src/schemas/values/icd-codes.ts +0 -28
- package/src/schemas/values/invoice-status-codes.ts +0 -25
- package/src/schemas/values/item-classification-code-schema.ts +0 -28
- package/src/schemas/values/mime-code.ts +0 -28
- package/src/schemas/values/op-status-action.ts +0 -25
- package/src/schemas/values/op-status-reason.ts +0 -25
- package/src/schemas/values/participant-identifier-code.ts +0 -25
- package/src/schemas/values/payment-means-codes-schema.ts +0 -36
- package/src/schemas/values/process-schema.ts +0 -41
- package/src/schemas/values/process-xml-identifier-schema.ts +0 -27
- package/src/schemas/values/vat-date-code.ts +0 -15
- package/src/schemas/values/vatex-code.ts +0 -28
- package/src/schemas.ts +0 -97
- /package/src/{effect → schemas}/utils/peppol-base-64-schema.ts +0 -0
- /package/src/{effect → schemas}/utils/peppol-vat-regex-schema.ts +0 -0
- /package/src/{effect → schemas}/values/additional-document-reference-code-schema.ts +0 -0
- /package/src/{effect → schemas}/values/allowance-charge-reason-code-schema.ts +0 -0
- /package/src/{effect → schemas}/values/application-response-type-code-schema.ts +0 -0
- /package/src/{effect → schemas}/values/charge-reason-code-schema.ts +0 -0
- /package/src/{effect → schemas}/values/electronic-codes-schema.ts +0 -0
- /package/src/{effect → schemas}/values/icd-codes-schema.ts +0 -0
- /package/src/{effect → schemas}/values/index.ts +0 -0
- /package/src/{effect → schemas}/values/invoice-status-code-schema.ts +0 -0
- /package/src/{effect → schemas}/values/item-classification-codes-schema.ts +0 -0
- /package/src/{effect → schemas}/values/mime-codes-schema.ts +0 -0
- /package/src/{effect → schemas}/values/op-status-action-schema.ts +0 -0
- /package/src/{effect → schemas}/values/op-status-reason-schema.ts +0 -0
- /package/src/{effect → schemas}/values/participant-identifier-code-schema.ts +0 -0
- /package/src/{effect → schemas}/values/payment-means-code-schema.ts +0 -0
- /package/src/{effect → schemas}/values/peppol-country-code-schema.ts +0 -0
- /package/src/{effect → schemas}/values/peppol-document-type-code-schema.ts +0 -0
- /package/src/{effect → schemas}/values/peppol-document-type-schema.ts +0 -0
- /package/src/{effect → schemas}/values/peppol-process-schema.ts +0 -0
- /package/src/{effect → schemas}/values/vat-date-code-schema.ts +0 -0
- /package/src/{effect → schemas}/values/vatex-code-schema.ts +0 -0
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod/mini';
|
|
2
|
-
|
|
3
|
-
import { amountSchema } from '#/schemas/fields/amount-schema';
|
|
4
|
-
import { taxSubtotalCategorySchema } from '#/schemas/fields/tax-subtotal-category-schema';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* @summary VAT breakdown (TaxSubtotal)
|
|
8
|
-
*
|
|
9
|
-
* @name cac:TaxSubtotal
|
|
10
|
-
*/
|
|
11
|
-
export const taxSubtotalSchema = z.object({
|
|
12
|
-
/**
|
|
13
|
-
* @description The amount of tax for the tax subtotal.
|
|
14
|
-
*
|
|
15
|
-
* @name `cbc:TaxAmount (+ @currencyID)`
|
|
16
|
-
*/
|
|
17
|
-
taxAmount: amountSchema,
|
|
18
|
-
/**
|
|
19
|
-
* @description The tax category associated with this tax subtotal.
|
|
20
|
-
*
|
|
21
|
-
* @name cac:TaxCategory
|
|
22
|
-
*/
|
|
23
|
-
taxCategory: taxSubtotalCategorySchema,
|
|
24
|
-
/**
|
|
25
|
-
* @description The taxable amount for the tax subtotal.
|
|
26
|
-
*
|
|
27
|
-
* @name `cbc:TaxableAmount (+ @currencyID)`
|
|
28
|
-
*/
|
|
29
|
-
taxableAmount: amountSchema,
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
export type PeppolTaxSubTotal = z.infer<typeof taxSubtotalSchema>;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod/mini';
|
|
2
|
-
|
|
3
|
-
import { amountSchema } from '#/schemas/fields/amount-schema';
|
|
4
|
-
import { taxSubtotalSchema } from '#/schemas/fields/tax-subtotal-schema';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* @summary TAX TOTAL
|
|
8
|
-
*
|
|
9
|
-
* @name cac:TaxTotal (1..2)
|
|
10
|
-
*/
|
|
11
|
-
export const taxTotalsBaseSchema = z.object({
|
|
12
|
-
/**
|
|
13
|
-
* @example
|
|
14
|
-
* 200;
|
|
15
|
-
*
|
|
16
|
-
* @name cbc:TaxAmount (+ @currencyID)
|
|
17
|
-
*/
|
|
18
|
-
taxAmount: amountSchema,
|
|
19
|
-
/**
|
|
20
|
-
* @name cac:TaxSubtotal (0..n)
|
|
21
|
-
*/
|
|
22
|
-
taxSubtotals: z.optional(z.array(taxSubtotalSchema)),
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
export type PeppolTaxTotal = z.infer<typeof taxTotalsBaseSchema>;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { FormatOptions, ParseOptions } from 'date-fns';
|
|
2
|
-
|
|
3
|
-
import { tz } from '@date-fns/tz';
|
|
4
|
-
import { format, parse } from 'date-fns';
|
|
5
|
-
import * as z from 'zod/mini';
|
|
6
|
-
|
|
7
|
-
import { xsdTime } from '#/schemas/utils/xsd-time';
|
|
8
|
-
|
|
9
|
-
const dateFnsOptions = { in: tz('UTC') } as const satisfies ParseOptions & FormatOptions;
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* @description Parser function for date-only values.
|
|
13
|
-
*/
|
|
14
|
-
export function timeOnlyParser() {
|
|
15
|
-
return z.codec(z.date(), xsdTime, {
|
|
16
|
-
decode(value) {
|
|
17
|
-
return typeof value === 'string' ? value : format(value, 'HH:mm:ssXXX', dateFnsOptions);
|
|
18
|
-
},
|
|
19
|
-
encode(value) {
|
|
20
|
-
return parse(value, 'HH:mm:ssXXX', new Date(), dateFnsOptions);
|
|
21
|
-
},
|
|
22
|
-
});
|
|
23
|
-
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod/mini';
|
|
2
|
-
|
|
3
|
-
import { invoiceResponseStatusReasonCode } from '#/schemas/invoice-response-status-reason-code';
|
|
4
|
-
|
|
5
|
-
const invoiceResponseCondition = z.object({
|
|
6
|
-
/**
|
|
7
|
-
* @description A code defining the type of the detail.
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* `BT-75`;
|
|
11
|
-
*
|
|
12
|
-
* @summary Detail type code
|
|
13
|
-
*
|
|
14
|
-
* @name `cbc:AttributeId`
|
|
15
|
-
*/
|
|
16
|
-
attributeId: z.string(),
|
|
17
|
-
/**
|
|
18
|
-
* @description The value of the detail.
|
|
19
|
-
*
|
|
20
|
-
* @example
|
|
21
|
-
* `EU123456789`;
|
|
22
|
-
*
|
|
23
|
-
* @summary Detail value
|
|
24
|
-
*
|
|
25
|
-
* @name `cbc:Description`
|
|
26
|
-
*/
|
|
27
|
-
description: z.optional(z.string()),
|
|
28
|
-
});
|
|
29
|
-
export type InvoiceResponseCondition = z.infer<typeof invoiceResponseCondition>;
|
|
30
|
-
|
|
31
|
-
export const invoiceReponseDocumentActualResponseStatus = z.object({
|
|
32
|
-
/**
|
|
33
|
-
* @description A code defining a clarification given for the invoice status.
|
|
34
|
-
*
|
|
35
|
-
* @summary Clarification code
|
|
36
|
-
*
|
|
37
|
-
* @name `cbc:StatusReasonCode`
|
|
38
|
-
*/
|
|
39
|
-
statusReasonCode: z.optional(invoiceResponseStatusReasonCode),
|
|
40
|
-
/**
|
|
41
|
-
* @description The description of the clarification given for the invoice status.
|
|
42
|
-
*
|
|
43
|
-
* @example
|
|
44
|
-
* `TAX reference not found`;
|
|
45
|
-
*
|
|
46
|
-
* @summary Clarification description
|
|
47
|
-
*
|
|
48
|
-
* @name `cbc:StatusReason
|
|
49
|
-
*/
|
|
50
|
-
statusReason: z.optional(z.string()),
|
|
51
|
-
/**
|
|
52
|
-
* @summary Condition
|
|
53
|
-
*
|
|
54
|
-
* @name `cac:Condition`
|
|
55
|
-
*/
|
|
56
|
-
condition: z.optional(z.array(invoiceResponseCondition)),
|
|
57
|
-
});
|
|
58
|
-
export type InvoiceReponseDocumentActualResponseStatus = z.infer<typeof invoiceReponseDocumentActualResponseStatus>;
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod/mini';
|
|
2
|
-
|
|
3
|
-
import { invoiceResponseCodeNeedsSchema } from '#/invoice-response-codes/invoice-response-code-needs-schema';
|
|
4
|
-
import { invoiceResponseCodeNotNeedsSchema } from '#/invoice-response-codes/invoice-response-code-not-needs-schema';
|
|
5
|
-
import { dateOnlyParser } from '#/schemas/fields/date-only-parser';
|
|
6
|
-
import { invoiceReponseDocumentActualResponseStatus } from '#/schemas/invoice-response-document-actual-response-status';
|
|
7
|
-
|
|
8
|
-
const withStatusCodes = z.enum(invoiceResponseCodeNeedsSchema);
|
|
9
|
-
const withoutStatusCodes = z.enum(invoiceResponseCodeNotNeedsSchema);
|
|
10
|
-
|
|
11
|
-
export const invoiceResponseDocumentActualResponse = z.discriminatedUnion('responseCode', [
|
|
12
|
-
z.object({
|
|
13
|
-
/**
|
|
14
|
-
* @remarks
|
|
15
|
-
* This is a rejection code that needs clarification in {@link status}
|
|
16
|
-
*
|
|
17
|
-
* @summary A code stating the status of the invoice in the process.
|
|
18
|
-
*
|
|
19
|
-
* @name `cbc:ResponseCode`
|
|
20
|
-
*/
|
|
21
|
-
responseCode: withStatusCodes,
|
|
22
|
-
/**
|
|
23
|
-
* @description The date when the status became effective.
|
|
24
|
-
*
|
|
25
|
-
* @example
|
|
26
|
-
* `2018-08-02`;
|
|
27
|
-
*
|
|
28
|
-
* @summary Status date
|
|
29
|
-
*
|
|
30
|
-
* @name `cbc:EffectiveDate`
|
|
31
|
-
*/
|
|
32
|
-
effectiveDate: z.optional(z.union([z.iso.date(), dateOnlyParser()], 'invalid effective date')),
|
|
33
|
-
/**
|
|
34
|
-
* @description Clarification is mendatory when the status is UQ-`under query`,RE-`rejected` and `CA`-Conditionally accepted. Clarification may be given as a
|
|
35
|
-
* code, a description or both. If both are used, they must indicate the same clarification.
|
|
36
|
-
*
|
|
37
|
-
* @summary Clarification information
|
|
38
|
-
*
|
|
39
|
-
* @name `cac:Status`
|
|
40
|
-
*/
|
|
41
|
-
status: z.array(invoiceReponseDocumentActualResponseStatus).check(z.minLength(1)),
|
|
42
|
-
}),
|
|
43
|
-
z.object({
|
|
44
|
-
/**
|
|
45
|
-
* @summary A code stating the status of the invoice in the process.
|
|
46
|
-
*
|
|
47
|
-
* @name `cbc:ResponseCode`
|
|
48
|
-
*/
|
|
49
|
-
responseCode: withoutStatusCodes,
|
|
50
|
-
/**
|
|
51
|
-
* @description The date when the status became effective.
|
|
52
|
-
*
|
|
53
|
-
* @example
|
|
54
|
-
* `2018-08-02`;
|
|
55
|
-
*
|
|
56
|
-
* @summary Status date
|
|
57
|
-
*
|
|
58
|
-
* @name `cbc:EffectiveDate`
|
|
59
|
-
*/
|
|
60
|
-
effectiveDate: z.optional(z.union([z.iso.date(), dateOnlyParser()], 'invalid effective date')),
|
|
61
|
-
/**
|
|
62
|
-
* @description Clarification is mendatory when the status is UQ-`under query`,RE-`rejected` and `CA`-Conditionally accepted. Clarification may be given as a
|
|
63
|
-
* code, a description or both. If both are used, they must indicate the same clarification.
|
|
64
|
-
*
|
|
65
|
-
* @summary Clarification information
|
|
66
|
-
*
|
|
67
|
-
* @name `cac:Status`
|
|
68
|
-
*/
|
|
69
|
-
status: z.optional(z.array(invoiceReponseDocumentActualResponseStatus)),
|
|
70
|
-
}),
|
|
71
|
-
]);
|
|
72
|
-
|
|
73
|
-
export type InvoiceResponseDocumentActualResponse = z.infer<typeof invoiceResponseDocumentActualResponse>;
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod/mini';
|
|
2
|
-
|
|
3
|
-
import { INVOICE_RESPONSE_PROFILE_ID } from '#/constants/invoice-response-profile-id';
|
|
4
|
-
import { contactSchema } from '#/schemas/fields/contact-schema';
|
|
5
|
-
import { identifierSchema } from '#/schemas/fields/identifier-schema';
|
|
6
|
-
import { partyLegalEntitySchema } from '#/schemas/fields/party-legal-entity-schema';
|
|
7
|
-
import { invoiceResponseDocumentActualResponse } from '#/schemas/invoice-response-document-actual-response';
|
|
8
|
-
import { messageLevelResponsePartySchema } from '#/schemas/message-level-response-party-schema';
|
|
9
|
-
import { messageLevelResponse } from '#/schemas/message-level-response-schema';
|
|
10
|
-
import { documentTypeCodeSchema } from '#/schemas/values/document-type-codes';
|
|
11
|
-
|
|
12
|
-
const invoiceResponsePartySchema = z.extend(messageLevelResponsePartySchema, {
|
|
13
|
-
/**
|
|
14
|
-
* @summary Party partyIdentification
|
|
15
|
-
*/
|
|
16
|
-
partyIdentification: z.optional(identifierSchema()),
|
|
17
|
-
partyLegalEntity: z.pick(partyLegalEntitySchema, { registrationName: true }),
|
|
18
|
-
});
|
|
19
|
-
const invoiceResponseSenderPartySchema = z.extend(invoiceResponsePartySchema, {
|
|
20
|
-
/**
|
|
21
|
-
* @summary Contact information
|
|
22
|
-
*
|
|
23
|
-
* @name `cac:Contact`
|
|
24
|
-
*/
|
|
25
|
-
contact: z.optional(contactSchema),
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
export type InvoiceResponseParty = z.infer<typeof invoiceResponsePartySchema> | z.infer<typeof invoiceResponseSenderPartySchema>;
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* @description Party schema used under `cac:DocumentReference/(cac:IssuerParty|cac:RecipientParty)`
|
|
32
|
-
*/
|
|
33
|
-
const invoiceResponseDocumentResponseParty = z.object({
|
|
34
|
-
/**
|
|
35
|
-
* @summary Party partyIdentification
|
|
36
|
-
*/
|
|
37
|
-
partyIdentification: z.optional(identifierSchema()),
|
|
38
|
-
/**
|
|
39
|
-
* @example
|
|
40
|
-
* Seller Business Name AS
|
|
41
|
-
*
|
|
42
|
-
* @name cac:PartyName
|
|
43
|
-
*/
|
|
44
|
-
partyName: z.object({
|
|
45
|
-
/**
|
|
46
|
-
* @description - The party that issued the reference invoice
|
|
47
|
-
* - The party who the referenced invoice is issued.
|
|
48
|
-
*
|
|
49
|
-
* @summary Seller/Buyer party name
|
|
50
|
-
*
|
|
51
|
-
* @name `cbc:Name`
|
|
52
|
-
*/
|
|
53
|
-
name: z.string(),
|
|
54
|
-
}),
|
|
55
|
-
});
|
|
56
|
-
export type InvoiceDocumentResponseParty = z.infer<typeof invoiceResponseDocumentResponseParty>;
|
|
57
|
-
|
|
58
|
-
const invoiceResponseDocumentReferenceSchema = z.object({
|
|
59
|
-
/**
|
|
60
|
-
* @description An identifier for the invoice that the status applies to. The invoice identifier must be of the main invoice number that appears in the invoice
|
|
61
|
-
* itself.
|
|
62
|
-
*
|
|
63
|
-
* @example
|
|
64
|
-
* `inv-99876`;
|
|
65
|
-
*
|
|
66
|
-
* @summary Invoice identifier
|
|
67
|
-
*
|
|
68
|
-
* @name `cbc:ID`
|
|
69
|
-
*/
|
|
70
|
-
id: z.string(),
|
|
71
|
-
/**
|
|
72
|
-
* @description The date on which the referenced invoice was issued.
|
|
73
|
-
*
|
|
74
|
-
* @example
|
|
75
|
-
* `2018-08-01`;
|
|
76
|
-
*
|
|
77
|
-
* @summary Invoice issue date
|
|
78
|
-
*
|
|
79
|
-
* @name `cbc:IssueDate`
|
|
80
|
-
*/
|
|
81
|
-
issueDate: z.optional(z.iso.date()),
|
|
82
|
-
/**
|
|
83
|
-
* @example
|
|
84
|
-
* `380`;
|
|
85
|
-
*
|
|
86
|
-
* @summary Identifier type code
|
|
87
|
-
*/
|
|
88
|
-
documentTypeCode: documentTypeCodeSchema(),
|
|
89
|
-
});
|
|
90
|
-
export type InvoiceResponseDocumentReference = z.infer<typeof invoiceResponseDocumentReferenceSchema>;
|
|
91
|
-
|
|
92
|
-
const invoiceResponseDocumentResponseSchema = z.object({
|
|
93
|
-
/**
|
|
94
|
-
* @summary Response information
|
|
95
|
-
*
|
|
96
|
-
* @name `cac:Response`
|
|
97
|
-
*
|
|
98
|
-
* @cardinality (1..1)
|
|
99
|
-
*/
|
|
100
|
-
response: invoiceResponseDocumentActualResponse,
|
|
101
|
-
/**
|
|
102
|
-
* @summary Document reference
|
|
103
|
-
*
|
|
104
|
-
* @name `cac:DocumentReference`
|
|
105
|
-
*/
|
|
106
|
-
documentReference: invoiceResponseDocumentReferenceSchema,
|
|
107
|
-
/**
|
|
108
|
-
* @summary Seller party information
|
|
109
|
-
*
|
|
110
|
-
* @name `cac:IssuerParty`
|
|
111
|
-
*/
|
|
112
|
-
issuerParty: z.optional(invoiceResponseDocumentResponseParty),
|
|
113
|
-
/**
|
|
114
|
-
* @summary Buyer party information
|
|
115
|
-
*
|
|
116
|
-
* @name `cac:RecipientParty`
|
|
117
|
-
*/
|
|
118
|
-
recipientParty: z.optional(invoiceResponseDocumentResponseParty),
|
|
119
|
-
});
|
|
120
|
-
export type InvoiceResponseDocumentResponse = z.infer<typeof invoiceResponseDocumentResponseSchema>;
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* @description The invoice response is a descendant of the message level response with more fields.
|
|
124
|
-
*/
|
|
125
|
-
export const invoiceResponseSchema = z.extend(messageLevelResponse, {
|
|
126
|
-
profileId: z.literal(INVOICE_RESPONSE_PROFILE_ID),
|
|
127
|
-
/**
|
|
128
|
-
* @description The party sending an electronic message level response message back to the sending party of the business document.
|
|
129
|
-
*
|
|
130
|
-
* @summary Sender information
|
|
131
|
-
*/
|
|
132
|
-
senderParty: invoiceResponseSenderPartySchema,
|
|
133
|
-
/**
|
|
134
|
-
* @description The party, an electronic message level response was addressed to, and who is supposed to process the message level response. This is the same
|
|
135
|
-
* party as the sender of the business document.
|
|
136
|
-
*
|
|
137
|
-
* @summary Receiver information
|
|
138
|
-
*/
|
|
139
|
-
receiverParty: invoiceResponsePartySchema,
|
|
140
|
-
/**
|
|
141
|
-
* @description General comments or instructions that are revelant to the response as a whole.
|
|
142
|
-
*
|
|
143
|
-
* @example
|
|
144
|
-
* `Please refere to previous email exchange regarding this invoice.`;
|
|
145
|
-
*
|
|
146
|
-
* @summary Invoice response note
|
|
147
|
-
*/
|
|
148
|
-
note: z.optional(z.string()),
|
|
149
|
-
/**
|
|
150
|
-
* @summary Document response
|
|
151
|
-
*/
|
|
152
|
-
documentResponse: invoiceResponseDocumentResponseSchema,
|
|
153
|
-
});
|
|
154
|
-
|
|
155
|
-
export type PeppolInvoiceResponse = z.infer<typeof invoiceResponseSchema>;
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod/mini';
|
|
2
|
-
|
|
3
|
-
import { opStatusActionSchema } from '#/schemas/values/op-status-action';
|
|
4
|
-
import { opStatusReasonSchema } from '#/schemas/values/op-status-reason';
|
|
5
|
-
|
|
6
|
-
export const invoiceResponseStatusReasonCode = z.discriminatedUnion('listId', [
|
|
7
|
-
z.object({
|
|
8
|
-
value: opStatusActionSchema(),
|
|
9
|
-
/**
|
|
10
|
-
* @description List identifier for clarification.
|
|
11
|
-
*
|
|
12
|
-
* @summary List identifier
|
|
13
|
-
*
|
|
14
|
-
* @name `@listId`
|
|
15
|
-
*/
|
|
16
|
-
listId: z.literal('OPStatusAction'),
|
|
17
|
-
}),
|
|
18
|
-
z.object({
|
|
19
|
-
value: opStatusReasonSchema(),
|
|
20
|
-
/**
|
|
21
|
-
* @description List identifier for clarification.
|
|
22
|
-
*
|
|
23
|
-
* @summary List identifier
|
|
24
|
-
*
|
|
25
|
-
* @name `@listId`
|
|
26
|
-
*/
|
|
27
|
-
listId: z.literal('OPStatusReason'),
|
|
28
|
-
}),
|
|
29
|
-
]);
|
|
30
|
-
export type InvoiceResponseStatusReasonCode = z.infer<typeof invoiceResponseStatusReasonCode>;
|
package/src/schemas/invoice.ts
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod/mini';
|
|
2
|
-
|
|
3
|
-
import { billingBaseSchema } from '#/schemas/billing-base';
|
|
4
|
-
import { invoiceLineSchema } from '#/schemas/fields/invoice-line-schema';
|
|
5
|
-
import { invoiceTypeCodeSchema } from '#/schemas/values/invoice-type-code-schema';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @description Main UBL Invoice schema (camelCase properties)
|
|
9
|
-
*/
|
|
10
|
-
export const invoiceSchema = z.extend(billingBaseSchema, {
|
|
11
|
-
/**
|
|
12
|
-
* @example
|
|
13
|
-
* 2017 - 11 - 01;
|
|
14
|
-
*
|
|
15
|
-
* @summary Payment due date
|
|
16
|
-
*
|
|
17
|
-
* @name cbc:DueDate
|
|
18
|
-
*/
|
|
19
|
-
dueDate: z.optional(z.iso.date()),
|
|
20
|
-
/**
|
|
21
|
-
* @summary INVOICE LINE
|
|
22
|
-
*
|
|
23
|
-
* @name cac:InvoiceLine
|
|
24
|
-
*/
|
|
25
|
-
invoiceLines: z.array(invoiceLineSchema).check(z.minLength(1)),
|
|
26
|
-
/**
|
|
27
|
-
* @example
|
|
28
|
-
* 380;
|
|
29
|
-
*
|
|
30
|
-
* @summary Invoice type code
|
|
31
|
-
*
|
|
32
|
-
* @name cbc:InvoiceTypeCode
|
|
33
|
-
*/
|
|
34
|
-
invoiceTypeCode: invoiceTypeCodeSchema(),
|
|
35
|
-
/**
|
|
36
|
-
* @summary PROJECT REFERENCE
|
|
37
|
-
*
|
|
38
|
-
* @name cac:ProjectReference
|
|
39
|
-
*/
|
|
40
|
-
projectReference: z.optional(z.object({ id: z.string() })),
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
export type PeppolInvoice = z.infer<typeof invoiceSchema>;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod/mini';
|
|
2
|
-
|
|
3
|
-
import { documentResponseDocumentReferenceSchema } from '#/schemas/document-response-document-reference-schema';
|
|
4
|
-
import { documentResponseDocumentSchema } from '#/schemas/document-response-document-schema';
|
|
5
|
-
import { documentResponseLineResponseSchema } from '#/schemas/document-response-line-response-schema';
|
|
6
|
-
|
|
7
|
-
export const messageLevelResponseDocumentResponseSchema = z.object({
|
|
8
|
-
/**
|
|
9
|
-
* @summary Response information
|
|
10
|
-
*
|
|
11
|
-
* @name `cac:Response`
|
|
12
|
-
*
|
|
13
|
-
* @cardinality (1..1)
|
|
14
|
-
*/
|
|
15
|
-
response: documentResponseDocumentSchema,
|
|
16
|
-
/**
|
|
17
|
-
* @description The document reference is used to provide a reference to the envelope of the business document on which the message level response is based. The
|
|
18
|
-
* message level response message may only cover exactly one business document. The element `cac:DocumentResponse/cac:DocumentReference/cbc:ID`
|
|
19
|
-
* **MUST** contain the instance identifier of the envelope of the original business document.
|
|
20
|
-
*
|
|
21
|
-
* @summary Document reference
|
|
22
|
-
*/
|
|
23
|
-
documentReference: documentResponseDocumentReferenceSchema,
|
|
24
|
-
/**
|
|
25
|
-
* @description A response to a particular line in the document. If the document response is negative (code='RE'), the line response element is used to specify
|
|
26
|
-
* the errors in the business document.
|
|
27
|
-
*
|
|
28
|
-
* @summary Line response information
|
|
29
|
-
*/
|
|
30
|
-
lineResponse: z.array(documentResponseLineResponseSchema),
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
export type PeppolMessageLevelMessageLevelResponseDocumentResponse = z.infer<typeof messageLevelResponseDocumentResponseSchema>;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod/mini';
|
|
2
|
-
|
|
3
|
-
import { identifierSchema } from '#/schemas/fields/identifier-schema';
|
|
4
|
-
|
|
5
|
-
export const messageLevelResponsePartySchema = z.object({
|
|
6
|
-
/**
|
|
7
|
-
* @description Identifies the sender party's electronic address.
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* 7300010000001;
|
|
11
|
-
*
|
|
12
|
-
* @summary Sender/Receiver party's electronic address
|
|
13
|
-
*
|
|
14
|
-
* @name `cbc:EndpointID (+ @schemeID)`
|
|
15
|
-
*/
|
|
16
|
-
endpointId: z.optional(identifierSchema()),
|
|
17
|
-
});
|
|
18
|
-
export type PeppolMessageLevelResponseParty = z.infer<typeof messageLevelResponsePartySchema>;
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod/mini';
|
|
2
|
-
|
|
3
|
-
import { MESSAGE_LEVEL_RESPONSE_PROFILE_ID } from '#/constants/message-level-response-profile-id';
|
|
4
|
-
import { messageLevelResponseDocumentResponseSchema } from '#/schemas/message-level-response-document-response-schema';
|
|
5
|
-
import { messageLevelResponsePartySchema } from '#/schemas/message-level-response-party-schema';
|
|
6
|
-
import { xsdTime } from '#/schemas/utils/xsd-time';
|
|
7
|
-
|
|
8
|
-
export const messageLevelResponse = z.object({
|
|
9
|
-
/**
|
|
10
|
-
* @description Identifies the specification of content and rules that apply to the transaction.
|
|
11
|
-
*
|
|
12
|
-
* @default `urn:fdc:peppol.eu:poacc:trns:mlr:3`
|
|
13
|
-
*
|
|
14
|
-
* @summary Specification identification
|
|
15
|
-
*
|
|
16
|
-
* @name `cbc:CustomizationID`
|
|
17
|
-
*
|
|
18
|
-
* @cardinality 1..1
|
|
19
|
-
*/
|
|
20
|
-
customizationId: z.string(),
|
|
21
|
-
/**
|
|
22
|
-
* @description Identifies the BII profile or business process context in which the transaction appears.
|
|
23
|
-
*
|
|
24
|
-
* @remarks
|
|
25
|
-
* Fixed value to `urn:fdc:peppol.eu:poacc:bis:mlr:3`
|
|
26
|
-
*
|
|
27
|
-
* @default `urn:fdc:peppol.eu:poacc:bis:mlr:3`
|
|
28
|
-
*
|
|
29
|
-
* @summary Business process type identifier
|
|
30
|
-
*
|
|
31
|
-
* @name `cbc:ProfileID`
|
|
32
|
-
*/
|
|
33
|
-
profileId: z.literal(MESSAGE_LEVEL_RESPONSE_PROFILE_ID),
|
|
34
|
-
/**
|
|
35
|
-
* @description A transaction instance must contain an identifier. The identifier enables positive referencing the transaction instance for various puropses
|
|
36
|
-
* including referencing between transactions that are part of the same process.
|
|
37
|
-
*
|
|
38
|
-
* @example
|
|
39
|
-
* 23;
|
|
40
|
-
*
|
|
41
|
-
* @summary Response identifier
|
|
42
|
-
*
|
|
43
|
-
* @name cbc:ID
|
|
44
|
-
*/
|
|
45
|
-
id: z.string(),
|
|
46
|
-
/**
|
|
47
|
-
* @description The date on which the transaction instance was issued.
|
|
48
|
-
*
|
|
49
|
-
* @example
|
|
50
|
-
* 2017 - 11 - 01;
|
|
51
|
-
*
|
|
52
|
-
* @summary Response issue date
|
|
53
|
-
*
|
|
54
|
-
* @format `YYYY-MM-DD`
|
|
55
|
-
*
|
|
56
|
-
* @name cbc:IssueDate
|
|
57
|
-
*/
|
|
58
|
-
issueDate: z.iso.date(),
|
|
59
|
-
/**
|
|
60
|
-
* @description The time at which the transaction instance was issued.
|
|
61
|
-
*
|
|
62
|
-
* @example
|
|
63
|
-
* 12:01:34
|
|
64
|
-
*
|
|
65
|
-
* @summary Response issue time
|
|
66
|
-
*
|
|
67
|
-
* @format `hh:mm:ss`
|
|
68
|
-
*
|
|
69
|
-
* @name cbc:IssueDate
|
|
70
|
-
*/
|
|
71
|
-
issueTime: z.optional(xsdTime),
|
|
72
|
-
/**
|
|
73
|
-
* @description The party sending an electronic message level response message back to the sending party of the business document.
|
|
74
|
-
*
|
|
75
|
-
* @summary Sender information
|
|
76
|
-
*/
|
|
77
|
-
senderParty: messageLevelResponsePartySchema,
|
|
78
|
-
/**
|
|
79
|
-
* @description The party, an electronic message level response was addressed to, and who is supposed to process the message level response. This is the same
|
|
80
|
-
* party as the sender of the business document.
|
|
81
|
-
*
|
|
82
|
-
* @summary Receiver information
|
|
83
|
-
*/
|
|
84
|
-
receiverParty: messageLevelResponsePartySchema,
|
|
85
|
-
/**
|
|
86
|
-
* @description The document response is used to indicate the result of business document validation. The element
|
|
87
|
-
* `cac:DocumentResponse/cac:Response/cbc:ResponseCode` MUST contain the overall result code.
|
|
88
|
-
*
|
|
89
|
-
* @summary Document response
|
|
90
|
-
*
|
|
91
|
-
* @name `cac:DocumentResponse`
|
|
92
|
-
*/
|
|
93
|
-
documentResponse: messageLevelResponseDocumentResponseSchema,
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
export type PeppolMessageLevelResponse = z.infer<typeof messageLevelResponse>;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod/mini';
|
|
2
|
-
|
|
3
|
-
// RFC 4648 §4 — Base 64 Encoding
|
|
4
|
-
//
|
|
5
|
-
// Alphabet: A-Z a-z 0-9 + / (pad: =)
|
|
6
|
-
// Encoding quanta: 4 characters represent 3 bytes.
|
|
7
|
-
// Padding rules (only at the very end):
|
|
8
|
-
// • 0 pad chars → last quantum is xxxx (input length % 3 === 0)
|
|
9
|
-
// • 1 pad char → last quantum is xxx= (input length % 3 === 2)
|
|
10
|
-
// • 2 pad chars → last quantum is xx== (input length % 3 === 1)
|
|
11
|
-
//
|
|
12
|
-
// §3.1: CRLF / LF line endings are treated as non-alphabet characters
|
|
13
|
-
// and stripped before validation (as in PEM / MIME / XML).
|
|
14
|
-
// §3.3: Implementations MUST reject data with non-alphabet characters
|
|
15
|
-
// (other than the allowed line endings stripped above).
|
|
16
|
-
//
|
|
17
|
-
// The regex below encodes all three quantum variants in a single pass:
|
|
18
|
-
// ([A-Za-z0-9+/]{4})* — zero or more full quanta (no padding)
|
|
19
|
-
// followed by one of:
|
|
20
|
-
// [A-Za-z0-9+/]{2}== — 2-pad quantum (1 remaining input byte)
|
|
21
|
-
// [A-Za-z0-9+/]{3}= — 1-pad quantum (2 remaining input bytes)
|
|
22
|
-
// (empty) — no trailing partial quantum
|
|
23
|
-
const BASE64_RE = /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/;
|
|
24
|
-
|
|
25
|
-
export const base64Schema = z.string().check(
|
|
26
|
-
z.refine(
|
|
27
|
-
val => {
|
|
28
|
-
// Strip CRLF and LF line endings (§3.1 / §3.3)
|
|
29
|
-
const stripped = val.replace(/\r?\n/g, '');
|
|
30
|
-
return BASE64_RE.test(stripped);
|
|
31
|
-
},
|
|
32
|
-
{ error: 'Invalid base64' }
|
|
33
|
-
)
|
|
34
|
-
);
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod/mini';
|
|
2
|
-
|
|
3
|
-
import { isValidMod97_0208 } from '#/peppol-validations/is-valid-mod97-0208';
|
|
4
|
-
|
|
5
|
-
export const vatRegexSchema = z.union([
|
|
6
|
-
z.string().check(
|
|
7
|
-
z.startsWith('BE'),
|
|
8
|
-
z.length(12),
|
|
9
|
-
z.regex(/^BE[01]\d{9}$/, { error: () => 'Invalid belgian vat number' }),
|
|
10
|
-
z.superRefine((value, ctx) => {
|
|
11
|
-
const result = isValidMod97_0208(value.substring(2));
|
|
12
|
-
if (!result.success) {
|
|
13
|
-
const message = 'Invalid belgian vat number';
|
|
14
|
-
|
|
15
|
-
if (import.meta.env['DEV'] && !import.meta.env['TEST']) {
|
|
16
|
-
console.log(`Validation ${result.actual} != ${result.expected}`);
|
|
17
|
-
message.concat(`(Validation ${result.actual} != ${result.expected})`);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
ctx.addIssue({ code: 'custom', continue: false, input: value, message });
|
|
21
|
-
}
|
|
22
|
-
})
|
|
23
|
-
),
|
|
24
|
-
z.string().check(z.startsWith('AT'), z.regex(/^ATU\d{8}$/)),
|
|
25
|
-
z.string().check(z.startsWith('BG'), z.regex(/^BG\d{9,10}$/)),
|
|
26
|
-
z.string().check(z.startsWith('CY'), z.regex(/^CY\d{8}L$/)),
|
|
27
|
-
z.string().check(z.startsWith('CZ'), z.regex(/^CZ\d{8,10}$/)),
|
|
28
|
-
z.string().check(z.startsWith('DE'), z.regex(/^DE\d{9}$/)),
|
|
29
|
-
z.string().check(z.startsWith('DK'), z.regex(/^DK\d{8}$/)),
|
|
30
|
-
z.string().check(z.startsWith('EE'), z.regex(/^EE\d{9}$/)),
|
|
31
|
-
z.string().check(z.startsWith('EL'), z.regex(/^EL\d{9}$/)),
|
|
32
|
-
z.string().check(z.startsWith('GR'), z.regex(/^GR\d{9}$/)),
|
|
33
|
-
z.string().check(z.startsWith('ES'), z.regex(/^ES[0-9A-Z]\d{7}[0-9A-Z]$/)),
|
|
34
|
-
z.string().check(z.startsWith('FI'), z.regex(/^FI\d{8}$/)),
|
|
35
|
-
z.string().check(z.startsWith('FR'), z.regex(/^FR[0-9A-Z]{2}\d{9}$/)),
|
|
36
|
-
z.string().check(z.startsWith('GB'), z.regex(/^GB(\d{9}(\d{3})?|[A-Z]{2}\d{3})$/)),
|
|
37
|
-
z.string().check(z.startsWith('HU'), z.regex(/^HU\d{8}$/)),
|
|
38
|
-
z.string().check(z.startsWith('IE'), z.regex(/^IE\dS\d{5}L$/)),
|
|
39
|
-
z.string().check(z.startsWith('IT'), z.regex(/^IT\d{11}$/)),
|
|
40
|
-
z.string().check(z.startsWith('LT'), z.regex(/^LT(\d{9}|\d{12})$/)),
|
|
41
|
-
z.string().check(z.startsWith('LU'), z.regex(/^LU\d{8}$/)),
|
|
42
|
-
z.string().check(z.startsWith('LV'), z.regex(/^LV\d{11}$/)),
|
|
43
|
-
z.string().check(z.startsWith('MT'), z.regex(/^MT\d{8}$/)),
|
|
44
|
-
z.string().check(z.startsWith('NL'), z.regex(/^NL\d{9}B\d{2}$/)),
|
|
45
|
-
z.string().check(z.startsWith('PL'), z.regex(/^PL\d{10}$/)),
|
|
46
|
-
z.string().check(z.startsWith('PT'), z.regex(/^PT\d{9}$/)),
|
|
47
|
-
z.string().check(z.startsWith('RO'), z.regex(/^RO\d{2,10}$/)),
|
|
48
|
-
z.string().check(z.startsWith('SE'), z.regex(/^SE\d{12}$/)),
|
|
49
|
-
z.string().check(z.startsWith('SI'), z.regex(/^SI\d{8}$/)),
|
|
50
|
-
z.string().check(z.startsWith('SK'), z.regex(/^SK\d{10}$/)),
|
|
51
|
-
]);
|