@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/index18.cjs CHANGED
@@ -1,208 +1,340 @@
1
1
 
2
- //#region src/types/msic/0X.d.ts
3
- let MSIC_0X = /* @__PURE__ */ function(MSIC_0X$1) {
4
- MSIC_0X$1["NOT_APPLICABLE"] = "00000";
5
- MSIC_0X$1["GROWING_OF_MAIZE"] = "01111";
6
- MSIC_0X$1["GROWING_OF_LEGUMINOUS_CROPS"] = "01112";
7
- MSIC_0X$1["GROWING_OF_OIL_SEEDS"] = "01113";
8
- MSIC_0X$1["GROWING_OF_OTHER_CEREALS"] = "01119";
9
- MSIC_0X$1["GROWING_OF_PADDY"] = "01120";
10
- MSIC_0X$1["GROWING_OF_LEAFY_OR_STEM_VEGETABLES"] = "01131";
11
- MSIC_0X$1["GROWING_OF_FRUITS_BEARING_VEGETABLES"] = "01132";
12
- MSIC_0X$1["GROWING_OF_MELONS"] = "01133";
13
- MSIC_0X$1["GROWING_OF_MUSHROOMS_AND_TRUFFLES"] = "01134";
14
- MSIC_0X$1["GROWING_OF_VEGETABLES_SEEDS"] = "01135";
15
- MSIC_0X$1["GROWING_OF_OTHER_VEGETABLES"] = "01136";
16
- MSIC_0X$1["GROWING_OF_SUGAR_BEET"] = "01137";
17
- MSIC_0X$1["GROWING_OF_ROOTS_TUBERS"] = "01138";
18
- MSIC_0X$1["GROWING_OF_SUGAR_CANE"] = "01140";
19
- MSIC_0X$1["GROWING_OF_TOBACCO"] = "01150";
20
- MSIC_0X$1["GROWING_OF_FIBRE_CROPS"] = "01160";
21
- MSIC_0X$1["GROWING_OF_FLOWERS"] = "01191";
22
- MSIC_0X$1["GROWING_OF_FLOWER_SEEDS"] = "01192";
23
- MSIC_0X$1["GROWING_OF_SAGO"] = "01193";
24
- MSIC_0X$1["GROWING_OF_OTHER_NON_PERENNIAL_CROPS"] = "01199";
25
- MSIC_0X$1["GROWING_OF_GRAPES"] = "01210";
26
- MSIC_0X$1["GROWING_OF_BANANA"] = "01221";
27
- MSIC_0X$1["GROWING_OF_MANGO"] = "01222";
28
- MSIC_0X$1["GROWING_OF_DURIAN"] = "01223";
29
- MSIC_0X$1["GROWING_OF_RAMBUTAN"] = "01224";
30
- MSIC_0X$1["GROWING_OF_STAR_FRUIT"] = "01225";
31
- MSIC_0X$1["GROWING_OF_PAPAYA"] = "01226";
32
- MSIC_0X$1["GROWING_OF_PINEAPPLE"] = "01227";
33
- MSIC_0X$1["GROWING_OF_PITAYA"] = "01228";
34
- MSIC_0X$1["GROWING_OF_OTHER_TROPICAL_FRUITS"] = "01229";
35
- MSIC_0X$1["GROWING_OF_POMELO"] = "01231";
36
- MSIC_0X$1["GROWING_OF_LEMON_AND_LIMES"] = "01232";
37
- MSIC_0X$1["GROWING_OF_TANGERINES_AND_MANDARIN"] = "01233";
38
- MSIC_0X$1["GROWING_OF_OTHER_CITRUS_FRUITS"] = "01239";
39
- MSIC_0X$1["GROWING_OF_GUAVA"] = "01241";
40
- MSIC_0X$1["GROWING_OF_OTHER_POME_FRUITS"] = "01249";
41
- MSIC_0X$1["GROWING_OF_BERRIES"] = "01251";
42
- MSIC_0X$1["GROWING_OF_FRUIT_SEEDS"] = "01252";
43
- MSIC_0X$1["GROWING_OF_EDIBLE_NUTS"] = "01253";
44
- MSIC_0X$1["GROWING_OF_OTHER_TREE_AND_BUSH_FRUITS"] = "01259";
45
- MSIC_0X$1["GROWING_OF_OIL_PALM_ESTATE"] = "01261";
46
- MSIC_0X$1["GROWING_OF_OIL_PALM_SMALLHOLDINGS"] = "01262";
47
- MSIC_0X$1["GROWING_OF_COCONUT"] = "01263";
48
- MSIC_0X$1["GROWING_OF_OTHER_OLEAGINOUS_FRUITS"] = "01269";
49
- MSIC_0X$1["GROWING_OF_COFFEE"] = "01271";
50
- MSIC_0X$1["GROWING_OF_TEA"] = "01272";
51
- MSIC_0X$1["GROWING_OF_COCOA"] = "01273";
52
- MSIC_0X$1["GROWING_OF_OTHER_BEVERAGE_CROPS"] = "01279";
53
- MSIC_0X$1["GROWING_OF_PEPPER"] = "01281";
54
- MSIC_0X$1["GROWING_OF_CHILIES"] = "01282";
55
- MSIC_0X$1["GROWING_OF_NUTMEG"] = "01283";
56
- MSIC_0X$1["GROWING_OF_GINGER"] = "01284";
57
- MSIC_0X$1["GROWING_OF_PLANTS_FOR_PHARMACY"] = "01285";
58
- MSIC_0X$1["GROWING_OF_OTHER_SPICES"] = "01289";
59
- MSIC_0X$1["GROWING_OF_RUBBER_TREES_ESTATE"] = "01291";
60
- MSIC_0X$1["GROWING_OF_RUBBER_TREES_SMALLHOLDINGS"] = "01292";
61
- MSIC_0X$1["GROWING_OF_TREES_FOR_SAP"] = "01293";
62
- MSIC_0X$1["GROWING_OF_NIPA_PALM"] = "01294";
63
- MSIC_0X$1["GROWING_OF_ARECA"] = "01295";
64
- MSIC_0X$1["GROWING_OF_ROSELLE"] = "01296";
65
- MSIC_0X$1["GROWING_OF_OTHER_PERENNIAL_CROPS"] = "01299";
66
- MSIC_0X$1["GROWING_OF_PLANTS_FOR_PLANTING"] = "01301";
67
- MSIC_0X$1["GROWING_OF_PLANTS_FOR_ORNAMENTAL"] = "01302";
68
- MSIC_0X$1["GROWING_OF_LIVE_PLANTS"] = "01303";
69
- MSIC_0X$1["OPERATION_OF_TREE_NURSERIES"] = "01304";
70
- MSIC_0X$1["RAISING_CATTLE_OR_BUFFALOES"] = "01411";
71
- MSIC_0X$1["PRODUCTION_OF_RAW_MILK"] = "01412";
72
- MSIC_0X$1["PRODUCTION_OF_BOVINE_SEMEN"] = "01413";
73
- MSIC_0X$1["RAISING_OF_HORSES"] = "01420";
74
- MSIC_0X$1["RAISING_OF_CAMELS"] = "01430";
75
- MSIC_0X$1["RAISING_OF_SHEEP_AND_GOATS"] = "01441";
76
- MSIC_0X$1["PRODUCTION_OF_SHEEP_MILK"] = "01442";
77
- MSIC_0X$1["PRODUCTION_OF_RAW_WOOL"] = "01443";
78
- MSIC_0X$1["RAISING_OF_SWINE"] = "01450";
79
- MSIC_0X$1["RAISING_OF_CHICKEN"] = "01461";
80
- MSIC_0X$1["RAISING_OF_DUCKS"] = "01462";
81
- MSIC_0X$1["RAISING_OF_GEESE"] = "01463";
82
- MSIC_0X$1["RAISING_OF_QUAILS"] = "01464";
83
- MSIC_0X$1["RAISING_OF_OTHER_POULTRY"] = "01465";
84
- MSIC_0X$1["PRODUCTION_OF_CHICKEN_EGGS"] = "01466";
85
- MSIC_0X$1["PRODUCTION_OF_DUCK_EGGS"] = "01467";
86
- MSIC_0X$1["PRODUCTION_OF_OTHER_POULTRY_EGGS"] = "01468";
87
- MSIC_0X$1["OPERATION_OF_POULTRY_HATCHERIES"] = "01469";
88
- MSIC_0X$1["RAISING_OF_SEMI_DOMESTICATED"] = "01491";
89
- MSIC_0X$1["PRODUCTION_OF_FUR_SKINS"] = "01492";
90
- MSIC_0X$1["OPERATION_OF_WORM_FARMS"] = "01493";
91
- MSIC_0X$1["RAISING_OF_SILK_WORMS"] = "01494";
92
- MSIC_0X$1["BEE_KEEPING"] = "01495";
93
- MSIC_0X$1["RAISING_OF_PET_ANIMALS"] = "01496";
94
- MSIC_0X$1["RAISING_OF_SWIFLET"] = "01497";
95
- MSIC_0X$1["RAISING_OF_DIVERSE_ANIMALS"] = "01499";
96
- MSIC_0X$1["MIXED_FARMING"] = "01500";
97
- MSIC_0X$1["AGRICULTURAL_ACTIVITIES_FOR_CROPS"] = "01610";
98
- MSIC_0X$1["AGRICULTURAL_ACTIVITIES_FOR_ANIMALS"] = "01620";
99
- MSIC_0X$1["PREPARATION_OF_CROPS"] = "01631";
100
- MSIC_0X$1["PREPARATION_OF_TOBACCO_LEAVES"] = "01632";
101
- MSIC_0X$1["PREPARATION_OF_COCOA_BEANS"] = "01633";
102
- MSIC_0X$1["SUN_DRYING_OF_FRUITS"] = "01634";
103
- MSIC_0X$1["SEED_PROCESSING"] = "01640";
104
- MSIC_0X$1["HUNTING_AND_TRAPPING"] = "01701";
105
- MSIC_0X$1["TAKING_OF_ANIMALS"] = "01702";
106
- MSIC_0X$1["PLANTING_OF_FORESTS"] = "02101";
107
- MSIC_0X$1["GROWING_OF_COPPICE"] = "02102";
108
- MSIC_0X$1["OPERATION_OF_FOREST_NURSERIES"] = "02103";
109
- MSIC_0X$1["COLLECTION_OF_WILDINGS"] = "02104";
110
- MSIC_0X$1["FOREST_PLANTATION"] = "02105";
111
- MSIC_0X$1["PRODUCTION_OF_ROUND_WOOD"] = "02201";
112
- MSIC_0X$1["PRODUCTION_OF_UNPROCESSED_WOOD"] = "02202";
113
- MSIC_0X$1["PRODUCTION_OF_CHARCOAL"] = "02203";
114
- MSIC_0X$1["RUBBER_WOOD_LOGGING"] = "02204";
115
- MSIC_0X$1["COLLECTION_OF_RATTAN"] = "02301";
116
- MSIC_0X$1["BIRDS_NEST_COLLECTION"] = "02302";
117
- MSIC_0X$1["WILD_SAGO_PALM_COLLECTION"] = "02303";
118
- MSIC_0X$1["GATHERING_OF_NON_WOOD_FOREST"] = "02309";
119
- MSIC_0X$1["FORESTRY_SERVICE_ACTIVITIES"] = "02401";
120
- MSIC_0X$1["LOGGING_SERVICE_ACTIVITIES"] = "02402";
121
- MSIC_0X$1["COMMERCIAL_OCEAN_FISHING"] = "03111";
122
- MSIC_0X$1["COLLECTION_OF_MARINE_CRUSTACEANS"] = "03112";
123
- MSIC_0X$1["TAKING_OF_AQUATIC_ANIMALS"] = "03113";
124
- MSIC_0X$1["VESSELS_FOR_FISHING"] = "03114";
125
- MSIC_0X$1["GATHERING_OF_MARINE_ORGANISMS"] = "03115";
126
- MSIC_0X$1["MARINE_FISHING"] = "03119";
127
- MSIC_0X$1["COMMERCIAL_INLAND_FISHING"] = "03121";
128
- MSIC_0X$1["TAKING_OF_FRESHWATER_CRUSTACEANS"] = "03122";
129
- MSIC_0X$1["TAKING_OF_FRESHWATER_ANIMALS"] = "03123";
130
- MSIC_0X$1["GATHERING_OF_FRESHWATER_FLORA"] = "03124";
131
- MSIC_0X$1["FRESHWATER_FISHING"] = "03129";
132
- MSIC_0X$1["FISH_FARMING_SEA_WATER"] = "03211";
133
- MSIC_0X$1["PRODUCTION_OF_BIVALVE_SPAT"] = "03212";
134
- MSIC_0X$1["GROWING_OF_SEAWEEDS"] = "03213";
135
- MSIC_0X$1["CULTURE_OF_CRUSTACEANS"] = "03214";
136
- MSIC_0X$1["AQUACULTURE_IN_BRACKISH"] = "03215";
137
- MSIC_0X$1["AQUACULTURE_IN_SALT_WATER"] = "03216";
138
- MSIC_0X$1["OPERATION_OF_MARINE_HATCHERIES"] = "03217";
139
- MSIC_0X$1["OPERATION_OF_MARINE_WORM_FARMS"] = "03218";
140
- MSIC_0X$1["MARINE_AQUACULTURE"] = "03219";
141
- MSIC_0X$1["FISH_FARMING_FRESHWATER"] = "03221";
142
- MSIC_0X$1["SHRIMP_FARMING_FRESHWATER"] = "03222";
143
- MSIC_0X$1["CULTURE_OF_FRESHWATER_CRUSTACEANS"] = "03223";
144
- MSIC_0X$1["OPERATION_OF_FRESHWATER_HATCHERIES"] = "03224";
145
- MSIC_0X$1["FARMING_OF_FROGS"] = "03225";
146
- MSIC_0X$1["FRESHWATER_AQUACULTURE"] = "03229";
147
- MSIC_0X$1["MINING_OF_HARD_COAL"] = "05100";
148
- MSIC_0X$1["MINING_OF_LIGNITE"] = "05200";
149
- MSIC_0X$1["EXTRACTION_OF_CRUDE_PETROLEUM"] = "06101";
150
- MSIC_0X$1["EXTRACTION_OF_BITUMINOUS"] = "06102";
151
- MSIC_0X$1["PRODUCTION_OF_CRUDE_PETROLEUM"] = "06103";
152
- MSIC_0X$1["PROCESSES_TO_OBTAIN_CRUDE_OILS"] = "06104";
153
- MSIC_0X$1["PRODUCTION_OF_NATURAL_GAS"] = "06201";
154
- MSIC_0X$1["EXTRACTION_OF_CONDENSATES"] = "06202";
155
- MSIC_0X$1["DRAINING_OF_HYDROCARBON"] = "06203";
156
- MSIC_0X$1["GAS_DESULPHURIZATION"] = "06204";
157
- MSIC_0X$1["MINING_OF_HYDROCARBON_LIQUIDS"] = "06205";
158
- MSIC_0X$1["MINING_OF_IRON_ORES"] = "07101";
159
- MSIC_0X$1["BENEFICIATION_OF_IRON_ORES"] = "07102";
160
- MSIC_0X$1["MINING_OF_URANIUM"] = "07210";
161
- MSIC_0X$1["MINING_OF_TIN"] = "07291";
162
- MSIC_0X$1["MINING_OF_COPPER"] = "07292";
163
- MSIC_0X$1["MINING_OF_BAUXITE"] = "07293";
164
- MSIC_0X$1["MINING_OF_ILMENITE"] = "07294";
165
- MSIC_0X$1["MINING_OF_GOLD"] = "07295";
166
- MSIC_0X$1["MINING_OF_SILVER"] = "07296";
167
- MSIC_0X$1["MINING_OF_PLATINUM"] = "07297";
168
- MSIC_0X$1["AMANG_RETREATMENT"] = "07298";
169
- MSIC_0X$1["MINING_OF_OTHER_NON_FERROUS"] = "07299";
170
- MSIC_0X$1["QUARRYING_OF_STONE"] = "08101";
171
- MSIC_0X$1["QUARRYING_OF_LIMESTONE"] = "08102";
172
- MSIC_0X$1["MINING_OF_GYPSUM"] = "08103";
173
- MSIC_0X$1["MINING_OF_CHALK"] = "08104";
174
- MSIC_0X$1["EXTRACTION_OF_SAND"] = "08105";
175
- MSIC_0X$1["BREAKING_OF_STONE"] = "08106";
176
- MSIC_0X$1["QUARRYING_OF_SAND"] = "08107";
177
- MSIC_0X$1["MINING_OF_CLAYS"] = "08108";
178
- MSIC_0X$1["QUARRYING_OF_GRANITE"] = "08109";
179
- MSIC_0X$1["MINING_OF_PHOSPHATES"] = "08911";
180
- MSIC_0X$1["MINING_OF_POTASSIUM"] = "08912";
181
- MSIC_0X$1["MINING_OF_SULPHUR"] = "08913";
182
- MSIC_0X$1["EXTRACTION_OF_PYRITES"] = "08914";
183
- MSIC_0X$1["MINING_OF_BARIUM"] = "08915";
184
- MSIC_0X$1["MINING_OF_BORATES"] = "08916";
185
- MSIC_0X$1["MINING_OF_EARTH_COLOURS"] = "08917";
186
- MSIC_0X$1["GUANO_MINING"] = "08918";
187
- MSIC_0X$1["PEAT_DIGGING"] = "08921";
188
- MSIC_0X$1["PEAT_AGGLOMERATION"] = "08922";
189
- MSIC_0X$1["PREPARATION_OF_PEAT"] = "08923";
190
- MSIC_0X$1["EXTRACTION_OF_UNDERGROUND_SALT"] = "08931";
191
- MSIC_0X$1["SALT_PRODUCTION"] = "08932";
192
- MSIC_0X$1["CRUSHING_OF_SALT"] = "08933";
193
- MSIC_0X$1["MINING_OF_ABRASIVE_MATERIALS"] = "08991";
194
- MSIC_0X$1["MINING_OF_ASBESTOS"] = "08992";
195
- MSIC_0X$1["MINING_OF_SILICEOUS"] = "08993";
196
- MSIC_0X$1["MINING_OF_GRAPHITE"] = "08994";
197
- MSIC_0X$1["MINING_OF_STEATITE"] = "08995";
198
- MSIC_0X$1["MINING_OF_GEMSTONES"] = "08996";
199
- MSIC_0X$1["OTHER_MINING"] = "08999";
200
- MSIC_0X$1["OIL_AND_GAS_EXTRACTION"] = "09101";
201
- MSIC_0X$1["OIL_AND_GAS_FIREFIGHTING"] = "09102";
202
- MSIC_0X$1["SUPPORT_FOR_MINING"] = "09900";
203
- return MSIC_0X$1;
204
- }({});
2
+ //#region src/utils/helpers.ts
3
+ /**
4
+ * MyInvois Invoice Helper Functions
5
+ *
6
+ * Provides convenient utilities for common invoice scenarios and business patterns.
7
+ * These helpers simplify the creation of compliant MyInvois documents.
8
+ */
9
+ /**
10
+ * Payment Method Helpers
11
+ */
12
+ const PaymentHelpers = {
13
+ cash() {
14
+ return {
15
+ paymentMeansCode: "01",
16
+ paymentTerms: "Cash payment"
17
+ };
18
+ },
19
+ cheque(accountId) {
20
+ return {
21
+ paymentMeansCode: "02",
22
+ payeeFinancialAccountID: accountId,
23
+ paymentTerms: "Cheque payment"
24
+ };
25
+ },
26
+ bankTransfer(accountId, dueDate) {
27
+ return {
28
+ paymentMeansCode: "03",
29
+ payeeFinancialAccountID: accountId,
30
+ paymentDueDate: dueDate,
31
+ paymentTerms: "Bank transfer"
32
+ };
33
+ },
34
+ creditCard() {
35
+ return {
36
+ paymentMeansCode: "04",
37
+ paymentTerms: "Credit card payment"
38
+ };
39
+ },
40
+ eWallet(accountId) {
41
+ return {
42
+ paymentMeansCode: "05",
43
+ payeeFinancialAccountID: accountId,
44
+ paymentTerms: "E-wallet payment"
45
+ };
46
+ },
47
+ net(days, accountId) {
48
+ const dueDate = /* @__PURE__ */ new Date();
49
+ dueDate.setDate(dueDate.getDate() + days);
50
+ return {
51
+ paymentMeansCode: "03",
52
+ payeeFinancialAccountID: accountId,
53
+ paymentDueDate: dueDate.toISOString().split("T")[0],
54
+ paymentTerms: `Net ${days} days`
55
+ };
56
+ }
57
+ };
58
+ /**
59
+ * Currency and Exchange Rate Helpers
60
+ */
61
+ const CurrencyHelpers = {
62
+ domestic() {
63
+ return {
64
+ sourceCurrencyCode: "MYR",
65
+ targetCurrencyCode: "MYR",
66
+ calculationRate: 1
67
+ };
68
+ },
69
+ international(fromCurrency, toCurrency = "MYR", exchangeRate, rateDate) {
70
+ return {
71
+ sourceCurrencyCode: fromCurrency,
72
+ targetCurrencyCode: toCurrency,
73
+ calculationRate: exchangeRate,
74
+ exchangeRateDate: rateDate || (/* @__PURE__ */ new Date()).toISOString().split("T")[0]
75
+ };
76
+ },
77
+ commonRates: {
78
+ USD_MYR: 4.75,
79
+ SGD_MYR: 3.45,
80
+ EUR_MYR: 5.1,
81
+ GBP_MYR: 5.85,
82
+ JPY_MYR: .032,
83
+ AUD_MYR: 3.12
84
+ }
85
+ };
86
+ /**
87
+ * Tax Calculation Helpers
88
+ */
89
+ const TaxHelpers = {
90
+ calculateSST(amount, rate = 6) {
91
+ const taxAmount = amount * rate / 100;
92
+ return {
93
+ taxAmount: Math.round(taxAmount * 100) / 100,
94
+ totalWithTax: Math.round((amount + taxAmount) * 100) / 100
95
+ };
96
+ },
97
+ calculateServiceTax(amount, rate = 6) {
98
+ return TaxHelpers.calculateSST(amount, rate);
99
+ },
100
+ zeroRated(amount) {
101
+ return {
102
+ taxAmount: 0,
103
+ totalWithTax: amount
104
+ };
105
+ },
106
+ exempt(amount) {
107
+ return {
108
+ taxAmount: 0,
109
+ totalWithTax: amount
110
+ };
111
+ }
112
+ };
113
+ /**
114
+ * Allowance and Charge Helpers
115
+ */
116
+ const AllowanceChargeHelpers = {
117
+ discount(reason, amount, percentage) {
118
+ return {
119
+ chargeIndicator: false,
120
+ reason,
121
+ amount,
122
+ multiplierFactorNumeric: percentage ? percentage / 100 : void 0
123
+ };
124
+ },
125
+ shipping(amount, description = "Shipping and handling") {
126
+ return {
127
+ chargeIndicator: true,
128
+ reason: description,
129
+ amount
130
+ };
131
+ },
132
+ earlyPaymentDiscount(percentage, baseAmount) {
133
+ const discountAmount = baseAmount * percentage / 100;
134
+ return {
135
+ chargeIndicator: false,
136
+ reason: `Early payment discount ${percentage}%`,
137
+ amount: Math.round(discountAmount * 100) / 100,
138
+ multiplierFactorNumeric: percentage / 100,
139
+ baseAmount
140
+ };
141
+ },
142
+ handlingFee(amount) {
143
+ return {
144
+ chargeIndicator: true,
145
+ reason: "Handling fee",
146
+ amount
147
+ };
148
+ }
149
+ };
150
+ /**
151
+ * Delivery Helpers
152
+ */
153
+ const DeliveryHelpers = {
154
+ standard(deliveryDate, address) {
155
+ return {
156
+ actualDeliveryDate: deliveryDate,
157
+ deliveryLocation: {
158
+ ...address,
159
+ country: address.country || "MYS"
160
+ }
161
+ };
162
+ },
163
+ pickup(pickupDate) {
164
+ return {
165
+ actualDeliveryDate: pickupDate,
166
+ deliveryLocation: {
167
+ addressLine0: "Customer pickup",
168
+ cityName: "N/A",
169
+ state: "N/A",
170
+ country: "MYS"
171
+ }
172
+ };
173
+ },
174
+ withFreight(deliveryDate, address, freightAmount, freightDescription = "Freight charges") {
175
+ return {
176
+ actualDeliveryDate: deliveryDate,
177
+ deliveryLocation: address,
178
+ shipment: {
179
+ id: `SHIP-${Date.now()}`,
180
+ freightAllowanceCharge: {
181
+ chargeIndicator: true,
182
+ reason: freightDescription,
183
+ amount: freightAmount
184
+ }
185
+ }
186
+ };
187
+ }
188
+ };
189
+ /**
190
+ * Document Reference Helpers
191
+ */
192
+ const DocumentReferenceHelpers = {
193
+ purchaseOrder(poNumber) {
194
+ return { purchaseOrderReference: poNumber };
195
+ },
196
+ contract(contractNumber) {
197
+ return { contractReference: contractNumber };
198
+ },
199
+ project(projectNumber) {
200
+ return { projectReference: projectNumber };
201
+ },
202
+ billing(billingNumber) {
203
+ return { billingReference: billingNumber };
204
+ },
205
+ customs(customsFormNumber) {
206
+ return {
207
+ id: customsFormNumber,
208
+ documentType: "CustomsImportForm",
209
+ documentDescription: "Customs import declaration"
210
+ };
211
+ },
212
+ freeTradeAgreement(ftaNumber, country) {
213
+ return {
214
+ id: ftaNumber,
215
+ documentType: "FreeTradeAgreement",
216
+ documentDescription: `Free trade agreement with ${country}`
217
+ };
218
+ }
219
+ };
220
+ /**
221
+ * Industry Classification Helpers
222
+ */
223
+ const IndustryHelpers = {
224
+ trading: {
225
+ industryClassificationCode: "47900",
226
+ industryClassificationDescription: "Retail sale via mail order houses or via Internet"
227
+ },
228
+ manufacturing: {
229
+ industryClassificationCode: "10131",
230
+ industryClassificationDescription: "Processing and preserving of meat"
231
+ },
232
+ software: {
233
+ industryClassificationCode: "62012",
234
+ industryClassificationDescription: "Business and domestic software development"
235
+ },
236
+ consulting: {
237
+ industryClassificationCode: "70200",
238
+ industryClassificationDescription: "Management consultancy activities"
239
+ },
240
+ restaurant: {
241
+ industryClassificationCode: "56101",
242
+ industryClassificationDescription: "Restaurants"
243
+ },
244
+ construction: {
245
+ industryClassificationCode: "41000",
246
+ industryClassificationDescription: "Development of building projects"
247
+ },
248
+ logistics: {
249
+ industryClassificationCode: "49301",
250
+ industryClassificationDescription: "Land freight transport"
251
+ },
252
+ custom(code, description) {
253
+ return {
254
+ industryClassificationCode: code,
255
+ industryClassificationDescription: description
256
+ };
257
+ }
258
+ };
259
+ /**
260
+ * Date and Time Helpers
261
+ */
262
+ const DateTimeHelpers = {
263
+ currentDate() {
264
+ return (/* @__PURE__ */ new Date()).toISOString().split("T")[0] || "";
265
+ },
266
+ currentTime() {
267
+ return (/* @__PURE__ */ new Date()).toISOString().split("T")[1]?.split(".")[0] + "Z" || "";
268
+ },
269
+ formatDate(date) {
270
+ return date.toISOString().split("T")[0] || "";
271
+ },
272
+ formatTime(date) {
273
+ return date.toISOString().split("T")[1]?.split(".")[0] + "Z" || "";
274
+ },
275
+ addDays(date, days) {
276
+ const result = new Date(date);
277
+ result.setDate(result.getDate() + days);
278
+ return result;
279
+ },
280
+ monthlyPeriod(year, month) {
281
+ const start = new Date(Date.UTC(year, month - 1, 1));
282
+ const end = new Date(Date.UTC(year, month, 0));
283
+ return {
284
+ start: DateTimeHelpers.formatDate(start),
285
+ end: DateTimeHelpers.formatDate(end)
286
+ };
287
+ }
288
+ };
289
+ /**
290
+ * Complete Invoice Builder Helper
291
+ */
292
+ const InvoiceBuilder = {
293
+ basicCash(invoiceNumber) {
294
+ return {
295
+ eInvoiceCodeOrNumber: invoiceNumber,
296
+ eInvoiceDate: DateTimeHelpers.currentDate(),
297
+ eInvoiceTime: DateTimeHelpers.currentTime(),
298
+ eInvoiceTypeCode: "01",
299
+ eInvoiceVersion: "1.1",
300
+ invoiceCurrencyCode: "MYR",
301
+ paymentMeans: [PaymentHelpers.cash()]
302
+ };
303
+ },
304
+ businessInvoice(invoiceNumber, accountId, netDays = 30) {
305
+ return {
306
+ eInvoiceCodeOrNumber: invoiceNumber,
307
+ eInvoiceDate: DateTimeHelpers.currentDate(),
308
+ eInvoiceTime: DateTimeHelpers.currentTime(),
309
+ eInvoiceTypeCode: "01",
310
+ eInvoiceVersion: "1.1",
311
+ invoiceCurrencyCode: "MYR",
312
+ paymentMeans: [PaymentHelpers.net(netDays, accountId)]
313
+ };
314
+ },
315
+ international(invoiceNumber, currency, exchangeRate) {
316
+ return {
317
+ eInvoiceCodeOrNumber: invoiceNumber,
318
+ eInvoiceDate: DateTimeHelpers.currentDate(),
319
+ eInvoiceTime: DateTimeHelpers.currentTime(),
320
+ eInvoiceTypeCode: "01",
321
+ eInvoiceVersion: "1.1",
322
+ invoiceCurrencyCode: currency,
323
+ currencyExchangeRate: exchangeRate,
324
+ taxExchangeRate: CurrencyHelpers.international(currency, "MYR", exchangeRate),
325
+ paymentMeans: [PaymentHelpers.bankTransfer("")]
326
+ };
327
+ }
328
+ };
205
329
 
206
330
  //#endregion
207
- exports.MSIC_0X = MSIC_0X;
331
+ exports.AllowanceChargeHelpers = AllowanceChargeHelpers;
332
+ exports.CurrencyHelpers = CurrencyHelpers;
333
+ exports.DateTimeHelpers = DateTimeHelpers;
334
+ exports.DeliveryHelpers = DeliveryHelpers;
335
+ exports.DocumentReferenceHelpers = DocumentReferenceHelpers;
336
+ exports.IndustryHelpers = IndustryHelpers;
337
+ exports.InvoiceBuilder = InvoiceBuilder;
338
+ exports.PaymentHelpers = PaymentHelpers;
339
+ exports.TaxHelpers = TaxHelpers;
208
340
  //# sourceMappingURL=index18.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index18.cjs","names":[],"sources":["../src/types/msic/0X.d.ts"],"sourcesContent":["export type MSICCode = {\n code: string\n description: string\n msicCategoryReference: string\n}\n\nexport type MSIC_0X_CODE =\n | '00000'\n | '01111'\n | '01112'\n | '01113'\n | '01119'\n | '01120'\n | '01131'\n | '01132'\n | '01133'\n | '01134'\n | '01135'\n | '01136'\n | '01137'\n | '01138'\n | '01140'\n | '01150'\n | '01160'\n | '01191'\n | '01192'\n | '01193'\n | '01199'\n | '01210'\n | '01221'\n | '01222'\n | '01223'\n | '01224'\n | '01225'\n | '01226'\n | '01227'\n | '01228'\n | '01229'\n | '01231'\n | '01232'\n | '01233'\n | '01239'\n | '01241'\n | '01249'\n | '01251'\n | '01252'\n | '01253'\n | '01259'\n | '01261'\n | '01262'\n | '01263'\n | '01269'\n | '01271'\n | '01272'\n | '01273'\n | '01279'\n | '01281'\n | '01282'\n | '01283'\n | '01284'\n | '01285'\n | '01289'\n | '01291'\n | '01292'\n | '01293'\n | '01294'\n | '01295'\n | '01296'\n | '01299'\n | '01301'\n | '01302'\n | '01303'\n | '01304'\n | '01411'\n | '01412'\n | '01413'\n | '01420'\n | '01430'\n | '01441'\n | '01442'\n | '01443'\n | '01450'\n | '01461'\n | '01462'\n | '01463'\n | '01464'\n | '01465'\n | '01466'\n | '01467'\n | '01468'\n | '01469'\n | '01491'\n | '01492'\n | '01493'\n | '01494'\n | '01495'\n | '01496'\n | '01497'\n | '01499'\n | '01500'\n | '01610'\n | '01620'\n | '01631'\n | '01632'\n | '01633'\n | '01634'\n | '01640'\n | '01701'\n | '01702'\n | '02101'\n | '02102'\n | '02103'\n | '02104'\n | '02105'\n | '02201'\n | '02202'\n | '02203'\n | '02204'\n | '02301'\n | '02302'\n | '02303'\n | '02309'\n | '02401'\n | '02402'\n | '03111'\n | '03112'\n | '03113'\n | '03114'\n | '03115'\n | '03119'\n | '03121'\n | '03122'\n | '03123'\n | '03124'\n | '03129'\n | '03211'\n | '03212'\n | '03213'\n | '03214'\n | '03215'\n | '03216'\n | '03217'\n | '03218'\n | '03219'\n | '03221'\n | '03222'\n | '03223'\n | '03224'\n | '03225'\n | '03229'\n | '05100'\n | '05200'\n | '06101'\n | '06102'\n | '06103'\n | '06104'\n | '06201'\n | '06202'\n | '06203'\n | '06204'\n | '06205'\n | '07101'\n | '07102'\n | '07210'\n | '07291'\n | '07292'\n | '07293'\n | '07294'\n | '07295'\n | '07296'\n | '07297'\n | '07298'\n | '07299'\n | '08101'\n | '08102'\n | '08103'\n | '08104'\n | '08105'\n | '08106'\n | '08107'\n | '08108'\n | '08109'\n | '08911'\n | '08912'\n | '08913'\n | '08914'\n | '08915'\n | '08916'\n | '08917'\n | '08918'\n | '08921'\n | '08922'\n | '08923'\n | '08931'\n | '08932'\n | '08933'\n | '08991'\n | '08992'\n | '08993'\n | '08994'\n | '08995'\n | '08996'\n | '08999'\n | '09101'\n | '09102'\n | '09900'\n\nexport enum MSIC_0X {\n NOT_APPLICABLE = '00000',\n GROWING_OF_MAIZE = '01111',\n GROWING_OF_LEGUMINOUS_CROPS = '01112',\n GROWING_OF_OIL_SEEDS = '01113',\n GROWING_OF_OTHER_CEREALS = '01119',\n GROWING_OF_PADDY = '01120',\n GROWING_OF_LEAFY_OR_STEM_VEGETABLES = '01131',\n GROWING_OF_FRUITS_BEARING_VEGETABLES = '01132',\n GROWING_OF_MELONS = '01133',\n GROWING_OF_MUSHROOMS_AND_TRUFFLES = '01134',\n GROWING_OF_VEGETABLES_SEEDS = '01135',\n GROWING_OF_OTHER_VEGETABLES = '01136',\n GROWING_OF_SUGAR_BEET = '01137',\n GROWING_OF_ROOTS_TUBERS = '01138',\n GROWING_OF_SUGAR_CANE = '01140',\n GROWING_OF_TOBACCO = '01150',\n GROWING_OF_FIBRE_CROPS = '01160',\n GROWING_OF_FLOWERS = '01191',\n GROWING_OF_FLOWER_SEEDS = '01192',\n GROWING_OF_SAGO = '01193',\n GROWING_OF_OTHER_NON_PERENNIAL_CROPS = '01199',\n GROWING_OF_GRAPES = '01210',\n GROWING_OF_BANANA = '01221',\n GROWING_OF_MANGO = '01222',\n GROWING_OF_DURIAN = '01223',\n GROWING_OF_RAMBUTAN = '01224',\n GROWING_OF_STAR_FRUIT = '01225',\n GROWING_OF_PAPAYA = '01226',\n GROWING_OF_PINEAPPLE = '01227',\n GROWING_OF_PITAYA = '01228',\n GROWING_OF_OTHER_TROPICAL_FRUITS = '01229',\n GROWING_OF_POMELO = '01231',\n GROWING_OF_LEMON_AND_LIMES = '01232',\n GROWING_OF_TANGERINES_AND_MANDARIN = '01233',\n GROWING_OF_OTHER_CITRUS_FRUITS = '01239',\n GROWING_OF_GUAVA = '01241',\n GROWING_OF_OTHER_POME_FRUITS = '01249',\n GROWING_OF_BERRIES = '01251',\n GROWING_OF_FRUIT_SEEDS = '01252',\n GROWING_OF_EDIBLE_NUTS = '01253',\n GROWING_OF_OTHER_TREE_AND_BUSH_FRUITS = '01259',\n GROWING_OF_OIL_PALM_ESTATE = '01261',\n GROWING_OF_OIL_PALM_SMALLHOLDINGS = '01262',\n GROWING_OF_COCONUT = '01263',\n GROWING_OF_OTHER_OLEAGINOUS_FRUITS = '01269',\n GROWING_OF_COFFEE = '01271',\n GROWING_OF_TEA = '01272',\n GROWING_OF_COCOA = '01273',\n GROWING_OF_OTHER_BEVERAGE_CROPS = '01279',\n GROWING_OF_PEPPER = '01281',\n GROWING_OF_CHILIES = '01282',\n GROWING_OF_NUTMEG = '01283',\n GROWING_OF_GINGER = '01284',\n GROWING_OF_PLANTS_FOR_PHARMACY = '01285',\n GROWING_OF_OTHER_SPICES = '01289',\n GROWING_OF_RUBBER_TREES_ESTATE = '01291',\n GROWING_OF_RUBBER_TREES_SMALLHOLDINGS = '01292',\n GROWING_OF_TREES_FOR_SAP = '01293',\n GROWING_OF_NIPA_PALM = '01294',\n GROWING_OF_ARECA = '01295',\n GROWING_OF_ROSELLE = '01296',\n GROWING_OF_OTHER_PERENNIAL_CROPS = '01299',\n GROWING_OF_PLANTS_FOR_PLANTING = '01301',\n GROWING_OF_PLANTS_FOR_ORNAMENTAL = '01302',\n GROWING_OF_LIVE_PLANTS = '01303',\n OPERATION_OF_TREE_NURSERIES = '01304',\n RAISING_CATTLE_OR_BUFFALOES = '01411',\n PRODUCTION_OF_RAW_MILK = '01412',\n PRODUCTION_OF_BOVINE_SEMEN = '01413',\n RAISING_OF_HORSES = '01420',\n RAISING_OF_CAMELS = '01430',\n RAISING_OF_SHEEP_AND_GOATS = '01441',\n PRODUCTION_OF_SHEEP_MILK = '01442',\n PRODUCTION_OF_RAW_WOOL = '01443',\n RAISING_OF_SWINE = '01450',\n RAISING_OF_CHICKEN = '01461',\n RAISING_OF_DUCKS = '01462',\n RAISING_OF_GEESE = '01463',\n RAISING_OF_QUAILS = '01464',\n RAISING_OF_OTHER_POULTRY = '01465',\n PRODUCTION_OF_CHICKEN_EGGS = '01466',\n PRODUCTION_OF_DUCK_EGGS = '01467',\n PRODUCTION_OF_OTHER_POULTRY_EGGS = '01468',\n OPERATION_OF_POULTRY_HATCHERIES = '01469',\n RAISING_OF_SEMI_DOMESTICATED = '01491',\n PRODUCTION_OF_FUR_SKINS = '01492',\n OPERATION_OF_WORM_FARMS = '01493',\n RAISING_OF_SILK_WORMS = '01494',\n BEE_KEEPING = '01495',\n RAISING_OF_PET_ANIMALS = '01496',\n RAISING_OF_SWIFLET = '01497',\n RAISING_OF_DIVERSE_ANIMALS = '01499',\n MIXED_FARMING = '01500',\n AGRICULTURAL_ACTIVITIES_FOR_CROPS = '01610',\n AGRICULTURAL_ACTIVITIES_FOR_ANIMALS = '01620',\n PREPARATION_OF_CROPS = '01631',\n PREPARATION_OF_TOBACCO_LEAVES = '01632',\n PREPARATION_OF_COCOA_BEANS = '01633',\n SUN_DRYING_OF_FRUITS = '01634',\n SEED_PROCESSING = '01640',\n HUNTING_AND_TRAPPING = '01701',\n TAKING_OF_ANIMALS = '01702',\n PLANTING_OF_FORESTS = '02101',\n GROWING_OF_COPPICE = '02102',\n OPERATION_OF_FOREST_NURSERIES = '02103',\n COLLECTION_OF_WILDINGS = '02104',\n FOREST_PLANTATION = '02105',\n PRODUCTION_OF_ROUND_WOOD = '02201',\n PRODUCTION_OF_UNPROCESSED_WOOD = '02202',\n PRODUCTION_OF_CHARCOAL = '02203',\n RUBBER_WOOD_LOGGING = '02204',\n COLLECTION_OF_RATTAN = '02301',\n BIRDS_NEST_COLLECTION = '02302',\n WILD_SAGO_PALM_COLLECTION = '02303',\n GATHERING_OF_NON_WOOD_FOREST = '02309',\n FORESTRY_SERVICE_ACTIVITIES = '02401',\n LOGGING_SERVICE_ACTIVITIES = '02402',\n COMMERCIAL_OCEAN_FISHING = '03111',\n COLLECTION_OF_MARINE_CRUSTACEANS = '03112',\n TAKING_OF_AQUATIC_ANIMALS = '03113',\n VESSELS_FOR_FISHING = '03114',\n GATHERING_OF_MARINE_ORGANISMS = '03115',\n MARINE_FISHING = '03119',\n COMMERCIAL_INLAND_FISHING = '03121',\n TAKING_OF_FRESHWATER_CRUSTACEANS = '03122',\n TAKING_OF_FRESHWATER_ANIMALS = '03123',\n GATHERING_OF_FRESHWATER_FLORA = '03124',\n FRESHWATER_FISHING = '03129',\n FISH_FARMING_SEA_WATER = '03211',\n PRODUCTION_OF_BIVALVE_SPAT = '03212',\n GROWING_OF_SEAWEEDS = '03213',\n CULTURE_OF_CRUSTACEANS = '03214',\n AQUACULTURE_IN_BRACKISH = '03215',\n AQUACULTURE_IN_SALT_WATER = '03216',\n OPERATION_OF_MARINE_HATCHERIES = '03217',\n OPERATION_OF_MARINE_WORM_FARMS = '03218',\n MARINE_AQUACULTURE = '03219',\n FISH_FARMING_FRESHWATER = '03221',\n SHRIMP_FARMING_FRESHWATER = '03222',\n CULTURE_OF_FRESHWATER_CRUSTACEANS = '03223',\n OPERATION_OF_FRESHWATER_HATCHERIES = '03224',\n FARMING_OF_FROGS = '03225',\n FRESHWATER_AQUACULTURE = '03229',\n MINING_OF_HARD_COAL = '05100',\n MINING_OF_LIGNITE = '05200',\n EXTRACTION_OF_CRUDE_PETROLEUM = '06101',\n EXTRACTION_OF_BITUMINOUS = '06102',\n PRODUCTION_OF_CRUDE_PETROLEUM = '06103',\n PROCESSES_TO_OBTAIN_CRUDE_OILS = '06104',\n PRODUCTION_OF_NATURAL_GAS = '06201',\n EXTRACTION_OF_CONDENSATES = '06202',\n DRAINING_OF_HYDROCARBON = '06203',\n GAS_DESULPHURIZATION = '06204',\n MINING_OF_HYDROCARBON_LIQUIDS = '06205',\n MINING_OF_IRON_ORES = '07101',\n BENEFICIATION_OF_IRON_ORES = '07102',\n MINING_OF_URANIUM = '07210',\n MINING_OF_TIN = '07291',\n MINING_OF_COPPER = '07292',\n MINING_OF_BAUXITE = '07293',\n MINING_OF_ILMENITE = '07294',\n MINING_OF_GOLD = '07295',\n MINING_OF_SILVER = '07296',\n MINING_OF_PLATINUM = '07297',\n AMANG_RETREATMENT = '07298',\n MINING_OF_OTHER_NON_FERROUS = '07299',\n QUARRYING_OF_STONE = '08101',\n QUARRYING_OF_LIMESTONE = '08102',\n MINING_OF_GYPSUM = '08103',\n MINING_OF_CHALK = '08104',\n EXTRACTION_OF_SAND = '08105',\n BREAKING_OF_STONE = '08106',\n QUARRYING_OF_SAND = '08107',\n MINING_OF_CLAYS = '08108',\n QUARRYING_OF_GRANITE = '08109',\n MINING_OF_PHOSPHATES = '08911',\n MINING_OF_POTASSIUM = '08912',\n MINING_OF_SULPHUR = '08913',\n EXTRACTION_OF_PYRITES = '08914',\n MINING_OF_BARIUM = '08915',\n MINING_OF_BORATES = '08916',\n MINING_OF_EARTH_COLOURS = '08917',\n GUANO_MINING = '08918',\n PEAT_DIGGING = '08921',\n PEAT_AGGLOMERATION = '08922',\n PREPARATION_OF_PEAT = '08923',\n EXTRACTION_OF_UNDERGROUND_SALT = '08931',\n SALT_PRODUCTION = '08932',\n CRUSHING_OF_SALT = '08933',\n MINING_OF_ABRASIVE_MATERIALS = '08991',\n MINING_OF_ASBESTOS = '08992',\n MINING_OF_SILICEOUS = '08993',\n MINING_OF_GRAPHITE = '08994',\n MINING_OF_STEATITE = '08995',\n MINING_OF_GEMSTONES = '08996',\n OTHER_MINING = '08999',\n OIL_AND_GAS_EXTRACTION = '09101',\n OIL_AND_GAS_FIREFIGHTING = '09102',\n SUPPORT_FOR_MINING = '09900',\n}\n"],"mappings":";;AA+MA,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;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":"index18.cjs","names":["accountId?: string","accountId: string","dueDate?: string","days: number","fromCurrency: string","toCurrency: string","exchangeRate: number","rateDate?: string","amount: number","rate: number","reason: string","percentage?: number","description: string","percentage: number","baseAmount: number","deliveryDate: string","address: {\n addressLine0: string\n cityName: string\n postalZone?: string\n state: string\n country?: string\n }","pickupDate: string","address: any","freightAmount: number","freightDescription: string","poNumber: string","contractNumber: string","projectNumber: string","billingNumber: string","customsFormNumber: string","ftaNumber: string","country: string","code: string","date: Date","year: number","month: number","invoiceNumber: string","netDays: number","currency: string"],"sources":["../src/utils/helpers.ts"],"sourcesContent":["import type {\n InvoiceV1_1,\n PaymentMeans,\n AllowanceCharge,\n CurrencyExchangeRate,\n Delivery,\n AdditionalDocumentReference,\n} from '../types/documents/index.js'\n\n/**\n * MyInvois Invoice Helper Functions\n *\n * Provides convenient utilities for common invoice scenarios and business patterns.\n * These helpers simplify the creation of compliant MyInvois documents.\n */\n\n/**\n * Payment Method Helpers\n */\nexport const PaymentHelpers = {\n /**\n * Creates cash payment means\n */\n cash(): PaymentMeans {\n return {\n paymentMeansCode: '01',\n paymentTerms: 'Cash payment',\n }\n },\n\n /**\n * Creates cheque payment means\n */\n cheque(accountId?: string): PaymentMeans {\n return {\n paymentMeansCode: '02',\n payeeFinancialAccountID: accountId,\n paymentTerms: 'Cheque payment',\n }\n },\n\n /**\n * Creates bank transfer payment means\n */\n bankTransfer(accountId: string, dueDate?: string): PaymentMeans {\n return {\n paymentMeansCode: '03',\n payeeFinancialAccountID: accountId,\n paymentDueDate: dueDate,\n paymentTerms: 'Bank transfer',\n }\n },\n\n /**\n * Creates credit card payment means\n */\n creditCard(): PaymentMeans {\n return {\n paymentMeansCode: '04',\n paymentTerms: 'Credit card payment',\n }\n },\n\n /**\n * Creates e-wallet payment means\n */\n eWallet(accountId?: string): PaymentMeans {\n return {\n paymentMeansCode: '05',\n payeeFinancialAccountID: accountId,\n paymentTerms: 'E-wallet payment',\n }\n },\n\n /**\n * Creates custom payment terms with specific due date\n */\n net(days: number, accountId?: string): PaymentMeans {\n const dueDate = new Date()\n dueDate.setDate(dueDate.getDate() + days)\n\n return {\n paymentMeansCode: '03', // Bank transfer is most common for net terms\n payeeFinancialAccountID: accountId,\n paymentDueDate: dueDate.toISOString().split('T')[0],\n paymentTerms: `Net ${days} days`,\n }\n },\n}\n\n/**\n * Currency and Exchange Rate Helpers\n */\nexport const CurrencyHelpers = {\n /**\n * Creates domestic MYR transaction (no exchange rate needed)\n */\n domestic(): CurrencyExchangeRate {\n return {\n sourceCurrencyCode: 'MYR',\n targetCurrencyCode: 'MYR',\n calculationRate: 1.0,\n }\n },\n\n /**\n * Creates international transaction with exchange rate\n */\n international(\n fromCurrency: string,\n toCurrency: string = 'MYR',\n exchangeRate: number,\n rateDate?: string,\n ): CurrencyExchangeRate {\n return {\n sourceCurrencyCode: fromCurrency as any,\n targetCurrencyCode: toCurrency as any,\n calculationRate: exchangeRate,\n exchangeRateDate: rateDate || new Date().toISOString().split('T')[0],\n }\n },\n\n /**\n * Common exchange rates (these should be updated with real-time rates)\n */\n commonRates: {\n USD_MYR: 4.75,\n SGD_MYR: 3.45,\n EUR_MYR: 5.1,\n GBP_MYR: 5.85,\n JPY_MYR: 0.032,\n AUD_MYR: 3.12,\n },\n}\n\n/**\n * Tax Calculation Helpers\n */\nexport const TaxHelpers = {\n /**\n * Calculates SST (6%) for goods\n */\n calculateSST(\n amount: number,\n rate: number = 6.0,\n ): { taxAmount: number; totalWithTax: number } {\n const taxAmount = (amount * rate) / 100\n return {\n taxAmount: Math.round(taxAmount * 100) / 100,\n totalWithTax: Math.round((amount + taxAmount) * 100) / 100,\n }\n },\n\n /**\n * Calculates Service Tax for services\n */\n calculateServiceTax(\n amount: number,\n rate: number = 6.0,\n ): { taxAmount: number; totalWithTax: number } {\n return TaxHelpers.calculateSST(amount, rate)\n },\n\n /**\n * Zero-rated calculation (0% tax)\n */\n zeroRated(amount: number): { taxAmount: number; totalWithTax: number } {\n return {\n taxAmount: 0,\n totalWithTax: amount,\n }\n },\n\n /**\n * Exempt calculation (no tax)\n */\n exempt(amount: number): { taxAmount: number; totalWithTax: number } {\n return {\n taxAmount: 0,\n totalWithTax: amount,\n }\n },\n}\n\n/**\n * Allowance and Charge Helpers\n */\nexport const AllowanceChargeHelpers = {\n /**\n * Creates a discount allowance\n */\n discount(\n reason: string,\n amount: number,\n percentage?: number,\n ): AllowanceCharge {\n return {\n chargeIndicator: false,\n reason,\n amount,\n multiplierFactorNumeric: percentage ? percentage / 100 : undefined,\n }\n },\n\n /**\n * Creates a shipping charge\n */\n shipping(\n amount: number,\n description: string = 'Shipping and handling',\n ): AllowanceCharge {\n return {\n chargeIndicator: true,\n reason: description,\n amount,\n }\n },\n\n /**\n * Creates an early payment discount\n */\n earlyPaymentDiscount(\n percentage: number,\n baseAmount: number,\n ): AllowanceCharge {\n const discountAmount = (baseAmount * percentage) / 100\n return {\n chargeIndicator: false,\n reason: `Early payment discount ${percentage}%`,\n amount: Math.round(discountAmount * 100) / 100,\n multiplierFactorNumeric: percentage / 100,\n baseAmount,\n }\n },\n\n /**\n * Creates a handling fee charge\n */\n handlingFee(amount: number): AllowanceCharge {\n return {\n chargeIndicator: true,\n reason: 'Handling fee',\n amount,\n }\n },\n}\n\n/**\n * Delivery Helpers\n */\nexport const DeliveryHelpers = {\n /**\n * Creates standard delivery information\n */\n standard(\n deliveryDate: string,\n address: {\n addressLine0: string\n cityName: string\n postalZone?: string\n state: string\n country?: string\n },\n ): Delivery {\n return {\n actualDeliveryDate: deliveryDate,\n deliveryLocation: {\n ...address,\n country: address.country || 'MYS',\n },\n }\n },\n\n /**\n * Creates pickup delivery (customer pickup)\n */\n pickup(pickupDate: string): Delivery {\n return {\n actualDeliveryDate: pickupDate,\n deliveryLocation: {\n addressLine0: 'Customer pickup',\n cityName: 'N/A',\n state: 'N/A',\n country: 'MYS',\n },\n }\n },\n\n /**\n * Creates delivery with freight charges\n */\n withFreight(\n deliveryDate: string,\n address: any,\n freightAmount: number,\n freightDescription: string = 'Freight charges',\n ): Delivery {\n return {\n actualDeliveryDate: deliveryDate,\n deliveryLocation: address,\n shipment: {\n id: `SHIP-${Date.now()}`,\n freightAllowanceCharge: {\n chargeIndicator: true,\n reason: freightDescription,\n amount: freightAmount,\n },\n },\n }\n },\n}\n\n/**\n * Document Reference Helpers\n */\nexport const DocumentReferenceHelpers = {\n /**\n * Creates purchase order reference\n */\n purchaseOrder(poNumber: string): { purchaseOrderReference: string } {\n return { purchaseOrderReference: poNumber }\n },\n\n /**\n * Creates contract reference\n */\n contract(contractNumber: string): { contractReference: string } {\n return { contractReference: contractNumber }\n },\n\n /**\n * Creates project reference\n */\n project(projectNumber: string): { projectReference: string } {\n return { projectReference: projectNumber }\n },\n\n /**\n * Creates billing reference\n */\n billing(billingNumber: string): { billingReference: string } {\n return { billingReference: billingNumber }\n },\n\n /**\n * Creates customs reference\n */\n customs(customsFormNumber: string): AdditionalDocumentReference {\n return {\n id: customsFormNumber,\n documentType: 'CustomsImportForm',\n documentDescription: 'Customs import declaration',\n }\n },\n\n /**\n * Creates free trade agreement reference\n */\n freeTradeAgreement(\n ftaNumber: string,\n country: string,\n ): AdditionalDocumentReference {\n return {\n id: ftaNumber,\n documentType: 'FreeTradeAgreement',\n documentDescription: `Free trade agreement with ${country}`,\n }\n },\n}\n\n/**\n * Industry Classification Helpers\n */\nexport const IndustryHelpers = {\n /**\n * Common industry classifications with proper codes and descriptions\n */\n trading: {\n industryClassificationCode: '47900',\n industryClassificationDescription:\n 'Retail sale via mail order houses or via Internet',\n },\n\n manufacturing: {\n industryClassificationCode: '10131',\n industryClassificationDescription: 'Processing and preserving of meat',\n },\n\n software: {\n industryClassificationCode: '62012',\n industryClassificationDescription:\n 'Business and domestic software development',\n },\n\n consulting: {\n industryClassificationCode: '70200',\n industryClassificationDescription: 'Management consultancy activities',\n },\n\n restaurant: {\n industryClassificationCode: '56101',\n industryClassificationDescription: 'Restaurants',\n },\n\n construction: {\n industryClassificationCode: '41000',\n industryClassificationDescription: 'Development of building projects',\n },\n\n logistics: {\n industryClassificationCode: '49301',\n industryClassificationDescription: 'Land freight transport',\n },\n\n /**\n * Creates custom industry classification\n */\n custom(\n code: string,\n description: string,\n ): {\n industryClassificationCode: string\n industryClassificationDescription: string\n } {\n return {\n industryClassificationCode: code,\n industryClassificationDescription: description,\n }\n },\n}\n\n/**\n * Date and Time Helpers\n */\nexport const DateTimeHelpers = {\n /**\n * Gets current date in MyInvois format (YYYY-MM-DD)\n */\n currentDate(): string {\n return new Date().toISOString().split('T')[0] || ''\n },\n\n /**\n * Gets current time in MyInvois format (HH:mm:ssZ)\n */\n currentTime(): string {\n return new Date().toISOString().split('T')[1]?.split('.')[0] + 'Z' || ''\n },\n\n /**\n * Formats date to MyInvois format\n */\n formatDate(date: Date): string {\n return date.toISOString().split('T')[0] || ''\n },\n\n /**\n * Formats time to MyInvois format\n */\n formatTime(date: Date): string {\n return date.toISOString().split('T')[1]?.split('.')[0] + 'Z' || ''\n },\n\n /**\n * Adds days to a date\n */\n addDays(date: Date, days: number): Date {\n const result = new Date(date)\n result.setDate(result.getDate() + days)\n return result\n },\n\n /**\n * Gets billing period for monthly billing\n */\n monthlyPeriod(year: number, month: number): { start: string; end: string } {\n // Use UTC to avoid timezone issues\n // JavaScript Date uses 0-based months, so subtract 1 for the month\n const start = new Date(Date.UTC(year, month - 1, 1))\n // To get last day of the month, use day 0 of the NEXT month\n const end = new Date(Date.UTC(year, month, 0))\n\n return {\n start: DateTimeHelpers.formatDate(start),\n end: DateTimeHelpers.formatDate(end),\n }\n },\n}\n\n/**\n * Complete Invoice Builder Helper\n */\nexport const InvoiceBuilder = {\n /**\n * Creates a basic cash invoice template\n */\n basicCash(invoiceNumber: string): Partial<InvoiceV1_1> {\n return {\n eInvoiceCodeOrNumber: invoiceNumber,\n eInvoiceDate: DateTimeHelpers.currentDate(),\n eInvoiceTime: DateTimeHelpers.currentTime(),\n eInvoiceTypeCode: '01',\n eInvoiceVersion: '1.1',\n invoiceCurrencyCode: 'MYR',\n paymentMeans: [PaymentHelpers.cash()],\n }\n },\n\n /**\n * Creates a business invoice template with bank transfer\n */\n businessInvoice(\n invoiceNumber: string,\n accountId: string,\n netDays: number = 30,\n ): Partial<InvoiceV1_1> {\n return {\n eInvoiceCodeOrNumber: invoiceNumber,\n eInvoiceDate: DateTimeHelpers.currentDate(),\n eInvoiceTime: DateTimeHelpers.currentTime(),\n eInvoiceTypeCode: '01',\n eInvoiceVersion: '1.1',\n invoiceCurrencyCode: 'MYR',\n paymentMeans: [PaymentHelpers.net(netDays, accountId)],\n }\n },\n\n /**\n * Creates an international invoice template\n */\n international(\n invoiceNumber: string,\n currency: string,\n exchangeRate: number,\n ): Partial<InvoiceV1_1> {\n return {\n eInvoiceCodeOrNumber: invoiceNumber,\n eInvoiceDate: DateTimeHelpers.currentDate(),\n eInvoiceTime: DateTimeHelpers.currentTime(),\n eInvoiceTypeCode: '01',\n eInvoiceVersion: '1.1',\n invoiceCurrencyCode: currency as any,\n currencyExchangeRate: exchangeRate,\n taxExchangeRate: CurrencyHelpers.international(\n currency,\n 'MYR',\n exchangeRate,\n ),\n paymentMeans: [PaymentHelpers.bankTransfer('')],\n }\n },\n}\n"],"mappings":"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"}