@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
@@ -1,8 +1,7 @@
1
- import type { PeppolDocument } from '#/document';
1
+ import type { PeppolDocument } from '#/schemas/peppol-document-schema';
2
2
  import type { SchematronRule } from '#/schematron/helpers';
3
- import type { SchematronRuleResult } from '#/schematron/types';
4
3
 
5
- import { everyLineCategoryPercent, schematronResult } from '#/schematron/helpers';
4
+ import { everyLineCategoryPercent, schematronRule } from '#/schematron/helpers';
6
5
 
7
6
  const rule = {
8
7
  id: 'CEN-EN16931-BR-S-05',
@@ -11,7 +10,9 @@ const rule = {
11
10
  'In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Standard rated" the Invoiced item VAT rate (BT-152) shall be greater than zero.',
12
11
  } as const satisfies SchematronRule;
13
12
 
14
- export function validateCenEn16931BrS05(document: PeppolDocument): SchematronRuleResult {
13
+ function evaluateCenEn16931BrS05(document: PeppolDocument): boolean {
15
14
  const passed = everyLineCategoryPercent(document, 'S', percent => percent !== undefined && percent > 0);
16
- return schematronResult(rule, passed);
15
+ return passed;
17
16
  }
17
+
18
+ export const validateCenEn16931BrS05 = schematronRule(rule, evaluateCenEn16931BrS05);
@@ -1,8 +1,7 @@
1
- import type { PeppolDocument } from '#/document';
1
+ import type { PeppolDocument } from '#/schemas/peppol-document-schema';
2
2
  import type { SchematronRule } from '#/schematron/helpers';
3
- import type { SchematronRuleResult } from '#/schematron/types';
4
3
 
5
- import { everyDocumentAllowanceCategoryPercent, schematronResult } from '#/schematron/helpers';
4
+ import { everyDocumentAllowanceCategoryPercent, schematronRule } from '#/schematron/helpers';
6
5
 
7
6
  const rule = {
8
7
  id: 'CEN-EN16931-BR-S-06',
@@ -11,7 +10,9 @@ const rule = {
11
10
  'In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Standard rated" the Document level allowance VAT rate (BT-96) shall be greater than zero.',
12
11
  } as const satisfies SchematronRule;
13
12
 
14
- export function validateCenEn16931BrS06(document: PeppolDocument): SchematronRuleResult {
13
+ function evaluateCenEn16931BrS06(document: PeppolDocument): boolean {
15
14
  const passed = everyDocumentAllowanceCategoryPercent(document, 'S', percent => percent !== undefined && percent > 0);
16
- return schematronResult(rule, passed);
15
+ return passed;
17
16
  }
17
+
18
+ export const validateCenEn16931BrS06 = schematronRule(rule, evaluateCenEn16931BrS06);
@@ -1,8 +1,7 @@
1
- import type { PeppolDocument } from '#/document';
1
+ import type { PeppolDocument } from '#/schemas/peppol-document-schema';
2
2
  import type { SchematronRule } from '#/schematron/helpers';
3
- import type { SchematronRuleResult } from '#/schematron/types';
4
3
 
5
- import { everyDocumentChargeCategoryPercent, schematronResult } from '#/schematron/helpers';
4
+ import { everyDocumentChargeCategoryPercent, schematronRule } from '#/schematron/helpers';
6
5
 
7
6
  const rule = {
8
7
  id: 'CEN-EN16931-BR-S-07',
@@ -11,7 +10,9 @@ const rule = {
11
10
  'In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Standard rated" the Document level charge VAT rate (BT-103) shall be greater than zero.',
12
11
  } as const satisfies SchematronRule;
13
12
 
14
- export function validateCenEn16931BrS07(document: PeppolDocument): SchematronRuleResult {
13
+ function evaluateCenEn16931BrS07(document: PeppolDocument): boolean {
15
14
  const passed = everyDocumentChargeCategoryPercent(document, 'S', percent => percent !== undefined && percent > 0);
16
- return schematronResult(rule, passed);
15
+ return passed;
17
16
  }
17
+
18
+ export const validateCenEn16931BrS07 = schematronRule(rule, evaluateCenEn16931BrS07);
@@ -1,8 +1,7 @@
1
- import type { PeppolDocument } from '#/document';
1
+ import type { PeppolDocument } from '#/schemas/peppol-document-schema';
2
2
  import type { SchematronRule } from '#/schematron/helpers';
3
- import type { SchematronRuleResult } from '#/schematron/types';
4
3
 
5
- import { everyVatBreakdownTaxableMatchesRateSum, schematronResult } from '#/schematron/helpers';
4
+ import { everyVatBreakdownTaxableMatchesRateSum, schematronRule } from '#/schematron/helpers';
6
5
 
7
6
  const rule = {
8
7
  id: 'CEN-EN16931-BR-S-08',
@@ -11,7 +10,9 @@ const rule = {
11
10
  'For each different value of VAT category rate (BT-119) where the VAT category code (BT-118) is "Standard rated", the VAT category taxable amount (BT-116) in a VAT breakdown (BG-23) shall equal the sum of Invoice line net amounts (BT-131) plus the sum of document level charge amounts (BT-99) minus the sum of document level allowance amounts (BT-92) where the VAT category code (BT-151, BT-102, BT-95) is "Standard rated" and the VAT rate (BT-152, BT-103, BT-96) equals the VAT category rate (BT-119).',
12
11
  } as const satisfies SchematronRule;
13
12
 
14
- export function validateCenEn16931BrS08(document: PeppolDocument): SchematronRuleResult {
13
+ function evaluateCenEn16931BrS08(document: PeppolDocument): boolean {
15
14
  const passed = everyVatBreakdownTaxableMatchesRateSum(document);
16
- return schematronResult(rule, passed);
15
+ return passed;
17
16
  }
17
+
18
+ export const validateCenEn16931BrS08 = schematronRule(rule, evaluateCenEn16931BrS08);
@@ -1,8 +1,7 @@
1
- import type { PeppolDocument } from '#/document';
1
+ import type { PeppolDocument } from '#/schemas/peppol-document-schema';
2
2
  import type { SchematronRule } from '#/schematron/helpers';
3
- import type { SchematronRuleResult } from '#/schematron/types';
4
3
 
5
- import { getTaxSubtotalsWithCode, round2, withinSlackOne, schematronResult } from '#/schematron/helpers';
4
+ import { getTaxSubtotalsWithCode, round2, schematronRule, withinSlackOne } from '#/schematron/helpers';
6
5
 
7
6
  const rule = {
8
7
  id: 'CEN-EN16931-BR-S-09',
@@ -11,9 +10,11 @@ const rule = {
11
10
  'The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where VAT category code (BT-118) is "Standard rated" shall equal the VAT category taxable amount (BT-116) multiplied by the VAT category rate (BT-119).',
12
11
  } as const satisfies SchematronRule;
13
12
 
14
- export function validateCenEn16931BrS09(document: PeppolDocument): SchematronRuleResult {
13
+ function evaluateCenEn16931BrS09(document: PeppolDocument): boolean {
15
14
  const passed = getTaxSubtotalsWithCode(document, 'S').every(st =>
16
15
  withinSlackOne(st.taxAmount, round2((st.taxableAmount * (st.taxCategory.percent ?? 0)) / 100))
17
16
  );
18
- return schematronResult(rule, passed);
17
+ return passed;
19
18
  }
19
+
20
+ export const validateCenEn16931BrS09 = schematronRule(rule, evaluateCenEn16931BrS09);
@@ -1,8 +1,7 @@
1
- import type { PeppolDocument } from '#/document';
1
+ import type { PeppolDocument } from '#/schemas/peppol-document-schema';
2
2
  import type { SchematronRule } from '#/schematron/helpers';
3
- import type { SchematronRuleResult } from '#/schematron/types';
4
3
 
5
- import { getTaxSubtotalsWithCode, schematronResult } from '#/schematron/helpers';
4
+ import { getTaxSubtotalsWithCode, schematronRule } from '#/schematron/helpers';
6
5
 
7
6
  const rule = {
8
7
  id: 'CEN-EN16931-BR-S-10',
@@ -11,9 +10,11 @@ const rule = {
11
10
  'A VAT breakdown (BG-23) with VAT Category code (BT-118) "Standard rate" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120).',
12
11
  } as const satisfies SchematronRule;
13
12
 
14
- export function validateCenEn16931BrS10(document: PeppolDocument): SchematronRuleResult {
13
+ function evaluateCenEn16931BrS10(document: PeppolDocument): boolean {
15
14
  const passed = getTaxSubtotalsWithCode(document, 'S').every(
16
15
  st => st.taxCategory.taxExemptionReason === undefined && st.taxCategory.taxExemptionReasonCode === undefined
17
16
  );
18
- return schematronResult(rule, passed);
17
+ return passed;
19
18
  }
19
+
20
+ export const validateCenEn16931BrS10 = schematronRule(rule, evaluateCenEn16931BrS10);
@@ -1,8 +1,7 @@
1
- import type { PeppolDocument } from '#/document';
1
+ import type { PeppolDocument } from '#/schemas/peppol-document-schema';
2
2
  import type { SchematronRule } from '#/schematron/helpers';
3
- import type { SchematronRuleResult } from '#/schematron/types';
4
3
 
5
- import { hasAnyVatCategoryCode, countVatBreakdownCode, schematronResult } from '#/schematron/helpers';
4
+ import { countVatBreakdownCode, hasAnyVatCategoryCode, schematronRule } from '#/schematron/helpers';
6
5
 
7
6
  const rule = {
8
7
  id: 'CEN-EN16931-BR-Z-01',
@@ -11,7 +10,9 @@ const rule = {
11
10
  'An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "Zero rated" shall contain in the VAT breakdown (BG-23) exactly one VAT category code (BT-118) equal with "Zero rated".',
12
11
  } as const satisfies SchematronRule;
13
12
 
14
- export function validateCenEn16931BrZ01(document: PeppolDocument): SchematronRuleResult {
13
+ function evaluateCenEn16931BrZ01(document: PeppolDocument): boolean {
15
14
  const passed = !hasAnyVatCategoryCode(document, 'Z') || countVatBreakdownCode(document, 'Z') === 1;
16
- return schematronResult(rule, passed);
15
+ return passed;
17
16
  }
17
+
18
+ export const validateCenEn16931BrZ01 = schematronRule(rule, evaluateCenEn16931BrZ01);
@@ -1,8 +1,7 @@
1
- import type { PeppolDocument } from '#/document';
1
+ import type { PeppolDocument } from '#/schemas/peppol-document-schema';
2
2
  import type { SchematronRule } from '#/schematron/helpers';
3
- import type { SchematronRuleResult } from '#/schematron/types';
4
3
 
5
- import { hasLineVatCategoryCode, hasSellerTaxIdentifier, hasTaxRepresentativeVatCompanyId, schematronResult } from '#/schematron/helpers';
4
+ import { hasLineVatCategoryCode, hasSellerTaxIdentifier, hasTaxRepresentativeVatCompanyId, schematronRule } from '#/schematron/helpers';
6
5
 
7
6
  const rule = {
8
7
  id: 'CEN-EN16931-BR-Z-02',
@@ -11,7 +10,9 @@ const rule = {
11
10
  'An Invoice that contains an Invoice line where the Invoiced item VAT category code (BT-151) is "Zero rated" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).',
12
11
  } as const satisfies SchematronRule;
13
12
 
14
- export function validateCenEn16931BrZ02(document: PeppolDocument): SchematronRuleResult {
13
+ function evaluateCenEn16931BrZ02(document: PeppolDocument): boolean {
15
14
  const passed = !hasLineVatCategoryCode(document, 'Z') || hasSellerTaxIdentifier(document) || hasTaxRepresentativeVatCompanyId(document);
16
- return schematronResult(rule, passed);
15
+ return passed;
17
16
  }
17
+
18
+ export const validateCenEn16931BrZ02 = schematronRule(rule, evaluateCenEn16931BrZ02);
@@ -1,13 +1,7 @@
1
- import type { PeppolDocument } from '#/document';
1
+ import type { PeppolDocument } from '#/schemas/peppol-document-schema';
2
2
  import type { SchematronRule } from '#/schematron/helpers';
3
- import type { SchematronRuleResult } from '#/schematron/types';
4
3
 
5
- import {
6
- hasDocumentAllowanceVatCategoryCode,
7
- hasSellerTaxIdentifier,
8
- hasTaxRepresentativeVatCompanyId,
9
- schematronResult,
10
- } from '#/schematron/helpers';
4
+ import { hasDocumentAllowanceVatCategoryCode, hasSellerTaxIdentifier, hasTaxRepresentativeVatCompanyId, schematronRule } from '#/schematron/helpers';
11
5
 
12
6
  const rule = {
13
7
  id: 'CEN-EN16931-BR-Z-03',
@@ -16,8 +10,10 @@ const rule = {
16
10
  'An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Zero rated" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).',
17
11
  } as const satisfies SchematronRule;
18
12
 
19
- export function validateCenEn16931BrZ03(document: PeppolDocument): SchematronRuleResult {
13
+ function evaluateCenEn16931BrZ03(document: PeppolDocument): boolean {
20
14
  const passed =
21
15
  !hasDocumentAllowanceVatCategoryCode(document, 'Z') || hasSellerTaxIdentifier(document) || hasTaxRepresentativeVatCompanyId(document);
22
- return schematronResult(rule, passed);
16
+ return passed;
23
17
  }
18
+
19
+ export const validateCenEn16931BrZ03 = schematronRule(rule, evaluateCenEn16931BrZ03);
@@ -1,8 +1,7 @@
1
- import type { PeppolDocument } from '#/document';
1
+ import type { PeppolDocument } from '#/schemas/peppol-document-schema';
2
2
  import type { SchematronRule } from '#/schematron/helpers';
3
- import type { SchematronRuleResult } from '#/schematron/types';
4
3
 
5
- import { hasDocumentChargeVatCategoryCode, hasSellerTaxIdentifier, hasTaxRepresentativeVatCompanyId, schematronResult } from '#/schematron/helpers';
4
+ import { hasDocumentChargeVatCategoryCode, hasSellerTaxIdentifier, hasTaxRepresentativeVatCompanyId, schematronRule } from '#/schematron/helpers';
6
5
 
7
6
  const rule = {
8
7
  id: 'CEN-EN16931-BR-Z-04',
@@ -11,7 +10,9 @@ const rule = {
11
10
  'An Invoice that contains a Document level charge where the Document level charge VAT category code (BT-102) is "Zero rated" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).',
12
11
  } as const satisfies SchematronRule;
13
12
 
14
- export function validateCenEn16931BrZ04(document: PeppolDocument): SchematronRuleResult {
13
+ function evaluateCenEn16931BrZ04(document: PeppolDocument): boolean {
15
14
  const passed = !hasDocumentChargeVatCategoryCode(document, 'Z') || hasSellerTaxIdentifier(document) || hasTaxRepresentativeVatCompanyId(document);
16
- return schematronResult(rule, passed);
15
+ return passed;
17
16
  }
17
+
18
+ export const validateCenEn16931BrZ04 = schematronRule(rule, evaluateCenEn16931BrZ04);
@@ -1,8 +1,7 @@
1
- import type { PeppolDocument } from '#/document';
1
+ import type { PeppolDocument } from '#/schemas/peppol-document-schema';
2
2
  import type { SchematronRule } from '#/schematron/helpers';
3
- import type { SchematronRuleResult } from '#/schematron/types';
4
3
 
5
- import { everyLineCategoryPercent, schematronResult } from '#/schematron/helpers';
4
+ import { everyLineCategoryPercent, schematronRule } from '#/schematron/helpers';
6
5
 
7
6
  const rule = {
8
7
  id: 'CEN-EN16931-BR-Z-05',
@@ -11,7 +10,9 @@ const rule = {
11
10
  'In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Zero rated" the Invoiced item VAT rate (BT-152) shall be 0 (zero).',
12
11
  } as const satisfies SchematronRule;
13
12
 
14
- export function validateCenEn16931BrZ05(document: PeppolDocument): SchematronRuleResult {
13
+ function evaluateCenEn16931BrZ05(document: PeppolDocument): boolean {
15
14
  const passed = everyLineCategoryPercent(document, 'Z', percent => percent === 0);
16
- return schematronResult(rule, passed);
15
+ return passed;
17
16
  }
17
+
18
+ export const validateCenEn16931BrZ05 = schematronRule(rule, evaluateCenEn16931BrZ05);
@@ -1,8 +1,7 @@
1
- import type { PeppolDocument } from '#/document';
1
+ import type { PeppolDocument } from '#/schemas/peppol-document-schema';
2
2
  import type { SchematronRule } from '#/schematron/helpers';
3
- import type { SchematronRuleResult } from '#/schematron/types';
4
3
 
5
- import { everyDocumentAllowanceCategoryPercent, schematronResult } from '#/schematron/helpers';
4
+ import { everyDocumentAllowanceCategoryPercent, schematronRule } from '#/schematron/helpers';
6
5
 
7
6
  const rule = {
8
7
  id: 'CEN-EN16931-BR-Z-06',
@@ -11,7 +10,9 @@ const rule = {
11
10
  'In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Zero rated" the Document level allowance VAT rate (BT-96) shall be 0 (zero).',
12
11
  } as const satisfies SchematronRule;
13
12
 
14
- export function validateCenEn16931BrZ06(document: PeppolDocument): SchematronRuleResult {
13
+ function evaluateCenEn16931BrZ06(document: PeppolDocument): boolean {
15
14
  const passed = everyDocumentAllowanceCategoryPercent(document, 'Z', percent => percent === 0);
16
- return schematronResult(rule, passed);
15
+ return passed;
17
16
  }
17
+
18
+ export const validateCenEn16931BrZ06 = schematronRule(rule, evaluateCenEn16931BrZ06);
@@ -1,8 +1,7 @@
1
- import type { PeppolDocument } from '#/document';
1
+ import type { PeppolDocument } from '#/schemas/peppol-document-schema';
2
2
  import type { SchematronRule } from '#/schematron/helpers';
3
- import type { SchematronRuleResult } from '#/schematron/types';
4
3
 
5
- import { everyDocumentChargeCategoryPercent, schematronResult } from '#/schematron/helpers';
4
+ import { everyDocumentChargeCategoryPercent, schematronRule } from '#/schematron/helpers';
6
5
 
7
6
  const rule = {
8
7
  id: 'CEN-EN16931-BR-Z-07',
@@ -11,7 +10,9 @@ const rule = {
11
10
  'In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Zero rated" the Document level charge VAT rate (BT-103) shall be 0 (zero).',
12
11
  } as const satisfies SchematronRule;
13
12
 
14
- export function validateCenEn16931BrZ07(document: PeppolDocument): SchematronRuleResult {
13
+ function evaluateCenEn16931BrZ07(document: PeppolDocument): boolean {
15
14
  const passed = everyDocumentChargeCategoryPercent(document, 'Z', percent => percent === 0);
16
- return schematronResult(rule, passed);
15
+ return passed;
17
16
  }
17
+
18
+ export const validateCenEn16931BrZ07 = schematronRule(rule, evaluateCenEn16931BrZ07);
@@ -1,8 +1,7 @@
1
- import type { PeppolDocument } from '#/document';
1
+ import type { PeppolDocument } from '#/schemas/peppol-document-schema';
2
2
  import type { SchematronRule } from '#/schematron/helpers';
3
- import type { SchematronRuleResult } from '#/schematron/types';
4
3
 
5
- import { amountsEqual, getTaxSubtotalsWithCode, categoryTaxableSum, schematronResult } from '#/schematron/helpers';
4
+ import { amountsEqual, categoryTaxableSum, getTaxSubtotalsWithCode, schematronRule } from '#/schematron/helpers';
6
5
 
7
6
  const rule = {
8
7
  id: 'CEN-EN16931-BR-Z-08',
@@ -11,7 +10,9 @@ const rule = {
11
10
  'In a VAT breakdown (BG-23) where VAT category code (BT-118) is "Zero rated" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amount (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Zero rated".',
12
11
  } as const satisfies SchematronRule;
13
12
 
14
- export function validateCenEn16931BrZ08(document: PeppolDocument): SchematronRuleResult {
13
+ function evaluateCenEn16931BrZ08(document: PeppolDocument): boolean {
15
14
  const passed = getTaxSubtotalsWithCode(document, 'Z').every(st => amountsEqual(st.taxableAmount, categoryTaxableSum(document, 'Z')));
16
- return schematronResult(rule, passed);
15
+ return passed;
17
16
  }
17
+
18
+ export const validateCenEn16931BrZ08 = schematronRule(rule, evaluateCenEn16931BrZ08);
@@ -1,8 +1,7 @@
1
- import type { PeppolDocument } from '#/document';
1
+ import type { PeppolDocument } from '#/schemas/peppol-document-schema';
2
2
  import type { SchematronRule } from '#/schematron/helpers';
3
- import type { SchematronRuleResult } from '#/schematron/types';
4
3
 
5
- import { getTaxSubtotalsWithCode, schematronResult } from '#/schematron/helpers';
4
+ import { getTaxSubtotalsWithCode, schematronRule } from '#/schematron/helpers';
6
5
 
7
6
  const rule = {
8
7
  id: 'CEN-EN16931-BR-Z-09',
@@ -10,7 +9,9 @@ const rule = {
10
9
  message: 'The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where VAT category code (BT-118) is "Zero rated" shall equal 0 (zero).',
11
10
  } as const satisfies SchematronRule;
12
11
 
13
- export function validateCenEn16931BrZ09(document: PeppolDocument): SchematronRuleResult {
12
+ function evaluateCenEn16931BrZ09(document: PeppolDocument): boolean {
14
13
  const passed = getTaxSubtotalsWithCode(document, 'Z').every(st => st.taxAmount === 0);
15
- return schematronResult(rule, passed);
14
+ return passed;
16
15
  }
16
+
17
+ export const validateCenEn16931BrZ09 = schematronRule(rule, evaluateCenEn16931BrZ09);
@@ -1,8 +1,7 @@
1
- import type { PeppolDocument } from '#/document';
1
+ import type { PeppolDocument } from '#/schemas/peppol-document-schema';
2
2
  import type { SchematronRule } from '#/schematron/helpers';
3
- import type { SchematronRuleResult } from '#/schematron/types';
4
3
 
5
- import { getTaxSubtotalsWithCode, schematronResult } from '#/schematron/helpers';
4
+ import { getTaxSubtotalsWithCode, schematronRule } from '#/schematron/helpers';
6
5
 
7
6
  const rule = {
8
7
  id: 'CEN-EN16931-BR-Z-10',
@@ -11,9 +10,11 @@ const rule = {
11
10
  'A VAT breakdown (BG-23) with VAT Category code (BT-118) "Zero rated" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120).',
12
11
  } as const satisfies SchematronRule;
13
12
 
14
- export function validateCenEn16931BrZ10(document: PeppolDocument): SchematronRuleResult {
13
+ function evaluateCenEn16931BrZ10(document: PeppolDocument): boolean {
15
14
  const passed = getTaxSubtotalsWithCode(document, 'Z').every(
16
15
  st => st.taxCategory.taxExemptionReason === undefined && st.taxCategory.taxExemptionReasonCode === undefined
17
16
  );
18
- return schematronResult(rule, passed);
17
+ return passed;
19
18
  }
19
+
20
+ export const validateCenEn16931BrZ10 = schematronRule(rule, evaluateCenEn16931BrZ10);
@@ -1,8 +1,7 @@
1
- import type { PeppolDocument } from '#/document';
1
+ import type { PeppolDocument } from '#/schemas/peppol-document-schema';
2
2
  import type { SchematronRule } from '#/schematron/helpers';
3
- import type { SchematronRuleResult } from '#/schematron/types';
4
3
 
5
- import { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';
4
+ import { isGermanSupplierAndCustomer, schematronRule } from '#/schematron/helpers';
6
5
 
7
6
  const rule = {
8
7
  id: 'DE-R-001',
@@ -10,9 +9,11 @@ const rule = {
10
9
  message: 'An invoice shall contain information on "PAYMENT INSTRUCTIONS" (BG-16).',
11
10
  } as const satisfies SchematronRule;
12
11
 
13
- export function validateDeR001(document: PeppolDocument): SchematronRuleResult {
14
- if (!isSupplierGermany(document) || !isCustomerGermany(document)) {
15
- return schematronResult(rule, true);
12
+ function evaluateDeR001(document: PeppolDocument): boolean {
13
+ if (!isGermanSupplierAndCustomer(document)) {
14
+ return true;
16
15
  }
17
- return schematronResult(rule, (document.paymentMeans?.length ?? 0) > 0);
16
+ return (document.paymentMeans?.length ?? 0) > 0;
18
17
  }
18
+
19
+ export const validateDeR001 = schematronRule(rule, evaluateDeR001);
@@ -1,14 +1,15 @@
1
- import type { PeppolDocument } from '#/document';
1
+ import type { PeppolDocument } from '#/schemas/peppol-document-schema';
2
2
  import type { SchematronRule } from '#/schematron/helpers';
3
- import type { SchematronRuleResult } from '#/schematron/types';
4
3
 
5
- import { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';
4
+ import { isGermanSupplierAndCustomer, schematronRule } from '#/schematron/helpers';
6
5
 
7
6
  const rule = { id: 'DE-R-002', level: 'fatal', message: 'The group "SELLER CONTACT" (BG-6) shall be provided.' } as const satisfies SchematronRule;
8
7
 
9
- export function validateDeR002(document: PeppolDocument): SchematronRuleResult {
10
- if (!isSupplierGermany(document) || !isCustomerGermany(document)) {
11
- return schematronResult(rule, true);
8
+ function evaluateDeR002(document: PeppolDocument): boolean {
9
+ if (!isGermanSupplierAndCustomer(document)) {
10
+ return true;
12
11
  }
13
- return schematronResult(rule, Boolean(document.accountingSupplierParty.contact));
12
+ return Boolean(document.accountingSupplierParty.contact);
14
13
  }
14
+
15
+ export const validateDeR002 = schematronRule(rule, evaluateDeR002);
@@ -1,15 +1,16 @@
1
- import type { PeppolDocument } from '#/document';
1
+ import type { PeppolDocument } from '#/schemas/peppol-document-schema';
2
2
  import type { SchematronRule } from '#/schematron/helpers';
3
- import type { SchematronRuleResult } from '#/schematron/types';
4
3
 
5
- import { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';
4
+ import { isGermanSupplierAndCustomer, schematronRule } from '#/schematron/helpers';
6
5
 
7
6
  const rule = { id: 'DE-R-003', level: 'fatal', message: 'The element "Seller city" (BT-37) shall be provided.' } as const satisfies SchematronRule;
8
7
 
9
- export function validateDeR003(document: PeppolDocument): SchematronRuleResult {
10
- if (!isSupplierGermany(document) || !isCustomerGermany(document)) {
11
- return schematronResult(rule, true);
8
+ function evaluateDeR003(document: PeppolDocument): boolean {
9
+ if (!isGermanSupplierAndCustomer(document)) {
10
+ return true;
12
11
  }
13
12
  const cityName = document.accountingSupplierParty.postalAddress.cityName;
14
- return schematronResult(rule, typeof cityName === 'string' && cityName.trim() !== '');
13
+ return typeof cityName === 'string' && cityName.trim() !== '';
15
14
  }
15
+
16
+ export const validateDeR003 = schematronRule(rule, evaluateDeR003);
@@ -1,8 +1,7 @@
1
- import type { PeppolDocument } from '#/document';
1
+ import type { PeppolDocument } from '#/schemas/peppol-document-schema';
2
2
  import type { SchematronRule } from '#/schematron/helpers';
3
- import type { SchematronRuleResult } from '#/schematron/types';
4
3
 
5
- import { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';
4
+ import { isGermanSupplierAndCustomer, schematronRule } from '#/schematron/helpers';
6
5
 
7
6
  const rule = {
8
7
  id: 'DE-R-004',
@@ -10,10 +9,12 @@ const rule = {
10
9
  message: 'The element "Seller post code" (BT-38) shall be provided.',
11
10
  } as const satisfies SchematronRule;
12
11
 
13
- export function validateDeR004(document: PeppolDocument): SchematronRuleResult {
14
- if (!isSupplierGermany(document) || !isCustomerGermany(document)) {
15
- return schematronResult(rule, true);
12
+ function evaluateDeR004(document: PeppolDocument): boolean {
13
+ if (!isGermanSupplierAndCustomer(document)) {
14
+ return true;
16
15
  }
17
16
  const postalZone = document.accountingSupplierParty.postalAddress.postalZone;
18
- return schematronResult(rule, typeof postalZone === 'string' && postalZone.trim() !== '');
17
+ return typeof postalZone === 'string' && postalZone.trim() !== '';
19
18
  }
19
+
20
+ export const validateDeR004 = schematronRule(rule, evaluateDeR004);
@@ -1,8 +1,7 @@
1
- import type { PeppolDocument } from '#/document';
1
+ import type { PeppolDocument } from '#/schemas/peppol-document-schema';
2
2
  import type { SchematronRule } from '#/schematron/helpers';
3
- import type { SchematronRuleResult } from '#/schematron/types';
4
3
 
5
- import { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';
4
+ import { isGermanSupplierAndCustomer, schematronRule } from '#/schematron/helpers';
6
5
 
7
6
  const rule = {
8
7
  id: 'DE-R-005',
@@ -10,10 +9,12 @@ const rule = {
10
9
  message: 'The element "Seller contact point" (BT-41) shall be provided.',
11
10
  } as const satisfies SchematronRule;
12
11
 
13
- export function validateDeR005(document: PeppolDocument): SchematronRuleResult {
14
- if (!isSupplierGermany(document) || !isCustomerGermany(document)) {
15
- return schematronResult(rule, true);
12
+ function evaluateDeR005(document: PeppolDocument): boolean {
13
+ if (!isGermanSupplierAndCustomer(document)) {
14
+ return true;
16
15
  }
17
16
  const name = document.accountingSupplierParty.contact?.name;
18
- return schematronResult(rule, typeof name === 'string' && name.trim() !== '');
17
+ return typeof name === 'string' && name.trim() !== '';
19
18
  }
19
+
20
+ export const validateDeR005 = schematronRule(rule, evaluateDeR005);
@@ -1,8 +1,7 @@
1
- import type { PeppolDocument } from '#/document';
1
+ import type { PeppolDocument } from '#/schemas/peppol-document-schema';
2
2
  import type { SchematronRule } from '#/schematron/helpers';
3
- import type { SchematronRuleResult } from '#/schematron/types';
4
3
 
5
- import { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';
4
+ import { isGermanSupplierAndCustomer, schematronRule } from '#/schematron/helpers';
6
5
 
7
6
  const rule = {
8
7
  id: 'DE-R-006',
@@ -10,10 +9,12 @@ const rule = {
10
9
  message: 'The element "Seller contact telephone number" (BT-42) shall be provided.',
11
10
  } as const satisfies SchematronRule;
12
11
 
13
- export function validateDeR006(document: PeppolDocument): SchematronRuleResult {
14
- if (!isSupplierGermany(document) || !isCustomerGermany(document)) {
15
- return schematronResult(rule, true);
12
+ function evaluateDeR006(document: PeppolDocument): boolean {
13
+ if (!isGermanSupplierAndCustomer(document)) {
14
+ return true;
16
15
  }
17
16
  const telephone = document.accountingSupplierParty.contact?.telephone;
18
- return schematronResult(rule, typeof telephone === 'string' && telephone.trim() !== '');
17
+ return typeof telephone === 'string' && telephone.trim() !== '';
19
18
  }
19
+
20
+ export const validateDeR006 = schematronRule(rule, evaluateDeR006);
@@ -1,8 +1,7 @@
1
- import type { PeppolDocument } from '#/document';
1
+ import type { PeppolDocument } from '#/schemas/peppol-document-schema';
2
2
  import type { SchematronRule } from '#/schematron/helpers';
3
- import type { SchematronRuleResult } from '#/schematron/types';
4
3
 
5
- import { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';
4
+ import { isGermanSupplierAndCustomer, schematronRule } from '#/schematron/helpers';
6
5
 
7
6
  const rule = {
8
7
  id: 'DE-R-007',
@@ -10,10 +9,12 @@ const rule = {
10
9
  message: 'The element "Seller contact email address" (BT-43) shall be provided.',
11
10
  } as const satisfies SchematronRule;
12
11
 
13
- export function validateDeR007(document: PeppolDocument): SchematronRuleResult {
14
- if (!isSupplierGermany(document) || !isCustomerGermany(document)) {
15
- return schematronResult(rule, true);
12
+ function evaluateDeR007(document: PeppolDocument): boolean {
13
+ if (!isGermanSupplierAndCustomer(document)) {
14
+ return true;
16
15
  }
17
16
  const email = document.accountingSupplierParty.contact?.electronicMail;
18
- return schematronResult(rule, typeof email === 'string' && email.trim() !== '');
17
+ return typeof email === 'string' && email.trim() !== '';
19
18
  }
19
+
20
+ export const validateDeR007 = schematronRule(rule, evaluateDeR007);
@@ -1,15 +1,16 @@
1
- import type { PeppolDocument } from '#/document';
1
+ import type { PeppolDocument } from '#/schemas/peppol-document-schema';
2
2
  import type { SchematronRule } from '#/schematron/helpers';
3
- import type { SchematronRuleResult } from '#/schematron/types';
4
3
 
5
- import { isCustomerGermany, isSupplierGermany, schematronResult } from '#/schematron/helpers';
4
+ import { isGermanSupplierAndCustomer, schematronRule } from '#/schematron/helpers';
6
5
 
7
6
  const rule = { id: 'DE-R-008', level: 'fatal', message: 'The element "Buyer city" (BT-52) shall be provided.' } as const satisfies SchematronRule;
8
7
 
9
- export function validateDeR008(document: PeppolDocument): SchematronRuleResult {
10
- if (!isSupplierGermany(document) || !isCustomerGermany(document)) {
11
- return schematronResult(rule, true);
8
+ function evaluateDeR008(document: PeppolDocument): boolean {
9
+ if (!isGermanSupplierAndCustomer(document)) {
10
+ return true;
12
11
  }
13
12
  const cityName = document.accountingCustomerParty.postalAddress.cityName;
14
- return schematronResult(rule, typeof cityName === 'string' && cityName.trim() !== '');
13
+ return typeof cityName === 'string' && cityName.trim() !== '';
15
14
  }
15
+
16
+ export const validateDeR008 = schematronRule(rule, evaluateDeR008);