@endevops/peppol-schema 0.1.0-beta.4 → 0.1.0-beta.6
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-CiW698HY.d.ts +3507 -0
- package/dist/index-CiW698HY.d.ts.map +1 -0
- package/dist/index.d.ts +2 -2613
- package/dist/index.js +3122 -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 +2040 -1547
- 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 +26 -13
- 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 -10
- 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 -6
- 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/{effect → schemas}/utils/peppol-vat-regex-schema.ts +0 -2
- 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/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 -3
- 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 +12 -11
- 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 +46 -23
- 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 +27 -26
- 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 +27 -14
- 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 +48 -27
- 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 -6291
- package/dist/effect.d.ts.map +0 -1
- package/dist/effect.js +0 -3240
- 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 -95
- package/src/effect/fields/peppol-amount-schema.ts +0 -22
- 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 -42
- 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 -64
- 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 -138
- 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}/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/currency-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
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Schema } from 'effect';
|
|
2
|
+
|
|
3
|
+
import { opaque } from '#/schemas/utils/opaque';
|
|
4
|
+
import { itemClassificationCodesSchema } from '#/schemas/values/item-classification-codes-schema';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @description A code for classifying the item by its type or nature.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* `9873242`;
|
|
11
|
+
*
|
|
12
|
+
* @summary Item classification identifier
|
|
13
|
+
*
|
|
14
|
+
* @name `cbc:ItemClassificationCode`
|
|
15
|
+
*/
|
|
16
|
+
export class PeppolItemClassification extends opaque<PeppolItemClassification>()(
|
|
17
|
+
Schema.Struct({
|
|
18
|
+
/**
|
|
19
|
+
* @description A code for classifying the item by its type or nature.
|
|
20
|
+
*
|
|
21
|
+
* @summary Item classification identifier
|
|
22
|
+
*
|
|
23
|
+
* @name `#text`
|
|
24
|
+
*/
|
|
25
|
+
id: Schema.String,
|
|
26
|
+
/**
|
|
27
|
+
* @description The identification scheme identifier of the item classification identifier.
|
|
28
|
+
*
|
|
29
|
+
* @summary Item classification identifier identification scheme identifier
|
|
30
|
+
*
|
|
31
|
+
* @name `@listID`
|
|
32
|
+
*/
|
|
33
|
+
listId: itemClassificationCodesSchema,
|
|
34
|
+
/**
|
|
35
|
+
* @description The identification scheme version identifier of the Item classification identifier.
|
|
36
|
+
*
|
|
37
|
+
* @remarks
|
|
38
|
+
* Only used with danish.
|
|
39
|
+
*
|
|
40
|
+
* @summary Item classification identifier version identification scheme identifier
|
|
41
|
+
*
|
|
42
|
+
* @name `@listVersionID`
|
|
43
|
+
*/
|
|
44
|
+
listVersionId: Schema.optional(Schema.String),
|
|
45
|
+
})
|
|
46
|
+
) {}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { Schema } from 'effect';
|
|
2
|
+
|
|
3
|
+
import { PeppolAmount } from '#/schemas/fields/peppol-amount-schema';
|
|
4
|
+
import { opaque } from '#/schemas/utils/opaque';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @description A group of business terms providing the monetary totals for the Invoice.
|
|
8
|
+
*
|
|
9
|
+
* @summary Document totals
|
|
10
|
+
*
|
|
11
|
+
* @name cac:LegalMonetaryTotal
|
|
12
|
+
*/
|
|
13
|
+
export class PeppolLegalMonetaryTotal extends opaque<PeppolLegalMonetaryTotal>()(
|
|
14
|
+
Schema.Struct({
|
|
15
|
+
/**
|
|
16
|
+
* @description Sum of all allowances on document level in the Invoice.
|
|
17
|
+
*
|
|
18
|
+
* @remarks
|
|
19
|
+
* Must be rounded to maxium 2 decimals.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* 200.0;
|
|
23
|
+
*
|
|
24
|
+
* @summary Sum of allowances on document level
|
|
25
|
+
*
|
|
26
|
+
* @name `cbc:AllowanceTotalAmount (+ @currencyID)`
|
|
27
|
+
*/
|
|
28
|
+
allowanceTotalAmount: Schema.optional(PeppolAmount),
|
|
29
|
+
/**
|
|
30
|
+
* @description Sum of all charges on document level in the Invoice.
|
|
31
|
+
*
|
|
32
|
+
* @remarks
|
|
33
|
+
* Must be rounded to maximum 2 decimals.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* 0.0;
|
|
37
|
+
*
|
|
38
|
+
* @summary Sum of charges on document level
|
|
39
|
+
*
|
|
40
|
+
* @name `cbc:ChargeTotalAmount (+ @currencyID)`
|
|
41
|
+
*/
|
|
42
|
+
chargeTotalAmount: Schema.optional(PeppolAmount),
|
|
43
|
+
/**
|
|
44
|
+
* @description Sum of all Invoice line net amounts in the Invoice.
|
|
45
|
+
*
|
|
46
|
+
* @remarks
|
|
47
|
+
* Must be rounded to maximum 2 decimals.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* 3800.0;
|
|
51
|
+
*
|
|
52
|
+
* @summary Sum of Invoice line amount
|
|
53
|
+
*
|
|
54
|
+
* @name `cbc:LineExtensionAmount (+ @currencyID)`
|
|
55
|
+
*/
|
|
56
|
+
lineExtensionAmount: PeppolAmount,
|
|
57
|
+
/**
|
|
58
|
+
* @description The amount due for payment on the Invoice, after accounting for all allowances, charges, prepayments, and rounding adjustments.
|
|
59
|
+
*
|
|
60
|
+
* @remarks
|
|
61
|
+
* Must be rounded to maximum 2 decimals.
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* 4500.0;
|
|
65
|
+
*
|
|
66
|
+
* @summary Amount due for payment
|
|
67
|
+
*
|
|
68
|
+
* @name `cbc:PayableAmount (+ @currencyID)`
|
|
69
|
+
*/
|
|
70
|
+
payableAmount: PeppolAmount,
|
|
71
|
+
/**
|
|
72
|
+
* @description The rounding amount applied to the Invoice total.
|
|
73
|
+
*
|
|
74
|
+
* @remarks
|
|
75
|
+
* Must be rounded to maximum 2 decimals.
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* 0.0;
|
|
79
|
+
*
|
|
80
|
+
* @summary Rounding amount
|
|
81
|
+
*
|
|
82
|
+
* @name `cbc:PayableRoundingAmount (+ @currencyID)`
|
|
83
|
+
*/
|
|
84
|
+
payableRoundingAmount: Schema.optional(PeppolAmount),
|
|
85
|
+
/**
|
|
86
|
+
* @description The sum of amounts which have been paid in advances.
|
|
87
|
+
*
|
|
88
|
+
* @remarks
|
|
89
|
+
* Must be rounded to maximum 2 decimals.
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* 0.0;
|
|
93
|
+
*
|
|
94
|
+
* @summary Paid amount
|
|
95
|
+
*
|
|
96
|
+
* @name `cbc:PrepaidAmount (+ @currencyID)`
|
|
97
|
+
*/
|
|
98
|
+
prepaidAmount: Schema.optional(PeppolAmount),
|
|
99
|
+
/**
|
|
100
|
+
* @description The total amount of the Invoice without VAT.
|
|
101
|
+
*
|
|
102
|
+
* @remarks
|
|
103
|
+
* Must be rounded to maximum 2 decimals.
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* 3600.0;
|
|
107
|
+
*
|
|
108
|
+
* @summary Invoice total amount without VAT
|
|
109
|
+
*
|
|
110
|
+
* @name `cbc:TaxExclusiveAmount (+ @currencyID)`
|
|
111
|
+
*/
|
|
112
|
+
taxExclusiveAmount: PeppolAmount,
|
|
113
|
+
/**
|
|
114
|
+
* @description The total amount of the Invoice with VAT.
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* 4500.0;
|
|
118
|
+
*
|
|
119
|
+
* @summary Invoice total amount with VAT
|
|
120
|
+
*
|
|
121
|
+
* @remark Must be rounded to maximum 2 decimals.
|
|
122
|
+
*
|
|
123
|
+
* @name `cbc:TaxInclusiveAmount (+ @currencyID)`
|
|
124
|
+
*/
|
|
125
|
+
taxInclusiveAmount: PeppolAmount,
|
|
126
|
+
})
|
|
127
|
+
) {}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Schema } from 'effect';
|
|
2
|
+
|
|
3
|
+
import { PriceAllowanceCharge } from '#/schemas/fields/peppol-line-price-allowance-charge-schema';
|
|
4
|
+
import { opaque } from '#/schemas/utils/opaque';
|
|
5
|
+
import { allowanceChargeReasonCodeSchema } from '#/schemas/values/allowance-charge-reason-code-schema';
|
|
6
|
+
import { chargeReasonCodeSchema } from '#/schemas/values/charge-reason-code-schema';
|
|
7
|
+
|
|
8
|
+
export class BaseLineAllowanceCharge extends opaque<BaseLineAllowanceCharge>()(
|
|
9
|
+
Schema.Struct({
|
|
10
|
+
...PriceAllowanceCharge.fields /**
|
|
11
|
+
* @example
|
|
12
|
+
* Discount;
|
|
13
|
+
*
|
|
14
|
+
* @name cbc:AllowanceChargeReason
|
|
15
|
+
*/,
|
|
16
|
+
allowanceChargeReason: Schema.optional(Schema.String),
|
|
17
|
+
/**
|
|
18
|
+
* @example
|
|
19
|
+
* 20;
|
|
20
|
+
*
|
|
21
|
+
* @name cbc:MultiplierFactorNumeric
|
|
22
|
+
*/
|
|
23
|
+
multiplierFactorNumeric: Schema.optional(Schema.Finite),
|
|
24
|
+
})
|
|
25
|
+
) {}
|
|
26
|
+
|
|
27
|
+
export class PeppolLineAllowance extends opaque<PeppolLineAllowance>()(
|
|
28
|
+
Schema.Struct({
|
|
29
|
+
...BaseLineAllowanceCharge.fields,
|
|
30
|
+
/**
|
|
31
|
+
* @name cbc:AllowanceChargeReasonCode
|
|
32
|
+
*/
|
|
33
|
+
allowanceChargeReasonCode: Schema.optional(allowanceChargeReasonCodeSchema),
|
|
34
|
+
/**
|
|
35
|
+
* @name cbc:ChargeIndicator
|
|
36
|
+
*
|
|
37
|
+
* @value `false`
|
|
38
|
+
*/
|
|
39
|
+
chargeIndicator: Schema.Literal(false).annotate({
|
|
40
|
+
message: "PEPPOL-EN16931-R043: Allowance/charge ChargeIndicator value MUST equal 'true' or 'false'",
|
|
41
|
+
}),
|
|
42
|
+
})
|
|
43
|
+
) {}
|
|
44
|
+
|
|
45
|
+
export class PeppolLineCharge extends opaque<PeppolLineCharge>()(
|
|
46
|
+
Schema.Struct({
|
|
47
|
+
...BaseLineAllowanceCharge.fields,
|
|
48
|
+
/**
|
|
49
|
+
* @name cbc:AllowanceChargeReasonCode
|
|
50
|
+
*/
|
|
51
|
+
allowanceChargeReasonCode: Schema.optional(chargeReasonCodeSchema),
|
|
52
|
+
/**
|
|
53
|
+
* @name cbc:ChargeIndicator
|
|
54
|
+
*
|
|
55
|
+
* @value `true`
|
|
56
|
+
*/
|
|
57
|
+
chargeIndicator: Schema.Literal(true).annotate({
|
|
58
|
+
message: "PEPPOL-EN16931-R043: Allowance/charge ChargeIndicator value MUST equal 'true' or 'false'",
|
|
59
|
+
}),
|
|
60
|
+
})
|
|
61
|
+
) {}
|
|
62
|
+
|
|
63
|
+
export const peppolLineAllowanceChargeSchema = Schema.Union([PeppolLineAllowance, PeppolLineCharge]).annotate({
|
|
64
|
+
message: 'unable to decode line allowance charge',
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
export type PeppolLineAllowanceCharge = typeof peppolLineAllowanceChargeSchema.Type;
|
|
68
|
+
export type PeppolLineAllowanceChargeEncoded = typeof peppolLineAllowanceChargeSchema.Encoded;
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import { Schema } from 'effect';
|
|
2
|
+
|
|
3
|
+
import { PeppolIdentifier } from '#/schemas/fields/peppol-identifier-schema';
|
|
4
|
+
import { PeppolItemClassification } from '#/schemas/fields/peppol-item-classification-schema';
|
|
5
|
+
import { PeppolTaxCategory } from '#/schemas/fields/peppol-tax-category-schema';
|
|
6
|
+
import { opaque } from '#/schemas/utils/opaque';
|
|
7
|
+
import { icdCodesSchema } from '#/schemas/values/icd-codes-schema';
|
|
8
|
+
import { peppolCountryCodeSchema } from '#/schemas/values/peppol-country-code-schema';
|
|
9
|
+
|
|
10
|
+
class PeppolAdditionalItemProperties extends opaque<PeppolAdditionalItemProperties>()(
|
|
11
|
+
Schema.Struct({
|
|
12
|
+
/**
|
|
13
|
+
* @description The name of the attribute or property of the item.
|
|
14
|
+
*
|
|
15
|
+
* @summary Item attribute name
|
|
16
|
+
*
|
|
17
|
+
* @name cbc:Name
|
|
18
|
+
*/
|
|
19
|
+
name: Schema.String,
|
|
20
|
+
/**
|
|
21
|
+
* @description The value of the attribute or property of the item.
|
|
22
|
+
*
|
|
23
|
+
* @summary Item attribute value
|
|
24
|
+
*
|
|
25
|
+
* @name cbc:Value
|
|
26
|
+
*/
|
|
27
|
+
value: Schema.String,
|
|
28
|
+
})
|
|
29
|
+
) {}
|
|
30
|
+
|
|
31
|
+
class PeppolCommodityClassifications extends opaque<PeppolCommodityClassifications>()(
|
|
32
|
+
Schema.Struct({
|
|
33
|
+
/**
|
|
34
|
+
* @description A code for classifying the item by its type or nature.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* `9873242`;
|
|
38
|
+
*
|
|
39
|
+
* @summary Item classification identifier
|
|
40
|
+
*
|
|
41
|
+
* @name `cbc:ItemClassificationCode`
|
|
42
|
+
*/
|
|
43
|
+
itemClassification: PeppolItemClassification,
|
|
44
|
+
})
|
|
45
|
+
) {}
|
|
46
|
+
|
|
47
|
+
class PeppolOriginCountryCode extends opaque<PeppolOriginCountryCode>()(
|
|
48
|
+
Schema.Struct({
|
|
49
|
+
/**
|
|
50
|
+
* @description The code identifying the country from which the item originates.
|
|
51
|
+
*
|
|
52
|
+
* @summary Item country of origin
|
|
53
|
+
*
|
|
54
|
+
* @name `cbc:IdentificationCode`
|
|
55
|
+
*/
|
|
56
|
+
identificationCode: peppolCountryCodeSchema,
|
|
57
|
+
})
|
|
58
|
+
) {}
|
|
59
|
+
|
|
60
|
+
class PeppolStandardItemIdentification extends opaque<PeppolStandardItemIdentification>()(
|
|
61
|
+
Schema.Struct({
|
|
62
|
+
/**
|
|
63
|
+
* @description An item identifier based on a registered scheme.
|
|
64
|
+
*
|
|
65
|
+
* @summary Item standard identifier
|
|
66
|
+
*
|
|
67
|
+
* @name `cbc:ID`
|
|
68
|
+
*/
|
|
69
|
+
id: PeppolIdentifier.pipe(
|
|
70
|
+
Schema.fieldsAssign({
|
|
71
|
+
/**
|
|
72
|
+
* @description An item identifier based on a registered scheme.
|
|
73
|
+
*
|
|
74
|
+
* @summary Item standard identifier
|
|
75
|
+
*
|
|
76
|
+
* @name `#text`
|
|
77
|
+
*/
|
|
78
|
+
id: Schema.String,
|
|
79
|
+
/**
|
|
80
|
+
* @description The identification scheme identifier of the Item standard identifier.
|
|
81
|
+
*
|
|
82
|
+
* @summary Item standard identifier identification scheme identifier
|
|
83
|
+
*
|
|
84
|
+
* @name `@schemeID`
|
|
85
|
+
*/
|
|
86
|
+
schemeId: icdCodesSchema,
|
|
87
|
+
})
|
|
88
|
+
),
|
|
89
|
+
})
|
|
90
|
+
) {}
|
|
91
|
+
|
|
92
|
+
class PeppolSellersItemIdentification extends opaque<PeppolSellersItemIdentification>()(
|
|
93
|
+
Schema.Struct({
|
|
94
|
+
/**
|
|
95
|
+
* @description An identifier, assigned by the Seller, for the item.
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* `987323`;
|
|
99
|
+
*
|
|
100
|
+
* @summary Item Seller's identifier
|
|
101
|
+
*
|
|
102
|
+
* @name `cbc:ID`
|
|
103
|
+
*/
|
|
104
|
+
id: Schema.String,
|
|
105
|
+
})
|
|
106
|
+
) {}
|
|
107
|
+
|
|
108
|
+
class PeppolBuyersItemIdentification extends opaque<PeppolBuyersItemIdentification>()(
|
|
109
|
+
Schema.Struct({
|
|
110
|
+
/**
|
|
111
|
+
* @description An identifier, assigned by the Buyer, for the item.
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* `12345`;
|
|
115
|
+
*
|
|
116
|
+
* @summary Item Buyer's identifier
|
|
117
|
+
*
|
|
118
|
+
* @name `cbc:ID`
|
|
119
|
+
*/
|
|
120
|
+
id: Schema.String,
|
|
121
|
+
})
|
|
122
|
+
) {}
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* @summary Item details on invoice/credit-note line
|
|
126
|
+
*
|
|
127
|
+
* @name cac:Item
|
|
128
|
+
*/
|
|
129
|
+
export class PeppolLineItem extends opaque<PeppolLineItem>()(
|
|
130
|
+
Schema.Struct({
|
|
131
|
+
/**
|
|
132
|
+
* @description A description for an item. The item description allows for descibing the item and its features in more detail than the item name.
|
|
133
|
+
*
|
|
134
|
+
* @summary Item description
|
|
135
|
+
*
|
|
136
|
+
* @name cbc:Description
|
|
137
|
+
*/
|
|
138
|
+
description: Schema.optional(Schema.String),
|
|
139
|
+
/**
|
|
140
|
+
* @description A name for an item.
|
|
141
|
+
*
|
|
142
|
+
* @summary Item name
|
|
143
|
+
*
|
|
144
|
+
* @name cbc:Name
|
|
145
|
+
*/
|
|
146
|
+
name: Schema.String,
|
|
147
|
+
/**
|
|
148
|
+
* @summary BUYERS ITEM IDENTIFICATION
|
|
149
|
+
*
|
|
150
|
+
* @name cac:BuyersItemIdentification
|
|
151
|
+
*/
|
|
152
|
+
buyersItemIdentification: Schema.optional(PeppolBuyersItemIdentification),
|
|
153
|
+
/**
|
|
154
|
+
* @summary Sellers item identification
|
|
155
|
+
*
|
|
156
|
+
* @name cac:SellersItemIdentification
|
|
157
|
+
*/
|
|
158
|
+
sellersItemIdentification: Schema.optional(PeppolSellersItemIdentification),
|
|
159
|
+
/**
|
|
160
|
+
* @summary Standard item identification
|
|
161
|
+
*
|
|
162
|
+
* @name cac:StandardItemIdentification
|
|
163
|
+
*/
|
|
164
|
+
standardItemIdentification: Schema.optional(PeppolStandardItemIdentification),
|
|
165
|
+
/**
|
|
166
|
+
* @summary ORIGIN COUNTRY
|
|
167
|
+
*
|
|
168
|
+
* @name `cac:OriginCountry`
|
|
169
|
+
*/
|
|
170
|
+
originCountryCode: Schema.optional(PeppolOriginCountryCode),
|
|
171
|
+
/**
|
|
172
|
+
* @summary COMMODITY CLASSIFICATION
|
|
173
|
+
*
|
|
174
|
+
* @name cac:CommodityClassification (0..n)
|
|
175
|
+
*/
|
|
176
|
+
commodityClassifications: Schema.optional(Schema.Array(PeppolCommodityClassifications)),
|
|
177
|
+
/**
|
|
178
|
+
* @description A group of business terms providing information about the VAT applicable for the goods and services invoiced on the Invoice line.
|
|
179
|
+
*
|
|
180
|
+
* @summary LINE VAT INFORMATION
|
|
181
|
+
*
|
|
182
|
+
* @name cac:ClassifiedTaxCategory
|
|
183
|
+
*/
|
|
184
|
+
classifiedTaxCategory: PeppolTaxCategory,
|
|
185
|
+
/**
|
|
186
|
+
* @description A group of business terms providing information about properties of the goods and services invoiced.
|
|
187
|
+
*
|
|
188
|
+
* @summary ITEM ATTRIBUTES
|
|
189
|
+
*
|
|
190
|
+
* @name cac:AdditionalItemProperty
|
|
191
|
+
*/
|
|
192
|
+
additionalItemProperties: Schema.optional(Schema.Array(PeppolAdditionalItemProperties)),
|
|
193
|
+
})
|
|
194
|
+
) {}
|
|
195
|
+
|
|
196
|
+
export type PeppolItem = PeppolLineItem;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Schema } from 'effect';
|
|
2
|
+
|
|
3
|
+
import { PeppolAmount } from '#/schemas/fields/peppol-amount-schema';
|
|
4
|
+
import { opaque } from '#/schemas/utils/opaque';
|
|
5
|
+
|
|
6
|
+
class PriceAllowanceCharge extends opaque<PriceAllowanceCharge>()(
|
|
7
|
+
Schema.Struct({
|
|
8
|
+
/**
|
|
9
|
+
* @example
|
|
10
|
+
* 200;
|
|
11
|
+
*
|
|
12
|
+
* @name cbc:Amount (+ @currencyID)
|
|
13
|
+
*/
|
|
14
|
+
amount: PeppolAmount,
|
|
15
|
+
/**
|
|
16
|
+
* @example
|
|
17
|
+
* 1000;
|
|
18
|
+
*
|
|
19
|
+
* @name cbc:BaseAmount (+ @currencyID)
|
|
20
|
+
*/
|
|
21
|
+
baseAmount: Schema.optional(PeppolAmount),
|
|
22
|
+
/**
|
|
23
|
+
* @name cbc:ChargeIndicator
|
|
24
|
+
*
|
|
25
|
+
* @value false
|
|
26
|
+
*/
|
|
27
|
+
chargeIndicator: Schema.Boolean,
|
|
28
|
+
})
|
|
29
|
+
) {}
|
|
30
|
+
|
|
31
|
+
export class PeppolLinePriceAllowanceCharge extends opaque<PeppolLinePriceAllowanceCharge>()(
|
|
32
|
+
PriceAllowanceCharge.pipe(
|
|
33
|
+
Schema.fieldsAssign({
|
|
34
|
+
chargeIndicator: Schema.Literal(false).annotate({
|
|
35
|
+
message: "PEPPOL-EN16931-R044: Charge on price level is NOT allowed. Only value 'false' allowed.",
|
|
36
|
+
}),
|
|
37
|
+
})
|
|
38
|
+
)
|
|
39
|
+
) {}
|
|
40
|
+
|
|
41
|
+
export { PriceAllowanceCharge };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Schema } from 'effect';
|
|
2
|
+
|
|
3
|
+
import { PeppolAmount } from '#/schemas/fields/peppol-amount-schema';
|
|
4
|
+
import { PeppolLinePriceAllowanceCharge } from '#/schemas/fields/peppol-line-price-allowance-charge-schema';
|
|
5
|
+
import { PeppolQuantity } from '#/schemas/fields/peppol-quantity-schema';
|
|
6
|
+
import { opaque } from '#/schemas/utils/opaque';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @summary Price details on invoice line
|
|
10
|
+
*
|
|
11
|
+
* @name cac:Price
|
|
12
|
+
*/
|
|
13
|
+
export class PeppolLinePrice extends opaque<PeppolLinePrice>()(
|
|
14
|
+
Schema.Struct({
|
|
15
|
+
/**
|
|
16
|
+
* @name cac:AllowanceCharge
|
|
17
|
+
*
|
|
18
|
+
* @cardinality 0..1
|
|
19
|
+
*/
|
|
20
|
+
allowanceCharge: Schema.optional(PeppolLinePriceAllowanceCharge),
|
|
21
|
+
/**
|
|
22
|
+
* @name cbc:BaseQuantity (+ @unitCode)
|
|
23
|
+
*
|
|
24
|
+
* @cardinality 0..1
|
|
25
|
+
*/
|
|
26
|
+
baseQuantity: Schema.optional(PeppolQuantity),
|
|
27
|
+
/**
|
|
28
|
+
* @name cbc:PriceAmount (+ @currencyID)
|
|
29
|
+
*/
|
|
30
|
+
priceAmount: PeppolAmount,
|
|
31
|
+
})
|
|
32
|
+
) {}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Schema } from 'effect';
|
|
2
|
+
|
|
3
|
+
import { opaque } from '#/schemas/utils/opaque';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @summary ORDER AND SALES ORDER REFERENCE
|
|
7
|
+
*
|
|
8
|
+
* @name cac:OrderReference
|
|
9
|
+
*/
|
|
10
|
+
export class PeppolOrderReference extends opaque<PeppolOrderReference>()(
|
|
11
|
+
Schema.Struct({
|
|
12
|
+
/**
|
|
13
|
+
* @description An identifier of a referenced purchase order, issued by the Buyer. An identifier of a referenced purchase order, issued by the Buyer. An
|
|
14
|
+
* invoice must have buyer reference (BT-10) or purchase order reference. In cases where sales order reference is provided, but there's no
|
|
15
|
+
* purchase order reference, then use value "NA" as this element is mandatory in UBL.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* `98776`;
|
|
19
|
+
*
|
|
20
|
+
* @summary Purchase order reference
|
|
21
|
+
*
|
|
22
|
+
* @name `cbc:ID`
|
|
23
|
+
*/
|
|
24
|
+
id: Schema.String,
|
|
25
|
+
/**
|
|
26
|
+
* @description An identifier of a referenced Sales order, issued by the Seller. In cases where sales order reference is provided, but there's no purchase
|
|
27
|
+
* order reference, then set cac:OrderReference/cbc:ID to value "NA" as this element is mandatory in UBL.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* `112233`;
|
|
31
|
+
*
|
|
32
|
+
* @summary Sales order reference
|
|
33
|
+
*
|
|
34
|
+
* @name `cbc:SalesOrderID`
|
|
35
|
+
*/
|
|
36
|
+
salesOrderId: Schema.optional(Schema.String),
|
|
37
|
+
})
|
|
38
|
+
) {}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { Schema } from 'effect';
|
|
2
|
+
|
|
3
|
+
import { PeppolAddress } from '#/schemas/fields/peppol-address-schema';
|
|
4
|
+
import { PeppolContact } from '#/schemas/fields/peppol-contact-schema';
|
|
5
|
+
import { PeppolIdentifier } from '#/schemas/fields/peppol-identifier-schema';
|
|
6
|
+
import { PeppolPartyLegalEntity } from '#/schemas/fields/peppol-party-legal-entity-schema';
|
|
7
|
+
import { PeppolPartyTaxScheme } from '#/schemas/fields/peppol-party-tax-scheme-schema';
|
|
8
|
+
import { opaque } from '#/schemas/utils/opaque';
|
|
9
|
+
import { electronicCodesSchema } from '#/schemas/values/electronic-codes-schema';
|
|
10
|
+
import { icdCodesSchema } from '#/schemas/values/icd-codes-schema';
|
|
11
|
+
|
|
12
|
+
export class PeppolPartyName extends opaque<PeppolPartyName>()(
|
|
13
|
+
Schema.Struct({
|
|
14
|
+
/**
|
|
15
|
+
* @description A name by which the Buyer/Seller is known, other than Buyer/Seller name (also known as Business name).
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* `Trading Name`;
|
|
19
|
+
*
|
|
20
|
+
* @summary Buyer/Seller trading name
|
|
21
|
+
*/
|
|
22
|
+
name: Schema.String,
|
|
23
|
+
})
|
|
24
|
+
) {}
|
|
25
|
+
|
|
26
|
+
export class PeppolPartyIdentification extends opaque<PeppolPartyIdentification>()(
|
|
27
|
+
Schema.Struct({
|
|
28
|
+
/**
|
|
29
|
+
* @description An identifier of the Buyer/seller.
|
|
30
|
+
*
|
|
31
|
+
* @summary Buyer/seller identifier
|
|
32
|
+
*
|
|
33
|
+
* @name `cbc:ID`
|
|
34
|
+
*/
|
|
35
|
+
id: PeppolIdentifier.pipe(
|
|
36
|
+
Schema.fieldsAssign({
|
|
37
|
+
/**
|
|
38
|
+
* @description Identifies the Seller/buyer's electronic address to which the application level response to the invoice may be delivered.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* 7300010000001;
|
|
42
|
+
*
|
|
43
|
+
* @summary Seller/Buyer electronic address
|
|
44
|
+
*
|
|
45
|
+
* @name `#text`
|
|
46
|
+
*/
|
|
47
|
+
id: Schema.String,
|
|
48
|
+
/**
|
|
49
|
+
* @description The identification scheme identifier of the Seller/Buyer electronic address.
|
|
50
|
+
*
|
|
51
|
+
* @summary Seller/Buyer electronic address identification scheme identifier
|
|
52
|
+
*
|
|
53
|
+
* @name `@schemeID`
|
|
54
|
+
*/
|
|
55
|
+
schemeId: Schema.optional(icdCodesSchema),
|
|
56
|
+
})
|
|
57
|
+
),
|
|
58
|
+
})
|
|
59
|
+
) {}
|
|
60
|
+
|
|
61
|
+
export class PeppolPartyEndpointId extends opaque<PeppolPartyEndpointId>()(
|
|
62
|
+
PeppolIdentifier.pipe(
|
|
63
|
+
Schema.fieldsAssign({
|
|
64
|
+
/**
|
|
65
|
+
* @description Identifies the Seller/buyer's electronic address to which the application level response to the invoice may be delivered.
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* 7300010000001;
|
|
69
|
+
*
|
|
70
|
+
* @summary Seller/Buyer electronic address
|
|
71
|
+
*
|
|
72
|
+
* @name `#text`
|
|
73
|
+
*/
|
|
74
|
+
id: Schema.String,
|
|
75
|
+
/**
|
|
76
|
+
* @description The identification scheme identifier of the Seller/Buyer electronic address.
|
|
77
|
+
*
|
|
78
|
+
* @summary Seller/Buyer electronic address identification scheme identifier
|
|
79
|
+
*
|
|
80
|
+
* @name `@schemeID`
|
|
81
|
+
*/
|
|
82
|
+
schemeId: electronicCodesSchema,
|
|
83
|
+
})
|
|
84
|
+
)
|
|
85
|
+
) {}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* @summary Party common substructure
|
|
89
|
+
*
|
|
90
|
+
* @name cac:Party
|
|
91
|
+
*/
|
|
92
|
+
export class PeppolPartySchema extends opaque<PeppolPartySchema>()(
|
|
93
|
+
Schema.Struct({
|
|
94
|
+
/**
|
|
95
|
+
* @description Identifies the Seller/buyer's electronic address to which the application level response to the invoice may be delivered.
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* 7300010000001;
|
|
99
|
+
*
|
|
100
|
+
* @summary Seller/Buyer electronic address
|
|
101
|
+
*
|
|
102
|
+
* @name `cbc:EndpointID`
|
|
103
|
+
*/
|
|
104
|
+
endpointId: PeppolPartyEndpointId,
|
|
105
|
+
/**
|
|
106
|
+
* @example
|
|
107
|
+
* 5060012349998;
|
|
108
|
+
*
|
|
109
|
+
* @summary PARTY IDENTIFICATION
|
|
110
|
+
*
|
|
111
|
+
* @name `cac:PartyIdentification`
|
|
112
|
+
*/
|
|
113
|
+
partyIdentification: Schema.optional(PeppolPartyIdentification),
|
|
114
|
+
/**
|
|
115
|
+
* @example
|
|
116
|
+
* Seller Business Name AS
|
|
117
|
+
*
|
|
118
|
+
* @summary PARTY NAME
|
|
119
|
+
*
|
|
120
|
+
* @name cac:PartyName
|
|
121
|
+
*/
|
|
122
|
+
partyName: Schema.optional(PeppolPartyName),
|
|
123
|
+
/**
|
|
124
|
+
* @name cac:PostalAddress
|
|
125
|
+
*/
|
|
126
|
+
postalAddress: PeppolAddress,
|
|
127
|
+
/**
|
|
128
|
+
* @remarks
|
|
129
|
+
* Max 1 for a buyer, max 2 for a seller.
|
|
130
|
+
*
|
|
131
|
+
* @name cac:PartyTaxScheme
|
|
132
|
+
*
|
|
133
|
+
* @cardinality (0..2)
|
|
134
|
+
*/
|
|
135
|
+
partyTaxSchemes: Schema.optional(Schema.Array(PeppolPartyTaxScheme).check(Schema.isMaxLength(2))),
|
|
136
|
+
/**
|
|
137
|
+
* @name cac:PartyLegalEntity
|
|
138
|
+
*/
|
|
139
|
+
partyLegalEntity: PeppolPartyLegalEntity,
|
|
140
|
+
/**
|
|
141
|
+
* @name cac:Contact
|
|
142
|
+
*/
|
|
143
|
+
contact: Schema.optional(PeppolContact),
|
|
144
|
+
})
|
|
145
|
+
) {}
|