@endevops/peppol-schema 0.1.0-beta.4 → 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.
Files changed (751) hide show
  1. package/README.md +9 -6
  2. package/dist/constants.d.ts +51 -0
  3. package/dist/constants.d.ts.map +1 -0
  4. package/dist/constants.js +48 -0
  5. package/dist/constants.js.map +1 -0
  6. package/dist/eas-codes.generated-D8jjHFij.js.map +1 -1
  7. package/dist/index-CfjMSrpQ.d.ts +3508 -0
  8. package/dist/index-CfjMSrpQ.d.ts.map +1 -0
  9. package/dist/index.d.ts +2 -2613
  10. package/dist/index.js +3121 -1563
  11. package/dist/index.js.map +1 -1
  12. package/dist/invoice-response-code-not-needs-schema-p_RKKNLc.js +18 -0
  13. package/dist/invoice-response-code-not-needs-schema-p_RKKNLc.js.map +1 -0
  14. package/dist/invoice-response-codes.d.ts +11 -0
  15. package/dist/invoice-response-codes.d.ts.map +1 -0
  16. package/dist/invoice-response-codes.js +32 -0
  17. package/dist/invoice-response-codes.js.map +1 -0
  18. package/dist/invoice-status-codes.generated-DL-agLdx.d.ts +24 -0
  19. package/dist/invoice-status-codes.generated-DL-agLdx.d.ts.map +1 -0
  20. package/dist/message-level-response-profile-id-DBpOW91B.js +9 -0
  21. package/dist/message-level-response-profile-id-DBpOW91B.js.map +1 -0
  22. package/dist/peppol-iso-date-string-BXLxzxdz.js +30 -0
  23. package/dist/peppol-iso-date-string-BXLxzxdz.js.map +1 -0
  24. package/dist/schematron.d.ts +408 -365
  25. package/dist/schematron.d.ts.map +1 -1
  26. package/dist/schematron.js +1975 -1501
  27. package/dist/schematron.js.map +1 -1
  28. package/dist/values.d.ts +95 -13218
  29. package/dist/values.d.ts.map +1 -1
  30. package/dist/values.js +1 -1
  31. package/dist/vat-dates.generated-CxFvt7m3.d.ts +68 -0
  32. package/dist/vat-dates.generated-CxFvt7m3.d.ts.map +1 -0
  33. package/dist/{vatex-codes.generated-BSgP3n5t.js → vatex-codes.generated-N7wsUrLh.js} +8 -9
  34. package/dist/vatex-codes.generated-N7wsUrLh.js.map +1 -0
  35. package/package.json +16 -18
  36. package/src/constants/transport-profile.ts +5 -1
  37. package/src/decoders/decode-billing.ts +1 -1
  38. package/src/decoders/decode-credit-note.ts +2 -4
  39. package/src/decoders/decode-invoice-response.ts +15 -37
  40. package/src/decoders/decode-invoice.ts +2 -4
  41. package/src/decoders/decode-message-level-response.ts +21 -48
  42. package/src/decoders/encode-credit-note.ts +1 -1
  43. package/src/decoders/encode-invoice-response.ts +7 -4
  44. package/src/decoders/encode-invoice.ts +1 -1
  45. package/src/decoders/encode-message-level-response.ts +4 -10
  46. package/src/decoders/fields/decode-additional-document-references.ts +1 -1
  47. package/src/decoders/fields/decode-address.ts +1 -1
  48. package/src/decoders/fields/decode-allowance-charges.ts +7 -15
  49. package/src/decoders/fields/decode-amount.ts +2 -2
  50. package/src/decoders/fields/decode-application-response.ts +21 -0
  51. package/src/decoders/fields/decode-billing-references.ts +1 -1
  52. package/src/decoders/fields/decode-contact.ts +1 -1
  53. package/src/decoders/fields/decode-credit-note-lines.ts +7 -15
  54. package/src/decoders/fields/decode-delivery.ts +1 -1
  55. package/src/decoders/fields/decode-electronic-address.ts +1 -1
  56. package/src/decoders/fields/decode-identifier.ts +1 -1
  57. package/src/decoders/fields/decode-invoice-line-period.ts +1 -1
  58. package/src/decoders/fields/decode-invoice-lines.ts +6 -14
  59. package/src/decoders/fields/decode-invoice-message-document-party.ts +2 -2
  60. package/src/decoders/fields/decode-invoice-message-party.ts +1 -6
  61. package/src/decoders/fields/decode-invoice-period.ts +7 -13
  62. package/src/decoders/fields/decode-legal-monetary-total.ts +1 -1
  63. package/src/decoders/fields/decode-line-allowance-charges.ts +7 -14
  64. package/src/decoders/fields/decode-line-price.ts +1 -7
  65. package/src/decoders/fields/decode-line-shared.ts +2 -4
  66. package/src/decoders/fields/decode-message-level-party.ts +1 -1
  67. package/src/decoders/fields/decode-node-list.ts +15 -0
  68. package/src/decoders/fields/decode-order-reference.ts +1 -1
  69. package/src/decoders/fields/decode-parties-tax-scheme.ts +1 -1
  70. package/src/decoders/fields/decode-party-legal-entity.ts +1 -1
  71. package/src/decoders/fields/decode-party-tax-scheme.ts +1 -1
  72. package/src/decoders/fields/decode-party.ts +3 -14
  73. package/src/decoders/fields/decode-payee-party.ts +1 -1
  74. package/src/decoders/fields/decode-payment-means.ts +2 -2
  75. package/src/decoders/fields/decode-payment-terms.ts +1 -1
  76. package/src/decoders/fields/decode-price-allowance-charge.ts +1 -7
  77. package/src/decoders/fields/decode-quantity.ts +1 -6
  78. package/src/decoders/fields/decode-simple-identifier.ts +1 -1
  79. package/src/decoders/fields/decode-tax-category.ts +1 -1
  80. package/src/decoders/fields/decode-tax-representative-party.ts +1 -1
  81. package/src/decoders/fields/decode-tax-totals.ts +2 -2
  82. package/src/decoders/fields/encode-additional-document-references.ts +3 -2
  83. package/src/decoders/fields/encode-address.ts +1 -1
  84. package/src/decoders/fields/encode-allowance-charges.ts +3 -2
  85. package/src/decoders/fields/encode-amount.ts +1 -1
  86. package/src/decoders/fields/encode-billing-references.ts +2 -2
  87. package/src/decoders/fields/encode-contact.ts +1 -1
  88. package/src/decoders/fields/encode-credit-note-lines.ts +2 -2
  89. package/src/decoders/fields/encode-delivery.ts +1 -1
  90. package/src/decoders/fields/encode-identifier.ts +1 -1
  91. package/src/decoders/fields/encode-invoice-line-period.ts +1 -1
  92. package/src/decoders/fields/encode-invoice-lines.ts +2 -2
  93. package/src/decoders/fields/encode-invoice-period.ts +1 -1
  94. package/src/decoders/fields/encode-legal-monetary-total.ts +1 -1
  95. package/src/decoders/fields/encode-line-allowance-charges.ts +2 -2
  96. package/src/decoders/fields/encode-line-price.ts +1 -1
  97. package/src/decoders/fields/encode-line-shared.ts +1 -1
  98. package/src/decoders/fields/encode-message-party.ts +3 -3
  99. package/src/decoders/fields/encode-order-reference.ts +1 -1
  100. package/src/decoders/fields/encode-parties-tax-scheme.ts +1 -1
  101. package/src/decoders/fields/encode-party-tax-scheme.ts +1 -1
  102. package/src/decoders/fields/encode-party.ts +1 -1
  103. package/src/decoders/fields/encode-payee-party.ts +1 -1
  104. package/src/decoders/fields/encode-payment-means.ts +2 -2
  105. package/src/decoders/fields/encode-payment-terms.ts +1 -1
  106. package/src/decoders/fields/encode-price-allowance-charges.ts +1 -1
  107. package/src/decoders/fields/encode-quantity.ts +1 -1
  108. package/src/decoders/fields/encode-tax-category.ts +1 -1
  109. package/src/decoders/fields/encode-tax-representative-party.ts +1 -1
  110. package/src/decoders/fields/encode-tax-totals.ts +4 -4
  111. package/src/helpers/bool.ts +9 -12
  112. package/src/helpers/get-prop.ts +2 -4
  113. package/src/helpers/str-or-und.ts +3 -4
  114. package/src/helpers/str.ts +12 -8
  115. package/src/index.ts +56 -6
  116. package/src/schemas/fields/peppol-additional-document-reference-schema.ts +123 -0
  117. package/src/schemas/fields/peppol-address-schema.ts +112 -0
  118. package/src/schemas/fields/peppol-allowance-charge-schema.ts +104 -0
  119. package/src/schemas/fields/peppol-amount-schema.ts +23 -0
  120. package/src/schemas/fields/peppol-base-line-schema.ts +141 -0
  121. package/src/{effect → schemas}/fields/peppol-billing-reference-schema.ts +25 -20
  122. package/src/schemas/fields/peppol-binary-object-schema.ts +52 -0
  123. package/src/schemas/fields/peppol-contact-schema.ts +20 -0
  124. package/src/schemas/fields/peppol-credit-note-line-schema.ts +44 -0
  125. package/src/schemas/fields/peppol-delivery-schema.ts +109 -0
  126. package/src/schemas/fields/peppol-identifier-schema.ts +21 -0
  127. package/src/schemas/fields/peppol-invoice-line-period-schema.ts +35 -0
  128. package/src/{effect → schemas}/fields/peppol-invoice-line-schema.ts +10 -10
  129. package/src/schemas/fields/peppol-invoice-period-schema.ts +31 -0
  130. package/src/schemas/fields/peppol-item-classification-schema.ts +46 -0
  131. package/src/schemas/fields/peppol-legal-monetary-total-schema.ts +127 -0
  132. package/src/schemas/fields/peppol-line-allowance-charge-schema.ts +68 -0
  133. package/src/schemas/fields/peppol-line-item-schema.ts +196 -0
  134. package/src/schemas/fields/peppol-line-price-allowance-charge-schema.ts +41 -0
  135. package/src/schemas/fields/peppol-line-price-schema.ts +32 -0
  136. package/src/schemas/fields/peppol-order-reference-schema.ts +38 -0
  137. package/src/schemas/fields/peppol-party-base-schema.ts +145 -0
  138. package/src/schemas/fields/peppol-party-legal-entity-schema.ts +32 -0
  139. package/src/schemas/fields/peppol-party-tax-scheme-schema.ts +41 -0
  140. package/src/schemas/fields/peppol-payee-party-schema.ts +119 -0
  141. package/src/schemas/fields/peppol-payment-means-schema.ts +224 -0
  142. package/src/schemas/fields/peppol-payment-terms-schema.ts +25 -0
  143. package/src/schemas/fields/peppol-quantity-schema.ts +22 -0
  144. package/src/schemas/fields/peppol-reference-schema.ts +9 -0
  145. package/src/schemas/fields/peppol-tax-category-schema.ts +47 -0
  146. package/src/schemas/fields/peppol-tax-representative-schema.ts +26 -0
  147. package/src/{effect → schemas}/fields/peppol-tax-subtotal-category-schema.ts +7 -6
  148. package/src/schemas/fields/peppol-tax-subtotal-schema.ts +33 -0
  149. package/src/schemas/fields/peppol-tax-totals-base-schema.ts +28 -0
  150. package/src/schemas/peppol-billing-base-schema.ts +366 -0
  151. package/src/schemas/peppol-credit-note-schema.ts +31 -0
  152. package/src/schemas/peppol-document-response-document-reference-schema.ts +41 -0
  153. package/src/schemas/peppol-document-response-document-schema.ts +38 -0
  154. package/src/schemas/peppol-document-response-line-response-content-schema.ts +49 -0
  155. package/src/schemas/peppol-document-response-line-response-schema.ts +40 -0
  156. package/src/schemas/peppol-document-schema.ts +120 -0
  157. package/src/{effect → schemas}/peppol-invoice-response-document-actual-response-schema.ts +25 -16
  158. package/src/schemas/peppol-invoice-response-document-actual-response-status-schema.ts +63 -0
  159. package/src/schemas/peppol-invoice-response-schema.ts +176 -0
  160. package/src/schemas/peppol-invoice-response-status-reason-code-schema.ts +40 -0
  161. package/src/schemas/peppol-invoice-schema.ts +45 -0
  162. package/src/schemas/peppol-iso-date-string.ts +20 -0
  163. package/src/schemas/peppol-message-level-response-document-response-schema.ts +35 -0
  164. package/src/schemas/peppol-message-level-response-party-schema.ts +20 -0
  165. package/src/schemas/peppol-message-level-response-schema.ts +98 -0
  166. package/src/schemas/utils/format-xsd-time.ts +80 -0
  167. package/src/{effect → schemas}/utils/index.ts +1 -1
  168. package/src/schemas/utils/is-valid-process.ts +1 -1
  169. package/src/schemas/utils/opaque.ts +19 -0
  170. package/src/schemas/utils/peppol-xsd-time-schema.ts +79 -0
  171. package/src/schemas/utils/quantity-unit-code-to-intl-unit.ts +2 -2
  172. package/src/schemas/values/credit-note-type-code-schema.ts +3 -5
  173. package/src/schemas/values/document-type-schemes-schema.ts +3 -5
  174. package/src/schemas/values/document-type-values-schema.ts +4 -7
  175. package/src/{effect → schemas}/values/duty-tax-fee-category-schema.ts +3 -3
  176. package/src/schemas/values/invoice-type-code-schema.ts +4 -8
  177. package/src/schemas/values/process-from-document-type-schema.ts +10 -12
  178. package/src/schemas/values/quantity-unit-codes-schema.ts +4 -8
  179. package/src/schematron/cen/ae/cen-en16931-br-ae-01.ts +6 -5
  180. package/src/schematron/cen/ae/cen-en16931-br-ae-02.ts +6 -5
  181. package/src/schematron/cen/ae/cen-en16931-br-ae-03.ts +6 -5
  182. package/src/schematron/cen/ae/cen-en16931-br-ae-04.ts +6 -5
  183. package/src/schematron/cen/ae/cen-en16931-br-ae-05.ts +6 -5
  184. package/src/schematron/cen/ae/cen-en16931-br-ae-06.ts +6 -5
  185. package/src/schematron/cen/ae/cen-en16931-br-ae-07.ts +6 -5
  186. package/src/schematron/cen/ae/cen-en16931-br-ae-08.ts +6 -5
  187. package/src/schematron/cen/ae/cen-en16931-br-ae-09.ts +6 -5
  188. package/src/schematron/cen/ae/cen-en16931-br-ae-10.ts +6 -5
  189. package/src/schematron/cen/af/cen-en16931-br-af-01.ts +6 -5
  190. package/src/schematron/cen/af/cen-en16931-br-af-02.ts +6 -5
  191. package/src/schematron/cen/af/cen-en16931-br-af-03.ts +6 -10
  192. package/src/schematron/cen/af/cen-en16931-br-af-04.ts +6 -5
  193. package/src/schematron/cen/af/cen-en16931-br-af-05.ts +6 -5
  194. package/src/schematron/cen/af/cen-en16931-br-af-06.ts +6 -5
  195. package/src/schematron/cen/af/cen-en16931-br-af-07.ts +6 -5
  196. package/src/schematron/cen/af/cen-en16931-br-af-08.ts +6 -5
  197. package/src/schematron/cen/af/cen-en16931-br-af-09.ts +6 -5
  198. package/src/schematron/cen/af/cen-en16931-br-af-10.ts +6 -5
  199. package/src/schematron/cen/ag/cen-en16931-br-ag-01.ts +6 -5
  200. package/src/schematron/cen/ag/cen-en16931-br-ag-02.ts +6 -5
  201. package/src/schematron/cen/ag/cen-en16931-br-ag-03.ts +6 -10
  202. package/src/schematron/cen/ag/cen-en16931-br-ag-04.ts +6 -5
  203. package/src/schematron/cen/ag/cen-en16931-br-ag-05.ts +6 -5
  204. package/src/schematron/cen/ag/cen-en16931-br-ag-06.ts +6 -5
  205. package/src/schematron/cen/ag/cen-en16931-br-ag-07.ts +6 -5
  206. package/src/schematron/cen/ag/cen-en16931-br-ag-08.ts +6 -5
  207. package/src/schematron/cen/ag/cen-en16931-br-ag-09.ts +6 -5
  208. package/src/schematron/cen/ag/cen-en16931-br-ag-10.ts +6 -5
  209. package/src/schematron/cen/b/cen-en16931-br-b-01.ts +6 -5
  210. package/src/schematron/cen/b/cen-en16931-br-b-02.ts +6 -5
  211. package/src/schematron/cen/cen-en16931-br-01.ts +6 -5
  212. package/src/schematron/cen/cen-en16931-br-02.ts +6 -5
  213. package/src/schematron/cen/cen-en16931-br-03.ts +9 -6
  214. package/src/schematron/cen/cen-en16931-br-04.ts +6 -5
  215. package/src/schematron/cen/cen-en16931-br-05.ts +6 -5
  216. package/src/schematron/cen/cen-en16931-br-06.ts +6 -5
  217. package/src/schematron/cen/cen-en16931-br-07.ts +6 -5
  218. package/src/schematron/cen/cen-en16931-br-08.ts +6 -5
  219. package/src/schematron/cen/cen-en16931-br-09.ts +6 -5
  220. package/src/schematron/cen/cen-en16931-br-10.ts +6 -5
  221. package/src/schematron/cen/cen-en16931-br-11.ts +6 -5
  222. package/src/schematron/cen/cen-en16931-br-12.ts +6 -5
  223. package/src/schematron/cen/cen-en16931-br-13.ts +6 -5
  224. package/src/schematron/cen/cen-en16931-br-14.ts +6 -5
  225. package/src/schematron/cen/cen-en16931-br-15.ts +6 -5
  226. package/src/schematron/cen/cen-en16931-br-16.ts +6 -5
  227. package/src/schematron/cen/cen-en16931-br-17.ts +6 -5
  228. package/src/schematron/cen/cen-en16931-br-18.ts +6 -5
  229. package/src/schematron/cen/cen-en16931-br-19.ts +6 -5
  230. package/src/schematron/cen/cen-en16931-br-20.ts +6 -5
  231. package/src/schematron/cen/cen-en16931-br-21.ts +6 -5
  232. package/src/schematron/cen/cen-en16931-br-22.ts +6 -5
  233. package/src/schematron/cen/cen-en16931-br-23.ts +6 -5
  234. package/src/schematron/cen/cen-en16931-br-24.ts +6 -5
  235. package/src/schematron/cen/cen-en16931-br-25.ts +6 -5
  236. package/src/schematron/cen/cen-en16931-br-26.ts +6 -5
  237. package/src/schematron/cen/cen-en16931-br-27.ts +6 -5
  238. package/src/schematron/cen/cen-en16931-br-28.ts +6 -5
  239. package/src/schematron/cen/cen-en16931-br-29.ts +6 -5
  240. package/src/schematron/cen/cen-en16931-br-30.ts +6 -5
  241. package/src/schematron/cen/cen-en16931-br-31.ts +6 -5
  242. package/src/schematron/cen/cen-en16931-br-32.ts +6 -5
  243. package/src/schematron/cen/cen-en16931-br-33.ts +6 -5
  244. package/src/schematron/cen/cen-en16931-br-36.ts +6 -5
  245. package/src/schematron/cen/cen-en16931-br-37.ts +6 -5
  246. package/src/schematron/cen/cen-en16931-br-38.ts +6 -5
  247. package/src/schematron/cen/cen-en16931-br-41.ts +6 -5
  248. package/src/schematron/cen/cen-en16931-br-42.ts +6 -5
  249. package/src/schematron/cen/cen-en16931-br-43.ts +6 -5
  250. package/src/schematron/cen/cen-en16931-br-44.ts +6 -5
  251. package/src/schematron/cen/cen-en16931-br-45.ts +6 -5
  252. package/src/schematron/cen/cen-en16931-br-46.ts +6 -5
  253. package/src/schematron/cen/cen-en16931-br-47.ts +6 -5
  254. package/src/schematron/cen/cen-en16931-br-48.ts +6 -5
  255. package/src/schematron/cen/cen-en16931-br-49.ts +6 -5
  256. package/src/schematron/cen/cen-en16931-br-50.ts +6 -5
  257. package/src/schematron/cen/cen-en16931-br-51.ts +6 -5
  258. package/src/schematron/cen/cen-en16931-br-52.ts +6 -5
  259. package/src/schematron/cen/cen-en16931-br-53.ts +6 -5
  260. package/src/schematron/cen/cen-en16931-br-54.ts +6 -5
  261. package/src/schematron/cen/cen-en16931-br-55.ts +6 -5
  262. package/src/schematron/cen/cen-en16931-br-56.ts +6 -5
  263. package/src/schematron/cen/cen-en16931-br-57.ts +6 -5
  264. package/src/schematron/cen/cen-en16931-br-61.ts +6 -5
  265. package/src/schematron/cen/cen-en16931-br-62.ts +6 -5
  266. package/src/schematron/cen/cen-en16931-br-63.ts +6 -5
  267. package/src/schematron/cen/cen-en16931-br-64.ts +6 -5
  268. package/src/schematron/cen/cen-en16931-br-65.ts +6 -5
  269. package/src/schematron/cen/cl/cen-en16931-br-cl-08.ts +6 -5
  270. package/src/schematron/cen/co/cen-en16931-br-co-03.ts +6 -5
  271. package/src/schematron/cen/co/cen-en16931-br-co-04.ts +6 -5
  272. package/src/schematron/cen/co/cen-en16931-br-co-05.ts +6 -5
  273. package/src/schematron/cen/co/cen-en16931-br-co-06.ts +6 -5
  274. package/src/schematron/cen/co/cen-en16931-br-co-07.ts +6 -5
  275. package/src/schematron/cen/co/cen-en16931-br-co-08.ts +6 -5
  276. package/src/schematron/cen/co/cen-en16931-br-co-09.ts +6 -5
  277. package/src/schematron/cen/co/cen-en16931-br-co-10.ts +6 -5
  278. package/src/schematron/cen/co/cen-en16931-br-co-11.ts +6 -5
  279. package/src/schematron/cen/co/cen-en16931-br-co-12.ts +6 -5
  280. package/src/schematron/cen/co/cen-en16931-br-co-13.ts +6 -5
  281. package/src/schematron/cen/co/cen-en16931-br-co-14.ts +6 -5
  282. package/src/schematron/cen/co/cen-en16931-br-co-15.ts +6 -5
  283. package/src/schematron/cen/co/cen-en16931-br-co-16.ts +6 -5
  284. package/src/schematron/cen/co/cen-en16931-br-co-17.ts +6 -5
  285. package/src/schematron/cen/co/cen-en16931-br-co-18.ts +6 -5
  286. package/src/schematron/cen/co/cen-en16931-br-co-19.ts +6 -5
  287. package/src/schematron/cen/co/cen-en16931-br-co-20.ts +6 -5
  288. package/src/schematron/cen/co/cen-en16931-br-co-21.ts +6 -5
  289. package/src/schematron/cen/co/cen-en16931-br-co-22.ts +6 -5
  290. package/src/schematron/cen/co/cen-en16931-br-co-23.ts +6 -5
  291. package/src/schematron/cen/co/cen-en16931-br-co-24.ts +6 -5
  292. package/src/schematron/cen/co/cen-en16931-br-co-25.ts +6 -5
  293. package/src/schematron/cen/co/cen-en16931-br-co-26.ts +6 -5
  294. package/src/schematron/cen/dec/cen-en16931-br-dec-01.ts +6 -5
  295. package/src/schematron/cen/dec/cen-en16931-br-dec-02.ts +6 -5
  296. package/src/schematron/cen/dec/cen-en16931-br-dec-05.ts +6 -5
  297. package/src/schematron/cen/dec/cen-en16931-br-dec-06.ts +6 -5
  298. package/src/schematron/cen/dec/cen-en16931-br-dec-09.ts +6 -5
  299. package/src/schematron/cen/dec/cen-en16931-br-dec-10.ts +6 -5
  300. package/src/schematron/cen/dec/cen-en16931-br-dec-11.ts +6 -5
  301. package/src/schematron/cen/dec/cen-en16931-br-dec-12.ts +6 -5
  302. package/src/schematron/cen/dec/cen-en16931-br-dec-13.ts +6 -5
  303. package/src/schematron/cen/dec/cen-en16931-br-dec-14.ts +6 -5
  304. package/src/schematron/cen/dec/cen-en16931-br-dec-15.ts +6 -5
  305. package/src/schematron/cen/dec/cen-en16931-br-dec-16.ts +6 -5
  306. package/src/schematron/cen/dec/cen-en16931-br-dec-17.ts +6 -5
  307. package/src/schematron/cen/dec/cen-en16931-br-dec-18.ts +6 -5
  308. package/src/schematron/cen/dec/cen-en16931-br-dec-19.ts +6 -5
  309. package/src/schematron/cen/dec/cen-en16931-br-dec-20.ts +6 -5
  310. package/src/schematron/cen/dec/cen-en16931-br-dec-23.ts +6 -5
  311. package/src/schematron/cen/dec/cen-en16931-br-dec-24.ts +6 -5
  312. package/src/schematron/cen/dec/cen-en16931-br-dec-25.ts +6 -5
  313. package/src/schematron/cen/dec/cen-en16931-br-dec-27.ts +6 -5
  314. package/src/schematron/cen/dec/cen-en16931-br-dec-28.ts +6 -5
  315. package/src/schematron/cen/e/cen-en16931-br-e-01.ts +6 -5
  316. package/src/schematron/cen/e/cen-en16931-br-e-02.ts +6 -5
  317. package/src/schematron/cen/e/cen-en16931-br-e-03.ts +6 -10
  318. package/src/schematron/cen/e/cen-en16931-br-e-04.ts +6 -5
  319. package/src/schematron/cen/e/cen-en16931-br-e-05.ts +6 -5
  320. package/src/schematron/cen/e/cen-en16931-br-e-06.ts +6 -5
  321. package/src/schematron/cen/e/cen-en16931-br-e-07.ts +6 -5
  322. package/src/schematron/cen/e/cen-en16931-br-e-08.ts +6 -5
  323. package/src/schematron/cen/e/cen-en16931-br-e-09.ts +6 -5
  324. package/src/schematron/cen/e/cen-en16931-br-e-10.ts +6 -5
  325. package/src/schematron/cen/g/cen-en16931-br-g-01.ts +6 -5
  326. package/src/schematron/cen/g/cen-en16931-br-g-02.ts +6 -5
  327. package/src/schematron/cen/g/cen-en16931-br-g-03.ts +6 -5
  328. package/src/schematron/cen/g/cen-en16931-br-g-04.ts +6 -5
  329. package/src/schematron/cen/g/cen-en16931-br-g-05.ts +6 -5
  330. package/src/schematron/cen/g/cen-en16931-br-g-06.ts +6 -5
  331. package/src/schematron/cen/g/cen-en16931-br-g-07.ts +6 -5
  332. package/src/schematron/cen/g/cen-en16931-br-g-08.ts +6 -5
  333. package/src/schematron/cen/g/cen-en16931-br-g-09.ts +6 -5
  334. package/src/schematron/cen/g/cen-en16931-br-g-10.ts +6 -5
  335. package/src/schematron/cen/ic/cen-en16931-br-ic-01.ts +6 -5
  336. package/src/schematron/cen/ic/cen-en16931-br-ic-02.ts +6 -5
  337. package/src/schematron/cen/ic/cen-en16931-br-ic-03.ts +6 -5
  338. package/src/schematron/cen/ic/cen-en16931-br-ic-04.ts +6 -5
  339. package/src/schematron/cen/ic/cen-en16931-br-ic-05.ts +6 -5
  340. package/src/schematron/cen/ic/cen-en16931-br-ic-06.ts +6 -5
  341. package/src/schematron/cen/ic/cen-en16931-br-ic-07.ts +6 -5
  342. package/src/schematron/cen/ic/cen-en16931-br-ic-08.ts +6 -5
  343. package/src/schematron/cen/ic/cen-en16931-br-ic-09.ts +6 -5
  344. package/src/schematron/cen/ic/cen-en16931-br-ic-10.ts +6 -5
  345. package/src/schematron/cen/ic/cen-en16931-br-ic-11.ts +6 -5
  346. package/src/schematron/cen/ic/cen-en16931-br-ic-12.ts +6 -5
  347. package/src/schematron/cen/o/cen-en16931-br-o-01.ts +6 -5
  348. package/src/schematron/cen/o/cen-en16931-br-o-02.ts +6 -5
  349. package/src/schematron/cen/o/cen-en16931-br-o-03.ts +6 -5
  350. package/src/schematron/cen/o/cen-en16931-br-o-04.ts +6 -5
  351. package/src/schematron/cen/o/cen-en16931-br-o-05.ts +6 -5
  352. package/src/schematron/cen/o/cen-en16931-br-o-06.ts +6 -5
  353. package/src/schematron/cen/o/cen-en16931-br-o-07.ts +6 -5
  354. package/src/schematron/cen/o/cen-en16931-br-o-08.ts +6 -5
  355. package/src/schematron/cen/o/cen-en16931-br-o-09.ts +6 -5
  356. package/src/schematron/cen/o/cen-en16931-br-o-10.ts +6 -5
  357. package/src/schematron/cen/o/cen-en16931-br-o-11.ts +6 -5
  358. package/src/schematron/cen/o/cen-en16931-br-o-12.ts +6 -5
  359. package/src/schematron/cen/o/cen-en16931-br-o-13.ts +6 -5
  360. package/src/schematron/cen/o/cen-en16931-br-o-14.ts +6 -5
  361. package/src/schematron/cen/s/cen-en16931-br-s-01.ts +6 -5
  362. package/src/schematron/cen/s/cen-en16931-br-s-02.ts +6 -5
  363. package/src/schematron/cen/s/cen-en16931-br-s-03.ts +6 -10
  364. package/src/schematron/cen/s/cen-en16931-br-s-04.ts +6 -5
  365. package/src/schematron/cen/s/cen-en16931-br-s-05.ts +6 -5
  366. package/src/schematron/cen/s/cen-en16931-br-s-06.ts +6 -5
  367. package/src/schematron/cen/s/cen-en16931-br-s-07.ts +6 -5
  368. package/src/schematron/cen/s/cen-en16931-br-s-08.ts +6 -5
  369. package/src/schematron/cen/s/cen-en16931-br-s-09.ts +6 -5
  370. package/src/schematron/cen/s/cen-en16931-br-s-10.ts +6 -5
  371. package/src/schematron/cen/z/cen-en16931-br-z-01.ts +6 -5
  372. package/src/schematron/cen/z/cen-en16931-br-z-02.ts +6 -5
  373. package/src/schematron/cen/z/cen-en16931-br-z-03.ts +6 -10
  374. package/src/schematron/cen/z/cen-en16931-br-z-04.ts +6 -5
  375. package/src/schematron/cen/z/cen-en16931-br-z-05.ts +6 -5
  376. package/src/schematron/cen/z/cen-en16931-br-z-06.ts +6 -5
  377. package/src/schematron/cen/z/cen-en16931-br-z-07.ts +6 -5
  378. package/src/schematron/cen/z/cen-en16931-br-z-08.ts +6 -5
  379. package/src/schematron/cen/z/cen-en16931-br-z-09.ts +6 -5
  380. package/src/schematron/cen/z/cen-en16931-br-z-10.ts +6 -5
  381. package/src/schematron/de/de-r-001.ts +8 -7
  382. package/src/schematron/de/de-r-002.ts +8 -7
  383. package/src/schematron/de/de-r-003.ts +8 -7
  384. package/src/schematron/de/de-r-004.ts +8 -7
  385. package/src/schematron/de/de-r-005.ts +8 -7
  386. package/src/schematron/de/de-r-006.ts +8 -7
  387. package/src/schematron/de/de-r-007.ts +8 -7
  388. package/src/schematron/de/de-r-008.ts +8 -7
  389. package/src/schematron/de/de-r-009.ts +8 -7
  390. package/src/schematron/de/de-r-010.ts +9 -8
  391. package/src/schematron/de/de-r-011.ts +9 -8
  392. package/src/schematron/de/de-r-014.ts +8 -7
  393. package/src/schematron/de/de-r-015.ts +8 -7
  394. package/src/schematron/de/de-r-016.ts +9 -8
  395. package/src/schematron/de/de-r-017.ts +8 -7
  396. package/src/schematron/de/de-r-018.ts +10 -9
  397. package/src/schematron/de/de-r-019.ts +8 -7
  398. package/src/schematron/de/de-r-020.ts +8 -7
  399. package/src/schematron/de/de-r-022.ts +8 -7
  400. package/src/schematron/de/de-r-023-1.ts +8 -7
  401. package/src/schematron/de/de-r-023-2.ts +8 -7
  402. package/src/schematron/de/de-r-024-1.ts +8 -7
  403. package/src/schematron/de/de-r-024-2.ts +8 -7
  404. package/src/schematron/de/de-r-025-1.ts +8 -7
  405. package/src/schematron/de/de-r-025-2.ts +8 -7
  406. package/src/schematron/de/de-r-026.ts +9 -8
  407. package/src/schematron/de/de-r-027.ts +8 -7
  408. package/src/schematron/de/de-r-028.ts +8 -7
  409. package/src/schematron/de/de-r-030.ts +9 -8
  410. package/src/schematron/de/de-r-031.ts +8 -7
  411. package/src/schematron/dk/dk-r-002.ts +7 -6
  412. package/src/schematron/dk/dk-r-003.ts +8 -7
  413. package/src/schematron/dk/dk-r-004.ts +8 -7
  414. package/src/schematron/dk/dk-r-005.ts +8 -7
  415. package/src/schematron/dk/dk-r-006.ts +8 -7
  416. package/src/schematron/dk/dk-r-007.ts +8 -7
  417. package/src/schematron/dk/dk-r-008.ts +8 -7
  418. package/src/schematron/dk/dk-r-009.ts +8 -7
  419. package/src/schematron/dk/dk-r-010.ts +8 -7
  420. package/src/schematron/dk/dk-r-011.ts +8 -7
  421. package/src/schematron/dk/dk-r-013.ts +8 -7
  422. package/src/schematron/dk/dk-r-014.ts +7 -6
  423. package/src/schematron/dk/dk-r-016.ts +8 -7
  424. package/src/schematron/dk/dk-r-017.ts +8 -7
  425. package/src/schematron/errors.ts +17 -0
  426. package/src/schematron/gr/gr-r-001-1.ts +7 -6
  427. package/src/schematron/gr/gr-r-001-2.ts +8 -7
  428. package/src/schematron/gr/gr-r-001-3.ts +14 -9
  429. package/src/schematron/gr/gr-r-001-4.ts +8 -7
  430. package/src/schematron/gr/gr-r-001-5.ts +8 -7
  431. package/src/schematron/gr/gr-r-001-6.ts +7 -6
  432. package/src/schematron/gr/gr-r-001-7.ts +7 -6
  433. package/src/schematron/gr/gr-r-002.ts +7 -6
  434. package/src/schematron/gr/gr-r-003.ts +8 -7
  435. package/src/schematron/gr/gr-r-004-1.ts +7 -6
  436. package/src/schematron/gr/gr-r-004-2.ts +7 -6
  437. package/src/schematron/gr/gr-r-005.ts +7 -6
  438. package/src/schematron/gr/gr-r-006.ts +8 -7
  439. package/src/schematron/gr/gr-r-008-2.ts +7 -6
  440. package/src/schematron/gr/gr-r-008-3.ts +7 -6
  441. package/src/schematron/gr/gr-r-009.ts +7 -6
  442. package/src/schematron/gr/gr-r-010.ts +7 -6
  443. package/src/schematron/gr/gr-s-008-1.ts +7 -6
  444. package/src/schematron/gr/gr-s-011.ts +8 -7
  445. package/src/schematron/helpers.ts +36 -11
  446. package/src/schematron/index.ts +6 -1
  447. package/src/schematron/is/is-r-001.ts +7 -6
  448. package/src/schematron/is/is-r-002.ts +7 -6
  449. package/src/schematron/is/is-r-003.ts +7 -6
  450. package/src/schematron/is/is-r-004.ts +7 -6
  451. package/src/schematron/is/is-r-005.ts +7 -6
  452. package/src/schematron/is/is-r-006.ts +8 -7
  453. package/src/schematron/is/is-r-007.ts +8 -7
  454. package/src/schematron/is/is-r-008.ts +8 -7
  455. package/src/schematron/is/is-r-009.ts +8 -7
  456. package/src/schematron/is/is-r-010.ts +9 -8
  457. package/src/schematron/it/it-r-001.ts +7 -6
  458. package/src/schematron/it/it-r-002.ts +7 -6
  459. package/src/schematron/it/it-r-003.ts +7 -6
  460. package/src/schematron/it/it-r-004.ts +7 -6
  461. package/src/schematron/nl/nl-r-001.ts +7 -6
  462. package/src/schematron/nl/nl-r-002.ts +7 -6
  463. package/src/schematron/nl/nl-r-003.ts +8 -7
  464. package/src/schematron/nl/nl-r-004.ts +7 -6
  465. package/src/schematron/nl/nl-r-005.ts +8 -7
  466. package/src/schematron/nl/nl-r-006.ts +8 -7
  467. package/src/schematron/nl/nl-r-007.ts +8 -7
  468. package/src/schematron/nl/nl-r-008.ts +7 -6
  469. package/src/schematron/nl/nl-r-009.ts +8 -7
  470. package/src/schematron/no/no-r-001.ts +8 -7
  471. package/src/schematron/no/no-r-002.ts +7 -6
  472. package/src/schematron/peppol/cl/peppol-en16931-cl001.ts +6 -5
  473. package/src/schematron/peppol/cl/peppol-en16931-cl002.ts +6 -5
  474. package/src/schematron/peppol/cl/peppol-en16931-cl003.ts +6 -5
  475. package/src/schematron/peppol/cl/peppol-en16931-cl006.ts +7 -6
  476. package/src/schematron/peppol/cl/peppol-en16931-cl007.ts +6 -5
  477. package/src/schematron/peppol/cl/peppol-en16931-cl008.ts +6 -5
  478. package/src/schematron/peppol/common/peppol-common-r040.ts +6 -5
  479. package/src/schematron/peppol/common/peppol-common-r041.ts +6 -5
  480. package/src/schematron/peppol/common/peppol-common-r042.ts +6 -5
  481. package/src/schematron/peppol/common/peppol-common-r043.ts +6 -5
  482. package/src/schematron/peppol/common/peppol-common-r044.ts +6 -5
  483. package/src/schematron/peppol/common/peppol-common-r045.ts +6 -5
  484. package/src/schematron/peppol/common/peppol-common-r046.ts +6 -5
  485. package/src/schematron/peppol/common/peppol-common-r047.ts +6 -5
  486. package/src/schematron/peppol/common/peppol-common-r049.ts +6 -5
  487. package/src/schematron/peppol/common/peppol-common-r050.ts +6 -5
  488. package/src/schematron/peppol/common/peppol-common-r052.ts +6 -5
  489. package/src/schematron/peppol/common/peppol-common-r053.ts +6 -5
  490. package/src/schematron/peppol/f/peppol-en16931-f001.ts +20 -13
  491. package/src/schematron/peppol/p/peppol-en16931-p0100.ts +8 -7
  492. package/src/schematron/peppol/p/peppol-en16931-p0101.ts +8 -7
  493. package/src/schematron/peppol/p/peppol-en16931-p0104.ts +6 -5
  494. package/src/schematron/peppol/p/peppol-en16931-p0105.ts +6 -5
  495. package/src/schematron/peppol/p/peppol-en16931-p0106.ts +6 -5
  496. package/src/schematron/peppol/p/peppol-en16931-p0107.ts +6 -5
  497. package/src/schematron/peppol/p/peppol-en16931-p0108.ts +6 -5
  498. package/src/schematron/peppol/p/peppol-en16931-p0109.ts +6 -5
  499. package/src/schematron/peppol/p/peppol-en16931-p0110.ts +6 -5
  500. package/src/schematron/peppol/p/peppol-en16931-p0111.ts +6 -5
  501. package/src/schematron/peppol/p/peppol-en16931-p0112.ts +7 -6
  502. package/src/schematron/peppol/r/peppol-en16931-r001.ts +11 -13
  503. package/src/schematron/peppol/r/peppol-en16931-r002.ts +6 -5
  504. package/src/schematron/peppol/r/peppol-en16931-r003.ts +6 -5
  505. package/src/schematron/peppol/r/peppol-en16931-r004.ts +6 -5
  506. package/src/schematron/peppol/r/peppol-en16931-r005.ts +7 -6
  507. package/src/schematron/peppol/r/peppol-en16931-r007.ts +6 -5
  508. package/src/schematron/peppol/r/peppol-en16931-r008.ts +6 -5
  509. package/src/schematron/peppol/r/peppol-en16931-r010.ts +6 -5
  510. package/src/schematron/peppol/r/peppol-en16931-r020.ts +6 -5
  511. package/src/schematron/peppol/r/peppol-en16931-r040.ts +6 -5
  512. package/src/schematron/peppol/r/peppol-en16931-r041.ts +6 -5
  513. package/src/schematron/peppol/r/peppol-en16931-r042.ts +6 -5
  514. package/src/schematron/peppol/r/peppol-en16931-r043.ts +6 -5
  515. package/src/schematron/peppol/r/peppol-en16931-r044.ts +6 -5
  516. package/src/schematron/peppol/r/peppol-en16931-r046.ts +6 -5
  517. package/src/schematron/peppol/r/peppol-en16931-r051.ts +6 -5
  518. package/src/schematron/peppol/r/peppol-en16931-r053.ts +6 -5
  519. package/src/schematron/peppol/r/peppol-en16931-r054.ts +6 -5
  520. package/src/schematron/peppol/r/peppol-en16931-r055.ts +8 -7
  521. package/src/schematron/peppol/r/peppol-en16931-r061.ts +6 -5
  522. package/src/schematron/peppol/r/peppol-en16931-r100.ts +6 -5
  523. package/src/schematron/peppol/r/peppol-en16931-r101.ts +6 -5
  524. package/src/schematron/peppol/r/peppol-en16931-r110.ts +7 -6
  525. package/src/schematron/peppol/r/peppol-en16931-r111.ts +7 -6
  526. package/src/schematron/peppol/r/peppol-en16931-r120.ts +6 -5
  527. package/src/schematron/peppol/r/peppol-en16931-r121.ts +6 -5
  528. package/src/schematron/peppol/r/peppol-en16931-r130.ts +6 -5
  529. package/src/schematron/run-all-rules.ts +2 -7
  530. package/src/schematron/schematron.ts +36 -0
  531. package/src/schematron/se/se-r-001.ts +7 -6
  532. package/src/schematron/se/se-r-002.ts +7 -6
  533. package/src/schematron/se/se-r-003.ts +7 -6
  534. package/src/schematron/se/se-r-004.ts +7 -6
  535. package/src/schematron/se/se-r-005.ts +8 -7
  536. package/src/schematron/se/se-r-006.ts +7 -6
  537. package/src/schematron/se/se-r-007.ts +7 -6
  538. package/src/schematron/se/se-r-008.ts +7 -6
  539. package/src/schematron/se/se-r-009.ts +7 -6
  540. package/src/schematron/se/se-r-010.ts +7 -6
  541. package/src/schematron/se/se-r-011.ts +7 -6
  542. package/src/schematron/se/se-r-012.ts +7 -6
  543. package/src/schematron/se/se-r-013.ts +7 -6
  544. package/src/values/additional-document-reference-codes.generated.ts +2 -3
  545. package/src/values/allowance-charge-reason-codes.generated.ts +1 -1
  546. package/src/values/application-response-type-codes.generated.ts +1 -1
  547. package/src/values/charge-reason-codes.generated.ts +1 -1
  548. package/src/values/country-code.generated.ts +1 -1
  549. package/src/values/credit-notes-type-codes.generated.ts +1 -1
  550. package/src/values/currency-code.generated.ts +1 -1
  551. package/src/values/document-type-codes.generated.ts +1 -1
  552. package/src/values/document-type.generated.ts +2 -2
  553. package/src/values/duty-tax-fee-categories.generated.ts +1 -1
  554. package/src/values/eas-codes.generated.ts +1 -1
  555. package/src/values/icd-codes.generated.ts +7 -7
  556. package/src/values/invoice-status-codes.generated.ts +1 -1
  557. package/src/values/invoice-type-codes.generated.ts +1 -1
  558. package/src/values/item-classification-code.generated.ts +1 -1
  559. package/src/values/mime-codes.generated.ts +1 -1
  560. package/src/values/op-status-action.generated.ts +1 -1
  561. package/src/values/op-status-reason.generated.ts +1 -1
  562. package/src/values/participant-identifier-schemes.generated.ts +2 -2
  563. package/src/values/payment-means-codes.generated.ts +1 -1
  564. package/src/values/processes.generated.ts +1 -1
  565. package/src/values/quantity-unit-codes.generated.ts +1 -1
  566. package/src/values/vat-dates.generated.ts +1 -1
  567. package/src/values/vatex-codes.generated.ts +1 -1
  568. package/dist/all-union-fields-CxoyKBpI.d.ts +0 -445
  569. package/dist/all-union-fields-CxoyKBpI.d.ts.map +0 -1
  570. package/dist/document-DCcObB-a.d.ts +0 -1466
  571. package/dist/document-DCcObB-a.d.ts.map +0 -1
  572. package/dist/effect.d.ts +0 -6291
  573. package/dist/effect.d.ts.map +0 -1
  574. package/dist/effect.js +0 -3240
  575. package/dist/effect.js.map +0 -1
  576. package/dist/index.d.ts.map +0 -1
  577. package/dist/is-valid-process-CSWL-q9f.js +0 -1590
  578. package/dist/is-valid-process-CSWL-q9f.js.map +0 -1
  579. package/dist/quantity-unit-code-to-intl-unit-15EykjMe.d.ts +0 -168
  580. package/dist/quantity-unit-code-to-intl-unit-15EykjMe.d.ts.map +0 -1
  581. package/dist/vat-dates.generated-DTVWQAdn.d.ts +0 -4812
  582. package/dist/vat-dates.generated-DTVWQAdn.d.ts.map +0 -1
  583. package/dist/vatex-codes.generated-BSgP3n5t.js.map +0 -1
  584. package/src/decoders/errors.ts +0 -11
  585. package/src/document-parser.ts +0 -70
  586. package/src/document.ts +0 -19
  587. package/src/effect/fields/default-customization-id.ts +0 -1
  588. package/src/effect/fields/default-profile-id.ts +0 -1
  589. package/src/effect/fields/peppol-additional-document-reference-schema.ts +0 -114
  590. package/src/effect/fields/peppol-address-schema.ts +0 -105
  591. package/src/effect/fields/peppol-allowance-charge-schema.ts +0 -95
  592. package/src/effect/fields/peppol-amount-schema.ts +0 -22
  593. package/src/effect/fields/peppol-base-line-schema.ts +0 -138
  594. package/src/effect/fields/peppol-binary-object-schema.ts +0 -51
  595. package/src/effect/fields/peppol-contact-schema.ts +0 -18
  596. package/src/effect/fields/peppol-credit-note-line-schema.ts +0 -42
  597. package/src/effect/fields/peppol-delivery-schema.ts +0 -100
  598. package/src/effect/fields/peppol-identifier-schema.ts +0 -19
  599. package/src/effect/fields/peppol-invoice-line-period-schema.ts +0 -34
  600. package/src/effect/fields/peppol-invoice-period-schema.ts +0 -30
  601. package/src/effect/fields/peppol-item-classification-schema.ts +0 -45
  602. package/src/effect/fields/peppol-legal-monetary-total-schema.ts +0 -126
  603. package/src/effect/fields/peppol-line-allowance-charge-schema.ts +0 -64
  604. package/src/effect/fields/peppol-line-item-schema.ts +0 -185
  605. package/src/effect/fields/peppol-line-price-allowance-charge-schema.ts +0 -38
  606. package/src/effect/fields/peppol-line-price-schema.ts +0 -31
  607. package/src/effect/fields/peppol-order-reference-schema.ts +0 -36
  608. package/src/effect/fields/peppol-party-base-schema.ts +0 -138
  609. package/src/effect/fields/peppol-party-legal-entity-schema.ts +0 -29
  610. package/src/effect/fields/peppol-party-tax-scheme-schema.ts +0 -33
  611. package/src/effect/fields/peppol-payee-party-schema.ts +0 -112
  612. package/src/effect/fields/peppol-payment-means-schema.ts +0 -210
  613. package/src/effect/fields/peppol-payment-terms-schema.ts +0 -23
  614. package/src/effect/fields/peppol-quantity-schema.ts +0 -21
  615. package/src/effect/fields/peppol-reference-schema.ts +0 -5
  616. package/src/effect/fields/peppol-tax-category-schema.ts +0 -42
  617. package/src/effect/fields/peppol-tax-representative-schema.ts +0 -23
  618. package/src/effect/fields/peppol-tax-subtotal-schema.ts +0 -32
  619. package/src/effect/fields/peppol-tax-totals-base-schema.ts +0 -25
  620. package/src/effect/index.ts +0 -56
  621. package/src/effect/peppol-billing-base-schema.ts +0 -355
  622. package/src/effect/peppol-credit-note-schema.ts +0 -30
  623. package/src/effect/peppol-document-response-document-reference-schema.ts +0 -38
  624. package/src/effect/peppol-document-response-document-schema.ts +0 -35
  625. package/src/effect/peppol-document-response-line-response-content-schema.ts +0 -44
  626. package/src/effect/peppol-document-response-line-response-schema.ts +0 -33
  627. package/src/effect/peppol-document-schema.ts +0 -142
  628. package/src/effect/peppol-invoice-response-document-actual-response-status-schema.ts +0 -60
  629. package/src/effect/peppol-invoice-response-schema.ts +0 -168
  630. package/src/effect/peppol-invoice-response-status-reason-code-schema.ts +0 -31
  631. package/src/effect/peppol-invoice-schema.ts +0 -42
  632. package/src/effect/peppol-iso-date-string-schema.ts +0 -19
  633. package/src/effect/peppol-message-level-response-document-response-schema.ts +0 -33
  634. package/src/effect/peppol-message-level-response-party-schema.ts +0 -19
  635. package/src/effect/peppol-message-level-response-schema.ts +0 -97
  636. package/src/effect/utils/format-quantity-with-unit.ts +0 -1
  637. package/src/effect/utils/get-credit-note-type-code-description.ts +0 -1
  638. package/src/effect/utils/get-invoice-type-code-description.ts +0 -1
  639. package/src/effect/utils/is-valid-credit-note-type-code.ts +0 -1
  640. package/src/effect/utils/is-valid-invoice-type-code.ts +0 -1
  641. package/src/effect/utils/is-valid-process.ts +0 -1
  642. package/src/effect/utils/peppol-xsd-time-schema.ts +0 -13
  643. package/src/effect/utils/quantity-unit-code-to-intl-unit.ts +0 -2
  644. package/src/effect/values/credit-note-type-code-schema.ts +0 -23
  645. package/src/effect/values/document-type-schemes-schema.ts +0 -14
  646. package/src/effect/values/document-type-values-schema.ts +0 -16
  647. package/src/effect/values/invoice-type-code-schema.ts +0 -21
  648. package/src/effect/values/process-from-document-type-schema.ts +0 -26
  649. package/src/effect/values/quantity-unit-codes-schema.ts +0 -24
  650. package/src/helpers/errors.ts +0 -6
  651. package/src/helpers/is-defined.ts +0 -3
  652. package/src/schemas/billing-base.ts +0 -362
  653. package/src/schemas/credit-note.ts +0 -28
  654. package/src/schemas/document-response-document-reference-schema.ts +0 -37
  655. package/src/schemas/document-response-document-schema.ts +0 -34
  656. package/src/schemas/document-response-line-response-content.ts +0 -43
  657. package/src/schemas/document-response-line-response-schema.ts +0 -33
  658. package/src/schemas/fields/additional-document-reference-schema.ts +0 -112
  659. package/src/schemas/fields/address-schema.ts +0 -105
  660. package/src/schemas/fields/allowance-charge-schema.ts +0 -86
  661. package/src/schemas/fields/amount-schema.ts +0 -21
  662. package/src/schemas/fields/base-line-schema.ts +0 -136
  663. package/src/schemas/fields/billing-references-schema.ts +0 -44
  664. package/src/schemas/fields/binary-object-schema.ts +0 -45
  665. package/src/schemas/fields/contact-schema.ts +0 -18
  666. package/src/schemas/fields/credit-note-line-schema.ts +0 -37
  667. package/src/schemas/fields/date-only-fn.ts +0 -6
  668. package/src/schemas/fields/date-only-parser.ts +0 -20
  669. package/src/schemas/fields/delivery-schema.ts +0 -95
  670. package/src/schemas/fields/identifier-schema.ts +0 -24
  671. package/src/schemas/fields/invoice-line-period-schema.ts +0 -31
  672. package/src/schemas/fields/invoice-line-schema.ts +0 -41
  673. package/src/schemas/fields/invoice-period-schema.ts +0 -27
  674. package/src/schemas/fields/legal-monetary-total-schema.ts +0 -125
  675. package/src/schemas/fields/line-allowance-charge-schema.ts +0 -59
  676. package/src/schemas/fields/line-item-schema.ts +0 -183
  677. package/src/schemas/fields/line-price-allowance-charge-schema.ts +0 -33
  678. package/src/schemas/fields/list-identifier-schema.ts +0 -43
  679. package/src/schemas/fields/order-reference-schema.ts +0 -36
  680. package/src/schemas/fields/party-base-schema.ts +0 -131
  681. package/src/schemas/fields/party-legal-entity-schema.ts +0 -29
  682. package/src/schemas/fields/party-tax-schema.ts +0 -33
  683. package/src/schemas/fields/payee-party.ts +0 -107
  684. package/src/schemas/fields/payment-means-schema.ts +0 -209
  685. package/src/schemas/fields/payment-terms-schema.ts +0 -23
  686. package/src/schemas/fields/price-schema.ts +0 -31
  687. package/src/schemas/fields/quantity-schema.ts +0 -21
  688. package/src/schemas/fields/reference-schema.ts +0 -4
  689. package/src/schemas/fields/tax-category-schema.ts +0 -41
  690. package/src/schemas/fields/tax-representative-party-schema.ts +0 -23
  691. package/src/schemas/fields/tax-subtotal-category-schema.ts +0 -26
  692. package/src/schemas/fields/tax-subtotal-schema.ts +0 -32
  693. package/src/schemas/fields/tax-totals.ts +0 -25
  694. package/src/schemas/fields/time-only.ts +0 -23
  695. package/src/schemas/invoice-response-document-actual-response-status.ts +0 -58
  696. package/src/schemas/invoice-response-document-actual-response.ts +0 -73
  697. package/src/schemas/invoice-response-schema.ts +0 -155
  698. package/src/schemas/invoice-response-status-reason-code.ts +0 -30
  699. package/src/schemas/invoice.ts +0 -43
  700. package/src/schemas/message-level-response-document-response-schema.ts +0 -33
  701. package/src/schemas/message-level-response-party-schema.ts +0 -18
  702. package/src/schemas/message-level-response-schema.ts +0 -96
  703. package/src/schemas/utils/base-64.ts +0 -34
  704. package/src/schemas/utils/vat-regex.ts +0 -51
  705. package/src/schemas/utils/xsd-time.ts +0 -9
  706. package/src/schemas/values/additional-document-reference-code.ts +0 -27
  707. package/src/schemas/values/allowance-charge-reason-code.ts +0 -29
  708. package/src/schemas/values/application-response-type-codes.ts +0 -25
  709. package/src/schemas/values/charge-reason-code.ts +0 -29
  710. package/src/schemas/values/country-code.ts +0 -36
  711. package/src/schemas/values/currency-codes.ts +0 -35
  712. package/src/schemas/values/document-type-codes.ts +0 -25
  713. package/src/schemas/values/document-type-schema.ts +0 -49
  714. package/src/schemas/values/duty-tax-fee-cateogries.ts +0 -28
  715. package/src/schemas/values/eas-codes.ts +0 -35
  716. package/src/schemas/values/icd-codes.ts +0 -28
  717. package/src/schemas/values/invoice-status-codes.ts +0 -25
  718. package/src/schemas/values/item-classification-code-schema.ts +0 -28
  719. package/src/schemas/values/mime-code.ts +0 -28
  720. package/src/schemas/values/op-status-action.ts +0 -25
  721. package/src/schemas/values/op-status-reason.ts +0 -25
  722. package/src/schemas/values/participant-identifier-code.ts +0 -25
  723. package/src/schemas/values/payment-means-codes-schema.ts +0 -36
  724. package/src/schemas/values/process-schema.ts +0 -41
  725. package/src/schemas/values/process-xml-identifier-schema.ts +0 -27
  726. package/src/schemas/values/vat-date-code.ts +0 -15
  727. package/src/schemas/values/vatex-code.ts +0 -28
  728. package/src/schemas.ts +0 -97
  729. /package/src/{effect → schemas}/utils/peppol-base-64-schema.ts +0 -0
  730. /package/src/{effect → schemas}/utils/peppol-vat-regex-schema.ts +0 -0
  731. /package/src/{effect → schemas}/values/additional-document-reference-code-schema.ts +0 -0
  732. /package/src/{effect → schemas}/values/allowance-charge-reason-code-schema.ts +0 -0
  733. /package/src/{effect → schemas}/values/application-response-type-code-schema.ts +0 -0
  734. /package/src/{effect → schemas}/values/charge-reason-code-schema.ts +0 -0
  735. /package/src/{effect → schemas}/values/currency-code-schema.ts +0 -0
  736. /package/src/{effect → schemas}/values/electronic-codes-schema.ts +0 -0
  737. /package/src/{effect → schemas}/values/icd-codes-schema.ts +0 -0
  738. /package/src/{effect → schemas}/values/index.ts +0 -0
  739. /package/src/{effect → schemas}/values/invoice-status-code-schema.ts +0 -0
  740. /package/src/{effect → schemas}/values/item-classification-codes-schema.ts +0 -0
  741. /package/src/{effect → schemas}/values/mime-codes-schema.ts +0 -0
  742. /package/src/{effect → schemas}/values/op-status-action-schema.ts +0 -0
  743. /package/src/{effect → schemas}/values/op-status-reason-schema.ts +0 -0
  744. /package/src/{effect → schemas}/values/participant-identifier-code-schema.ts +0 -0
  745. /package/src/{effect → schemas}/values/payment-means-code-schema.ts +0 -0
  746. /package/src/{effect → schemas}/values/peppol-country-code-schema.ts +0 -0
  747. /package/src/{effect → schemas}/values/peppol-document-type-code-schema.ts +0 -0
  748. /package/src/{effect → schemas}/values/peppol-document-type-schema.ts +0 -0
  749. /package/src/{effect → schemas}/values/peppol-process-schema.ts +0 -0
  750. /package/src/{effect → schemas}/values/vat-date-code-schema.ts +0 -0
  751. /package/src/{effect → schemas}/values/vatex-code-schema.ts +0 -0
@@ -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
+ ) {}
@@ -0,0 +1,32 @@
1
+ import { Schema } from 'effect';
2
+
3
+ import { PeppolIdentifier } from '#/schemas/fields/peppol-identifier-schema';
4
+ import { opaque } from '#/schemas/utils/opaque';
5
+
6
+ export class PeppolPartyLegalEntity extends opaque<PeppolPartyLegalEntity>()(
7
+ Schema.Struct({
8
+ /**
9
+ * @example
10
+ * 987654321;
11
+ *
12
+ * @name cbc:CompanyID (+ @schemeID)
13
+ */
14
+ companyId: Schema.optional(PeppolIdentifier),
15
+ /**
16
+ * @example
17
+ * Share capital
18
+ *
19
+ * @name cbc:CompanyLegalForm
20
+ */
21
+ companyLegalForm: Schema.optional(Schema.String),
22
+ /**
23
+ * @example
24
+ * Full Formal Seller Name LTD.
25
+ *
26
+ * @name cbc:RegistrationName
27
+ */
28
+ registrationName: Schema.String,
29
+ })
30
+ ) {}
31
+
32
+ export type PeppolPartyLegalEntitySchema = PeppolPartyLegalEntity;