@ripwords/myinvois-client 0.1.7 → 0.2.1
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.
- package/dist/api/documentManagement.d.ts +89 -0
- package/dist/api/documentManagement.js +3 -0
- package/dist/api/documentSubmission.d.ts +92 -0
- package/dist/api/documentSubmission.js +4 -0
- package/dist/api/documentTypeManagement.d.ts +70 -0
- package/dist/api/documentTypeManagement.js +3 -0
- package/dist/api/notificationManagement.d.ts +68 -0
- package/dist/api/notificationManagement.js +3 -0
- package/dist/api/platformLogin.d.ts +68 -0
- package/dist/api/platformLogin.js +3 -0
- package/dist/api/taxpayerValidation.d.ts +79 -0
- package/dist/api/taxpayerValidation.js +3 -0
- package/dist/{certificate-DFK-788s.cjs → certificate-CxsfE91s.cjs} +1 -1
- package/dist/{certificate-DFK-788s.cjs.map → certificate-CxsfE91s.cjs.map} +1 -1
- package/dist/{document-CARHiGdp.cjs → document-vDphtJTv.cjs} +1 -1
- package/dist/{document-CARHiGdp.cjs.map → document-vDphtJTv.cjs.map} +1 -1
- package/dist/documentManagement-CIQPkmyb.js +35 -0
- package/dist/documentManagement-DQ7JEcBq.cjs +54 -0
- package/dist/documentManagement-DQ7JEcBq.cjs.map +1 -0
- package/dist/documentSubmission-BdJxIB_I.js +119 -0
- package/dist/documentSubmission-D5TC0MPC.cjs +137 -0
- package/dist/documentSubmission-D5TC0MPC.cjs.map +1 -0
- package/dist/documentTypeManagement-DXRLfTsW.cjs +41 -0
- package/dist/documentTypeManagement-DXRLfTsW.cjs.map +1 -0
- package/dist/documentTypeManagement-tojgXfm9.js +22 -0
- package/dist/{documents-i5EV868Y.d.ts → documents-BgXt86Qp.d.ts} +44 -7
- package/dist/{documents-CQy_uB6C.d.cts → documents-BqM9qOnB.d.cts} +39 -2
- package/dist/{getBaseUrl-CO7Jp27d.cjs → getBaseUrl-D2iJdUGL.cjs} +1 -1
- package/dist/{getBaseUrl-CO7Jp27d.cjs.map → getBaseUrl-D2iJdUGL.cjs.map} +1 -1
- package/dist/{index-D2_HVwCz.d.cts → index-Yr1QAbIF.d.cts} +1 -1
- package/dist/index.cjs +234 -131
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +250 -60
- package/dist/index.js +234 -131
- package/dist/index10.cjs +25 -0
- package/dist/index10.cjs.map +1 -0
- package/dist/index11.cjs +0 -34
- package/dist/index12.cjs +25 -15
- package/dist/index12.cjs.map +1 -1
- package/dist/index13.cjs +24 -0
- package/dist/index13.cjs.map +1 -0
- package/dist/index14.cjs +0 -13
- package/dist/index15.cjs +0 -4
- package/dist/index16.cjs +0 -13
- package/dist/index17.cjs +4 -2
- package/dist/index18.cjs +5 -339
- package/dist/index19.cjs +4 -328
- package/dist/index20.cjs +2 -139
- package/dist/index21.cjs +1 -1
- package/dist/index22.cjs +4 -207
- package/dist/index23.cjs +9 -105
- package/dist/index23.cjs.map +1 -1
- package/dist/index24.cjs +3 -136
- package/dist/index25.cjs +12 -63
- package/dist/index26.cjs +2 -266
- package/dist/index27.cjs +325 -75
- package/dist/index27.cjs.map +1 -1
- package/dist/index28.cjs +136 -103
- package/dist/index28.cjs.map +1 -1
- package/dist/index29.cjs +203 -68
- package/dist/index29.cjs.map +1 -1
- package/dist/index30.cjs +104 -107
- package/dist/index30.cjs.map +1 -1
- package/dist/index31.cjs +132 -95
- package/dist/index31.cjs.map +1 -1
- package/dist/index32.cjs +59 -13
- package/dist/index32.cjs.map +1 -1
- package/dist/index33.cjs +262 -33
- package/dist/index33.cjs.map +1 -1
- package/dist/index34.cjs +74 -14
- package/dist/index34.cjs.map +1 -1
- package/dist/index35.cjs +102 -24
- package/dist/index35.cjs.map +1 -1
- package/dist/index36.cjs +68 -15
- package/dist/index36.cjs.map +1 -1
- package/dist/index37.cjs +107 -9
- package/dist/index37.cjs.map +1 -1
- package/dist/index38.cjs +95 -9
- package/dist/index38.cjs.map +1 -1
- package/dist/index39.cjs +11 -10
- package/dist/index39.cjs.map +1 -1
- package/dist/index40.cjs +31 -6
- package/dist/index40.cjs.map +1 -1
- package/dist/index41.cjs +12 -101
- package/dist/index41.cjs.map +1 -1
- package/dist/index42.cjs +22 -106
- package/dist/index42.cjs.map +1 -1
- package/dist/index43.cjs +13 -119
- package/dist/index43.cjs.map +1 -1
- package/dist/index44.cjs +7 -106
- package/dist/index44.cjs.map +1 -1
- package/dist/index45.cjs +7 -98
- package/dist/index45.cjs.map +1 -1
- package/dist/index46.cjs +10 -118
- package/dist/index46.cjs.map +1 -1
- package/dist/index47.cjs +6 -127
- package/dist/index47.cjs.map +1 -1
- package/dist/index48.cjs +101 -117
- package/dist/index48.cjs.map +1 -1
- package/dist/index49.cjs +106 -14
- package/dist/index49.cjs.map +1 -1
- package/dist/index50.cjs +119 -95
- package/dist/index50.cjs.map +1 -1
- package/dist/index51.cjs +106 -142
- package/dist/index51.cjs.map +1 -1
- package/dist/index52.cjs +98 -114
- package/dist/index52.cjs.map +1 -1
- package/dist/index53.cjs +118 -144
- package/dist/index53.cjs.map +1 -1
- package/dist/index54.cjs +127 -113
- package/dist/index54.cjs.map +1 -1
- package/dist/index55.cjs +117 -17
- package/dist/index55.cjs.map +1 -1
- package/dist/index56.cjs +14 -112
- package/dist/index56.cjs.map +1 -1
- package/dist/index57.cjs +95 -47
- package/dist/index57.cjs.map +1 -1
- package/dist/index58.cjs +142 -14
- package/dist/index58.cjs.map +1 -1
- package/dist/index59.cjs +114 -28
- package/dist/index59.cjs.map +1 -1
- package/dist/index60.cjs +144 -22
- package/dist/index60.cjs.map +1 -1
- package/dist/index61.cjs +113 -9
- package/dist/index61.cjs.map +1 -1
- package/dist/index61.cts.map +1 -1
- package/dist/index62.cjs +17 -8
- package/dist/index62.cjs.map +1 -1
- package/dist/index62.cts.map +1 -1
- package/dist/index63.cjs +112 -17
- package/dist/index63.cjs.map +1 -1
- package/dist/index63.cts.map +1 -1
- package/dist/index64.cjs +47 -412
- package/dist/index64.cjs.map +1 -1
- package/dist/index64.cts.map +1 -1
- package/dist/index65.cjs +14 -8
- package/dist/index65.cjs.map +1 -1
- package/dist/index65.cts.map +1 -1
- package/dist/index66.cjs +28 -9
- package/dist/index66.cjs.map +1 -1
- package/dist/index66.cts.map +1 -1
- package/dist/index67.cjs +29 -0
- package/dist/index67.cjs.map +1 -0
- package/dist/index67.cts.map +1 -0
- package/dist/index68.cjs +16 -0
- package/dist/index68.cjs.map +1 -0
- package/dist/{index60.cts.map → index68.cts.map} +1 -1
- package/dist/index69.cjs +15 -0
- package/dist/index69.cjs.map +1 -0
- package/dist/index69.cts.map +1 -0
- package/dist/index70.cjs +24 -0
- package/dist/index70.cjs.map +1 -0
- package/dist/index70.cts.map +1 -0
- package/dist/index71.cjs +419 -0
- package/dist/index71.cjs.map +1 -0
- package/dist/index71.cts.map +1 -0
- package/dist/index72.cjs +15 -0
- package/dist/index72.cjs.map +1 -0
- package/dist/index72.cts.map +1 -0
- package/dist/index73.cjs +16 -0
- package/dist/index73.cjs.map +1 -0
- package/dist/index73.cts.map +1 -0
- package/dist/index9.cjs +24 -20
- package/dist/index9.cjs.map +1 -1
- package/dist/{msic-codes-C8PJVOaA.d.ts → msic-codes-CiPeemFK.d.ts} +10 -10
- package/dist/notificationManagement-CHDRVy8J.js +19 -0
- package/dist/notificationManagement-C_qrFwWL.cjs +26 -0
- package/dist/notificationManagement-C_qrFwWL.cjs.map +1 -0
- package/dist/notifications-B4l_qRj7.d.ts +62 -0
- package/dist/notifications-DdlEkprb.d.cts +63 -0
- package/dist/{platformLogin-PGzMhw1X.cjs → platformLogin-CPiPiVUh.cjs} +2 -2
- package/dist/platformLogin-CPiPiVUh.cjs.map +1 -0
- package/dist/{platformLogin-f0bNAoZI.js → platformLogin-Ck1Fge2n.js} +1 -1
- package/dist/taxpayer-D67d2zAC.d.ts +26 -0
- package/dist/taxpayer-sGkviG8J.d.cts +27 -0
- package/dist/taxpayerValidation-DI4B6kWx.js +54 -0
- package/dist/taxpayerValidation-DdeXCvPT.cjs +73 -0
- package/dist/taxpayerValidation-DdeXCvPT.cjs.map +1 -0
- package/dist/types/classification-codes.d.ts +1 -1
- package/dist/types/country-code.d.ts +1 -1
- package/dist/types/currencies.d.ts +1 -1
- package/dist/types/documents.d.ts +18 -18
- package/dist/types/e-invoice.d.ts +1 -1
- package/dist/types/index.d.ts +61 -58
- package/dist/types/msic/0X.d.ts +1 -1
- package/dist/types/msic/1X.d.ts +1 -1
- package/dist/types/msic/2X.d.ts +1 -1
- package/dist/types/msic/3X.d.ts +1 -1
- package/dist/types/msic/4X.d.ts +1 -1
- package/dist/types/msic/5X.d.ts +1 -1
- package/dist/types/msic/6X.d.ts +1 -1
- package/dist/types/msic/7X.d.ts +1 -1
- package/dist/types/msic/8X.d.ts +1 -1
- package/dist/types/msic/9X.d.ts +1 -1
- package/dist/types/msic-codes.d.ts +11 -11
- package/dist/types/notifications.d.ts +2 -0
- package/dist/types/payment-modes.d.ts +1 -1
- package/dist/types/signatures.d.ts +1 -1
- package/dist/types/state-codes.d.ts +1 -1
- package/dist/types/tax-types.d.ts +1 -1
- package/dist/types/taxpayer.d.ts +19 -0
- package/dist/types/unit/1X.d.ts +1 -1
- package/dist/types/unit/2X.d.ts +1 -1
- package/dist/types/unit/3X.d.ts +1 -1
- package/dist/types/unit/4X.d.ts +1 -1
- package/dist/types/unit/5X.d.ts +1 -1
- package/dist/types/unit/6X.d.ts +1 -1
- package/dist/types/unit/7X.d.ts +1 -1
- package/dist/types/unit/8X.d.ts +1 -1
- package/dist/types/unit/9X.d.ts +1 -1
- package/dist/types/unit/AX.d.ts +1 -1
- package/dist/types/unit/BX.d.ts +1 -1
- package/dist/types/unit/CX.d.ts +1 -1
- package/dist/types/unit/DX.d.ts +1 -1
- package/dist/types/unit/EX.d.ts +1 -1
- package/dist/types/unit/FX.d.ts +1 -1
- package/dist/types/unit/GX.d.ts +1 -1
- package/dist/types/unit/HX.d.ts +1 -1
- package/dist/types/unit/IX.d.ts +1 -1
- package/dist/types/unit/JX.d.ts +1 -1
- package/dist/types/unit/KX.d.ts +1 -1
- package/dist/types/unit/LX.d.ts +1 -1
- package/dist/types/unit/MX.d.ts +1 -1
- package/dist/types/unit/NX.d.ts +1 -1
- package/dist/types/unit/OX.d.ts +1 -1
- package/dist/types/unit/PX.d.ts +1 -1
- package/dist/types/unit/QX.d.ts +1 -1
- package/dist/types/unit/RX.d.ts +1 -1
- package/dist/types/unit/SX.d.ts +1 -1
- package/dist/types/unit/TX.d.ts +1 -1
- package/dist/types/unit/UX.d.ts +1 -1
- package/dist/types/unit/VX.d.ts +1 -1
- package/dist/types/unit/WX.d.ts +1 -1
- package/dist/types/unit/XX.d.ts +1 -1
- package/dist/types/unit/YX.d.ts +1 -1
- package/dist/types/unit/ZX.d.ts +1 -1
- package/dist/types/unit-types.d.ts +36 -36
- package/dist/types/utils.d.ts +2 -0
- package/dist/unit-types-VgYXIwTT.d.ts +55 -0
- package/dist/utils/certificate.js +1 -1
- package/dist/utils/document.d.ts +60 -57
- package/dist/utils/document.js +1 -1
- package/dist/utils/getBaseUrl.js +1 -1
- package/dist/utils/signature-diagnostics.d.ts +60 -57
- package/dist/utils/signature-diagnostics.js +1 -1
- package/dist/utils-B3mo51Zp.d.ts +4 -0
- package/dist/utils-Cdqbbzca.d.cts +5 -0
- package/package.json +1 -1
- package/dist/api/platform/platformLogin.d.ts +0 -65
- package/dist/api/platform/platformLogin.js +0 -3
- package/dist/index11.cjs.map +0 -1
- package/dist/index14.cjs.map +0 -1
- package/dist/index18.cjs.map +0 -1
- package/dist/index19.cjs.map +0 -1
- package/dist/index20.cjs.map +0 -1
- package/dist/index22.cjs.map +0 -1
- package/dist/index24.cjs.map +0 -1
- package/dist/index25.cjs.map +0 -1
- package/dist/index26.cjs.map +0 -1
- package/dist/index58.cts.map +0 -1
- package/dist/index59.cts.map +0 -1
- package/dist/platformLogin-PGzMhw1X.cjs.map +0 -1
- package/dist/unit-types-B41YFOLT.d.ts +0 -55
- package/dist/utils/helpers.d.ts +0 -271
- package/dist/utils/helpers.js +0 -330
- /package/dist/{0X-CTIq3y3a.d.ts → 0X-DZnB0al0.d.ts} +0 -0
- /package/dist/{1X-BywXCqtn.d.ts → 1X-C72Wa4pk.d.ts} +0 -0
- /package/dist/{1X-Bu4oiv8D.d.ts → 1X-Dg5J6Bfg.d.ts} +0 -0
- /package/dist/{2X-3fSEGIuE.d.ts → 2X-CH89y3Af.d.ts} +0 -0
- /package/dist/{2X-DnG3FY1f.d.ts → 2X-D_qwTeDT.d.ts} +0 -0
- /package/dist/{3X-CLdmoel1.d.ts → 3X-BJHYxgxa.d.ts} +0 -0
- /package/dist/{3X-Ynjfgoll.d.ts → 3X-DryrwYRf.d.ts} +0 -0
- /package/dist/{4X-B5ePdMky.d.ts → 4X-BPMLRoDv.d.ts} +0 -0
- /package/dist/{4X-BTG6o1Gn.d.ts → 4X-BbZgoRHO.d.ts} +0 -0
- /package/dist/{5X-dhP6fyou.d.ts → 5X-Bv7M6KyG.d.ts} +0 -0
- /package/dist/{5X-CjSz1zxJ.d.ts → 5X-oQRBnO0f.d.ts} +0 -0
- /package/dist/{6X-B9KP_vEn.d.ts → 6X-B9I2XJa4.d.ts} +0 -0
- /package/dist/{6X-BHaY0TCf.d.ts → 6X-ZeZ8OB57.d.ts} +0 -0
- /package/dist/{7X-DtkQutx2.d.ts → 7X-Ckv9bbzG.d.ts} +0 -0
- /package/dist/{7X-C4eX_tAk.d.ts → 7X-Dvw2Z2VN.d.ts} +0 -0
- /package/dist/{8X-D6HTLShY.d.ts → 8X-BkgoX8dg.d.ts} +0 -0
- /package/dist/{8X-5n9seY3z.d.ts → 8X-C37BJTl6.d.ts} +0 -0
- /package/dist/{9X-CHZKsIdD.d.ts → 9X-Du0e44cq.d.ts} +0 -0
- /package/dist/{9X-Cpb6V4JC.d.ts → 9X-_XRgT2-_.d.ts} +0 -0
- /package/dist/{AX-C0w_r3PA.d.ts → AX-BSPLpkVT.d.ts} +0 -0
- /package/dist/{BX-RadlZ-6m.d.ts → BX-u4yMaIkz.d.ts} +0 -0
- /package/dist/{CX-CT1Zzb9D.d.ts → CX-BKZG0pVE.d.ts} +0 -0
- /package/dist/{DX-CtUeTKMM.d.ts → DX-CwA9WJAf.d.ts} +0 -0
- /package/dist/{EX-084Yu7Wt.d.ts → EX-BRNu1Ooi.d.ts} +0 -0
- /package/dist/{FX-BrbQM0CW.d.ts → FX-DBxjq6xY.d.ts} +0 -0
- /package/dist/{GX-gKj8iAAh.d.ts → GX-B3CvWNrP.d.ts} +0 -0
- /package/dist/{HX-9D-ZXTy5.d.ts → HX-D7FABgTv.d.ts} +0 -0
- /package/dist/{IX-DR4Fc92A.d.ts → IX-D3ZknsAB.d.ts} +0 -0
- /package/dist/{JX-DIKa9ma-.d.ts → JX-BRaZM3Gc.d.ts} +0 -0
- /package/dist/{KX-DpsJ_unT.d.ts → KX-B1K0OWoi.d.ts} +0 -0
- /package/dist/{LX-DeXPPWUX.d.ts → LX-CKRefinL.d.ts} +0 -0
- /package/dist/{MX-CKMjg_zK.d.ts → MX-DKmaeO9r.d.ts} +0 -0
- /package/dist/{NX-oYdb4NDo.d.ts → NX-CJL2Gn1U.d.ts} +0 -0
- /package/dist/{OX-Bid9es3D.d.ts → OX-Do2ap5v_.d.ts} +0 -0
- /package/dist/{PX-D7jy9CFk.d.ts → PX-_DOr_rm9.d.ts} +0 -0
- /package/dist/{QX-BFWOR4g3.d.ts → QX-HlXLkIki.d.ts} +0 -0
- /package/dist/{RX-XHgCyMV1.d.ts → RX-DVPGOVES.d.ts} +0 -0
- /package/dist/{SX-Cl8RN8oH.d.ts → SX-OGT3qwlS.d.ts} +0 -0
- /package/dist/{TX-ZymoIbtr.d.ts → TX-cPDINmZ5.d.ts} +0 -0
- /package/dist/{UX-D-Ndd1ov.d.ts → UX-Be3sqvPV.d.ts} +0 -0
- /package/dist/{VX-B-1b34r7.d.ts → VX-CoEuBNDK.d.ts} +0 -0
- /package/dist/{WX-0GuMjPNZ.d.ts → WX-DMvw__jH.d.ts} +0 -0
- /package/dist/{XX-CF2NANsy.d.ts → XX-DOA-10JW.d.ts} +0 -0
- /package/dist/{YX-B51BbNSg.d.ts → YX-F34sJ7Ik.d.ts} +0 -0
- /package/dist/{ZX-BMJS1iAv.d.ts → ZX-CDQOfsHh.d.ts} +0 -0
- /package/dist/{certificate-aooIRf9A.js → certificate-BDECQL9C.js} +0 -0
- /package/dist/{classification-codes-BKxV-rO9.d.ts → classification-codes-B1D5xbq5.d.ts} +0 -0
- /package/dist/{country-code-CQuaiQm2.d.ts → country-code-D42kAyNH.d.ts} +0 -0
- /package/dist/{currencies-BYJK-m6v.d.ts → currencies-CDveO_yz.d.ts} +0 -0
- /package/dist/{document-D6VKMAtx.js → document-BSuYbfXR.js} +0 -0
- /package/dist/{e-invoice-CmbLQkHw.d.ts → e-invoice-BxNC6V_j.d.ts} +0 -0
- /package/dist/{getBaseUrl-R3IdgCu3.js → getBaseUrl-BYkBwhQP.js} +0 -0
- /package/dist/{index-0-EvC6Nv.d.ts → index-FTgB2nM6.d.ts} +0 -0
- /package/dist/{payment-modes-BOTSRC_X.d.ts → payment-modes-NpE3OcCV.d.ts} +0 -0
- /package/dist/{signatures-W-_brwdb.d.ts → signatures-DOKNMiZI.d.ts} +0 -0
- /package/dist/{state-codes-oeFKlwXZ.d.ts → state-codes-VOFWhHA0.d.ts} +0 -0
- /package/dist/{tax-types-CsQ76JMf.d.ts → tax-types-ieqw5Ze7.d.ts} +0 -0
package/dist/utils/helpers.js
DELETED
|
@@ -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 };
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|