@ripwords/myinvois-client 0.1.0 → 0.1.2

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 (575) hide show
  1. package/CHANGELOG.md +99 -0
  2. package/README.md +128 -4
  3. package/bun.lock +59 -0
  4. package/dist/{0X-Yw7mZEro.d.cts → 0X-CG1S1WKn.d.ts} +1 -2
  5. package/dist/{0X-C4IRh_fJ.d.ts → 0X-ChfmeAYF.d.cts} +1 -1
  6. package/dist/{1X-D_aUVsuM.d.cts → 1X-CmlbG02M.d.ts} +1 -2
  7. package/dist/{1X-BwpSoT3o.d.cts → 1X-DFikQbP0.d.cts} +1 -1
  8. package/dist/{1X-C-_KHV-Q.d.ts → 1X-DbFshzup.d.ts} +1 -2
  9. package/dist/{1X-Brnls9Jh.d.ts → 1X-jFrFCOs0.d.cts} +1 -1
  10. package/dist/{2X-UdQcQW24.d.ts → 2X-5cE4ojEX.d.cts} +1 -1
  11. package/dist/{2X-hClUyw26.d.cts → 2X-DA6J6Wd7.d.ts} +1 -2
  12. package/dist/{2X-Bb6elyzV.d.cts → 2X-FWZ1rYVt.d.cts} +1 -1
  13. package/dist/{2X-DkS1BoE5.d.ts → 2X-eC_p0QJf.d.ts} +1 -2
  14. package/dist/{3X-C7VFD-n-.d.cts → 3X-D9duw0Ro.d.cts} +1 -1
  15. package/dist/{3X-DFI-4RQQ.d.ts → 3X-DbfkwdkO.d.ts} +1 -2
  16. package/dist/{3X-DVDyspgb.d.ts → 3X-GxuN79Ax.d.ts} +1 -2
  17. package/dist/{3X-CLMESDvz.d.cts → 3X-r9xbWJ2l.d.cts} +1 -1
  18. package/dist/{4X-CIJ2JJ2w.d.ts → 4X-1ZkK-uH5.d.cts} +1 -1
  19. package/dist/{4X-CUR8jlaZ.d.ts → 4X-CLO9OuKa.d.cts} +1 -1
  20. package/dist/{4X-DIfvpU6V.d.cts → 4X-CnHtgO6u.d.ts} +1 -2
  21. package/dist/{4X-CvScPJTf.d.cts → 4X-DYz_nYSD.d.ts} +1 -2
  22. package/dist/{5X-COsZHUaQ.d.ts → 5X-BzPEdkbC.d.ts} +1 -2
  23. package/dist/{5X-C6db432h.d.ts → 5X-BziH0a09.d.cts} +1 -1
  24. package/dist/{5X-BOUxhadJ.d.cts → 5X-Cfe39fFc.d.cts} +1 -1
  25. package/dist/{5X-CkLu7Vyd.d.cts → 5X-kBF74qx1.d.ts} +1 -2
  26. package/dist/{6X-C_fFIcJC.d.ts → 6X-BceErbps.d.cts} +1 -1
  27. package/dist/{6X-DE7RJeV6.d.cts → 6X-C_xpeu6J.d.ts} +1 -2
  28. package/dist/{6X-ClZDKOTC.d.ts → 6X-DLWEe1bP.d.cts} +1 -1
  29. package/dist/{6X-Mf32k1d0.d.cts → 6X-sQZfT0ZK.d.ts} +1 -2
  30. package/dist/{7X-Chtd6B66.d.cts → 7X-Bet2agJ6.d.ts} +1 -2
  31. package/dist/{7X-kot_VccM.d.ts → 7X-BoKQxMoO.d.ts} +1 -2
  32. package/dist/{7X-BZyesooz.d.ts → 7X-CucHYQsA.d.cts} +1 -1
  33. package/dist/{7X-DoCUcp-J.d.cts → 7X-CwPAqozm.d.cts} +1 -1
  34. package/dist/{8X-Df4DOBOe.d.ts → 8X-BIjJ9kaV.d.cts} +1 -1
  35. package/dist/{8X-Dr9RunRw.d.cts → 8X-BOEWATU3.d.ts} +1 -2
  36. package/dist/{8X-DkuKAkHz.d.ts → 8X-CJpqd5xp.d.cts} +1 -1
  37. package/dist/{8X-DqZyMvyV.d.cts → 8X-s5AzkHR-.d.ts} +1 -2
  38. package/dist/{9X-BDgifncF.d.ts → 9X-BBDP1gZ6.d.ts} +1 -2
  39. package/dist/{9X-BaoZtjWF.d.cts → 9X-CP5Xp6bE.d.cts} +1 -1
  40. package/dist/{9X-BcAb6Uso.d.cts → 9X-D3aOVCnz.d.cts} +1 -1
  41. package/dist/{9X-BhBWlgxG.d.ts → 9X-DAAZV4sr.d.ts} +1 -2
  42. package/dist/{AX-D6XHWdrY.d.ts → AX-CmpMMhII.d.ts} +1 -2
  43. package/dist/{AX-BY72FohC.d.cts → AX-DFzpxGOT.d.cts} +1 -1
  44. package/dist/{BX-D_0C8Qbd.d.ts → BX-CyiqNE6b.d.cts} +1 -1
  45. package/dist/{BX-CA0OmrUZ.d.cts → BX-j78z_ju_.d.ts} +1 -2
  46. package/dist/{CX-glpQSL8x.d.cts → CX-B6rEhQx7.d.ts} +1 -2
  47. package/dist/{CX-HH4cSZRX.d.ts → CX-BTPvC3Dv.d.cts} +1 -1
  48. package/dist/{DX-DimL1MDM.d.cts → DX-BD4-hTCh.d.cts} +1 -1
  49. package/dist/{DX-Dx22ax_I.d.ts → DX-CAmMnx5a.d.ts} +1 -2
  50. package/dist/{EX-BRWh1wFc.d.ts → EX-CXhSC85J.d.ts} +1 -2
  51. package/dist/{EX-Cx87Ruxl.d.cts → EX-mTHCH0Yk.d.cts} +1 -1
  52. package/dist/{FX-D81UlxNN.d.cts → FX-DOOMoQl2.d.cts} +1 -1
  53. package/dist/{FX-RmjwAr40.d.ts → FX-DYVIJ3l0.d.ts} +1 -2
  54. package/dist/{GX-CJyo7oDp.d.ts → GX-8URJ7WHz.d.cts} +1 -1
  55. package/dist/{GX-9i7piP9G.d.cts → GX-eBOVHqi6.d.ts} +1 -2
  56. package/dist/{HX-20GVJAvl.d.cts → HX-49z8CzsE.d.cts} +1 -1
  57. package/dist/{HX-XALBTdLA.d.ts → HX-Dz5T0xXI.d.ts} +1 -2
  58. package/dist/{IX-6SZ55QKb.d.ts → IX-B6kblmBs.d.cts} +1 -1
  59. package/dist/{IX-D54NGPsc.d.cts → IX-PiKYro5a.d.ts} +1 -2
  60. package/dist/{JX-C1RYcwQX.d.cts → JX-DMwHLGEE.d.cts} +1 -1
  61. package/dist/{JX-hQ1XRmLp.d.ts → JX-Dvnt0mSK.d.ts} +1 -2
  62. package/dist/{KX-BNwunEfn.d.ts → KX-BUb8e0yg.d.ts} +1 -2
  63. package/dist/{KX-gQHCIgtQ.d.cts → KX-DaJPkefl.d.cts} +1 -1
  64. package/dist/{LX-CHYX3X3J.d.ts → LX-BnILxjdS.d.cts} +1 -1
  65. package/dist/{LX-CPurJGIh.d.cts → LX-l5ZBaGov.d.ts} +1 -2
  66. package/dist/{MX-BPGLWSUz.d.ts → MX-BbPO8mTj.d.cts} +1 -1
  67. package/dist/{MX-BnyW5eHf.d.cts → MX-C7C15AWi.d.ts} +1 -2
  68. package/dist/{NX-RulN5Ml3.d.ts → NX-C7nFVC-D.d.ts} +1 -2
  69. package/dist/{NX-B11fQuco.d.cts → NX-xy5uw7H3.d.cts} +1 -1
  70. package/dist/{OX-DgKVSp7I.d.ts → OX-CIzARbON.d.cts} +1 -1
  71. package/dist/{OX-T-ydRXQS.d.cts → OX-Dmkvcaij.d.ts} +1 -2
  72. package/dist/{PX-DA4A2kEv.d.ts → PX-BKZ14N7N.d.ts} +1 -2
  73. package/dist/{PX-p0n1SzvU.d.cts → PX-CL8waFgx.d.cts} +1 -1
  74. package/dist/{QX-DrFqsMEs.d.ts → QX-6xdSNtxZ.d.ts} +1 -2
  75. package/dist/{QX-CI1NccIB.d.cts → QX-BowAYqZb.d.cts} +1 -1
  76. package/dist/{RX-DnNKol22.d.cts → RX-DFoiOK5q.d.ts} +1 -2
  77. package/dist/{RX-Cm7vFcFN.d.ts → RX-fWoWcHTG.d.cts} +1 -1
  78. package/dist/{SX-BUjiWQYz.d.cts → SX-CZ3e31OT.d.cts} +1 -1
  79. package/dist/{SX-CsPPTu-W.d.ts → SX-D-Szi9wa.d.ts} +1 -2
  80. package/dist/{TX-DCY25MdR.d.ts → TX-CJhJ-HYX.d.cts} +1 -1
  81. package/dist/{TX-DOEpsf05.d.cts → TX-DTfkGsqn.d.ts} +1 -2
  82. package/dist/{UX-DgUOnTFK.d.cts → UX-Bw4HHAj4.d.ts} +1 -2
  83. package/dist/{UX-DauyagHy.d.ts → UX-P7-u2y70.d.cts} +1 -1
  84. package/dist/{VX-DD4scgCe.d.ts → VX-C8Eu5gQf.d.cts} +1 -1
  85. package/dist/{VX-kUX6LM-3.d.cts → VX-DCv5x_hi.d.ts} +1 -2
  86. package/dist/{WX-DPfyPFFh.d.cts → WX-BYtJ5_if.d.ts} +1 -2
  87. package/dist/{WX-CjkoppdY.d.ts → WX-DkiaqB2V.d.cts} +1 -1
  88. package/dist/{XX-sbsIUOnA.d.ts → XX-D4p4iK-a.d.cts} +1 -1
  89. package/dist/{XX-C4C1gQZH.d.cts → XX-Jo1yJO3A.d.ts} +1 -2
  90. package/dist/{YX-DUdO8mRC.d.ts → YX-BvGmEsVG.d.ts} +1 -2
  91. package/dist/{YX-BeT-LsiA.d.cts → YX-Du8zv9qz.d.cts} +1 -1
  92. package/dist/{ZX-BuVTTq-D.d.cts → ZX-B4jFD-21.d.cts} +1 -1
  93. package/dist/{ZX-DwfcSA-D.d.ts → ZX-B59AJcBY.d.ts} +1 -2
  94. package/dist/api/platform/platformLogin.d.ts +58 -60
  95. package/dist/api/platform/platformLogin.js +1 -1
  96. package/dist/certificate-DFK-788s.cjs +62 -0
  97. package/dist/certificate-DFK-788s.cjs.map +1 -0
  98. package/dist/certificate-aooIRf9A.js +49 -0
  99. package/dist/{classification-codes-C2X4xW5-.d.ts → classification-codes-BKxV-rO9.d.ts} +1 -2
  100. package/dist/{country-code-DsI8Mbzx.d.ts → country-code-CQuaiQm2.d.ts} +1 -2
  101. package/dist/{currencies-DKuDflOO.d.ts → currencies-BYJK-m6v.d.ts} +1 -2
  102. package/dist/document-DMIMRJV0.cjs +472 -0
  103. package/dist/document-DMIMRJV0.cjs.map +1 -0
  104. package/dist/document-NQos5fSr.js +405 -0
  105. package/dist/documents-BVG7KIKY.d.ts +847 -0
  106. package/dist/documents-C066EC9m.d.cts +848 -0
  107. package/dist/{e-invoice-C2TxhyrK.d.ts → e-invoice-CmbLQkHw.d.ts} +1 -2
  108. package/dist/{getBaseUrl-Dx6RDC8I.js → getBaseUrl-R3IdgCu3.js} +1 -2
  109. package/dist/{index-B1DSs-wd.d.cts → index-0-EvC6Nv.d.ts} +1 -2
  110. package/dist/{index-FTgB2nM6.d.ts → index-D2_HVwCz.d.cts} +1 -1
  111. package/dist/index.cjs +308 -12
  112. package/dist/index.cjs.map +1 -0
  113. package/dist/index.d.ts +233 -60
  114. package/dist/index.js +306 -11
  115. package/dist/index10.cjs +0 -34
  116. package/dist/index11.cjs +25 -15
  117. package/dist/index11.cjs.map +1 -1
  118. package/dist/index12.cjs +24 -0
  119. package/dist/index12.cjs.map +1 -0
  120. package/dist/index13.cjs +0 -13
  121. package/dist/index15.cjs +3 -2
  122. package/dist/index16.cjs +12 -16
  123. package/dist/index17.cjs +2 -2
  124. package/dist/index18.cjs +336 -204
  125. package/dist/index18.cjs.map +1 -1
  126. package/dist/index19.cjs +325 -105
  127. package/dist/index19.cjs.map +1 -1
  128. package/dist/index20.cjs +136 -133
  129. package/dist/index20.cjs.map +1 -1
  130. package/dist/index21.cjs +2 -63
  131. package/dist/index22.cjs +203 -262
  132. package/dist/index22.cjs.map +1 -1
  133. package/dist/index23.cjs +104 -74
  134. package/dist/index23.cjs.map +1 -1
  135. package/dist/index24.cjs +132 -102
  136. package/dist/index24.cjs.map +1 -1
  137. package/dist/index25.cjs +59 -68
  138. package/dist/index25.cjs.map +1 -1
  139. package/dist/index26.cjs +262 -107
  140. package/dist/index26.cjs.map +1 -1
  141. package/dist/index27.cjs +74 -95
  142. package/dist/index27.cjs.map +1 -1
  143. package/dist/index28.cjs +102 -13
  144. package/dist/index28.cjs.map +1 -1
  145. package/dist/index29.cjs +68 -33
  146. package/dist/index29.cjs.map +1 -1
  147. package/dist/index30.cjs +107 -14
  148. package/dist/index30.cjs.map +1 -1
  149. package/dist/index31.cjs +95 -24
  150. package/dist/index31.cjs.map +1 -1
  151. package/dist/index32.cjs +11 -13
  152. package/dist/index32.cjs.map +1 -1
  153. package/dist/index33.cjs +31 -7
  154. package/dist/index33.cjs.map +1 -1
  155. package/dist/index34.cjs +12 -7
  156. package/dist/index34.cjs.map +1 -1
  157. package/dist/index35.cjs +22 -10
  158. package/dist/index35.cjs.map +1 -1
  159. package/dist/index36.cjs +13 -6
  160. package/dist/index36.cjs.map +1 -1
  161. package/dist/index37.cjs +7 -101
  162. package/dist/index37.cjs.map +1 -1
  163. package/dist/index38.cjs +7 -106
  164. package/dist/index38.cjs.map +1 -1
  165. package/dist/index39.cjs +10 -119
  166. package/dist/index39.cjs.map +1 -1
  167. package/dist/index40.cjs +6 -106
  168. package/dist/index40.cjs.map +1 -1
  169. package/dist/index41.cjs +101 -98
  170. package/dist/index41.cjs.map +1 -1
  171. package/dist/index42.cjs +106 -118
  172. package/dist/index42.cjs.map +1 -1
  173. package/dist/index43.cjs +119 -127
  174. package/dist/index43.cjs.map +1 -1
  175. package/dist/index44.cjs +106 -117
  176. package/dist/index44.cjs.map +1 -1
  177. package/dist/index45.cjs +98 -14
  178. package/dist/index45.cjs.map +1 -1
  179. package/dist/index46.cjs +118 -95
  180. package/dist/index46.cjs.map +1 -1
  181. package/dist/index47.cjs +127 -142
  182. package/dist/index47.cjs.map +1 -1
  183. package/dist/index48.cjs +117 -114
  184. package/dist/index48.cjs.map +1 -1
  185. package/dist/index49.cjs +14 -144
  186. package/dist/index49.cjs.map +1 -1
  187. package/dist/index5.cjs +0 -25
  188. package/dist/index50.cjs +95 -113
  189. package/dist/index50.cjs.map +1 -1
  190. package/dist/index51.cjs +142 -17
  191. package/dist/index51.cjs.map +1 -1
  192. package/dist/index52.cjs +114 -112
  193. package/dist/index52.cjs.map +1 -1
  194. package/dist/index53.cjs +144 -47
  195. package/dist/index53.cjs.map +1 -1
  196. package/dist/index54.cjs +113 -14
  197. package/dist/index54.cjs.map +1 -1
  198. package/dist/index55.cjs +17 -28
  199. package/dist/index55.cjs.map +1 -1
  200. package/dist/index56.cjs +112 -22
  201. package/dist/index56.cjs.map +1 -1
  202. package/dist/index57.cjs +47 -9
  203. package/dist/index57.cjs.map +1 -1
  204. package/dist/index58.cjs +14 -8
  205. package/dist/index58.cjs.map +1 -1
  206. package/dist/index58.cts.map +1 -0
  207. package/dist/index59.cjs +28 -17
  208. package/dist/index59.cjs.map +1 -1
  209. package/dist/index59.cts.map +1 -1
  210. package/dist/index6.cjs +25 -0
  211. package/dist/{index5.cjs.map → index6.cjs.map} +1 -1
  212. package/dist/index60.cjs +22 -412
  213. package/dist/index60.cjs.map +1 -1
  214. package/dist/index60.cts.map +1 -0
  215. package/dist/index61.cjs +9 -8
  216. package/dist/index61.cjs.map +1 -1
  217. package/dist/index61.cts.map +1 -0
  218. package/dist/index62.cjs +8 -9
  219. package/dist/index62.cjs.map +1 -1
  220. package/dist/index62.cts.map +1 -1
  221. package/dist/index63.cjs +24 -0
  222. package/dist/index63.cjs.map +1 -0
  223. package/dist/index63.cts.map +1 -1
  224. package/dist/index64.cjs +419 -0
  225. package/dist/index64.cjs.map +1 -0
  226. package/dist/index64.cts.map +1 -1
  227. package/dist/index65.cjs +9 -116
  228. package/dist/index65.cjs.map +1 -1
  229. package/dist/index65.cts.map +1 -1
  230. package/dist/index66.cjs +10 -223
  231. package/dist/index66.cjs.map +1 -1
  232. package/dist/index66.cts.map +1 -1
  233. package/dist/index8.cjs +0 -25
  234. package/dist/index9.cjs +25 -0
  235. package/dist/{index8.cjs.map → index9.cjs.map} +1 -1
  236. package/dist/{msic-codes-B_1W6lZF.d.cts → msic-codes-CPWVNnpq.d.cts} +11 -11
  237. package/dist/msic-codes-DToUqTI6.d.ts +25 -0
  238. package/dist/{payment-modes-DHihrywe.d.cts → payment-modes-DA7uBIGb.d.ts} +1 -2
  239. package/dist/{payment-modes-B8dNy3SM.d.ts → payment-modes-FX88uyhP.d.cts} +1 -1
  240. package/dist/platformLogin-PGzMhw1X.cjs.map +1 -1
  241. package/dist/{platformLogin-DsxWWUXr.js → platformLogin-f0bNAoZI.js} +1 -2
  242. package/dist/{signatures-C9QPZTQd.d.ts → signatures-CG175mpg.d.ts} +1 -2
  243. package/dist/{state-codes-DXSWtE6a.d.cts → state-codes-CNp_6051.d.cts} +1 -1
  244. package/dist/{state-codes-CxG1S9YY.d.ts → state-codes-dvoTe5pC.d.ts} +1 -2
  245. package/dist/{tax-types-CEpfSh5P.d.ts → tax-types-tosH5I0q.d.ts} +1 -2
  246. package/dist/types/classification-codes.d.ts +1 -1
  247. package/dist/types/country-code.d.ts +1 -1
  248. package/dist/types/currencies.d.ts +1 -1
  249. package/dist/types/documents.d.ts +7 -0
  250. package/dist/types/e-invoice.d.ts +1 -1
  251. package/dist/types/index.d.ts +58 -59
  252. package/dist/types/msic/0X.d.ts +1 -1
  253. package/dist/types/msic/1X.d.ts +1 -1
  254. package/dist/types/msic/2X.d.ts +1 -1
  255. package/dist/types/msic/3X.d.ts +1 -1
  256. package/dist/types/msic/4X.d.ts +1 -1
  257. package/dist/types/msic/5X.d.ts +1 -1
  258. package/dist/types/msic/6X.d.ts +1 -1
  259. package/dist/types/msic/7X.d.ts +1 -1
  260. package/dist/types/msic/8X.d.ts +1 -1
  261. package/dist/types/msic/9X.d.ts +1 -1
  262. package/dist/types/msic-codes.d.ts +11 -11
  263. package/dist/types/payment-modes.d.ts +1 -1
  264. package/dist/types/signatures.d.ts +1 -1
  265. package/dist/types/state-codes.d.ts +1 -1
  266. package/dist/types/tax-types.d.ts +1 -1
  267. package/dist/types/unit/1X.d.ts +1 -1
  268. package/dist/types/unit/2X.d.ts +1 -1
  269. package/dist/types/unit/3X.d.ts +1 -1
  270. package/dist/types/unit/4X.d.ts +1 -1
  271. package/dist/types/unit/5X.d.ts +1 -1
  272. package/dist/types/unit/6X.d.ts +1 -1
  273. package/dist/types/unit/7X.d.ts +1 -1
  274. package/dist/types/unit/8X.d.ts +1 -1
  275. package/dist/types/unit/9X.d.ts +1 -1
  276. package/dist/types/unit/AX.d.ts +1 -1
  277. package/dist/types/unit/BX.d.ts +1 -1
  278. package/dist/types/unit/CX.d.ts +1 -1
  279. package/dist/types/unit/DX.d.ts +1 -1
  280. package/dist/types/unit/EX.d.ts +1 -1
  281. package/dist/types/unit/FX.d.ts +1 -1
  282. package/dist/types/unit/GX.d.ts +1 -1
  283. package/dist/types/unit/HX.d.ts +1 -1
  284. package/dist/types/unit/IX.d.ts +1 -1
  285. package/dist/types/unit/JX.d.ts +1 -1
  286. package/dist/types/unit/KX.d.ts +1 -1
  287. package/dist/types/unit/LX.d.ts +1 -1
  288. package/dist/types/unit/MX.d.ts +1 -1
  289. package/dist/types/unit/NX.d.ts +1 -1
  290. package/dist/types/unit/OX.d.ts +1 -1
  291. package/dist/types/unit/PX.d.ts +1 -1
  292. package/dist/types/unit/QX.d.ts +1 -1
  293. package/dist/types/unit/RX.d.ts +1 -1
  294. package/dist/types/unit/SX.d.ts +1 -1
  295. package/dist/types/unit/TX.d.ts +1 -1
  296. package/dist/types/unit/UX.d.ts +1 -1
  297. package/dist/types/unit/VX.d.ts +1 -1
  298. package/dist/types/unit/WX.d.ts +1 -1
  299. package/dist/types/unit/XX.d.ts +1 -1
  300. package/dist/types/unit/YX.d.ts +1 -1
  301. package/dist/types/unit/ZX.d.ts +1 -1
  302. package/dist/types/unit-types.d.ts +36 -36
  303. package/dist/unit-types-BKZxwVYQ.d.ts +55 -0
  304. package/dist/unit-types-CaOA5ZDG.d.cts +56 -0
  305. package/dist/utils/base64.d.ts +1 -2
  306. package/dist/utils/base64.js +1 -2
  307. package/dist/utils/certificate.d.ts +22 -0
  308. package/dist/utils/certificate.js +3 -0
  309. package/dist/utils/document.d.ts +135 -0
  310. package/dist/utils/document.js +3 -0
  311. package/dist/utils/getBaseUrl.d.ts +1 -2
  312. package/dist/utils/getBaseUrl.js +1 -1
  313. package/dist/utils/helpers.d.ts +271 -0
  314. package/dist/utils/helpers.js +330 -0
  315. package/dist/utils/signature-diagnostics.d.ts +93 -0
  316. package/dist/utils/signature-diagnostics.js +326 -0
  317. package/dist/utils/validation.d.ts +46 -0
  318. package/dist/utils/validation.js +134 -0
  319. package/myinvois-cert.conf.template +23 -0
  320. package/package.json +9 -3
  321. package/scripts/gen-cert.sh +159 -0
  322. package/src/api/platform/platformLogin.ts +1 -1
  323. package/src/index.ts +528 -1
  324. package/src/types/documents.d.ts +862 -0
  325. package/src/types/index.d.ts +1 -1
  326. package/src/utils/certificate.ts +60 -0
  327. package/src/utils/document.ts +852 -0
  328. package/src/utils/helpers.ts +552 -0
  329. package/src/utils/signature-diagnostics.ts +583 -0
  330. package/src/utils/validation.ts +268 -0
  331. package/test/MyInvoiClientWithRealData.test.ts +9 -1
  332. package/test/MyInvoisClient.test.ts +7 -1
  333. package/test/dynamicInvoiceFeatures.test.ts +449 -0
  334. package/test/signAndSubmitInvoice.test.ts +269 -734
  335. package/test/signature-diagnostics.test.ts +128 -0
  336. package/tsconfig.json +0 -3
  337. package/dist/0X-C4IRh_fJ.d.ts.map +0 -1
  338. package/dist/0X-Yw7mZEro.d.cts.map +0 -1
  339. package/dist/1X-Brnls9Jh.d.ts.map +0 -1
  340. package/dist/1X-BwpSoT3o.d.cts.map +0 -1
  341. package/dist/1X-C-_KHV-Q.d.ts.map +0 -1
  342. package/dist/1X-D_aUVsuM.d.cts.map +0 -1
  343. package/dist/2X-Bb6elyzV.d.cts.map +0 -1
  344. package/dist/2X-DkS1BoE5.d.ts.map +0 -1
  345. package/dist/2X-UdQcQW24.d.ts.map +0 -1
  346. package/dist/2X-hClUyw26.d.cts.map +0 -1
  347. package/dist/3X-C7VFD-n-.d.cts.map +0 -1
  348. package/dist/3X-CLMESDvz.d.cts.map +0 -1
  349. package/dist/3X-DFI-4RQQ.d.ts.map +0 -1
  350. package/dist/3X-DVDyspgb.d.ts.map +0 -1
  351. package/dist/4X-CIJ2JJ2w.d.ts.map +0 -1
  352. package/dist/4X-CUR8jlaZ.d.ts.map +0 -1
  353. package/dist/4X-CvScPJTf.d.cts.map +0 -1
  354. package/dist/4X-DIfvpU6V.d.cts.map +0 -1
  355. package/dist/5X-BOUxhadJ.d.cts.map +0 -1
  356. package/dist/5X-C6db432h.d.ts.map +0 -1
  357. package/dist/5X-COsZHUaQ.d.ts.map +0 -1
  358. package/dist/5X-CkLu7Vyd.d.cts.map +0 -1
  359. package/dist/6X-C_fFIcJC.d.ts.map +0 -1
  360. package/dist/6X-ClZDKOTC.d.ts.map +0 -1
  361. package/dist/6X-DE7RJeV6.d.cts.map +0 -1
  362. package/dist/6X-Mf32k1d0.d.cts.map +0 -1
  363. package/dist/7X-BZyesooz.d.ts.map +0 -1
  364. package/dist/7X-Chtd6B66.d.cts.map +0 -1
  365. package/dist/7X-DoCUcp-J.d.cts.map +0 -1
  366. package/dist/7X-kot_VccM.d.ts.map +0 -1
  367. package/dist/8X-Df4DOBOe.d.ts.map +0 -1
  368. package/dist/8X-DkuKAkHz.d.ts.map +0 -1
  369. package/dist/8X-DqZyMvyV.d.cts.map +0 -1
  370. package/dist/8X-Dr9RunRw.d.cts.map +0 -1
  371. package/dist/9X-BDgifncF.d.ts.map +0 -1
  372. package/dist/9X-BaoZtjWF.d.cts.map +0 -1
  373. package/dist/9X-BcAb6Uso.d.cts.map +0 -1
  374. package/dist/9X-BhBWlgxG.d.ts.map +0 -1
  375. package/dist/AX-BY72FohC.d.cts.map +0 -1
  376. package/dist/AX-D6XHWdrY.d.ts.map +0 -1
  377. package/dist/BX-CA0OmrUZ.d.cts.map +0 -1
  378. package/dist/BX-D_0C8Qbd.d.ts.map +0 -1
  379. package/dist/CX-HH4cSZRX.d.ts.map +0 -1
  380. package/dist/CX-glpQSL8x.d.cts.map +0 -1
  381. package/dist/DX-DimL1MDM.d.cts.map +0 -1
  382. package/dist/DX-Dx22ax_I.d.ts.map +0 -1
  383. package/dist/EX-BRWh1wFc.d.ts.map +0 -1
  384. package/dist/EX-Cx87Ruxl.d.cts.map +0 -1
  385. package/dist/FX-D81UlxNN.d.cts.map +0 -1
  386. package/dist/FX-RmjwAr40.d.ts.map +0 -1
  387. package/dist/GX-9i7piP9G.d.cts.map +0 -1
  388. package/dist/GX-CJyo7oDp.d.ts.map +0 -1
  389. package/dist/HX-20GVJAvl.d.cts.map +0 -1
  390. package/dist/HX-XALBTdLA.d.ts.map +0 -1
  391. package/dist/IX-6SZ55QKb.d.ts.map +0 -1
  392. package/dist/IX-D54NGPsc.d.cts.map +0 -1
  393. package/dist/JX-C1RYcwQX.d.cts.map +0 -1
  394. package/dist/JX-hQ1XRmLp.d.ts.map +0 -1
  395. package/dist/KX-BNwunEfn.d.ts.map +0 -1
  396. package/dist/KX-gQHCIgtQ.d.cts.map +0 -1
  397. package/dist/LX-CHYX3X3J.d.ts.map +0 -1
  398. package/dist/LX-CPurJGIh.d.cts.map +0 -1
  399. package/dist/MX-BPGLWSUz.d.ts.map +0 -1
  400. package/dist/MX-BnyW5eHf.d.cts.map +0 -1
  401. package/dist/MyInvoisClient-BrNyMjS-.d.cts +0 -178
  402. package/dist/MyInvoisClient-BrNyMjS-.d.cts.map +0 -1
  403. package/dist/MyInvoisClient-CXu4pdl-.d.ts +0 -178
  404. package/dist/MyInvoisClient-CXu4pdl-.d.ts.map +0 -1
  405. package/dist/MyInvoisClient-Cnvb5iUC.js +0 -299
  406. package/dist/MyInvoisClient-Cnvb5iUC.js.map +0 -1
  407. package/dist/MyInvoisClient-DO1dJfQq.cjs +0 -304
  408. package/dist/MyInvoisClient-DO1dJfQq.cjs.map +0 -1
  409. package/dist/NX-B11fQuco.d.cts.map +0 -1
  410. package/dist/NX-RulN5Ml3.d.ts.map +0 -1
  411. package/dist/OX-DgKVSp7I.d.ts.map +0 -1
  412. package/dist/OX-T-ydRXQS.d.cts.map +0 -1
  413. package/dist/PX-DA4A2kEv.d.ts.map +0 -1
  414. package/dist/PX-p0n1SzvU.d.cts.map +0 -1
  415. package/dist/QX-CI1NccIB.d.cts.map +0 -1
  416. package/dist/QX-DrFqsMEs.d.ts.map +0 -1
  417. package/dist/RX-Cm7vFcFN.d.ts.map +0 -1
  418. package/dist/RX-DnNKol22.d.cts.map +0 -1
  419. package/dist/SX-BUjiWQYz.d.cts.map +0 -1
  420. package/dist/SX-CsPPTu-W.d.ts.map +0 -1
  421. package/dist/TX-DCY25MdR.d.ts.map +0 -1
  422. package/dist/TX-DOEpsf05.d.cts.map +0 -1
  423. package/dist/UX-DauyagHy.d.ts.map +0 -1
  424. package/dist/UX-DgUOnTFK.d.cts.map +0 -1
  425. package/dist/VX-DD4scgCe.d.ts.map +0 -1
  426. package/dist/VX-kUX6LM-3.d.cts.map +0 -1
  427. package/dist/WX-CjkoppdY.d.ts.map +0 -1
  428. package/dist/WX-DPfyPFFh.d.cts.map +0 -1
  429. package/dist/XX-C4C1gQZH.d.cts.map +0 -1
  430. package/dist/XX-sbsIUOnA.d.ts.map +0 -1
  431. package/dist/YX-BeT-LsiA.d.cts.map +0 -1
  432. package/dist/YX-DUdO8mRC.d.ts.map +0 -1
  433. package/dist/ZX-BuVTTq-D.d.cts.map +0 -1
  434. package/dist/ZX-DwfcSA-D.d.ts.map +0 -1
  435. package/dist/api/platform/platformLogin.d.ts.map +0 -1
  436. package/dist/canonicalize-C_fNNpYr.cjs +0 -80
  437. package/dist/canonicalize-C_fNNpYr.cjs.map +0 -1
  438. package/dist/canonicalize-DNUrCGad.js +0 -68
  439. package/dist/canonicalize-DNUrCGad.js.map +0 -1
  440. package/dist/classification-codes-B15PbWxz.d.cts.map +0 -1
  441. package/dist/classification-codes-C2X4xW5-.d.ts.map +0 -1
  442. package/dist/country-code-DPeNFMMi.d.cts.map +0 -1
  443. package/dist/country-code-DsI8Mbzx.d.ts.map +0 -1
  444. package/dist/currencies-DKuDflOO.d.ts.map +0 -1
  445. package/dist/currencies-S5g1gzBU.d.cts.map +0 -1
  446. package/dist/e-invoice-BuwtFnlI.d.cts.map +0 -1
  447. package/dist/e-invoice-C2TxhyrK.d.ts.map +0 -1
  448. package/dist/getBaseUrl-Dx6RDC8I.js.map +0 -1
  449. package/dist/hashCert-Bol7lIh2.js +0 -62
  450. package/dist/hashCert-Bol7lIh2.js.map +0 -1
  451. package/dist/hashCert-mlYEuYex.cjs +0 -68
  452. package/dist/hashCert-mlYEuYex.cjs.map +0 -1
  453. package/dist/hashSignedProperties-9vj5wlYR.js +0 -83
  454. package/dist/hashSignedProperties-9vj5wlYR.js.map +0 -1
  455. package/dist/hashSignedProperties-CU_ZqqmY.cjs +0 -95
  456. package/dist/hashSignedProperties-CU_ZqqmY.cjs.map +0 -1
  457. package/dist/index-B1DSs-wd.d.cts.map +0 -1
  458. package/dist/index-CJNLQVjx.d.ts +0 -1
  459. package/dist/index-FTgB2nM6.d.ts.map +0 -1
  460. package/dist/index-Wy1ONBjV.d.cts +0 -1
  461. package/dist/index10.cjs.map +0 -1
  462. package/dist/index21.cjs.map +0 -1
  463. package/dist/index67.cjs +0 -4
  464. package/dist/index67.cts.map +0 -1
  465. package/dist/index68.cjs +0 -3
  466. package/dist/index68.cts.map +0 -1
  467. package/dist/index69.cjs +0 -4
  468. package/dist/index69.cts.map +0 -1
  469. package/dist/index70.cjs +0 -3
  470. package/dist/index70.cts.map +0 -1
  471. package/dist/index71.cjs +0 -3
  472. package/dist/index71.cts.map +0 -1
  473. package/dist/index72.cjs +0 -3
  474. package/dist/index72.cts.map +0 -1
  475. package/dist/index73.cjs +0 -3
  476. package/dist/index73.cts.map +0 -1
  477. package/dist/invoice-1_1-BJVcw-oE.d.ts +0 -432
  478. package/dist/invoice-1_1-BJVcw-oE.d.ts.map +0 -1
  479. package/dist/invoice-1_1-DWdNPRzr.d.cts +0 -432
  480. package/dist/invoice-1_1-DWdNPRzr.d.cts.map +0 -1
  481. package/dist/invoice1-1-8S-QQn7P.cjs +0 -547
  482. package/dist/invoice1-1-8S-QQn7P.cjs.map +0 -1
  483. package/dist/invoice1-1-CHuLpkFz.js +0 -504
  484. package/dist/invoice1-1-CHuLpkFz.js.map +0 -1
  485. package/dist/msic-codes-B_1W6lZF.d.cts.map +0 -1
  486. package/dist/msic-codes-bs0lTfSZ.d.ts +0 -26
  487. package/dist/msic-codes-bs0lTfSZ.d.ts.map +0 -1
  488. package/dist/payment-modes-B8dNy3SM.d.ts.map +0 -1
  489. package/dist/payment-modes-DHihrywe.d.cts.map +0 -1
  490. package/dist/platformLogin-DsxWWUXr.js.map +0 -1
  491. package/dist/populateFinalDocument-BdyYzz5Y.cjs +0 -96
  492. package/dist/populateFinalDocument-BdyYzz5Y.cjs.map +0 -1
  493. package/dist/populateFinalDocument-BpLXmgLv.js +0 -90
  494. package/dist/populateFinalDocument-BpLXmgLv.js.map +0 -1
  495. package/dist/populateSignedProperties-BJMcBQ6S.cjs +0 -58
  496. package/dist/populateSignedProperties-BJMcBQ6S.cjs.map +0 -1
  497. package/dist/populateSignedProperties-BvGN-YZH.js +0 -52
  498. package/dist/populateSignedProperties-BvGN-YZH.js.map +0 -1
  499. package/dist/sign-B61Cy3gO.cjs +0 -40
  500. package/dist/sign-B61Cy3gO.cjs.map +0 -1
  501. package/dist/sign-DzHK7UhR.js +0 -34
  502. package/dist/sign-DzHK7UhR.js.map +0 -1
  503. package/dist/signatures-BKi9DP2K.d.cts.map +0 -1
  504. package/dist/signatures-C9QPZTQd.d.ts.map +0 -1
  505. package/dist/state-codes-CxG1S9YY.d.ts.map +0 -1
  506. package/dist/state-codes-DXSWtE6a.d.cts.map +0 -1
  507. package/dist/tax-types-CEpfSh5P.d.ts.map +0 -1
  508. package/dist/tax-types-CgwxONDS.d.cts.map +0 -1
  509. package/dist/transform-BLz0S687.cjs +0 -72
  510. package/dist/transform-BLz0S687.cjs.map +0 -1
  511. package/dist/transform-D1q-U6Zj.js +0 -66
  512. package/dist/transform-D1q-U6Zj.js.map +0 -1
  513. package/dist/types/documents/index.d.ts +0 -57
  514. package/dist/types/documents/invoice-1_1.d.ts +0 -56
  515. package/dist/unit-types-1bF0KhIp.d.ts +0 -56
  516. package/dist/unit-types-1bF0KhIp.d.ts.map +0 -1
  517. package/dist/unit-types-CsrkvgfG.d.cts +0 -56
  518. package/dist/unit-types-CsrkvgfG.d.cts.map +0 -1
  519. package/dist/utils/MyInvoisClient.d.ts +0 -60
  520. package/dist/utils/MyInvoisClient.js +0 -13
  521. package/dist/utils/base64.d.ts.map +0 -1
  522. package/dist/utils/base64.js.map +0 -1
  523. package/dist/utils/debug/debug-document-hash.d.ts +0 -100
  524. package/dist/utils/debug/debug-document-hash.d.ts.map +0 -1
  525. package/dist/utils/debug/debug-document-hash.js +0 -120
  526. package/dist/utils/debug/debug-document-hash.js.map +0 -1
  527. package/dist/utils/debug/debug-invoice-submission.d.ts +0 -152
  528. package/dist/utils/debug/debug-invoice-submission.d.ts.map +0 -1
  529. package/dist/utils/debug/debug-invoice-submission.js +0 -226
  530. package/dist/utils/debug/debug-invoice-submission.js.map +0 -1
  531. package/dist/utils/getBaseUrl.d.ts.map +0 -1
  532. package/dist/utils/invoice1-1.d.ts +0 -117
  533. package/dist/utils/invoice1-1.d.ts.map +0 -1
  534. package/dist/utils/invoice1-1.js +0 -10
  535. package/dist/utils/signature/canonicalize.d.ts +0 -26
  536. package/dist/utils/signature/canonicalize.d.ts.map +0 -1
  537. package/dist/utils/signature/canonicalize.js +0 -3
  538. package/dist/utils/signature/hashCert.d.ts +0 -15
  539. package/dist/utils/signature/hashCert.d.ts.map +0 -1
  540. package/dist/utils/signature/hashCert.js +0 -3
  541. package/dist/utils/signature/hashSignedProperties.d.ts +0 -25
  542. package/dist/utils/signature/hashSignedProperties.d.ts.map +0 -1
  543. package/dist/utils/signature/hashSignedProperties.js +0 -3
  544. package/dist/utils/signature/populateFinalDocument.d.ts +0 -23
  545. package/dist/utils/signature/populateFinalDocument.d.ts.map +0 -1
  546. package/dist/utils/signature/populateFinalDocument.js +0 -3
  547. package/dist/utils/signature/populateSignedProperties.d.ts +0 -23
  548. package/dist/utils/signature/populateSignedProperties.d.ts.map +0 -1
  549. package/dist/utils/signature/populateSignedProperties.js +0 -3
  550. package/dist/utils/signature/sign.d.ts +0 -16
  551. package/dist/utils/signature/sign.d.ts.map +0 -1
  552. package/dist/utils/signature/sign.js +0 -3
  553. package/dist/utils/signature/transform.d.ts +0 -16
  554. package/dist/utils/signature/transform.d.ts.map +0 -1
  555. package/dist/utils/signature/transform.js +0 -3
  556. package/src/types/documents/index.d.ts +0 -1
  557. package/src/types/documents/invoice-1_1.d.ts +0 -439
  558. package/src/utils/MyInvoisClient.ts +0 -501
  559. package/src/utils/debug/debug-document-hash.ts +0 -249
  560. package/src/utils/debug/debug-invoice-submission.ts +0 -355
  561. package/src/utils/invoice1-1.ts +0 -671
  562. package/src/utils/signature/canonicalize.ts +0 -104
  563. package/src/utils/signature/hashCert.ts +0 -115
  564. package/src/utils/signature/hashSignedProperties.ts +0 -155
  565. package/src/utils/signature/populateFinalDocument.ts +0 -187
  566. package/src/utils/signature/populateSignedProperties.ts +0 -87
  567. package/src/utils/signature/sign.ts +0 -51
  568. package/src/utils/signature/transform.ts +0 -99
  569. package/test/canonicalize.test.ts +0 -110
  570. package/test/hashCert.test.ts +0 -95
  571. package/test/hashSignedProperties.test.ts +0 -140
  572. package/test/populateFinalDocument.test.ts +0 -218
  573. package/test/populateSignedProperties.test.ts +0 -155
  574. package/test/sign.test.ts +0 -70
  575. package/test/transform.test.ts +0 -158
package/dist/index20.cjs CHANGED
@@ -1,137 +1,140 @@
1
1
 
2
- //#region src/types/msic/2X.d.ts
3
- let MSIC_2X = /* @__PURE__ */ function(MSIC_2X$1) {
4
- MSIC_2X$1["MANUFACTURE_OF_INDUSTRIAL_GASES"] = "20111";
5
- MSIC_2X$1["MANUFACTURE_OF_ORGANIC_CHEMICALS"] = "20112";
6
- MSIC_2X$1["MANUFACTURE_OF_INORGANIC_COMPOUNDS"] = "20113";
7
- MSIC_2X$1["MANUFACTURE_OF_OTHER_BASIC_CHEMICALS"] = "20119";
8
- MSIC_2X$1["MANUFACTURE_OF_FERTILIZERS"] = "20121";
9
- MSIC_2X$1["MANUFACTURE_OF_NITROGEN_PRODUCTS"] = "20129";
10
- MSIC_2X$1["MANUFACTURE_OF_PLASTIC_PRIMARY"] = "20131";
11
- MSIC_2X$1["MANUFACTURE_OF_SYNTHETIC_RUBBER"] = "20132";
12
- MSIC_2X$1["MANUFACTURE_OF_RUBBER_MIXTURES"] = "20133";
13
- MSIC_2X$1["MANUFACTURE_OF_PESTICIDES"] = "20210";
14
- MSIC_2X$1["MANUFACTURE_OF_PAINTS"] = "20221";
15
- MSIC_2X$1["MANUFACTURE_OF_PRINTING_INK"] = "20222";
16
- MSIC_2X$1["MANUFACTURE_OF_SOAP"] = "20231";
17
- MSIC_2X$1["MANUFACTURE_OF_PERFUMES"] = "20232";
18
- MSIC_2X$1["MANUFACTURE_OF_PHOTOGRAPHIC_PLATES"] = "20291";
19
- MSIC_2X$1["MANUFACTURE_OF_WRITING_INK"] = "20292";
20
- MSIC_2X$1["MANUFACTURE_OF_OTHER_CHEMICALS"] = "20299";
21
- MSIC_2X$1["MANUFACTURE_OF_MANMADE_FIBRES"] = "20300";
22
- MSIC_2X$1["MANUFACTURE_OF_MEDICINAL_SUBSTANCES"] = "21001";
23
- MSIC_2X$1["PROCESSING_OF_BLOOD"] = "21002";
24
- MSIC_2X$1["MANUFACTURE_OF_MEDICAMENTS"] = "21003";
25
- MSIC_2X$1["MANUFACTURE_OF_CONTRACEPTIVES"] = "21004";
26
- MSIC_2X$1["MANUFACTURE_OF_DIAGNOSTICS"] = "21005";
27
- MSIC_2X$1["MANUFACTURE_OF_RADIOACTIVE_SUBSTANCES"] = "21006";
28
- MSIC_2X$1["MANUFACTURE_OF_BIOTECH_PHARMA"] = "21007";
29
- MSIC_2X$1["MANUFACTURE_OF_OTHER_PHARMA"] = "21009";
30
- MSIC_2X$1["MANUFACTURE_OF_RUBBER_TYRES"] = "22111";
31
- MSIC_2X$1["MANUFACTURE_OF_TYRE_TREADS"] = "22112";
32
- MSIC_2X$1["MANUFACTURE_OF_RUBBER_PRODUCTS"] = "22191";
33
- MSIC_2X$1["MANUFACTURE_OF_RUBBER_GLOVES"] = "22192";
34
- MSIC_2X$1["RUBBER_REMILLING"] = "22193";
35
- MSIC_2X$1["MANUFACTURE_OF_OTHER_RUBBER"] = "22199";
36
- MSIC_2X$1["MANUFACTURE_OF_SEMI_PLASTIC"] = "22201";
37
- MSIC_2X$1["MANUFACTURE_OF_FINISHED_PLASTIC"] = "22202";
38
- MSIC_2X$1["MANUFACTURE_OF_PLASTIC_PACKAGING"] = "22203";
39
- MSIC_2X$1["MANUFACTURE_OF_BUILDERS_PLASTIC"] = "22204";
40
- MSIC_2X$1["MANUFACTURE_OF_PLASTIC_TABLEWARE"] = "22205";
41
- MSIC_2X$1["MANUFACTURE_OF_OTHER_PLASTIC"] = "22209";
42
- MSIC_2X$1["MANUFACTURE_OF_FLAT_GLASS"] = "23101";
43
- MSIC_2X$1["MANUFACTURE_OF_LAB_GLASSWARE"] = "23102";
44
- MSIC_2X$1["MANUFACTURE_OF_OTHER_GLASS"] = "23109";
45
- MSIC_2X$1["MANUFACTURE_OF_REFRACTORY_MORTARS"] = "23911";
46
- MSIC_2X$1["MANUFACTURE_OF_REFRACTORY_CERAMIC"] = "23912";
47
- MSIC_2X$1["MANUFACTURE_OF_NONREFRACTORY_CERAMIC"] = "23921";
48
- MSIC_2X$1["MANUFACTURE_OF_CLAY_MATERIALS"] = "23929";
49
- MSIC_2X$1["MANUFACTURE_OF_PORCELAIN"] = "23930";
50
- MSIC_2X$1["MANUFACTURE_OF_HYDRAULIC_CEMENT"] = "23941";
51
- MSIC_2X$1["MANUFACTURE_OF_LIME"] = "23942";
52
- MSIC_2X$1["MANUFACTURE_OF_CONCRETE"] = "23951";
53
- MSIC_2X$1["MANUFACTURE_OF_PRECAST_CONCRETE"] = "23952";
54
- MSIC_2X$1["MANUFACTURE_OF_PREFAB_COMPONENTS"] = "23953";
55
- MSIC_2X$1["MANUFACTURE_OF_OTHER_CONCRETE"] = "23959";
56
- MSIC_2X$1["CUTTING_OF_STONE"] = "23960";
57
- MSIC_2X$1["MANUFACTURE_OF_OTHER_MINERAL"] = "23990";
58
- MSIC_2X$1["PRODUCTION_OF_PIG_IRON"] = "24101";
59
- MSIC_2X$1["PRODUCTION_OF_STEEL_BARS"] = "24102";
60
- MSIC_2X$1["MANUFACTURE_OF_SEAMLESS_TUBES"] = "24103";
61
- MSIC_2X$1["MANUFACTURE_OF_TUBE_FITTINGS"] = "24104";
62
- MSIC_2X$1["MANUFACTURE_OF_OTHER_IRON"] = "24109";
63
- MSIC_2X$1["TIN_SMELTING"] = "24201";
64
- MSIC_2X$1["PRODUCTION_OF_ALUMINIUM"] = "24202";
65
- MSIC_2X$1["MANUFACTURE_OF_OTHER_METALS"] = "24209";
66
- MSIC_2X$1["CASTING_OF_IRON"] = "24311";
67
- MSIC_2X$1["CASTING_OF_STEEL"] = "24312";
68
- MSIC_2X$1["CASTING_OF_NONFERROUS"] = "24320";
69
- MSIC_2X$1["MANUFACTURE_OF_METAL_FRAMEWORKS"] = "25111";
70
- MSIC_2X$1["MANUFACTURE_OF_PREFAB_BUILDINGS"] = "25112";
71
- MSIC_2X$1["MANUFACTURE_OF_METAL_DOORS"] = "25113";
72
- MSIC_2X$1["MANUFACTURE_OF_OTHER_METAL_STRUCTURES"] = "25119";
73
- MSIC_2X$1["MANUFACTURE_OF_TANKS"] = "25120";
74
- MSIC_2X$1["MANUFACTURE_OF_STEAM_GENERATORS"] = "25130";
75
- MSIC_2X$1["MANUFACTURE_OF_WEAPONS"] = "25200";
76
- MSIC_2X$1["FORGING_OF_METAL"] = "25910";
77
- MSIC_2X$1["TREATMENT_OF_METALS"] = "25920";
78
- MSIC_2X$1["MANUFACTURE_OF_CUTLERY"] = "25930";
79
- MSIC_2X$1["MANUFACTURE_OF_TINS"] = "25991";
80
- MSIC_2X$1["MANUFACTURE_OF_METAL_CABLE"] = "25992";
81
- MSIC_2X$1["MANUFACTURE_OF_BOLTS"] = "25993";
82
- MSIC_2X$1["MANUFACTURE_OF_HOUSEHOLD_METAL"] = "25994";
83
- MSIC_2X$1["MANUFACTURE_OF_OTHER_METAL"] = "25999";
84
- MSIC_2X$1["MANUFACTURE_OF_DIODES"] = "26101";
85
- MSIC_2X$1["MANUFACTURE_OF_INTEGRATED_CIRCUITS"] = "26102";
86
- MSIC_2X$1["MANUFACTURE_OF_CAPACITORS"] = "26103";
87
- MSIC_2X$1["MANUFACTURE_OF_CIRCUIT_BOARDS"] = "26104";
88
- MSIC_2X$1["MANUFACTURE_OF_DISPLAYS"] = "26105";
89
- MSIC_2X$1["MANUFACTURE_OF_OTHER_ELECTRONICS"] = "26109";
90
- MSIC_2X$1["MANUFACTURE_OF_COMPUTERS"] = "26201";
91
- MSIC_2X$1["MANUFACTURE_OF_PERIPHERALS"] = "26202";
92
- MSIC_2X$1["MANUFACTURE_OF_COMMUNICATION"] = "26300";
93
- MSIC_2X$1["MANUFACTURE_OF_CONSUMER_ELECTRONICS"] = "26400";
94
- MSIC_2X$1["MANUFACTURE_OF_MEASURING_EQUIPMENT"] = "26511";
95
- MSIC_2X$1["MANUFACTURE_OF_CONTROL_EQUIPMENT"] = "26512";
96
- MSIC_2X$1["MANUFACTURE_OF_WATCHES"] = "26520";
97
- MSIC_2X$1["MANUFACTURE_OF_MEDICAL_EQUIPMENT"] = "26600";
98
- MSIC_2X$1["MANUFACTURE_OF_OPTICAL_EQUIPMENT"] = "26701";
99
- MSIC_2X$1["MANUFACTURE_OF_PHOTO_EQUIPMENT"] = "26702";
100
- MSIC_2X$1["MANUFACTURE_OF_RECORDING_MEDIA"] = "26800";
101
- MSIC_2X$1["MANUFACTURE_OF_MOTORS"] = "27101";
102
- MSIC_2X$1["MANUFACTURE_OF_CONTROL_APPARATUS"] = "27102";
103
- MSIC_2X$1["MANUFACTURE_OF_BATTERIES"] = "27200";
104
- MSIC_2X$1["MANUFACTURE_OF_FIBER_OPTICS"] = "27310";
105
- MSIC_2X$1["MANUFACTURE_OF_WIRES"] = "27320";
106
- MSIC_2X$1["MANUFACTURE_OF_WIRING_DEVICES"] = "27330";
107
- MSIC_2X$1["MANUFACTURE_OF_LIGHTING"] = "27400";
108
- MSIC_2X$1["MANUFACTURE_OF_APPLIANCES"] = "27500";
109
- MSIC_2X$1["MANUFACTURE_OF_OTHER_ELECTRICAL"] = "27900";
110
- MSIC_2X$1["MANUFACTURE_OF_ENGINES"] = "28110";
111
- MSIC_2X$1["MANUFACTURE_OF_FLUID_POWER"] = "28120";
112
- MSIC_2X$1["MANUFACTURE_OF_PUMPS"] = "28130";
113
- MSIC_2X$1["MANUFACTURE_OF_BEARINGS"] = "28140";
114
- MSIC_2X$1["MANUFACTURE_OF_FURNACES"] = "28150";
115
- MSIC_2X$1["MANUFACTURE_OF_LIFTING_EQUIPMENT"] = "28160";
116
- MSIC_2X$1["MANUFACTURE_OF_OFFICE_MACHINERY"] = "28170";
117
- MSIC_2X$1["MANUFACTURE_OF_POWER_TOOLS"] = "28180";
118
- MSIC_2X$1["MANUFACTURE_OF_REFRIGERATION"] = "28191";
119
- MSIC_2X$1["MANUFACTURE_OF_AIR_CONDITIONING"] = "28192";
120
- MSIC_2X$1["MANUFACTURE_OF_OTHER_MACHINERY"] = "28199";
121
- MSIC_2X$1["MANUFACTURE_OF_AGRICULTURAL_MACHINERY"] = "28210";
122
- MSIC_2X$1["MANUFACTURE_OF_MACHINE_TOOLS"] = "28220";
123
- MSIC_2X$1["MANUFACTURE_OF_METALLURGY_MACHINERY"] = "28230";
124
- MSIC_2X$1["MANUFACTURE_OF_MINING_MACHINERY"] = "28240";
125
- MSIC_2X$1["MANUFACTURE_OF_FOOD_MACHINERY"] = "28250";
126
- MSIC_2X$1["MANUFACTURE_OF_TEXTILE_MACHINERY"] = "28260";
127
- MSIC_2X$1["MANUFACTURE_OF_SPECIAL_MACHINERY"] = "28290";
128
- MSIC_2X$1["MANUFACTURE_OF_CARS"] = "29101";
129
- MSIC_2X$1["MANUFACTURE_OF_COMMERCIAL_VEHICLES"] = "29102";
130
- MSIC_2X$1["MANUFACTURE_OF_VEHICLE_BODIES"] = "29200";
131
- MSIC_2X$1["MANUFACTURE_OF_VEHICLE_PARTS"] = "29300";
132
- return MSIC_2X$1;
133
- }({});
2
+ //#region src/utils/validation.ts
3
+ /**
4
+ * Validates TIN format based on registration type
5
+ */
6
+ const validateTIN = (tin, registrationType) => {
7
+ const errors = [];
8
+ if (!tin) {
9
+ errors.push({
10
+ field: "tin",
11
+ code: "TIN_REQUIRED",
12
+ message: "TIN is required",
13
+ severity: "error"
14
+ });
15
+ return errors;
16
+ }
17
+ if (registrationType === "BRN" && !tin.startsWith("C")) errors.push({
18
+ field: "tin",
19
+ code: "TIN_FORMAT_INVALID",
20
+ message: "Company TIN should start with \"C\" for BRN registration",
21
+ severity: "warning"
22
+ });
23
+ if (registrationType === "NRIC" && !tin.startsWith("IG")) errors.push({
24
+ field: "tin",
25
+ code: "TIN_FORMAT_INVALID",
26
+ message: "Individual TIN should start with \"IG\" for NRIC registration",
27
+ severity: "warning"
28
+ });
29
+ if (tin.length > 14) errors.push({
30
+ field: "tin",
31
+ code: "TIN_LENGTH_INVALID",
32
+ message: "TIN cannot exceed 14 characters",
33
+ severity: "error"
34
+ });
35
+ return errors;
36
+ };
37
+ /**
38
+ * Validates contact number format (E.164 standard)
39
+ */
40
+ const validateContactNumber = (contactNumber) => {
41
+ const errors = [];
42
+ if (!contactNumber || contactNumber === "NA") return errors;
43
+ const e164Regex = /^\+[1-9]\d{1,14}$/;
44
+ if (!e164Regex.test(contactNumber)) errors.push({
45
+ field: "contactNumber",
46
+ code: "CONTACT_FORMAT_INVALID",
47
+ message: "Contact number must be in E.164 format (e.g., +60123456789)",
48
+ severity: "error"
49
+ });
50
+ if (contactNumber.length < 8) errors.push({
51
+ field: "contactNumber",
52
+ code: "CONTACT_LENGTH_INVALID",
53
+ message: "Contact number must be at least 8 characters",
54
+ severity: "error"
55
+ });
56
+ return errors;
57
+ };
58
+ /**
59
+ * Validates monetary amounts
60
+ */
61
+ const validateMonetaryAmount = (amount, fieldName, maxDigits = 18, maxDecimals = 2) => {
62
+ const errors = [];
63
+ if (amount < 0) errors.push({
64
+ field: fieldName,
65
+ code: "AMOUNT_NEGATIVE",
66
+ message: `${fieldName} cannot be negative`,
67
+ severity: "error"
68
+ });
69
+ const amountStr = amount.toString();
70
+ const [integerPart, decimalPart] = amountStr.split(".");
71
+ if (integerPart && integerPart.length > maxDigits - maxDecimals) errors.push({
72
+ field: fieldName,
73
+ code: "AMOUNT_DIGITS_EXCEEDED",
74
+ message: `${fieldName} exceeds maximum ${maxDigits} digits`,
75
+ severity: "error"
76
+ });
77
+ if (decimalPart && decimalPart.length > maxDecimals) errors.push({
78
+ field: fieldName,
79
+ code: "AMOUNT_DECIMALS_EXCEEDED",
80
+ message: `${fieldName} exceeds maximum ${maxDecimals} decimal places`,
81
+ severity: "error"
82
+ });
83
+ return errors;
84
+ };
85
+ /**
86
+ * Validates tax calculation consistency
87
+ */
88
+ const validateTaxCalculations = (invoice) => {
89
+ const errors = [];
90
+ const expectedTaxExclusive = invoice.invoiceLineItems.reduce((sum, item) => sum + item.totalTaxableAmountPerLine, 0);
91
+ const expectedTaxAmount = invoice.invoiceLineItems.reduce((sum, item) => sum + item.taxAmount, 0);
92
+ const tolerance = .01;
93
+ if (Math.abs(invoice.legalMonetaryTotal.taxExclusiveAmount - expectedTaxExclusive) > tolerance) errors.push({
94
+ field: "legalMonetaryTotal.taxExclusiveAmount",
95
+ code: "TAX_EXCLUSIVE_MISMATCH",
96
+ message: `Tax exclusive amount (${invoice.legalMonetaryTotal.taxExclusiveAmount}) doesn't match sum of line items (${expectedTaxExclusive})`,
97
+ severity: "error"
98
+ });
99
+ if (Math.abs(invoice.taxTotal.taxAmount - expectedTaxAmount) > tolerance) errors.push({
100
+ field: "taxTotal.taxAmount",
101
+ code: "TAX_AMOUNT_MISMATCH",
102
+ message: `Tax amount (${invoice.taxTotal.taxAmount}) doesn't match sum of line item taxes (${expectedTaxAmount})`,
103
+ severity: "error"
104
+ });
105
+ return errors;
106
+ };
107
+ /**
108
+ * Main validation function for complete invoice
109
+ */
110
+ const validateInvoice = (invoice) => {
111
+ const allErrors = [];
112
+ allErrors.push(...validateTIN(invoice.supplier.tin, invoice.supplier.registrationType));
113
+ allErrors.push(...validateTIN(invoice.buyer.tin, invoice.buyer.registrationType));
114
+ allErrors.push(...validateContactNumber(invoice.supplier.contactNumber));
115
+ allErrors.push(...validateContactNumber(invoice.buyer.contactNumber));
116
+ allErrors.push(...validateMonetaryAmount(invoice.legalMonetaryTotal.taxExclusiveAmount, "taxExclusiveAmount"));
117
+ allErrors.push(...validateMonetaryAmount(invoice.legalMonetaryTotal.payableAmount, "payableAmount"));
118
+ allErrors.push(...validateMonetaryAmount(invoice.taxTotal.taxAmount, "taxAmount"));
119
+ invoice.invoiceLineItems.forEach((item, index) => {
120
+ allErrors.push(...validateMonetaryAmount(item.unitPrice, `lineItem[${index}].unitPrice`));
121
+ allErrors.push(...validateMonetaryAmount(item.taxAmount, `lineItem[${index}].taxAmount`));
122
+ allErrors.push(...validateMonetaryAmount(item.totalTaxableAmountPerLine, `lineItem[${index}].totalTaxableAmountPerLine`));
123
+ });
124
+ allErrors.push(...validateTaxCalculations(invoice));
125
+ const errors = allErrors.filter((e) => e.severity === "error");
126
+ const warnings = allErrors.filter((e) => e.severity === "warning");
127
+ return {
128
+ isValid: errors.length === 0,
129
+ errors,
130
+ warnings
131
+ };
132
+ };
134
133
 
135
134
  //#endregion
136
- exports.MSIC_2X = MSIC_2X;
135
+ exports.validateContactNumber = validateContactNumber;
136
+ exports.validateInvoice = validateInvoice;
137
+ exports.validateMonetaryAmount = validateMonetaryAmount;
138
+ exports.validateTIN = validateTIN;
139
+ exports.validateTaxCalculations = validateTaxCalculations;
137
140
  //# sourceMappingURL=index20.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index20.cjs","names":[],"sources":["../src/types/msic/2X.d.ts"],"sourcesContent":["export type MSICCode = {\n code: string\n description: string\n msicCategoryReference: string\n}\n\nexport type MSIC_2X_CODE =\n | '20111'\n | '20112'\n | '20113'\n | '20119'\n | '20121'\n | '20129'\n | '20131'\n | '20132'\n | '20133'\n | '20210'\n | '20221'\n | '20222'\n | '20231'\n | '20232'\n | '20291'\n | '20292'\n | '20299'\n | '20300'\n | '21001'\n | '21002'\n | '21003'\n | '21004'\n | '21005'\n | '21006'\n | '21007'\n | '21009'\n | '22111'\n | '22112'\n | '22191'\n | '22192'\n | '22193'\n | '22199'\n | '22201'\n | '22202'\n | '22203'\n | '22204'\n | '22205'\n | '22209'\n | '23101'\n | '23102'\n | '23109'\n | '23911'\n | '23912'\n | '23921'\n | '23929'\n | '23930'\n | '23941'\n | '23942'\n | '23951'\n | '23952'\n | '23953'\n | '23959'\n | '23960'\n | '23990'\n | '24101'\n | '24102'\n | '24103'\n | '24104'\n | '24109'\n | '24201'\n | '24202'\n | '24209'\n | '24311'\n | '24312'\n | '24320'\n | '25111'\n | '25112'\n | '25113'\n | '25119'\n | '25120'\n | '25130'\n | '25200'\n | '25910'\n | '25920'\n | '25930'\n | '25991'\n | '25992'\n | '25993'\n | '25994'\n | '25999'\n | '26101'\n | '26102'\n | '26103'\n | '26104'\n | '26105'\n | '26109'\n | '26201'\n | '26202'\n | '26300'\n | '26400'\n | '26511'\n | '26512'\n | '26520'\n | '26600'\n | '26701'\n | '26702'\n | '26800'\n | '27101'\n | '27102'\n | '27200'\n | '27310'\n | '27320'\n | '27330'\n | '27400'\n | '27500'\n | '27900'\n | '28110'\n | '28120'\n | '28130'\n | '28140'\n | '28150'\n | '28160'\n | '28170'\n | '28180'\n | '28191'\n | '28192'\n | '28199'\n | '28210'\n | '28220'\n | '28230'\n | '28240'\n | '28250'\n | '28260'\n | '28290'\n | '29101'\n | '29102'\n | '29200'\n | '29300'\n\nexport enum MSIC_2X {\n MANUFACTURE_OF_INDUSTRIAL_GASES = '20111',\n MANUFACTURE_OF_ORGANIC_CHEMICALS = '20112',\n MANUFACTURE_OF_INORGANIC_COMPOUNDS = '20113',\n MANUFACTURE_OF_OTHER_BASIC_CHEMICALS = '20119',\n MANUFACTURE_OF_FERTILIZERS = '20121',\n MANUFACTURE_OF_NITROGEN_PRODUCTS = '20129',\n MANUFACTURE_OF_PLASTIC_PRIMARY = '20131',\n MANUFACTURE_OF_SYNTHETIC_RUBBER = '20132',\n MANUFACTURE_OF_RUBBER_MIXTURES = '20133',\n MANUFACTURE_OF_PESTICIDES = '20210',\n MANUFACTURE_OF_PAINTS = '20221',\n MANUFACTURE_OF_PRINTING_INK = '20222',\n MANUFACTURE_OF_SOAP = '20231',\n MANUFACTURE_OF_PERFUMES = '20232',\n MANUFACTURE_OF_PHOTOGRAPHIC_PLATES = '20291',\n MANUFACTURE_OF_WRITING_INK = '20292',\n MANUFACTURE_OF_OTHER_CHEMICALS = '20299',\n MANUFACTURE_OF_MANMADE_FIBRES = '20300',\n MANUFACTURE_OF_MEDICINAL_SUBSTANCES = '21001',\n PROCESSING_OF_BLOOD = '21002',\n MANUFACTURE_OF_MEDICAMENTS = '21003',\n MANUFACTURE_OF_CONTRACEPTIVES = '21004',\n MANUFACTURE_OF_DIAGNOSTICS = '21005',\n MANUFACTURE_OF_RADIOACTIVE_SUBSTANCES = '21006',\n MANUFACTURE_OF_BIOTECH_PHARMA = '21007',\n MANUFACTURE_OF_OTHER_PHARMA = '21009',\n MANUFACTURE_OF_RUBBER_TYRES = '22111',\n MANUFACTURE_OF_TYRE_TREADS = '22112',\n MANUFACTURE_OF_RUBBER_PRODUCTS = '22191',\n MANUFACTURE_OF_RUBBER_GLOVES = '22192',\n RUBBER_REMILLING = '22193',\n MANUFACTURE_OF_OTHER_RUBBER = '22199',\n MANUFACTURE_OF_SEMI_PLASTIC = '22201',\n MANUFACTURE_OF_FINISHED_PLASTIC = '22202',\n MANUFACTURE_OF_PLASTIC_PACKAGING = '22203',\n MANUFACTURE_OF_BUILDERS_PLASTIC = '22204',\n MANUFACTURE_OF_PLASTIC_TABLEWARE = '22205',\n MANUFACTURE_OF_OTHER_PLASTIC = '22209',\n MANUFACTURE_OF_FLAT_GLASS = '23101',\n MANUFACTURE_OF_LAB_GLASSWARE = '23102',\n MANUFACTURE_OF_OTHER_GLASS = '23109',\n MANUFACTURE_OF_REFRACTORY_MORTARS = '23911',\n MANUFACTURE_OF_REFRACTORY_CERAMIC = '23912',\n MANUFACTURE_OF_NONREFRACTORY_CERAMIC = '23921',\n MANUFACTURE_OF_CLAY_MATERIALS = '23929',\n MANUFACTURE_OF_PORCELAIN = '23930',\n MANUFACTURE_OF_HYDRAULIC_CEMENT = '23941',\n MANUFACTURE_OF_LIME = '23942',\n MANUFACTURE_OF_CONCRETE = '23951',\n MANUFACTURE_OF_PRECAST_CONCRETE = '23952',\n MANUFACTURE_OF_PREFAB_COMPONENTS = '23953',\n MANUFACTURE_OF_OTHER_CONCRETE = '23959',\n CUTTING_OF_STONE = '23960',\n MANUFACTURE_OF_OTHER_MINERAL = '23990',\n PRODUCTION_OF_PIG_IRON = '24101',\n PRODUCTION_OF_STEEL_BARS = '24102',\n MANUFACTURE_OF_SEAMLESS_TUBES = '24103',\n MANUFACTURE_OF_TUBE_FITTINGS = '24104',\n MANUFACTURE_OF_OTHER_IRON = '24109',\n TIN_SMELTING = '24201',\n PRODUCTION_OF_ALUMINIUM = '24202',\n MANUFACTURE_OF_OTHER_METALS = '24209',\n CASTING_OF_IRON = '24311',\n CASTING_OF_STEEL = '24312',\n CASTING_OF_NONFERROUS = '24320',\n MANUFACTURE_OF_METAL_FRAMEWORKS = '25111',\n MANUFACTURE_OF_PREFAB_BUILDINGS = '25112',\n MANUFACTURE_OF_METAL_DOORS = '25113',\n MANUFACTURE_OF_OTHER_METAL_STRUCTURES = '25119',\n MANUFACTURE_OF_TANKS = '25120',\n MANUFACTURE_OF_STEAM_GENERATORS = '25130',\n MANUFACTURE_OF_WEAPONS = '25200',\n FORGING_OF_METAL = '25910',\n TREATMENT_OF_METALS = '25920',\n MANUFACTURE_OF_CUTLERY = '25930',\n MANUFACTURE_OF_TINS = '25991',\n MANUFACTURE_OF_METAL_CABLE = '25992',\n MANUFACTURE_OF_BOLTS = '25993',\n MANUFACTURE_OF_HOUSEHOLD_METAL = '25994',\n MANUFACTURE_OF_OTHER_METAL = '25999',\n MANUFACTURE_OF_DIODES = '26101',\n MANUFACTURE_OF_INTEGRATED_CIRCUITS = '26102',\n MANUFACTURE_OF_CAPACITORS = '26103',\n MANUFACTURE_OF_CIRCUIT_BOARDS = '26104',\n MANUFACTURE_OF_DISPLAYS = '26105',\n MANUFACTURE_OF_OTHER_ELECTRONICS = '26109',\n MANUFACTURE_OF_COMPUTERS = '26201',\n MANUFACTURE_OF_PERIPHERALS = '26202',\n MANUFACTURE_OF_COMMUNICATION = '26300',\n MANUFACTURE_OF_CONSUMER_ELECTRONICS = '26400',\n MANUFACTURE_OF_MEASURING_EQUIPMENT = '26511',\n MANUFACTURE_OF_CONTROL_EQUIPMENT = '26512',\n MANUFACTURE_OF_WATCHES = '26520',\n MANUFACTURE_OF_MEDICAL_EQUIPMENT = '26600',\n MANUFACTURE_OF_OPTICAL_EQUIPMENT = '26701',\n MANUFACTURE_OF_PHOTO_EQUIPMENT = '26702',\n MANUFACTURE_OF_RECORDING_MEDIA = '26800',\n MANUFACTURE_OF_MOTORS = '27101',\n MANUFACTURE_OF_CONTROL_APPARATUS = '27102',\n MANUFACTURE_OF_BATTERIES = '27200',\n MANUFACTURE_OF_FIBER_OPTICS = '27310',\n MANUFACTURE_OF_WIRES = '27320',\n MANUFACTURE_OF_WIRING_DEVICES = '27330',\n MANUFACTURE_OF_LIGHTING = '27400',\n MANUFACTURE_OF_APPLIANCES = '27500',\n MANUFACTURE_OF_OTHER_ELECTRICAL = '27900',\n MANUFACTURE_OF_ENGINES = '28110',\n MANUFACTURE_OF_FLUID_POWER = '28120',\n MANUFACTURE_OF_PUMPS = '28130',\n MANUFACTURE_OF_BEARINGS = '28140',\n MANUFACTURE_OF_FURNACES = '28150',\n MANUFACTURE_OF_LIFTING_EQUIPMENT = '28160',\n MANUFACTURE_OF_OFFICE_MACHINERY = '28170',\n MANUFACTURE_OF_POWER_TOOLS = '28180',\n MANUFACTURE_OF_REFRIGERATION = '28191',\n MANUFACTURE_OF_AIR_CONDITIONING = '28192',\n MANUFACTURE_OF_OTHER_MACHINERY = '28199',\n MANUFACTURE_OF_AGRICULTURAL_MACHINERY = '28210',\n MANUFACTURE_OF_MACHINE_TOOLS = '28220',\n MANUFACTURE_OF_METALLURGY_MACHINERY = '28230',\n MANUFACTURE_OF_MINING_MACHINERY = '28240',\n MANUFACTURE_OF_FOOD_MACHINERY = '28250',\n MANUFACTURE_OF_TEXTILE_MACHINERY = '28260',\n MANUFACTURE_OF_SPECIAL_MACHINERY = '28290',\n MANUFACTURE_OF_CARS = '29101',\n MANUFACTURE_OF_COMMERCIAL_VEHICLES = '29102',\n MANUFACTURE_OF_VEHICLE_BODIES = '29200',\n MANUFACTURE_OF_VEHICLE_PARTS = '29300',\n}\n"],"mappings":";;AAwIA,IAAY,8CAAL;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACD"}
1
+ {"version":3,"file":"index20.cjs","names":["tin: string","registrationType?: string","errors: ValidationError[]","contactNumber: string","amount: number","fieldName: string","invoice: InvoiceV1_1","allErrors: ValidationError[]"],"sources":["../src/utils/validation.ts"],"sourcesContent":["import type { InvoiceV1_1 } from '../types/documents/index.js'\n\n/**\n * MyInvois Invoice Validation Utilities\n *\n * Provides comprehensive validation for invoice data before document generation\n * and submission to ensure compliance with MyInvois business rules and format requirements.\n */\n\nexport interface ValidationResult {\n isValid: boolean\n errors: ValidationError[]\n warnings: ValidationWarning[]\n}\n\nexport interface ValidationError {\n field: string\n code: string\n message: string\n severity: 'error' | 'warning'\n}\n\nexport interface ValidationWarning extends ValidationError {\n severity: 'warning'\n}\n\n/**\n * Validates TIN format based on registration type\n */\nexport const validateTIN = (\n tin: string,\n registrationType?: string,\n): ValidationError[] => {\n const errors: ValidationError[] = []\n\n if (!tin) {\n errors.push({\n field: 'tin',\n code: 'TIN_REQUIRED',\n message: 'TIN is required',\n severity: 'error',\n })\n return errors\n }\n\n // TIN format validation based on type\n if (registrationType === 'BRN' && !tin.startsWith('C')) {\n errors.push({\n field: 'tin',\n code: 'TIN_FORMAT_INVALID',\n message: 'Company TIN should start with \"C\" for BRN registration',\n severity: 'warning',\n })\n }\n\n if (registrationType === 'NRIC' && !tin.startsWith('IG')) {\n errors.push({\n field: 'tin',\n code: 'TIN_FORMAT_INVALID',\n message: 'Individual TIN should start with \"IG\" for NRIC registration',\n severity: 'warning',\n })\n }\n\n // Length validation\n if (tin.length > 14) {\n errors.push({\n field: 'tin',\n code: 'TIN_LENGTH_INVALID',\n message: 'TIN cannot exceed 14 characters',\n severity: 'error',\n })\n }\n\n return errors\n}\n\n/**\n * Validates contact number format (E.164 standard)\n */\nexport const validateContactNumber = (\n contactNumber: string,\n): ValidationError[] => {\n const errors: ValidationError[] = []\n\n if (!contactNumber || contactNumber === 'NA') {\n return errors // Allow NA for consolidated e-invoices\n }\n\n // E.164 format validation\n const e164Regex = /^\\+[1-9]\\d{1,14}$/\n if (!e164Regex.test(contactNumber)) {\n errors.push({\n field: 'contactNumber',\n code: 'CONTACT_FORMAT_INVALID',\n message: 'Contact number must be in E.164 format (e.g., +60123456789)',\n severity: 'error',\n })\n }\n\n if (contactNumber.length < 8) {\n errors.push({\n field: 'contactNumber',\n code: 'CONTACT_LENGTH_INVALID',\n message: 'Contact number must be at least 8 characters',\n severity: 'error',\n })\n }\n\n return errors\n}\n\n/**\n * Validates monetary amounts\n */\nexport const validateMonetaryAmount = (\n amount: number,\n fieldName: string,\n maxDigits = 18,\n maxDecimals = 2,\n): ValidationError[] => {\n const errors: ValidationError[] = []\n\n if (amount < 0) {\n errors.push({\n field: fieldName,\n code: 'AMOUNT_NEGATIVE',\n message: `${fieldName} cannot be negative`,\n severity: 'error',\n })\n }\n\n // Check total digits\n const amountStr = amount.toString()\n const [integerPart, decimalPart] = amountStr.split('.')\n\n if (integerPart && integerPart.length > maxDigits - maxDecimals) {\n errors.push({\n field: fieldName,\n code: 'AMOUNT_DIGITS_EXCEEDED',\n message: `${fieldName} exceeds maximum ${maxDigits} digits`,\n severity: 'error',\n })\n }\n\n if (decimalPart && decimalPart.length > maxDecimals) {\n errors.push({\n field: fieldName,\n code: 'AMOUNT_DECIMALS_EXCEEDED',\n message: `${fieldName} exceeds maximum ${maxDecimals} decimal places`,\n severity: 'error',\n })\n }\n\n return errors\n}\n\n/**\n * Validates tax calculation consistency\n */\nexport const validateTaxCalculations = (\n invoice: InvoiceV1_1,\n): ValidationError[] => {\n const errors: ValidationError[] = []\n\n // Calculate expected totals from line items\n const expectedTaxExclusive = invoice.invoiceLineItems.reduce(\n (sum, item) => sum + item.totalTaxableAmountPerLine,\n 0,\n )\n const expectedTaxAmount = invoice.invoiceLineItems.reduce(\n (sum, item) => sum + item.taxAmount,\n 0,\n )\n\n // Allow small rounding differences (0.01)\n const tolerance = 0.01\n\n if (\n Math.abs(\n invoice.legalMonetaryTotal.taxExclusiveAmount - expectedTaxExclusive,\n ) > tolerance\n ) {\n errors.push({\n field: 'legalMonetaryTotal.taxExclusiveAmount',\n code: 'TAX_EXCLUSIVE_MISMATCH',\n message: `Tax exclusive amount (${invoice.legalMonetaryTotal.taxExclusiveAmount}) doesn't match sum of line items (${expectedTaxExclusive})`,\n severity: 'error',\n })\n }\n\n if (Math.abs(invoice.taxTotal.taxAmount - expectedTaxAmount) > tolerance) {\n errors.push({\n field: 'taxTotal.taxAmount',\n code: 'TAX_AMOUNT_MISMATCH',\n message: `Tax amount (${invoice.taxTotal.taxAmount}) doesn't match sum of line item taxes (${expectedTaxAmount})`,\n severity: 'error',\n })\n }\n\n return errors\n}\n\n/**\n * Main validation function for complete invoice\n */\nexport const validateInvoice = (invoice: InvoiceV1_1): ValidationResult => {\n const allErrors: ValidationError[] = []\n\n // Core field validations\n allErrors.push(\n ...validateTIN(invoice.supplier.tin, invoice.supplier.registrationType),\n )\n allErrors.push(\n ...validateTIN(invoice.buyer.tin, invoice.buyer.registrationType),\n )\n\n allErrors.push(...validateContactNumber(invoice.supplier.contactNumber))\n allErrors.push(...validateContactNumber(invoice.buyer.contactNumber))\n\n // Monetary validations\n allErrors.push(\n ...validateMonetaryAmount(\n invoice.legalMonetaryTotal.taxExclusiveAmount,\n 'taxExclusiveAmount',\n ),\n )\n allErrors.push(\n ...validateMonetaryAmount(\n invoice.legalMonetaryTotal.payableAmount,\n 'payableAmount',\n ),\n )\n allErrors.push(\n ...validateMonetaryAmount(invoice.taxTotal.taxAmount, 'taxAmount'),\n )\n\n // Line item validations\n invoice.invoiceLineItems.forEach((item, index) => {\n allErrors.push(\n ...validateMonetaryAmount(item.unitPrice, `lineItem[${index}].unitPrice`),\n )\n allErrors.push(\n ...validateMonetaryAmount(item.taxAmount, `lineItem[${index}].taxAmount`),\n )\n allErrors.push(\n ...validateMonetaryAmount(\n item.totalTaxableAmountPerLine,\n `lineItem[${index}].totalTaxableAmountPerLine`,\n ),\n )\n })\n\n // Business rule validations\n allErrors.push(...validateTaxCalculations(invoice))\n\n // Separate errors and warnings\n const errors = allErrors.filter(e => e.severity === 'error')\n const warnings = allErrors.filter(\n e => e.severity === 'warning',\n ) as ValidationWarning[]\n\n return {\n isValid: errors.length === 0,\n errors,\n warnings,\n }\n}\n"],"mappings":"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"}
package/dist/index21.cjs CHANGED
@@ -1,64 +1,3 @@
1
+ const require_platformLogin = require('./platformLogin-PGzMhw1X.cjs');
1
2
 
2
- //#region src/types/msic/3X.d.ts
3
- let MSIC_3X = /* @__PURE__ */ function(MSIC_3X$1) {
4
- MSIC_3X$1["BUILDING_OF_SHIPS"] = "30110";
5
- MSIC_3X$1["BUILDING_OF_PLEASURE_BOATS"] = "30120";
6
- MSIC_3X$1["MANUFACTURE_OF_RAILWAY"] = "30200";
7
- MSIC_3X$1["MANUFACTURE_OF_AIRCRAFT"] = "30300";
8
- MSIC_3X$1["MANUFACTURE_OF_MILITARY_VEHICLES"] = "30400";
9
- MSIC_3X$1["MANUFACTURE_OF_MOTORCYCLES"] = "30910";
10
- MSIC_3X$1["MANUFACTURE_OF_BICYCLES"] = "30920";
11
- MSIC_3X$1["MANUFACTURE_OF_OTHER_TRANSPORT"] = "30990";
12
- MSIC_3X$1["MANUFACTURE_OF_WOODEN_FURNITURE"] = "31001";
13
- MSIC_3X$1["MANUFACTURE_OF_METAL_FURNITURE"] = "31002";
14
- MSIC_3X$1["MANUFACTURE_OF_MATTRESS"] = "31003";
15
- MSIC_3X$1["MANUFACTURE_OF_OTHER_FURNITURE"] = "31009";
16
- MSIC_3X$1["MANUFACTURE_OF_JEWELLERY"] = "32110";
17
- MSIC_3X$1["MANUFACTURE_OF_IMITATION_JEWELLERY"] = "32120";
18
- MSIC_3X$1["MANUFACTURE_OF_MUSICAL_INSTRUMENTS"] = "32200";
19
- MSIC_3X$1["MANUFACTURE_OF_SPORTS_GOODS"] = "32300";
20
- MSIC_3X$1["MANUFACTURE_OF_GAMES"] = "32400";
21
- MSIC_3X$1["MANUFACTURE_OF_MEDICAL_INSTRUMENTS"] = "32500";
22
- MSIC_3X$1["MANUFACTURE_OF_STATIONERY"] = "32901";
23
- MSIC_3X$1["OTHER_MANUFACTURING"] = "32909";
24
- MSIC_3X$1["REPAIR_OF_METAL_PRODUCTS"] = "33110";
25
- MSIC_3X$1["REPAIR_OF_MACHINERY"] = "33120";
26
- MSIC_3X$1["REPAIR_OF_MEASURING_EQUIPMENT"] = "33131";
27
- MSIC_3X$1["REPAIR_OF_MEDICAL_EQUIPMENT"] = "33132";
28
- MSIC_3X$1["REPAIR_OF_OPTICAL_EQUIPMENT"] = "33133";
29
- MSIC_3X$1["REPAIR_OF_ELECTRICAL_EQUIPMENT"] = "33140";
30
- MSIC_3X$1["REPAIR_OF_TRANSPORT_EQUIPMENT"] = "33150";
31
- MSIC_3X$1["REPAIR_OF_OTHER_EQUIPMENT"] = "33190";
32
- MSIC_3X$1["INSTALLATION_OF_MACHINERY"] = "33200";
33
- MSIC_3X$1["OPERATION_OF_POWER_GENERATION"] = "35101";
34
- MSIC_3X$1["OPERATION_OF_POWER_DISTRIBUTION"] = "35102";
35
- MSIC_3X$1["MANUFACTURE_OF_GASEOUS_FUELS"] = "35201";
36
- MSIC_3X$1["DISTRIBUTION_OF_GASEOUS_FUELS"] = "35202";
37
- MSIC_3X$1["SALE_OF_GAS"] = "35203";
38
- MSIC_3X$1["PRODUCTION_OF_STEAM"] = "35301";
39
- MSIC_3X$1["PRODUCTION_OF_COOLED_AIR"] = "35302";
40
- MSIC_3X$1["PRODUCTION_OF_ICE"] = "35303";
41
- MSIC_3X$1["WATER_PURIFICATION"] = "36001";
42
- MSIC_3X$1["WATER_DESALTING"] = "36002";
43
- MSIC_3X$1["SEWERAGE_ACTIVITIES"] = "37000";
44
- MSIC_3X$1["COLLECTION_OF_WASTE"] = "38111";
45
- MSIC_3X$1["COLLECTION_OF_RECYCLABLES"] = "38112";
46
- MSIC_3X$1["COLLECTION_OF_PUBLIC_WASTE"] = "38113";
47
- MSIC_3X$1["COLLECTION_OF_CONSTRUCTION_WASTE"] = "38114";
48
- MSIC_3X$1["OPERATION_OF_WASTE_STATIONS"] = "38115";
49
- MSIC_3X$1["COLLECTION_OF_HAZARDOUS_WASTE"] = "38121";
50
- MSIC_3X$1["OPERATION_OF_HAZARDOUS_STATIONS"] = "38122";
51
- MSIC_3X$1["TREATMENT_OF_WASTE"] = "38210";
52
- MSIC_3X$1["TREATMENT_OF_HAZARDOUS_WASTE"] = "38220";
53
- MSIC_3X$1["CRUSHING_OF_METAL_WASTE"] = "38301";
54
- MSIC_3X$1["DISMANTLING_FOR_MATERIALS"] = "38302";
55
- MSIC_3X$1["RECLAIMING_OF_RUBBER"] = "38303";
56
- MSIC_3X$1["REUSE_OF_RUBBER"] = "38304";
57
- MSIC_3X$1["MATERIALS_RECOVERY"] = "38309";
58
- MSIC_3X$1["REMEDIATION_ACTIVITIES"] = "39000";
59
- return MSIC_3X$1;
60
- }({});
61
-
62
- //#endregion
63
- exports.MSIC_3X = MSIC_3X;
64
- //# sourceMappingURL=index21.cjs.map
3
+ exports.platformLogin = require_platformLogin.platformLogin;