@ripwords/myinvois-client 0.1.2 → 0.1.4

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 (343) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/package.json +4 -5
  3. package/src/index.ts +2 -1
  4. package/src/types/documents.d.ts +17 -10
  5. package/src/utils/document.ts +2 -2
  6. package/test/dynamicInvoiceFeatures.test.ts +2 -0
  7. package/test/signAndSubmitInvoice.test.ts +2 -0
  8. package/test/signature-diagnostics.test.ts +2 -0
  9. package/bun.lock +0 -460
  10. package/dist/0X-CG1S1WKn.d.ts +0 -210
  11. package/dist/0X-ChfmeAYF.d.cts +0 -211
  12. package/dist/1X-CmlbG02M.d.ts +0 -111
  13. package/dist/1X-DFikQbP0.d.cts +0 -20
  14. package/dist/1X-DbFshzup.d.ts +0 -19
  15. package/dist/1X-jFrFCOs0.d.cts +0 -112
  16. package/dist/2X-5cE4ojEX.d.cts +0 -140
  17. package/dist/2X-DA6J6Wd7.d.ts +0 -139
  18. package/dist/2X-FWZ1rYVt.d.cts +0 -40
  19. package/dist/2X-eC_p0QJf.d.ts +0 -39
  20. package/dist/3X-D9duw0Ro.d.cts +0 -21
  21. package/dist/3X-DbfkwdkO.d.ts +0 -20
  22. package/dist/3X-GxuN79Ax.d.ts +0 -61
  23. package/dist/3X-r9xbWJ2l.d.cts +0 -62
  24. package/dist/4X-1ZkK-uH5.d.cts +0 -31
  25. package/dist/4X-CLO9OuKa.d.cts +0 -265
  26. package/dist/4X-CnHtgO6u.d.ts +0 -30
  27. package/dist/4X-DYz_nYSD.d.ts +0 -264
  28. package/dist/5X-BzPEdkbC.d.ts +0 -21
  29. package/dist/5X-BziH0a09.d.cts +0 -77
  30. package/dist/5X-Cfe39fFc.d.cts +0 -22
  31. package/dist/5X-kBF74qx1.d.ts +0 -76
  32. package/dist/6X-BceErbps.d.cts +0 -105
  33. package/dist/6X-C_xpeu6J.d.ts +0 -15
  34. package/dist/6X-DLWEe1bP.d.cts +0 -16
  35. package/dist/6X-sQZfT0ZK.d.ts +0 -104
  36. package/dist/7X-Bet2agJ6.d.ts +0 -15
  37. package/dist/7X-BoKQxMoO.d.ts +0 -70
  38. package/dist/7X-CucHYQsA.d.cts +0 -16
  39. package/dist/7X-CwPAqozm.d.cts +0 -71
  40. package/dist/8X-BIjJ9kaV.d.cts +0 -110
  41. package/dist/8X-BOEWATU3.d.ts +0 -109
  42. package/dist/8X-CJpqd5xp.d.cts +0 -19
  43. package/dist/8X-s5AzkHR-.d.ts +0 -18
  44. package/dist/9X-BBDP1gZ6.d.ts +0 -14
  45. package/dist/9X-CP5Xp6bE.d.cts +0 -98
  46. package/dist/9X-D3aOVCnz.d.cts +0 -15
  47. package/dist/9X-DAAZV4sr.d.ts +0 -97
  48. package/dist/AX-CmpMMhII.d.ts +0 -110
  49. package/dist/AX-DFzpxGOT.d.cts +0 -111
  50. package/dist/BX-CyiqNE6b.d.cts +0 -115
  51. package/dist/BX-j78z_ju_.d.ts +0 -114
  52. package/dist/CX-B6rEhQx7.d.ts +0 -127
  53. package/dist/CX-BTPvC3Dv.d.cts +0 -128
  54. package/dist/DX-BD4-hTCh.d.cts +0 -115
  55. package/dist/DX-CAmMnx5a.d.ts +0 -114
  56. package/dist/EX-CXhSC85J.d.ts +0 -106
  57. package/dist/EX-mTHCH0Yk.d.cts +0 -107
  58. package/dist/FX-DOOMoQl2.d.cts +0 -127
  59. package/dist/FX-DYVIJ3l0.d.ts +0 -126
  60. package/dist/GX-8URJ7WHz.d.cts +0 -136
  61. package/dist/GX-eBOVHqi6.d.ts +0 -135
  62. package/dist/HX-49z8CzsE.d.cts +0 -126
  63. package/dist/HX-Dz5T0xXI.d.ts +0 -125
  64. package/dist/IX-B6kblmBs.d.cts +0 -23
  65. package/dist/IX-PiKYro5a.d.ts +0 -22
  66. package/dist/JX-DMwHLGEE.d.cts +0 -104
  67. package/dist/JX-Dvnt0mSK.d.ts +0 -103
  68. package/dist/KX-BUb8e0yg.d.ts +0 -150
  69. package/dist/KX-DaJPkefl.d.cts +0 -151
  70. package/dist/LX-BnILxjdS.d.cts +0 -123
  71. package/dist/LX-l5ZBaGov.d.ts +0 -122
  72. package/dist/MX-BbPO8mTj.d.cts +0 -153
  73. package/dist/MX-C7C15AWi.d.ts +0 -152
  74. package/dist/NX-C7nFVC-D.d.ts +0 -121
  75. package/dist/NX-xy5uw7H3.d.cts +0 -122
  76. package/dist/OX-CIzARbON.d.cts +0 -26
  77. package/dist/OX-Dmkvcaij.d.ts +0 -25
  78. package/dist/PX-BKZ14N7N.d.ts +0 -120
  79. package/dist/PX-CL8waFgx.d.cts +0 -121
  80. package/dist/QX-6xdSNtxZ.d.ts +0 -58
  81. package/dist/QX-BowAYqZb.d.cts +0 -59
  82. package/dist/RX-DFoiOK5q.d.ts +0 -22
  83. package/dist/RX-fWoWcHTG.d.cts +0 -23
  84. package/dist/SX-CZ3e31OT.d.cts +0 -40
  85. package/dist/SX-D-Szi9wa.d.ts +0 -39
  86. package/dist/TX-CJhJ-HYX.d.cts +0 -31
  87. package/dist/TX-DTfkGsqn.d.ts +0 -30
  88. package/dist/UX-Bw4HHAj4.d.ts +0 -17
  89. package/dist/UX-P7-u2y70.d.cts +0 -18
  90. package/dist/VX-C8Eu5gQf.d.cts +0 -17
  91. package/dist/VX-DCv5x_hi.d.ts +0 -16
  92. package/dist/WX-BYtJ5_if.d.ts +0 -25
  93. package/dist/WX-DkiaqB2V.d.cts +0 -26
  94. package/dist/XX-D4p4iK-a.d.cts +0 -828
  95. package/dist/XX-Jo1yJO3A.d.ts +0 -827
  96. package/dist/YX-BvGmEsVG.d.ts +0 -19
  97. package/dist/YX-Du8zv9qz.d.cts +0 -20
  98. package/dist/ZX-B4jFD-21.d.cts +0 -22
  99. package/dist/ZX-B59AJcBY.d.ts +0 -21
  100. package/dist/api/platform/platformLogin.d.ts +0 -65
  101. package/dist/api/platform/platformLogin.js +0 -3
  102. package/dist/certificate-DFK-788s.cjs +0 -62
  103. package/dist/certificate-DFK-788s.cjs.map +0 -1
  104. package/dist/certificate-aooIRf9A.js +0 -49
  105. package/dist/chunk-CUT6urMc.cjs +0 -30
  106. package/dist/classification-codes-B15PbWxz.d.cts +0 -118
  107. package/dist/classification-codes-BKxV-rO9.d.ts +0 -117
  108. package/dist/country-code-CQuaiQm2.d.ts +0 -542
  109. package/dist/country-code-DPeNFMMi.d.cts +0 -543
  110. package/dist/currencies-BYJK-m6v.d.ts +0 -207
  111. package/dist/currencies-S5g1gzBU.d.cts +0 -208
  112. package/dist/document-DMIMRJV0.cjs +0 -472
  113. package/dist/document-DMIMRJV0.cjs.map +0 -1
  114. package/dist/document-NQos5fSr.js +0 -405
  115. package/dist/documents-BVG7KIKY.d.ts +0 -847
  116. package/dist/documents-C066EC9m.d.cts +0 -848
  117. package/dist/e-invoice-BuwtFnlI.d.cts +0 -44
  118. package/dist/e-invoice-CmbLQkHw.d.ts +0 -43
  119. package/dist/getBaseUrl-CO7Jp27d.cjs +0 -14
  120. package/dist/getBaseUrl-CO7Jp27d.cjs.map +0 -1
  121. package/dist/getBaseUrl-R3IdgCu3.js +0 -7
  122. package/dist/index-0-EvC6Nv.d.ts +0 -15
  123. package/dist/index-D2_HVwCz.d.cts +0 -16
  124. package/dist/index.cjs +0 -309
  125. package/dist/index.cjs.map +0 -1
  126. package/dist/index.d.ts +0 -233
  127. package/dist/index.js +0 -308
  128. package/dist/index10.cjs +0 -0
  129. package/dist/index11.cjs +0 -34
  130. package/dist/index11.cjs.map +0 -1
  131. package/dist/index12.cjs +0 -24
  132. package/dist/index12.cjs.map +0 -1
  133. package/dist/index13.cjs +0 -0
  134. package/dist/index14.cjs +0 -13
  135. package/dist/index14.cjs.map +0 -1
  136. package/dist/index15.cjs +0 -4
  137. package/dist/index16.cjs +0 -13
  138. package/dist/index17.cjs +0 -3
  139. package/dist/index18.cjs +0 -340
  140. package/dist/index18.cjs.map +0 -1
  141. package/dist/index19.cjs +0 -329
  142. package/dist/index19.cjs.map +0 -1
  143. package/dist/index2.cjs +0 -62
  144. package/dist/index2.cjs.map +0 -1
  145. package/dist/index20.cjs +0 -140
  146. package/dist/index20.cjs.map +0 -1
  147. package/dist/index21.cjs +0 -3
  148. package/dist/index22.cjs +0 -208
  149. package/dist/index22.cjs.map +0 -1
  150. package/dist/index23.cjs +0 -109
  151. package/dist/index23.cjs.map +0 -1
  152. package/dist/index24.cjs +0 -137
  153. package/dist/index24.cjs.map +0 -1
  154. package/dist/index25.cjs +0 -64
  155. package/dist/index25.cjs.map +0 -1
  156. package/dist/index26.cjs +0 -267
  157. package/dist/index26.cjs.map +0 -1
  158. package/dist/index27.cjs +0 -79
  159. package/dist/index27.cjs.map +0 -1
  160. package/dist/index28.cjs +0 -107
  161. package/dist/index28.cjs.map +0 -1
  162. package/dist/index29.cjs +0 -73
  163. package/dist/index29.cjs.map +0 -1
  164. package/dist/index3.cjs +0 -532
  165. package/dist/index3.cjs.map +0 -1
  166. package/dist/index30.cjs +0 -112
  167. package/dist/index30.cjs.map +0 -1
  168. package/dist/index31.cjs +0 -100
  169. package/dist/index31.cjs.map +0 -1
  170. package/dist/index32.cjs +0 -18
  171. package/dist/index32.cjs.map +0 -1
  172. package/dist/index33.cjs +0 -38
  173. package/dist/index33.cjs.map +0 -1
  174. package/dist/index34.cjs +0 -19
  175. package/dist/index34.cjs.map +0 -1
  176. package/dist/index35.cjs +0 -29
  177. package/dist/index35.cjs.map +0 -1
  178. package/dist/index36.cjs +0 -20
  179. package/dist/index36.cjs.map +0 -1
  180. package/dist/index37.cjs +0 -14
  181. package/dist/index37.cjs.map +0 -1
  182. package/dist/index38.cjs +0 -14
  183. package/dist/index38.cjs.map +0 -1
  184. package/dist/index39.cjs +0 -17
  185. package/dist/index39.cjs.map +0 -1
  186. package/dist/index4.cjs +0 -196
  187. package/dist/index4.cjs.map +0 -1
  188. package/dist/index40.cjs +0 -13
  189. package/dist/index40.cjs.map +0 -1
  190. package/dist/index41.cjs +0 -108
  191. package/dist/index41.cjs.map +0 -1
  192. package/dist/index42.cjs +0 -113
  193. package/dist/index42.cjs.map +0 -1
  194. package/dist/index43.cjs +0 -126
  195. package/dist/index43.cjs.map +0 -1
  196. package/dist/index44.cjs +0 -113
  197. package/dist/index44.cjs.map +0 -1
  198. package/dist/index45.cjs +0 -105
  199. package/dist/index45.cjs.map +0 -1
  200. package/dist/index46.cjs +0 -125
  201. package/dist/index46.cjs.map +0 -1
  202. package/dist/index47.cjs +0 -134
  203. package/dist/index47.cjs.map +0 -1
  204. package/dist/index48.cjs +0 -124
  205. package/dist/index48.cjs.map +0 -1
  206. package/dist/index49.cjs +0 -21
  207. package/dist/index49.cjs.map +0 -1
  208. package/dist/index5.cjs +0 -0
  209. package/dist/index50.cjs +0 -102
  210. package/dist/index50.cjs.map +0 -1
  211. package/dist/index51.cjs +0 -149
  212. package/dist/index51.cjs.map +0 -1
  213. package/dist/index52.cjs +0 -121
  214. package/dist/index52.cjs.map +0 -1
  215. package/dist/index53.cjs +0 -151
  216. package/dist/index53.cjs.map +0 -1
  217. package/dist/index54.cjs +0 -120
  218. package/dist/index54.cjs.map +0 -1
  219. package/dist/index55.cjs +0 -24
  220. package/dist/index55.cjs.map +0 -1
  221. package/dist/index56.cjs +0 -119
  222. package/dist/index56.cjs.map +0 -1
  223. package/dist/index57.cjs +0 -54
  224. package/dist/index57.cjs.map +0 -1
  225. package/dist/index58.cjs +0 -21
  226. package/dist/index58.cjs.map +0 -1
  227. package/dist/index58.cts.map +0 -1
  228. package/dist/index59.cjs +0 -35
  229. package/dist/index59.cjs.map +0 -1
  230. package/dist/index59.cts.map +0 -1
  231. package/dist/index6.cjs +0 -25
  232. package/dist/index6.cjs.map +0 -1
  233. package/dist/index60.cjs +0 -29
  234. package/dist/index60.cjs.map +0 -1
  235. package/dist/index60.cts.map +0 -1
  236. package/dist/index61.cjs +0 -16
  237. package/dist/index61.cjs.map +0 -1
  238. package/dist/index61.cts.map +0 -1
  239. package/dist/index62.cjs +0 -15
  240. package/dist/index62.cjs.map +0 -1
  241. package/dist/index62.cts.map +0 -1
  242. package/dist/index63.cjs +0 -24
  243. package/dist/index63.cjs.map +0 -1
  244. package/dist/index63.cts.map +0 -1
  245. package/dist/index64.cjs +0 -419
  246. package/dist/index64.cjs.map +0 -1
  247. package/dist/index64.cts.map +0 -1
  248. package/dist/index65.cjs +0 -15
  249. package/dist/index65.cjs.map +0 -1
  250. package/dist/index65.cts.map +0 -1
  251. package/dist/index66.cjs +0 -16
  252. package/dist/index66.cjs.map +0 -1
  253. package/dist/index66.cts.map +0 -1
  254. package/dist/index7.cjs +0 -0
  255. package/dist/index8.cjs +0 -0
  256. package/dist/index9.cjs +0 -25
  257. package/dist/index9.cjs.map +0 -1
  258. package/dist/msic-codes-CPWVNnpq.d.cts +0 -26
  259. package/dist/msic-codes-DToUqTI6.d.ts +0 -25
  260. package/dist/payment-modes-DA7uBIGb.d.ts +0 -43
  261. package/dist/payment-modes-FX88uyhP.d.cts +0 -44
  262. package/dist/platformLogin-PGzMhw1X.cjs +0 -37
  263. package/dist/platformLogin-PGzMhw1X.cjs.map +0 -1
  264. package/dist/platformLogin-f0bNAoZI.js +0 -30
  265. package/dist/signatures-BKi9DP2K.d.cts +0 -173
  266. package/dist/signatures-CG175mpg.d.ts +0 -172
  267. package/dist/state-codes-CNp_6051.d.cts +0 -62
  268. package/dist/state-codes-dvoTe5pC.d.ts +0 -61
  269. package/dist/tax-types-CgwxONDS.d.cts +0 -42
  270. package/dist/tax-types-tosH5I0q.d.ts +0 -41
  271. package/dist/types/classification-codes.d.ts +0 -2
  272. package/dist/types/country-code.d.ts +0 -2
  273. package/dist/types/currencies.d.ts +0 -2
  274. package/dist/types/documents.d.ts +0 -7
  275. package/dist/types/e-invoice.d.ts +0 -2
  276. package/dist/types/index.d.ts +0 -58
  277. package/dist/types/msic/0X.d.ts +0 -2
  278. package/dist/types/msic/1X.d.ts +0 -2
  279. package/dist/types/msic/2X.d.ts +0 -2
  280. package/dist/types/msic/3X.d.ts +0 -2
  281. package/dist/types/msic/4X.d.ts +0 -2
  282. package/dist/types/msic/5X.d.ts +0 -2
  283. package/dist/types/msic/6X.d.ts +0 -2
  284. package/dist/types/msic/7X.d.ts +0 -2
  285. package/dist/types/msic/8X.d.ts +0 -2
  286. package/dist/types/msic/9X.d.ts +0 -2
  287. package/dist/types/msic-codes.d.ts +0 -12
  288. package/dist/types/payment-modes.d.ts +0 -2
  289. package/dist/types/signatures.d.ts +0 -2
  290. package/dist/types/state-codes.d.ts +0 -2
  291. package/dist/types/tax-types.d.ts +0 -2
  292. package/dist/types/unit/1X.d.ts +0 -2
  293. package/dist/types/unit/2X.d.ts +0 -2
  294. package/dist/types/unit/3X.d.ts +0 -2
  295. package/dist/types/unit/4X.d.ts +0 -2
  296. package/dist/types/unit/5X.d.ts +0 -2
  297. package/dist/types/unit/6X.d.ts +0 -2
  298. package/dist/types/unit/7X.d.ts +0 -2
  299. package/dist/types/unit/8X.d.ts +0 -2
  300. package/dist/types/unit/9X.d.ts +0 -2
  301. package/dist/types/unit/AX.d.ts +0 -2
  302. package/dist/types/unit/BX.d.ts +0 -2
  303. package/dist/types/unit/CX.d.ts +0 -2
  304. package/dist/types/unit/DX.d.ts +0 -2
  305. package/dist/types/unit/EX.d.ts +0 -2
  306. package/dist/types/unit/FX.d.ts +0 -2
  307. package/dist/types/unit/GX.d.ts +0 -2
  308. package/dist/types/unit/HX.d.ts +0 -2
  309. package/dist/types/unit/IX.d.ts +0 -2
  310. package/dist/types/unit/JX.d.ts +0 -2
  311. package/dist/types/unit/KX.d.ts +0 -2
  312. package/dist/types/unit/LX.d.ts +0 -2
  313. package/dist/types/unit/MX.d.ts +0 -2
  314. package/dist/types/unit/NX.d.ts +0 -2
  315. package/dist/types/unit/OX.d.ts +0 -2
  316. package/dist/types/unit/PX.d.ts +0 -2
  317. package/dist/types/unit/QX.d.ts +0 -2
  318. package/dist/types/unit/RX.d.ts +0 -2
  319. package/dist/types/unit/SX.d.ts +0 -2
  320. package/dist/types/unit/TX.d.ts +0 -2
  321. package/dist/types/unit/UX.d.ts +0 -2
  322. package/dist/types/unit/VX.d.ts +0 -2
  323. package/dist/types/unit/WX.d.ts +0 -2
  324. package/dist/types/unit/XX.d.ts +0 -2
  325. package/dist/types/unit/YX.d.ts +0 -2
  326. package/dist/types/unit/ZX.d.ts +0 -2
  327. package/dist/types/unit-types.d.ts +0 -37
  328. package/dist/unit-types-BKZxwVYQ.d.ts +0 -55
  329. package/dist/unit-types-CaOA5ZDG.d.cts +0 -56
  330. package/dist/utils/base64.d.ts +0 -5
  331. package/dist/utils/base64.js +0 -10
  332. package/dist/utils/certificate.d.ts +0 -22
  333. package/dist/utils/certificate.js +0 -3
  334. package/dist/utils/document.d.ts +0 -135
  335. package/dist/utils/document.js +0 -3
  336. package/dist/utils/getBaseUrl.d.ts +0 -4
  337. package/dist/utils/getBaseUrl.js +0 -3
  338. package/dist/utils/helpers.d.ts +0 -271
  339. package/dist/utils/helpers.js +0 -330
  340. package/dist/utils/signature-diagnostics.d.ts +0 -93
  341. package/dist/utils/signature-diagnostics.js +0 -326
  342. package/dist/utils/validation.d.ts +0 -46
  343. package/dist/utils/validation.js +0 -134
@@ -1,330 +0,0 @@
1
- //#region src/utils/helpers.ts
2
- /**
3
- * MyInvois Invoice Helper Functions
4
- *
5
- * Provides convenient utilities for common invoice scenarios and business patterns.
6
- * These helpers simplify the creation of compliant MyInvois documents.
7
- */
8
- /**
9
- * Payment Method Helpers
10
- */
11
- const PaymentHelpers = {
12
- cash() {
13
- return {
14
- paymentMeansCode: "01",
15
- paymentTerms: "Cash payment"
16
- };
17
- },
18
- cheque(accountId) {
19
- return {
20
- paymentMeansCode: "02",
21
- payeeFinancialAccountID: accountId,
22
- paymentTerms: "Cheque payment"
23
- };
24
- },
25
- bankTransfer(accountId, dueDate) {
26
- return {
27
- paymentMeansCode: "03",
28
- payeeFinancialAccountID: accountId,
29
- paymentDueDate: dueDate,
30
- paymentTerms: "Bank transfer"
31
- };
32
- },
33
- creditCard() {
34
- return {
35
- paymentMeansCode: "04",
36
- paymentTerms: "Credit card payment"
37
- };
38
- },
39
- eWallet(accountId) {
40
- return {
41
- paymentMeansCode: "05",
42
- payeeFinancialAccountID: accountId,
43
- paymentTerms: "E-wallet payment"
44
- };
45
- },
46
- net(days, accountId) {
47
- const dueDate = /* @__PURE__ */ new Date();
48
- dueDate.setDate(dueDate.getDate() + days);
49
- return {
50
- paymentMeansCode: "03",
51
- payeeFinancialAccountID: accountId,
52
- paymentDueDate: dueDate.toISOString().split("T")[0],
53
- paymentTerms: `Net ${days} days`
54
- };
55
- }
56
- };
57
- /**
58
- * Currency and Exchange Rate Helpers
59
- */
60
- const CurrencyHelpers = {
61
- domestic() {
62
- return {
63
- sourceCurrencyCode: "MYR",
64
- targetCurrencyCode: "MYR",
65
- calculationRate: 1
66
- };
67
- },
68
- international(fromCurrency, toCurrency = "MYR", exchangeRate, rateDate) {
69
- return {
70
- sourceCurrencyCode: fromCurrency,
71
- targetCurrencyCode: toCurrency,
72
- calculationRate: exchangeRate,
73
- exchangeRateDate: rateDate || (/* @__PURE__ */ new Date()).toISOString().split("T")[0]
74
- };
75
- },
76
- commonRates: {
77
- USD_MYR: 4.75,
78
- SGD_MYR: 3.45,
79
- EUR_MYR: 5.1,
80
- GBP_MYR: 5.85,
81
- JPY_MYR: .032,
82
- AUD_MYR: 3.12
83
- }
84
- };
85
- /**
86
- * Tax Calculation Helpers
87
- */
88
- const TaxHelpers = {
89
- calculateSST(amount, rate = 6) {
90
- const taxAmount = amount * rate / 100;
91
- return {
92
- taxAmount: Math.round(taxAmount * 100) / 100,
93
- totalWithTax: Math.round((amount + taxAmount) * 100) / 100
94
- };
95
- },
96
- calculateServiceTax(amount, rate = 6) {
97
- return TaxHelpers.calculateSST(amount, rate);
98
- },
99
- zeroRated(amount) {
100
- return {
101
- taxAmount: 0,
102
- totalWithTax: amount
103
- };
104
- },
105
- exempt(amount) {
106
- return {
107
- taxAmount: 0,
108
- totalWithTax: amount
109
- };
110
- }
111
- };
112
- /**
113
- * Allowance and Charge Helpers
114
- */
115
- const AllowanceChargeHelpers = {
116
- discount(reason, amount, percentage) {
117
- return {
118
- chargeIndicator: false,
119
- reason,
120
- amount,
121
- multiplierFactorNumeric: percentage ? percentage / 100 : void 0
122
- };
123
- },
124
- shipping(amount, description = "Shipping and handling") {
125
- return {
126
- chargeIndicator: true,
127
- reason: description,
128
- amount
129
- };
130
- },
131
- earlyPaymentDiscount(percentage, baseAmount) {
132
- const discountAmount = baseAmount * percentage / 100;
133
- return {
134
- chargeIndicator: false,
135
- reason: `Early payment discount ${percentage}%`,
136
- amount: Math.round(discountAmount * 100) / 100,
137
- multiplierFactorNumeric: percentage / 100,
138
- baseAmount
139
- };
140
- },
141
- handlingFee(amount) {
142
- return {
143
- chargeIndicator: true,
144
- reason: "Handling fee",
145
- amount
146
- };
147
- }
148
- };
149
- /**
150
- * Delivery Helpers
151
- */
152
- const DeliveryHelpers = {
153
- standard(deliveryDate, address) {
154
- return {
155
- actualDeliveryDate: deliveryDate,
156
- deliveryLocation: {
157
- ...address,
158
- country: address.country || "MYS"
159
- }
160
- };
161
- },
162
- pickup(pickupDate) {
163
- return {
164
- actualDeliveryDate: pickupDate,
165
- deliveryLocation: {
166
- addressLine0: "Customer pickup",
167
- cityName: "N/A",
168
- state: "N/A",
169
- country: "MYS"
170
- }
171
- };
172
- },
173
- withFreight(deliveryDate, address, freightAmount, freightDescription = "Freight charges") {
174
- return {
175
- actualDeliveryDate: deliveryDate,
176
- deliveryLocation: address,
177
- shipment: {
178
- id: `SHIP-${Date.now()}`,
179
- freightAllowanceCharge: {
180
- chargeIndicator: true,
181
- reason: freightDescription,
182
- amount: freightAmount
183
- }
184
- }
185
- };
186
- }
187
- };
188
- /**
189
- * Document Reference Helpers
190
- */
191
- const DocumentReferenceHelpers = {
192
- purchaseOrder(poNumber) {
193
- return { purchaseOrderReference: poNumber };
194
- },
195
- contract(contractNumber) {
196
- return { contractReference: contractNumber };
197
- },
198
- project(projectNumber) {
199
- return { projectReference: projectNumber };
200
- },
201
- billing(billingNumber) {
202
- return { billingReference: billingNumber };
203
- },
204
- customs(customsFormNumber) {
205
- return {
206
- id: customsFormNumber,
207
- documentType: "CustomsImportForm",
208
- documentDescription: "Customs import declaration"
209
- };
210
- },
211
- freeTradeAgreement(ftaNumber, country) {
212
- return {
213
- id: ftaNumber,
214
- documentType: "FreeTradeAgreement",
215
- documentDescription: `Free trade agreement with ${country}`
216
- };
217
- }
218
- };
219
- /**
220
- * Industry Classification Helpers
221
- */
222
- const IndustryHelpers = {
223
- trading: {
224
- industryClassificationCode: "47900",
225
- industryClassificationDescription: "Retail sale via mail order houses or via Internet"
226
- },
227
- manufacturing: {
228
- industryClassificationCode: "10131",
229
- industryClassificationDescription: "Processing and preserving of meat"
230
- },
231
- software: {
232
- industryClassificationCode: "62012",
233
- industryClassificationDescription: "Business and domestic software development"
234
- },
235
- consulting: {
236
- industryClassificationCode: "70200",
237
- industryClassificationDescription: "Management consultancy activities"
238
- },
239
- restaurant: {
240
- industryClassificationCode: "56101",
241
- industryClassificationDescription: "Restaurants"
242
- },
243
- construction: {
244
- industryClassificationCode: "41000",
245
- industryClassificationDescription: "Development of building projects"
246
- },
247
- logistics: {
248
- industryClassificationCode: "49301",
249
- industryClassificationDescription: "Land freight transport"
250
- },
251
- custom(code, description) {
252
- return {
253
- industryClassificationCode: code,
254
- industryClassificationDescription: description
255
- };
256
- }
257
- };
258
- /**
259
- * Date and Time Helpers
260
- */
261
- const DateTimeHelpers = {
262
- currentDate() {
263
- return (/* @__PURE__ */ new Date()).toISOString().split("T")[0] || "";
264
- },
265
- currentTime() {
266
- return (/* @__PURE__ */ new Date()).toISOString().split("T")[1]?.split(".")[0] + "Z" || "";
267
- },
268
- formatDate(date) {
269
- return date.toISOString().split("T")[0] || "";
270
- },
271
- formatTime(date) {
272
- return date.toISOString().split("T")[1]?.split(".")[0] + "Z" || "";
273
- },
274
- addDays(date, days) {
275
- const result = new Date(date);
276
- result.setDate(result.getDate() + days);
277
- return result;
278
- },
279
- monthlyPeriod(year, month) {
280
- const start = new Date(Date.UTC(year, month - 1, 1));
281
- const end = new Date(Date.UTC(year, month, 0));
282
- return {
283
- start: DateTimeHelpers.formatDate(start),
284
- end: DateTimeHelpers.formatDate(end)
285
- };
286
- }
287
- };
288
- /**
289
- * Complete Invoice Builder Helper
290
- */
291
- const InvoiceBuilder = {
292
- basicCash(invoiceNumber) {
293
- return {
294
- eInvoiceCodeOrNumber: invoiceNumber,
295
- eInvoiceDate: DateTimeHelpers.currentDate(),
296
- eInvoiceTime: DateTimeHelpers.currentTime(),
297
- eInvoiceTypeCode: "01",
298
- eInvoiceVersion: "1.1",
299
- invoiceCurrencyCode: "MYR",
300
- paymentMeans: [PaymentHelpers.cash()]
301
- };
302
- },
303
- businessInvoice(invoiceNumber, accountId, netDays = 30) {
304
- return {
305
- eInvoiceCodeOrNumber: invoiceNumber,
306
- eInvoiceDate: DateTimeHelpers.currentDate(),
307
- eInvoiceTime: DateTimeHelpers.currentTime(),
308
- eInvoiceTypeCode: "01",
309
- eInvoiceVersion: "1.1",
310
- invoiceCurrencyCode: "MYR",
311
- paymentMeans: [PaymentHelpers.net(netDays, accountId)]
312
- };
313
- },
314
- international(invoiceNumber, currency, exchangeRate) {
315
- return {
316
- eInvoiceCodeOrNumber: invoiceNumber,
317
- eInvoiceDate: DateTimeHelpers.currentDate(),
318
- eInvoiceTime: DateTimeHelpers.currentTime(),
319
- eInvoiceTypeCode: "01",
320
- eInvoiceVersion: "1.1",
321
- invoiceCurrencyCode: currency,
322
- currencyExchangeRate: exchangeRate,
323
- taxExchangeRate: CurrencyHelpers.international(currency, "MYR", exchangeRate),
324
- paymentMeans: [PaymentHelpers.bankTransfer("")]
325
- };
326
- }
327
- };
328
-
329
- //#endregion
330
- export { AllowanceChargeHelpers, CurrencyHelpers, DateTimeHelpers, DeliveryHelpers, DocumentReferenceHelpers, IndustryHelpers, InvoiceBuilder, PaymentHelpers, TaxHelpers };
@@ -1,93 +0,0 @@
1
- import "../classification-codes-BKxV-rO9.js";
2
- import "../country-code-CQuaiQm2.js";
3
- import "../currencies-BYJK-m6v.js";
4
- import "../e-invoice-CmbLQkHw.js";
5
- import "../signatures-CG175mpg.js";
6
- import "../tax-types-tosH5I0q.js";
7
- import { InvoiceV1_1 } from "../documents-BVG7KIKY.js";
8
- import "../payment-modes-DA7uBIGb.js";
9
- import "../1X-DbFshzup.js";
10
- import "../2X-eC_p0QJf.js";
11
- import "../3X-DbfkwdkO.js";
12
- import "../4X-CnHtgO6u.js";
13
- import "../5X-BzPEdkbC.js";
14
- import "../6X-C_xpeu6J.js";
15
- import "../7X-Bet2agJ6.js";
16
- import "../8X-s5AzkHR-.js";
17
- import "../9X-BBDP1gZ6.js";
18
- import "../AX-CmpMMhII.js";
19
- import "../BX-j78z_ju_.js";
20
- import "../CX-B6rEhQx7.js";
21
- import "../DX-CAmMnx5a.js";
22
- import "../EX-CXhSC85J.js";
23
- import "../FX-DYVIJ3l0.js";
24
- import "../GX-eBOVHqi6.js";
25
- import "../HX-Dz5T0xXI.js";
26
- import "../IX-PiKYro5a.js";
27
- import "../JX-Dvnt0mSK.js";
28
- import "../KX-BUb8e0yg.js";
29
- import "../LX-l5ZBaGov.js";
30
- import "../MX-C7C15AWi.js";
31
- import "../NX-C7nFVC-D.js";
32
- import "../OX-Dmkvcaij.js";
33
- import "../PX-BKZ14N7N.js";
34
- import "../QX-6xdSNtxZ.js";
35
- import "../RX-DFoiOK5q.js";
36
- import "../SX-D-Szi9wa.js";
37
- import "../TX-DTfkGsqn.js";
38
- import "../UX-Bw4HHAj4.js";
39
- import "../VX-DCv5x_hi.js";
40
- import "../WX-BYtJ5_if.js";
41
- import "../YX-BvGmEsVG.js";
42
- import "../ZX-B59AJcBY.js";
43
- import "../XX-Jo1yJO3A.js";
44
- import "../unit-types-BKZxwVYQ.js";
45
- import "../state-codes-dvoTe5pC.js";
46
- import "../0X-CG1S1WKn.js";
47
- import "../1X-CmlbG02M.js";
48
- import "../2X-DA6J6Wd7.js";
49
- import "../3X-GxuN79Ax.js";
50
- import "../4X-DYz_nYSD.js";
51
- import "../5X-kBF74qx1.js";
52
- import "../6X-sQZfT0ZK.js";
53
- import "../7X-BoKQxMoO.js";
54
- import "../8X-BOEWATU3.js";
55
- import "../9X-DAAZV4sr.js";
56
- import "../msic-codes-DToUqTI6.js";
57
- import "../index-0-EvC6Nv.js";
58
-
59
- //#region src/utils/signature-diagnostics.d.ts
60
- interface CertificateAnalysisResult {
61
- organizationIdentifier?: string;
62
- serialNumber?: string;
63
- issuerName: string;
64
- subjectName: string;
65
- issues: string[];
66
- recommendations: string[];
67
- }
68
- interface SignatureAnalysisResult {
69
- documentDigest: string;
70
- certificateDigest: string;
71
- signedPropertiesDigest: string;
72
- issues: string[];
73
- recommendations: string[];
74
- }
75
- interface DiagnosticResult {
76
- certificateAnalysis: CertificateAnalysisResult;
77
- signatureAnalysis: SignatureAnalysisResult;
78
- summary: {
79
- totalIssues: number;
80
- certificateIssues: number;
81
- signatureIssues: number;
82
- };
83
- }
84
- /**
85
- * Comprehensive signature diagnostics
86
- */
87
- declare function diagnoseSignatureIssues(invoices: InvoiceV1_1[], certificatePem: string): DiagnosticResult;
88
- /**
89
- * Prints diagnostic results in a formatted way
90
- */
91
- declare function printDiagnostics(result: DiagnosticResult): void;
92
- //#endregion
93
- export { CertificateAnalysisResult, DiagnosticResult, SignatureAnalysisResult, diagnoseSignatureIssues, printDiagnostics };